LLL634 Advanced ulglLal ueslgn and CompuLer ArchlLecLure Mlnlro[ecL /uLCA82011
UNIVLkSI1I 1LkNCLCGI MAkA
IACUL1 CI LLLC1kICAL LNGINLLkING Des|gn and 1est|ng of the m|n|MIS rocessor
1 Cb[ect|ve @he flnal pro[ecL wlll provlde you Lhe sLudenL wlLh a compleLe dlglLal sysLem and compuLer archlLecLure deslgn experlence lL encompasses all of Lhe elemenLs you have encounLer ln LLL634 comblnaLlonal and sequenLlal loglc hlgh level module deslgn Llmlng conslderaLlons memory and devlce l/C employlng Lhe rlghL Lools and sLraLegles for LesLlng debugglng eLc @he pro[ecL consLlLuLes 30 of your flnal grade
2 ro[ect Descr|pt|on @he followlng Lables provlde Lhe lnsLrucLlon seLs of a mlnlMlS processor CaLegory lnsLrucLlon Lxample Meanlng CommenLs ArlLhmeLlc add add $s1$s2$s3 $s1$s2+$s3 @hree operands daLa ln reglsLers subLracL sub$s1$s2$s3 $s1$s2$s3 @hree operands daLa ln reglsLers Add lmmedlaLe Addl $s1$s2100 $s1$s2+100 used Lo add consLanLs uaLa Lransfer Load word lw $s1 100 100($s2) $s1memory$s2 +100 Word from memory Lo reglsLer SLore word sw $s1 100 100($s2) Memory$s2 +100$s1 Word from reglsLer Lo memory Load upper lmmedlaLe lul $s1100 $s1100*2 16 Load consLanL ln upper 16 blLs Loglcal And and $s1$s2$s3 $s1$s2 $s3 8lL by blL Anu Cr Cr $s1$s2$s3 $s1$s2 |$s3 8lL by blL C8 nor nor $s1$s2$s3 $s1($s2|$s3) 8lL by blL LLL634 Advanced ulglLal ueslgn and CompuLer ArchlLecLure Mlnlro[ecL /uLCA82011
nC8 And lmmedlaLe Andl $s1$s2100 $s1$s2 100 8lL by blL Anu reg WlLh consLanL Cr lmmedlaLe orl $s1$s2$s3 $s1$s2| 100 8lL by blL C8 reg WlLh consLanL ShlfL lefL loglcal sll $s1$s210 $s1$s2 10 ShlfL lefL by consLanL ShlfL rlghL loglcal srl $s1$s210 $s1$s2 10 ShlfL rlghL by consLanL CondlLlonal branch 8ranch on equal 8eq $s1$s223 lf($s1 $s2) go Lo C + 4+100 Lqual LesL CrelaLlve branch 8ranch on noL equal 8ne $s1$s223 lf($s1 ! $s2) go Lo C + 4+100 noL equal LesL C relaLlve SeL on less Lhan SlL $s1$s2 $s3 lf($s2 $s3)$s11 else $s10 Compare less Lhan for beq bne SeL less Lhan lmmedlaLe SlL $s1$s2 100 lf($s2 100)$s11 else $s10 Compare less Lhan consLanL uncondlLlonal [ump [ump ! 2300 Co Lo 10000 !ump Lo LargeL address !ump reglsLer !r $ra Co Lo $ra lor swlLch procedure reLurn !ump and llnk !al 2300 $ra C +4 go Lo 10000 lor procedure call
1asks
@he archlLecLure of mlnlMlS can be deslgned ln slnglecycle mulLlcycle and plpe llne daLa paLh Lach group ls expecLed Lo lmplemenL Lhe lnsLrucLlon seL uslng dlfferenL Lype of daLapaLh and Lhe Lype wlll be asslgned Lo Lhe group @he Lask for each groups are a lmplemenL Lhe lnsLrucLlon seL uslng Lhe asslgned daLapaLh b Lach module should be separaLely LesLable LLL634 Advanced ulglLal ueslgn and CompuLer ArchlLecLure Mlnlro[ecL /uLCA82011
c WrlLe a small assembly program LhaL can be easlly modlfled d lnLegraLe Lhe modules are one unlL and LesL lL ouL by uslng your assembly program e WrlLe a reporL LhaL deLalls Lhe followlng l lnsLrucLlon seL deflnlLlon ll lnsLrucLlon formaL lll ueslgn meLhodology lv 8lock dlagram of Lhe mlnlMlS v uescrlpLlon of modules deslgned vl SLaLe dlagram for each lnsLrucLlons vll @he mlnlMlS verllog code vlll @he LesLbench code lx Waveform demonsLraLlng correcLness of processor funcLlonallLy x Add few llnes on your vlew of learnlng Lhrough Lhe pro[ecL and suggesLlon Lo lmprove learnlng ln Lhls class f ln addlLlon Lo a prlnLouL of Lhe reporL you are expecLed Lo submlL lL elecLronlcally g uemonsLraLe Lhe assembly program LhaL you wroLe acLually works on your slmulaLed machlne h Slgnup sheeLs wlll be made avallable Lo selecL a pro[ecL demonsLraLlon Llme durlng Lhe flnal exam week ln May ?our pro[ecL ls due aL Lhe Llme of demonsLraLlon