CS计算机代考程序代写 python DNA alu.circ cpu

alu.circ cpu
.)redlof
:stupni eerht sah tI eht ni( ni uoy rof ULA na fo noteleks a dedivorp evah eW
dna dewolla era uoY .deriuqer era meht fo llA .seulav leSULA detaicossa rieht htiw gnola ,tnemelpmi ot uoy rof snoitarepo ULA fo tsil eht si woleB
noitarepo ULA eht fo tluseR 23 noitpircseD htdiW tiB
tluseR emaN tuptuO
)woleb seulav hctiws gnidnopserroc htiw snoitarepo fo tsil eht ees( mrofrep dluohs ULA eht noitarepo hcihw stceleS
4 leSULA 23 B 23 A
noitarepo ULA eht ni B tupnI rof esu ot ataD noitarepo ULA eht ni A tupnI rof esu ot ataD
.wolfrevo erongi ew taht gninaem ,snoitcurtsni dengisnu htiw seod V-CSIR sa wolfrevo taert ew taht eton esaelP .)noitces txen eht ni liated rehtruf ni debircsed si hcihw( ASI ruo ni snoitcurtsni eht yb dedeen snoitarepo eht lla stroppus taht ULA na etaerc ot si ksat tsrif ruoY
:tuptuo eno dna …
noitpircseD htdiW emaN tiB tupnI
)ULA( tinU cigoL citemhtirA :1 ksaT A traP
C16 SC

Result = A + B
Result = A << B Result = (A < B (signed)) ? 1 : 0 Result = A ^ B Result = (unsigned) A >> B
Result = A | B
Result = A & B
Result = (signed) (A * B)[31:0]
Result = (signed) (A * B)[63:32]
Result = (A * B)[63:32]
Result = A – B
Result = (signed) A >> B
Result = B
.seulav desunu eht tuoba yrrow ot deen t’nseod ngised ruoy os ,snoitcurtsni denifed rof seulav leSULA esu ylno A traP rof stset ULA ehT
.snoitarepo citemhtira eht tnemelpmi ot stnenopmoc misigoL ni-tliub esu ot degaruocne
:lesb 51 desunU 41 :ars 31 :bus 21 :uhlum 11 desunU 01 :hlum 9 :lum 8 :dna 7 :ro 6 :lrs 5 :rox 4 desunU 3 :tls 2 :lls 1 :dda 0 noitcurtsnI eulaV leSULA

harness.circ
add
Library Reference
alu-harness.circ
Multiplier
Carry Out
alu.circ
.circ
alu.circ
mulh mulhu
alu-
Help ->
.eciohc ruoy fo eno eht gnittuptuo neht dna ,snoitarepo lla rof tupni eht gnissecorp ylpmis redisnoc ,sdrow rehto nI .stuptuo noitarepo neewteb gnidiced nehw lufesu eb thgim )XUM( rexelpitlum A .snoitarepo ylpitlum niatrec rof lufesu ylralucitrap eb thgim sihT .”tcudorp eht fo stib reppu eht”
:noitpircsed eht htiw ,tuptuo a sah tnenopmoc
eht ,elpmaxe roF .tuptuo/tupni taht tuoba noitamrofni erom ylthgils teg ot tnenopmoc a no tuptuo/tupni na revo rosruc ruoy revoh nac uoY .snoitarepo eseht htiw pleh thgim ecnerefeR yrarbiL ehT .tcudorp eht fo stib 23 reppu eht teg ot desu era dna os ,senil atad tib-23 ot detimil er’ew tub ,noitamrofni fo stib 46 ot pu eb nac srebmun tib-23 2 gniylpitlum fo tluser ehT !evitisnes esac era slebal ehT .yltcerroc slennut ruoy eman uoy erusnE .srorre detcepxenu ro seriw dessorc gniretnuocne fo secnahc ruoy ecuder lliw dna ,wollof ot reisae dna renaelc gniriw ruoy ekam lliw yehT !slennut esU .snoitarepo tfihs gnitnemelpmi nehw lufesu srednetxe ro srettilps tib dnif thgim uoY .stuptuo dna
stupni sti dna tnenopmoc eht no noitamrofni erom rof
ot og ,tnenopmoc hcae tuoba sliated erom wonk ot tnaw uoy fI
.snoitarepo rehto ruoy gnitnemelpmi nehw erutcurts ralimis a esu ot eerf leef ;uoy rof edam ydaerla si
.llew snoitcnuf tiucric eht taht dna srorre on era ereht erusne dna nepo nac uoy ,gnihtyna kaerb tʼndid edam uoy segnahc taht yfirev oT .seno wen dda ro snip tuptuo/tupni
dedivorp eht tide ot ton erac ekat dluohs uoy taht snaem sihT .
ssenrah dedivorp eht ni tif ot elba eb tsum ULA ruoy ,yllanoitiddA .)selif wen ekam ton yam uoy( ni eb osla tsum yeht ,ULA ruoy rof stiucricbus lanoitidda etaerc uoy fI .evoba noitacificeps eht hctam tsum roivaheb eht tub ,tnaw uoy ot snoitacifidom yna ekam nac uoY
spiT

tests/ tests/part-a/alu/ tests/part-
a/alu/student-output/
$ python3 test.py tests/part-a/alu/
$ python3 test.py tests/part-a/alu/alu-add.circ
$ python3 test.py tests/part-a/
$ python3 test.py tests/
tests/part-a/alu/student-output/
add-student.out
tests/part-a/alu/reference-output/
ref.out
format-output.py
-student.out alu-
-ref.out
alu-add-
alu-add
$ python3 tools/format-output.py tests/part-a/alu/reference-outpu
:od dluow uoy ,tamrof elbadaer ni tset ytinas eht fo tuptuo ecnerefer eht teg ot ,elpmaxe roF .)srebmun lamicedaxeh dengila-tfel( tamrof elbadaer erom a ni tuptuo eht syalpsid dna elif tuptuo na ot htap a stpecca hcihw , dedivorp osla ev’eW
.g.e( xiffus a htiw
ta dnuof eb nac stuptuo ecnerefer gnidnopserroc ehT .)
.g.e( xiffus a htiw
rednu devas eb lliw stuptuo s’tiucric ULA ruoy ,gninnur hsinif stset eht retfA
:yrotcerid tnerapdnarg-taerg/tnerapdnarg a ro ,tiucric tset elgnis a yficeps osla nac uoY
eseht nehW . ni era stset ULA eht ,elpmaxe roF .
rednu seirotceridbus ni detacol ,ksat hcae rof stset emos dedivorp ev’eW
:stset ULA eht nur ot ,elpmaxe roF
.yrotceridbus
a ni devas era stiucric ruoy morf stuptuo eht ,nur era stset
.noitces siht htiw seog taht oediv noinapmoc a s’ereH gnitseT :ofnI
.ULA eht ni deriuqer s’ti fi ees ot evoba elbat eht ecnerefeR .stupni gnirapmoc evlovni taht snoitcurtsni gnitnemelpmi rof lufesu eb thgim tnenopmoc rotarapmoc ehT
.)

alu-add
.csv
diff
$ python3 tools/format-output.py tests/part-a/alu/reference-outp
$ python3 tools/format-output.py tests/part-a/alu/student-output
$ diff reference.out student.out
u /
cp tests/part-a/alu/student-output/alu-add-student.out student.cs
.csv
tests/part-a/alu/alu-add.circ
alu-add
Input_A Input_B ALUSel
File -> Tick Full Cycle
draobyek gnidnopserroc eht ro ( semit elpuoc a tiucric eht kcit uoy fI .ULA ruoy ot stupni fo tes txen eht gnideef suht ,yrtne eno yb MOR hcae secnavda hcihw ,eno yb stnemercni tfel pot eht no redda eht ,elcyc kcolc yrevE .deredisnoc gnieb tset eht rof seulav gnidnopserroc niatnoc sMOR ehT .thgir reppu eht raen ULA ruoy otni deef neht slennut esehT .slennut dna , , eht otni sdeef hcae )yromem ylno-daer( MOR eno ,sgniht rehto gnomA .misigoL ni nepO
.tset eht gnisu eb ll’ew elpmaxe siht roF !misigoL ni stiucric tset eht hguorht pets osla nac uoy ,BDG ni edoc C ruoy hguorht pets nac uoy woh ot ralimiS
.noitces siht htiw seog taht oediv noinapmoc a s’ereH stseT gnitcepsnI
esu nac uoy ,noisnetxe a seriuqer ppa eht fI .)lanimret ni selbat etah yllaer uoy ro( srebmun eht hcnurc ot tnaw yllaer uoy fi ppa teehsdaerps a ni tuptuo eht tropmi osla nac uoy os ,elif VSC dilav a yllacinhcet si elif tuptuo hcaE
.elif gnitluser eht tropmi dna
.eton siht htiw seog taht oediv noinapmoc a s’ereH etoN latnemirepxE
.eton gniwollof eht ees rO .)tnof rellams ylthgils a yrt ro( wodniw lanimret ruoy gniziser yrt ,gnipparw era senil eht fI :etoN
:od dluow uoy ,tset eht rof ,elpmaxe roF .meht dna selif yraropmet otni stuptuo elbadaer eht tup nac uoy ,noitulos ecnerefer eht dna tuptuo ruoy neewteb ecnereffid eht ees ot tnaw uoy fI

Reset Simulation Command/Control + R View alu
Tool
Poke
Simulate ->
.0x0 eulav eht evah SYAWLA dluohs retsiger orez eht taht rebmemeR .seirt noitcurtsni na fi neve ,0x ot etirw TON dluohs eliFgeR ruoy :noitpecxe elbaton eno si erehT .sretsiger rehto yna gnitceffa tuohtiw noitcurtsni V-CSIR nevig a ni deificeps sretsiger eseht morf daer ro ot etirw ot elba eb dluohs eliFgeR ruoY
.sretsiger gnidnopserroc rieht ot snip tuptuo eseht tcennoc uoy taht erusne tsum uoY .snip tuptuo gnisu desopxe era sretsiger esehT .woleb deificeps sretsiger 8 eht esopxe ot eliFgeR eht nettirw evah ew ,gnitset dna gniggubed ni dia oT .meht fo lla tnemelpmi lliw ew ,tcejorp siht roF .sretsiger 23 sah erutcetihcra V-CSIR ,ssalc ni denrael uoy sA
)eliFgeR( eliF retsigeR :2 ksaT
!tsol eb yam yeht sa ,tiucric tset eht ni stide gnikam diovA .devas eb ton lliw ,detcepsni tsuj ew ULA eht gnidulcni ,tiucric tset eht ot stidE :etoN
.ereh lufesu yrev eb lliw
ehT !selif tuptuo eht morf enil yreve ni gniod si ULA ruoy tahw yltcaxe ees nac uoy ,siht htiW .snip tupni ULA eht no ydaerla elcyc tset tnerruc eht rof seulav tupni eht htiw ,raeppa lliw tiucric ULA ruoY . tceles dna ,ULA ruoy kcilc-thgiR .stupni eht htiw gniod yllautca si ULA ruoy tahw ees s’tel ,woN
.) (
esu ,revo trats ot tnaw uoy fI .stuptuo gnidnopserroc s’ULA ruoy
dna stupni fo tes hcae hguorht ecnavda tiucric tset eht ees nac uoy ,)tuctrohs

regfile.circ
AND
ti
.).cte ,gnihtyna htiw ton od ,ti trevni ton od ,.e.i( detag eb esiwrehto ton dluohs tub ,misigoL ni stinu yromem fo stupni kcolc eht ot yltcerid dehcatta ro stiucricbus otni
tnes eb nac langis sihT .kcolc eht gnidivorp tupnI 1
kcolC
ehT .
:stupni xis sah tiucric elif retsiger ni elif retsiger a fo noteleks eht htiw dedivorp era uoY
1t 0t ps ar emaN retsigeR
0a 1s 0s 2t
01x 9x 8x 7x 6x 5x 2x 1x rebmuN retsigeR
noitpircseD htdiW tiB
emaN tupnI
.woleb detsil era srebmun gnidnopserroc rieht dna sretsiger desopxe ehT
.cigol lanoitanibmoc YNA hguorht gnissap tuohtiw sretsiger eht fo tupni kcolc eht ot yltcerid tcennoc SYAWLA dluohs langis kcolc ehT .eliFgeR ruoy ni tniop yna ta kcolc eht etag TON dluohs uoY .esu rehtruf erofeb
cigol lanoitanibmoc hguorht ti gnissap snaem langis kcolc eht gnitaG

ra
ra
Read_Data_1
Read_Data_2
).tuptuo TSET/GUBED a si sihT( fo eulav eht htiw nevird syawlA
23
eulaV
.tupni 2 retsigeR ecruoS eht yb deifitnedi retsiger eht fo eulav eht htiw nevirD
23
2_ataD_daeR
.tupni 1 retsigeR ecruoS eht yb deifitnedi retsiger eht fo eulav eht htiw nevirD
23
1_ataD_daeR
.1 si nEWgeR taht gnimussa ,kcolc eht fo egde gnisir txen eht no tupni retsigeR noitanitseD eht yb deifitnedi retsiger eht ot etirw ot atad tahw senimreteD
23
)ataD etirW( bw
.1 a si nEWgeR taht gnimussa ,kcolc eht fo egde gnisir txen eht no ot ataD etirW fo eulav eht etirw ot retsiger hcihw senimreteD
5
)retsigeR noitanitseD( dr
.woleb ees ,tuptuo
eht ot tnes si eulav s’retsiger hcihw senimreteD
5
)2 retsigeR ecruoS( 2sr
.woleb ees ,tuptuo
eht ot tnes si eulav s’retsiger hcihw senimreteD
5
)1 retsigeR ecruoS( 1sr
.kcolc eht fo egde gnisir txen eht no elif retsiger eht ot nettirw si atad rehtehw senimreteD
1
nEWgeR
noitpircseD htdiW tiB
emaN tuptuO
:stuptuo gniwollof eht sah osla elif retsiger ehT
noitpircseD htdiW tiB
emaN tupnI

.circ
regfile-harness.circ
regfile
regfile.circ
regfile.circ
sp
sp
t0
t0
t1
t1
t2
t2
s0
s0
s1
s1
a0
a0
uoy segnahc taht yfirev oT .seno wen dda ro snip tuptuo/tupni dedivorp eht tide ot ton erac ekat dluohs uoy taht snaem sihT . ssenrah
dedivorp eht ni tif ot elba eb tsum eliFgeR ruoy ,yllanoitiddA .)selif
wen ekam ton yam uoy( ni eb osla tsum yeht ,eliFgeR ruoy ni esu ot stiucricbus lanoitidda etaerc uoy fI .evoba noitacificeps eht hctam tsum roivaheb eht tub ,tnaw uoy ot snoitacifidom yna ekam nac uoY
.stset ssap ton lliw uoy ,ton era yeht fi — yltcerroc dedulcni era yeht erus eb ,esac ruo nI .stuptuo esoht timo dluow uoy ,elif retsiger laer a gnitnemelpmi erew uoy fI .sesoprup gniggubed dna gnitset rof tneserp era tiucric ruoy fo pot eht ta stuptuo tset ehT
a si sihT(
fo eulav
).tuptuo TSET/GUBED
eht htiw nevird syawlA 23
eulaV
a si sihT(
fo eulav
).tuptuo TSET/GUBED
eht htiw nevird syawlA 23
eulaV
a si sihT(
fo eulav
).tuptuo TSET/GUBED
eht htiw nevird syawlA 23
eulaV
a si sihT(
fo eulav
).tuptuo TSET/GUBED
eht htiw nevird syawlA 23
eulaV
a si sihT(
fo eulav
).tuptuo TSET/GUBED
eht htiw nevird syawlA 23
eulaV
a si sihT(
fo eulav
).tuptuo TSET/GUBED
eht htiw nevird syawlA 23
eulaV
a si sihT(
fo eulav
).tuptuo TSET/GUBED
eht htiw nevird syawlA 23
eulaV
noitpircseD htdiW
tiB tuptuO
emaN

Ctrl/Cmd + D
Enable
Include Enable?
Three-state?
$ python3 test.py tests/part-a/regfile/
addi addi
regfile-harness.circ
Register
Enable
x0
tests/part-a/regfile/
rehtehw no dedarg eb ylno ll’uoy tub ,emit siht ta snoitcurtsni rehto tnemelpmi ot emoclew er’uoY .B traP ni snoitcurtsni rehto gnitnemelpmi eb ll’eW :etoN
! :noitcurtsni eno gnitucexe fo elbapac s’taht UPC a tnemelpmi ot gniog er’uoy ,A traP rof ksat lanif ruoy sA
noitcurtsnI ehT :3 ksaT .stuptuo tset no ofni erom rof noitces gnitseT :ofnI eht ot refeR
:htiw eseht nur nac uoY .yrotcerid eht ni stset eliFgeR redargotua eht dedivorp ev’eW
? ot etirw ot yrt ew fi neppah dluohs tahW ?naem taht seod tahw — dereggirt-kcolc era sretsigeR ?emas eht yats seulav hcihW ?egnahc seulav hcihW .detucexe si noitcurtsni elgnis a retfa elif retsiger eht ni sneppah tahw tuoba knihT .ydnah ni emoc yam nip ehT .snip tuptuo/tupni eht lla tuo kcehc dna ,tnenopmoc eht rof egap ecnerefeR yrarbiL eht pu nepO
eht elbasid uoy ( ffo etubirtta taht nrut nac eht gnisu ton dnemmocer eW .lufpleh eb osla yam seXUMeD .lufpleh eb lliw seXUM . gnisu misigoL ni stnenopmoc fo puorg ro tnenopmoc detceles a etacilpud nac uoY .krow evititeper diova ot srehto eht rof etalpmet a sa ti esu dna yletelpmoc retsiger eno ekam ot aedi doog a eb thgim tI !etsap-ypoc fo egatnavda ekaT
.)ti sah rexelp eht fi( etubirtta taht dnemmocer osla eW .)
uoy ,tcaf nI .seXUM ruoy no tupni
.llew snoitcnuf tiucric eht taht dna srorre on era ereht erusne dna nepo nac uoy ,gnihtyna kaerb tʼndid edam
gnitseT eliFgeR
spiT

addi addi
cpu.circ
cpu.circ
addi
imm-gen.circ
addi
imm_gen
imm-gen.circ
addi
cpu.circ
.egats dnoces eht ni BW dna ,MEM ,XE ,DI dna egats tsrif eht ni FI htiw ,enilepip egats-2 a esu ot UPC
ruoy yfidom ll’ew ,B traP nI .)gninilepip on .e.i( elcyc elgnis a ni noitcurtsni
eht gnitucexe troppus dluohs rossecorp detelpmoc ruoy ,A traP roF .hctarcs morf htapatad eritne eht gnitcurtsnoc rof elbisnopser era uoY .htapatad ruoy tcurtsnoc uoy sa eliFgeR dna ULA eht fo snoitatnemelpmi nwo ruoy gnisu eb lliw uoY . ni rossecorp ruoy rof noteleks a dedivorp evah eW
noitcurtsni eht ni etaidemmi eht fo eulaV
23 tuptuO mmi
etaidemmi eht tcurtsnocer ot woh gninimreted eulaV
3 tupnI leSmmI 23 tupnI tsni
detucexe gnieb noitcurtsni ehT
noitpircseD htdiW noitceriD emaN tiB langiS
:stuptuo dna stupni sti fo yrammus kciuq a s’ereH
.UPC ruoy ni segnahc eht daol ot nepo -er dna esolc ot deen lliw uoy ,tiucric siht yfidom uoy fi taht etoN .
ni eht ton dna elif eht tide ,tiucricbus siht tide oT
.sepyt etaidemmi rehto tuoba gniyrrow tuohtiw ,noitcurtsni eht rof etaidemmi eht tcurtsnoc ot ti eriw-drah nac uoy won rof tub ,rotareneg etaidemmi na seriuqer noitcurtsni ehT .detnemelpminu si noteleks eht ni dedivorp ) ni detacol( tinu )”neG mmI”( rotareneG etaidemmI ehT
rotareneG etaidemmI :ofnI !skrow taht erus ekam os ,A traP rof yltcerroc setucexe ton ro
rossecorP :ofnI

run.circ
cpu-harness.circ run.circ cpu-harness.circ
cpu-harness.circ
AND
:ssenrah rossecorp eht ot stuptuo gniwollof eht edivorp tsum rossecorp ruoY
.).cte ,gnihtyna htiw ti ton od ,ti trevni ton od ,.e.i( detag eb esiwrehto ton dluohs tub ,misigoL ni stinu yromem fo stupni kcolc eht ot yltcerid dehcatta ro )elif retsiger ruoy rof tupni KLC eht .g.e( stiucricbus otni tnes eb nac siht ,elif retsiger eht htiw sA .kcolc eht rof tupni ehT
1 KCOLC
.)woleb ees( SSERDDA_HCTEF eht yb deifitnedi sserdda yromem noitcurtsni eht ta noitcurtsni eht htiw nevirD
23 NOITCURTSNI
.)woleb ees( SSERDDA_ETIRW eht yb deifitnedi sserdda yromem atad eht ta atad eht htiw nevirD
23 ATAD_DAER
noitpircseD
htdiW emaN tupnI tiB
:ssenrah rossecorp eht morf emoc taht stupni 3 sah rossecorp ruoY !krow ruoy gnittimbus dna gnitset erofeb ssenrah eht ni stif UPC ruoy erus ekam os ,uoy ot dedivorp stset eht
ni desu eb lliw .no gniog s’tahw yltcaxe ees ot
dna
tcepsni ot emit emos ekat uoy taht dnemmocer eW
.sesserdda esoht ta atad eht htiw ylper lliw sessenrah eht dna ,sesserdda yromem atad dna noitcurtsni tuptuo lliw rossecorp ruoy ,yllaitnessE .tupni na sa sserdda taht ta atad eht tpecca dna ,elbane etirw yromem atad ,sserdda yromem atad eht tuptuo osla lliw tI .tupni na sa sserdda taht ta noitcurtsni eht tpecca dna ,noitcurtsni na fo sserdda eht tuptuo
lliw rossecorp ruoY .rossecorp eht ot snoitcurtsni eht sedivorp taht
ssenrah gnitset a ni stis neht ssenrah rossecorp tahT .tinu yromeM eht sniatnoc taht ssenrah rossecorp a ni tis lliw rossecorp ruoY

ra
sp
t0
t1
t2
s0
s1
a0
0x51E
.yromem atad ot
atad etirw edivorp ot desu si tuptuo sihT 23
ATAD_ETIRW
.yromem atad ni morf atad etirw/daer ot sserdda
hcihw tceles ot desu si tuptuo sihT 23 )si-sa ti evael A traP rof ,GNITSET ROF(
SSERDDA_ETIRW
RSC fo
stnetnoc eht htiw nevirD 23
tsohot
ROF( fo
)GNITSET stnetnoc eht htiw nevirD 23
0a
ROF( fo
)GNITSET stnetnoc eht htiw nevirD 23
1s
ROF( fo
)GNITSET stnetnoc eht htiw nevirD 23
0s
ROF( fo
)GNITSET stnetnoc eht htiw nevirD 23
2t
ROF( fo
)GNITSET stnetnoc eht htiw nevirD 23
1t
ROF( fo
)GNITSET stnetnoc eht htiw nevirD 23
0t
ROF( fo
)GNITSET stnetnoc eht htiw nevirD 23
ps
ROF( fo
)GNITSET stnetnoc eht htiw nevirD 23
ar emaN tuptuO
noitpircseD htdiW tiB

addi addi
control_logic cpu.circ
control-logic.circ
control-logic.circ
cpu.circ
addi
.nevirdnu snip O/I sti evael dna MEMD eht erongi nac uoy A traP rof os ,yromeM ataD esu TON seod noitcurtsni ehT
.ssecorp siht gnirud snip gnitsixe eht fo yna tide ton od esaelp ,revewoH .dedeen sa strop deilppus eht fo wef sa ro ynam sa esu osla yam uoY .sdnamed ngised ruoy sa cigol lortnoc retrats eht ot snip tuptuo/tupni erom dda ot emoclew era uoY
.UPC ruoy ni segnahc eht daol ot nepo-er dna esolc ot deen lliw uoy ,tiucric siht yfidom uoy fi taht etoN . ni
eht TON dna elif eht tide ,tiucricbus siht tide oT
.snoitcurtsni rehto troppus ot redro ni snoitidda ekam ot deen ll’uoy erehw tuoba kniht ,
tnemelpmi uoy sA .gnitnemelpmi eb ll’uoy noitcurtsni ylno eht si esuaceb ,langis lortnoc hcae rof tnatsnoc a tup nac uoy ,A traP roF .B traP ni egnellahc tseggib ruoy eb ylbaborp lliw tinu cigol lortnoc eht gningiseD .detnemelpminu
si noteleks eht ni dedivorp ) ( tinu cigoL lortnoC ehT cigoL lortnoC :ofnI
!seno wen dda ro snip tuptuo/tupni eht tide ton od uoy taht erus ekam ,eliFgeR dna ULA eht htiw ekil tsuJ
.tupni NOITCURTSNI eht no rossecorp eht ot detneserp si noitcurtsni hcihw tceles ot desu si tuptuo sihT
23 RETNUOC_MARGORP
.yromem atad ot ksam elbane etirw eht edivorp ot desu si tuptuo sihT
4 ELBANE_ETIRW
noitpircseD
htdiW emaN tuptuO tiB
yromeM :ofnI

addi
cpu.circ
PROGRAM_COUNTER
addi
?tupni noitcurtsni eht tceffa
sa tuptuo uoy sserdda eht gnignahc dluow woh ,UPC ruoy nI .2
?elif ruoy ot tcennoc ti seod woH ?yromem noitcurtsni ruoy sdloh tcejorp eht ni elif hcihW .1
.sserdda na hguorht dessecca eb nac snoitcurtsni eseht fo hcae dna ,yromem noitcurtsni eht ni derots era snoitcurtsni taht wonk ew ,erutcel morF ?noitcurtsni tnerruc eht teg ew od woh :si egats siht ni tuoba denrecnoc era ew gniht niam ehT
.tif ees uoy sa stiucricbus ni sgniht ecalp ot eerf leef ,UPC ruoy tnemelpmi uoy sA .noitseuq eht no gnikcilc yb srewsna eht ees nac uoy dna ,eno txen eht ot gniog erofeb noitseuq hcae dnatsrednu dna daer ot deen yam uoY
.noitcurtsni eht tnemelpmi ot woh yltcaxe uoy llet t’now ti tub ,sliated tnatropmi ot sretniop dna hguorht kniht ot uoy rof snoitseuq niatnoc lliw noitces hcaE .noitcurtsni eht rof segats eseht fo hcae hguorht krow uoy pleh lliw ediug sihT
hcteF noitcurtsnI :1 egatS
)BW( kcaB etirW . )MEM( yromeM . )XE( etucexE . )DI( edoceD noitcurtsnI . )FI( hcteF noitcurtsnI .
:enilepip UPC eht fo segats evif eht llaceR
.pleh thgim taht ediug a s’ereh os ,gnitadimitni eb thgim etals knalb a morf UPC a dliub ot gniyrt taht wonk eW
ediuG A :UPC egatS elgniS
.A traP rof ti tuoba yrrow ot evah t’nod uoy os ,tinu rotarapmoC hcnarB eht esu TON seod noitcurtsni ehT
rotarapmoC hcnarB :ofnI

cpu.circ
PROGRAM_COUNTER
addi
instruction
addi
.yltcerroc stupni ULA eht tcennoc dna ULA ruoy ni gnirB . ?snoitcurtsni erom tnemelpmi uoy sa elbisaefni eb siht dluow
yhw ,leSULA eht sa tnatsnoc a tup tsuj ot won rof elbissop si ti hguohtlA .3 ?leSULA fo esoprup eht si tahw ,ULA eht nI .2 ?ULA eht ot stupni ruoy eb dluohs tahw ,noitcurtsni dda eht roF .1
.tinu cigoL lortnoC a gnisu fo aedi eht ecudortni lliw ew erehw osla si sihT .demrofrep si snoitcurtsni tsom fo noitatupmoc eht erehw si egats etucexE ehT
?od ot deen rotareneG etaidemmI eht seod tahW .5 ?ot tcennoc yeht dluohs elif retsiger eht fo stupni hcihW ?elif retsiger eht ot tcennoc dluohs sdleif noitcurtsni
hcihW .elif retsiger eht ot stupni etairporppa eht edivorp ot deen ew woN .4
.stib eht puorg dna lebal ot slennut esu dluohs uoY .tupni noitcurtsni eht gnisu egats edoced dleif noitcurtsni eht tnemelpmI .
?stib fo spuorg tnereffid tuo tilps ot esu uoy dluow loot tahw ,misigoL nI .2 ?hcae rof dedeen era stib hcihw
dna sdleif tib tnereffid eht era tahW ? si noitcurtsni fo epyt tahW .1
.denrael evah uoy stamrof noitcurtsni V-CSIR eht ot gnidrocca pets edoceD noitcurtsnI eht ni nwod ti kaerb ew ,tupni eht morf gnimoc noitcurtsni ruo evah ew taht woN
yromeM :4 egatS
etucexE :3 egatS
edoceD noitcurtsnI :2 egatS
.snoitcurtsni nur ot elba gnieb htiw denrecnoc ylno era ew won rof tub ,tcejorp eht fo B traP ni spmuj dna sehcnarb tnemelpmi lliw uoY .sehcnarb dna spmuj gnirongi – noitatnemelpmi retsiger CP elpmis a dedivorp evah ew , nI
?enil ot enil morf egnahc CP eht lliw woh ,sehcnarb ro spmuj yna tuohtiw smargorp cisab roF .4 ?eb dluohs tahw wonk uoy od woH .3

addi
RegWEn addi
addi
1
addi
student-outputs
addi
cpu-addi-basic
tests/part-a/addi/inputs/cpu-addi-basic.s
run.circ
test.py .out
.) ees( snoitcurtsni
4 sah tI .elpmaxe na sa tset ytinas elcyc-elgnis eht ekat s’teL
.yrotcerid eht ni elif a ot detnirp si stuptuo eht fo hcae ni seulav eht dna ,detnemercni si retnuoc margorp eht ,skcit kcolc ehT .dnuorgkcab eht ni misigoL snur ti ,tpircs eht nur uoy nehW .MEMI sti otni dedaol snoitcurtsni sah taht edoc retrats eht htiw dedulcni elif eht fo ypoc a si tset UPC hcaE
.noitces siht htiw seog taht oediv noinapmoc a s’ereH stseT UPC gnidnatsrednU
.tcejorp eht fo redniamer eht rof htiw gnikrow eb ll’uoy taht stset UPC eht otni repeed kool s’tel ,woN .tuptuo gniterpretni dna stset gninnur ni devlovni sdnammoc eht dnatsrednu dna ,ssenrah tset eht fo erutcurts yrotcerid lareneg eht wonk ot tog ew ,noitces gnitseT :ofnI eht nI
. eulav eht htiw tnatsnoc tib-1 a ot siht eriwdrah nac uoy ,eliF retsigeR eht ot kcab setirw syawla ecniS . :atad
gnitirw rof tnatropmi si hcihw eliF retsigeR eht no tupni erom eno si erehT . ?ot tcennoc tuptuo ULA eht dluohs erehW .eliF retsigeR eht ot tuptuo ULA etirw ot elba si ti taht hcus esahp kcab etirw
eht etaerc s’tel ,won noitcurtsni eht gnitnemelpmi ylno era ew ecniS .2 ?retsiger a ot kcab etirw ot deen snoitcurtsni oD .1
.sretsiger eht ot kcab devas si noitarepo eht fo stluser eht erehw si egats kcab etirw ehT
.nevirdnu snip O/I sti evael dna MEMD eht erongi esaelP .A traP rof ti tuoba yrrow ot evah ton od ew ,yromem esu ton seod noitcurtsni eht esuaceB .snoitcurtsni daol gnisu morf daer dna snoitcurtsni erots gnisu ot nettirw eb nac yromem eht erehw si egats yromem ehT
gnitseT UPC :ofnI
kcaB etirW :5 egatS

tests/part-a/addi/cpu-addi-basic.circ
UUUU XXXX
PROGRAM_COUNTER
PROGRAM_COUNTER
PROGRAM_COUNTER
PROGRAM_COUNTER
Time_Step
addi
a/addi/
Time_Step
INSTRUCTION
PROGRAM_COUNTER
addi
tests/part-
test.py .out
addi
$ python3 test.py tests/part-a/addi/
:htiw eseht nur nac uoY .yrotcerid
eht ni )3 ksaT( rof stset redargotua eht dedivorp ev’eW
.tset eht liaf lliw uoy ,tnereffid si tuptuo ruoy fi ;detcepxe eht ot tuptuo siht erapmoc lliw stset ruO .elif evitcepser eht ot stuptuo eht fo hcae ni seulav eht tnirp lliw tpircs eht ,tniop taht tA .)6 si tnatsnoc gnitlah eht ,elif tset
ralucitrap siht rof( elif tset taht rof tnatsnoc gnitlah eht ot lauqe si
litnu kcit ot eunitnoc lliw kcolc ehT . dellac elif tset eht ni tupni na stnemercni kcolc eht fo kcit hcaE ?skcit kcolc eht nehw sneppah tahw oS
.sserdda drow a ton ,sserdda etyb a si
taht ecitoN .)stib owt tsommottob eht gnirongi( morf
stib 41 ylno teg ot rettilps a esu ot evah ew ,setyb 61^2 ta stinu MOR fo ezis eht spac misigoL esuaceb tub ,eulav tib-23 a si .sserdda taht ta noitcurtsni eht stuptuo dna ) dellac( tupni eno ni sekat yromem noitcurtsnI .yromem noitcurtsni otni dedaol neeb sah snoitcurtsni eht rof xeh ehT .yromem noitcurtsni ees ll’uoy ,UPC eht woleB
.ylreporp krow regnol on yam selif tset eht ni snoitcennoc eht tluser a sa dna ,tiucric UPC eht fo epahs eht egnahc lliw siht sa ,seno wen dda ro snip tuptuo/tupni dedivorp eht tide ton od uoy taht erus ekaM .UPC ruoy no snip tuptuo/tupni cificeps ot detcennoc seriw denoitisop-yllacificeps ynam era ereht ,ees nac uoy sA
.elcyc kcolc txen eht detucexe eb ot MEMI morf dehctef eb ot noitcurtsni eht fo sserdda eht ro , :tuptuo lanoitidda na sah ti ,sretsiger eht fo hcae ni seulav eht htiw gnola dna ,) ( tupni eno ni sekat UPC ruoY .esac eht eb ton dluohs siht ,gnikrow si UPC ruoy nehw ;s ro s fo stol ees ll’uoy ,edoc retrats eht htiW .stuptuo tset eht ot detcennoc si UPC ruoy erehw ecalp eht ees ll’uoy ,pot eht tA .elif tset eht fo strap suoirav eht ta kool resolc a ekat dna ,misigoL ni nepO
stseT

README.md
addi
.circ
alu.circ branch-comp.circ control- logic.circ cpu.circ imm-gen.circ regfile.circ
Project 3A
addi
addi
:swollof sa si A traP rof nwodkaerb gnidarg ehT .tcejorp eht fo edarg llarevo eht fo %02 htrow si A traP
.snoissimbuser hcus ot seilppa llits A traP rof enildaed eht taht eton esaelP .UPC denilepip a ro elcyc-elgnis a rehtie stpecca redargotua eht ,stset roF !derevoc uoy tog ev’ew ,A traP ot timbuser ot tnaw uoy ezilaer neht dna B traP ni UPC ruoy enilepip uoy fI
.epocsedarG no tnemngissa eht ot oper ruoy timbus ,nehT .) dna , , ,
, , ( A traP rof tide ot dewolla erew uoy selif tiucric eht gnitset eb ylno lliw redargotua eht ;selif lanoitidda yna etaerc ton did uoy taht erus ekaM .sessenrah gnitset dedivorp eht ni tif stiucric ruoy taht dna ,snip tuptuo/tupni ruoy detide ton evah uoy taht kcehc-elbuoD
.A traP rof stset neddih on era ereht ,sdrow rehto nI .edoc retrats eht ni dedivorp selif tset eht sa stset emas eht sesu A traP rof redargotua ehT
!tcejorp eht fo A traP dehsinif ev’uoy ,4 hguorht 1 sksat detelpmoc ev’uoy fi ,tniop siht tA
!evitaerc teg ot eerf leef os ,ereh tnemeriuqer htgnel ro tamrof cificeps on s’erehT .seciohc ngised ruoy dniheb gninosaer eht nialpxe dna ,)! rof meht desu uoy ecnis ,eliFgeR dna ULA gnidulcni( trap siht rof stnenopmoc dna stiucric ruoy detnemelpmi uoy woh nwod etirW . eht ni llif ot si A traP rof ksat tsal ruoY
etadpU EMDAER A traP :4 ksaT
)%5( )%8( eliFgeR
)%7( ULA
gnidarG
noissimbuS