Cov txheej txheem:

Kaum Ntsis Khoos Phis Tawj - VHDL: 4 Kauj Ruam
Kaum Ntsis Khoos Phis Tawj - VHDL: 4 Kauj Ruam

Video: Kaum Ntsis Khoos Phis Tawj - VHDL: 4 Kauj Ruam

Video: Kaum Ntsis Khoos Phis Tawj - VHDL: 4 Kauj Ruam
Video: Saib Mis paub Poj niam (hluas nkauj) tus yam ntxwv lub siab 2024, Hlis ntuj nqeg
Anonim
Kaum Lub Computer - VHDL
Kaum Lub Computer - VHDL

Ua los ntawm: Tyler Starr thiab Ezzeedden Gazali

Taw qhia

Txoj haujlwm no tau ua tiav raws li ib feem ntawm qhov haujlwm kawg rau CPE 133 ntawm Cal Poly SLO. Nws yog txoj haujlwm zoo rau ib tus neeg saib kom nkag siab tias lub khoos phis tawj ua haujlwm li cas hauv qib qis tshaj thiab lawv ua tiav lawv cov haujlwm li cas. Txoj haujlwm yog ua qauv tom qab 8-ntsis SAP khoos phis tawj tau piav qhia hauv Albert Malvino phau ntawv Digital Computer Electronics. Txawm li cas los xij, peb tau nce lub khoos phis tawj mus rau 10-ntsis kom tso cai rau kev siv ntau cov lej lej (cov lej ua haujlwm). Tus neeg siv tuaj yeem teeb tsa lub khoos phis tawj kom ua tiav kev ua haujlwm los ntawm kev nkag mus rau qee cov lus qhia.

System thiab Circuit Architecture:

Lub khoos phis tawj tau sau ua VHDL thiab yuav muaj nyob ntawm Basys 3 board los ntawm Digilent. Cov tswv yim yuav raug teeb tsa rau cov hloov pauv hauv qab ntawm pawg thawj coj saib. Ob lub cuab yeej siv tau yooj yim yuav siv rau Kev Rov Pib thiab Sau cov haujlwm. Cov txiaj ntsig yuav tshwm rau ntawm pawg thawj coj saib 7 ntu.

Lub khoos phis tawj yuav tawg mus rau hauv cov khoom me me (cov qauv) uas ua haujlwm sib txawv. Txhua tus qauv yuav piav qhia ntxaws hauv cov theem hauv qab no.

Kauj ruam 1: Cov ntaub ntawv

Khoom siv
Khoom siv

Txhua yam uas xav tau rau txoj haujlwm no yog Basys3 FPGA pawg thawj coj los ntawm Digilent thiab micro USB xaim txuas lub rooj tsavxwm rau koj lub khoos phis tawj.

Kauj Ruam 2: Thaiv Daim Duab ntawm Circuit Modules

Thaiv Daim duab ntawm Circuit Modules
Thaiv Daim duab ntawm Circuit Modules
Thaiv Daim duab ntawm Circuit Modules
Thaiv Daim duab ntawm Circuit Modules
Thaiv Daim duab ntawm Circuit Modules
Thaiv Daim duab ntawm Circuit Modules

Cov duab kab lus saum toj no qhia txog qhov sib txawv ntawm cov qauv uas ua rau 10-ntsis khoos phis tawj. Hauv qab no yog cov lus piav qhia rau txhua qhov ntawm tus kheej ntu/cov qauv qhia hauv cov duab kos saum toj no.

Program Counter

Nqe lus piav qhia ntawm cov tswv yim: cov tswv yim yog 5 lub tswv yim nkag rau tus lej nkag mus rau hauv lub phiaj xwm phiaj xwm. Cp thaum siab lub txee suav rau ntawm lub moos poob. Clr rov kho lub txee rau 0. Ep thaum siab lub txee tawm tam sim no suav. Sp thaum siab lub txee teev cov suav rau tus lej ntawm cov tswv yim

  • Nqe lus piav txog cov txiaj ntsig:

    cov zis yog ib daim qauv ntawm suav rau siv ntawm LEDS 0-15. Suav tawm qhov suav tam sim no.

  • Txhua Qhov Chaw Hauv Qhov System: Lub txee no taug qab qhov cim xeeb qhov chaw uas qhov program tau ua. Txhua qhov program pib ntawm chaw nyob nco 00000 (0) thiab nce mus txog 11111 (31), tshwj tsis yog siv nres. Hauv kab lus dhia, cov phiaj xwm phiaj xwm txuas ntxiv suav los ntawm qhov chaw nyob uas qhov program tau dhia mus.

Tswv yim MUX

  • Nqe lus piav qhia ntawm cov tswv yim: Chaw nyob yuav siv cov tswv yim los ntawm cov hloov pauv 11 txog 15. MAR siv lub tswv yim los ntawm 10 ntsis npe siv ua MAR. Qhov kev zov me nyuam tswj hwm qhov kev nkag mus rau txoj kev mus rau qhov tso tawm.
  • Nqe lus piav qhia ntawm Cov Khoom: tso tawm txoj hauv kev xaiv cov tswv yim mus rau RAM.
  • Tag Nrho Qhov Chaw Hauv Qhov System: Qhov MUX txiav txim siab seb yuav hloov chaw nyob los ntawm cov hloov tsheb lossis tsheb npav mus rau RAM. Hauv txoj haujlwm program, qhov chaw nyob los ntawm cov hloov pauv tau hloov pauv thiab hauv kev ua haujlwm, qhov chaw nyob ntawm lub npav yog hla mus.

ramMUX

  • Nqe lus piav qhia ntawm cov tswv yim: userInput yog cov tswv yim uas tus neeg siv nkag mus thaum lub sijhawm ua haujlwm. aRegInput yog cov ntaub ntawv muaj nyob hauv A register, qhov no yog siv thaum lub sijhawm khiav haujlwm. tswj yog xaiv rau MUX no.
  • Kev piav qhia ntawm Cov Lus Qhia: cov zis yog 10-ntsis cov ntaub ntawv nkag mus rau RAM.
  • Tag Nrho Qhov Chaw Hauv Qhov System: Qhov MUX no tso tawm 10-ntsis cov ntaub ntawv nkag uas tau siv hauv RAM module. Thaum tswj hwm me ntsis siab, MUX tso tawm cov ntaub ntawv uas tus neeg siv nkag mus rau hauv hom haujlwm. Thaum qhov kev tswj hwm qis, MUX tso tawm cov ntaub ntawv ntawm kev tswj tsheb npav.

ramModule

  • Nqe lus piav qhia ntawm cov tswv yim: inputData yog cov ntaub ntawv raug khaws cia hauv RAM. inputAddress yog qhov chaw uas khaws cov ntaub ntawv. program qhia tias lub khoos phis tawj nyob hauv program lossis hom khiav. readWrite qhia seb puas muaj kev nyeem lossis sau ua haujlwm. notCE yog kev tswj me ntsis rau RAM module. txav qhia tias kev txav chaw tau ua tiav.
  • Nqe lus piav qhia ntawm Outputs: outputDataToBus yog cov ntaub ntawv uas mus los ntawm RAM mus rau lub npav. outputData thiab qhov chaw nyob tso tawm yog cov ntaub ntawv thiab chaw nyob uas mus rau npe rau kev qhia.
  • Zuag Qhia Tag Nrho Hauv Qhov System: Lub RAM tso cai rau qhov program thiab cov ntaub ntawv khaws cia hauv lub cim xeeb ua ntej qhov program khiav. Thaum qhov haujlwm tau ua tiav, RAM tau txais qhov chaw nyob los ntawm MAR thiab tso tawm cov ntaub ntawv ntawm qhov chaw nyob ntawd mus rau lub npav.

chaw nyob

  • Nqe lus piav qhia ntawm cov tswv yim: opCode yog cov tswv yim uas muaj qhov chaw nyob ntawm tus lej opcode uas tau ua los ntawm lub khoos phis tawj
  • Kev piav qhia ntawm Cov Lus Qhia: opCodeStart yog qhov chaw nyob nco uas qhia thawj qhov kev qhia me me ntawm qhov sib thooj opCode.
  • Zuag Qhia Tag Nrho Hauv Cov Txheej Txheem: Cov qauv no siv cov lus qhia micro kaw thiab tso tawm qhov chaw nco uas sib haum rau qhov pib ntawm qhov kev qhia ua ntu ntawd.

ringCounter

  • Nqe lus piav qhia ntawm cov tswv yim: rov teeb tsa lub txee rov qab rau 100000 (thawj "T xeev"). Clk nce lub txee los ntawm ib qho ntawm lub moos poob. NOP qhia tias lub xeev/lub sijhawm tam sim no yog "tsis ua haujlwm".
  • Nqe lus piav qhia ntawm Outputs: suav yog qhov tso tawm ntawm lub txee.
  • Zuag Qhia Tag Nrho Hauv Qhov System: Lub nplhaib ntiv tes tswj hwm lub rooj txiav txim ua ntej thiab txiav txim siab rau qib me me hauv txhua qhov kev qhia qhia (T1-T6).

preCounter

  • Nqe lus piav qhia ntawm cov tswv yim: opCodeStart yog qhov chaw nco ntawm cov lus qhia micro rau opCode tau ua tiav. T1 rov kho lub txee rau 0 thaum nws siab. Thaum T3 siab, opCodeStart tau thauj khoom thiab suav txuas ntxiv los ntawm qhov chaw ntawd rau 3 ntu ntxiv (T4-T6). Clr teeb tsa txee rau 0. Clk nce cov txee los ntawm ib qho ntawm ntug ntog.
  • Nqe lus piav qhia ntawm cov txiaj ntsig: tswjWordLocation tso tawm qhov chaw nco ntawm lo lus tswj kom ua.
  • Zuag Qhia Tag Nrho Hauv Qhov System: Txhua qhov op-code muaj 3 cov lus qhia micro. Lub txee nce ntxiv los ntawm 1 pib ntawm 0 rau thawj 3 lub voj voog (nqa mus los). Lub txee tom qab ntawd yog ua los ntawm lub nplhaib ntiv tes txhawm rau thauj qhov chaw nyob ntawm opCodeStart thiab nce ntxiv los ntawm 1 rau 3 seem ntxiv. Txoj hauv kev no preCounter tswj cov ntu ntawm cov lus qhia me me kom ua tiav.

tswjROM

  • Nqe lus piav qhia ntawm cov tswv yim: tswjWordLocation yog qhov chaw nyob ntawm kev tswjWord uas tswjROM yuav tso tawm. NOP qhia tias qhov chaw yog "tsis ua haujlwm" qhov chaw.
  • Nqe lus piav qhia ntawm cov txiaj ntsig: tswjWord yog lo lus tswj hwm uas ua rau/ua haujlwm tsis zoo ntawm lub khoos phis tawj sib txawv los ua qhov haujlwm xav tau.
  • Tag Nrho Qhov Chaw Hauv Qhov System: Cov qauv no txiav txim siab qhov chaw nco los ntawm preCounter thiab tso tawm cov lus tswj rau kev ua haujlwm uas xav tau.

ALU

  • Nqe lus piav qhia ntawm cov tswv yim: A thiab B yog cov tswv yim los ntawm Sau Npe A thiab Sau Npe B uas ALU ua tus lej thiab kev ua haujlwm logic rau. Thaum kev rho tawm ua haujlwm, nws qhia tau tias B raug rho tawm los ntawm A.
  • Nqe lus piav qhia ntawm cov txiaj ntsig: qhov tshwm sim yog qhov tshwm sim ntawm kev ntxiv A thiab B, lossis rho tawm B los ntawm A. Cov txiaj ntsig tau ntau dua, tsawg dua, thiab sib npaugTo qhia tias yog (AB, lossis A = B) thiab tau siv nyob rau hauv qhov xwm txheej dhia dhia. kev ua yuam kev qhia txog kev hla lossis nqes dej thaum ua haujlwm.
  • Tag Nrho Qhov Chaw Hauv Qhov System: ALU muaj cov laj thawj rau kev ua lej thiab kev ua haujlwm logic ua los ntawm lub khoos phis tawj. Cov qauv no tuaj yeem ntxiv thiab rho tawm ob 10-ntsis binary lej. ALU tseem tuaj yeem txiav txim siab yog A> B, A

raws li txoj cai

  • Cov lus piav qhia ntawm cov tswv yim: inputCount yog siv los latch cov suav tam sim no. inputAddress yog siv los tuav qhov chaw nyob uas yuav dhia mus rau. loadFromRegister thaum qis latches inputAddress. loadCount thaum qis latches inputCount. Thaum outputEnable yog qhov tsawg qhov tso tawm tau teeb tsa rau qhov chaw nyob kom dhia mus rau gT, iT, thiab eQ txiav txim siab qhov xwm txheej twg raug tshuaj xyuas. ntau dua, tsawg dua, thiab sib npaugTo yog cov tswv yim los ntawm ALU qhia qhov tshwm sim ntawm kev sib piv ntawm A thiab B. Ntawm qhov nce ntawm lub moos sawv ntawm Clk cov lej suav thiab inputAddress tau nyeem rau hauv cov npe.
  • Nqe lus piav qhia ntawm Outputs: outputJmp yog qhov chaw nyob uas lub phiaj xwm phiaj xwm yuav nyeem hauv.
  • Tag Nrho Qhov Chaw Hauv Cov Txheej Txheem: cov qauv no ua haujlwm raws li qhov ua tau zoo thiab tsis ua raws rau lub khoos phis tawj. Raws li cov ntaub ntawv nkag gT, iT, thiab eQ, tus qauv txiav txim siab qhov xwm txheej twg los tshuaj xyuas thiab seb qhov xwm txheej ntawd puas muaj tseeb lossis tsis tseeb. Yog tias qhov xwm txheej muaj tseeb, nws yuav tso qhov chaw nyob ntawm cov lus qhia kom dhia mus, txwv tsis pub, nws yuav suav qhov suav ntawm cov lus qhia tom ntej.

binToBCD

  • Nqe lus piav qhia ntawm cov tswv yim: suav tus lej 10 ntsis kom hloov pauv mus rau binary coded decimal.
  • Kev piav qhia ntawm Cov Lus Qhia: ntau pua tus lej hauv ntau pua qhov chaw ntawm tus lej binary. kaum tus lej hauv kaum qhov chaw ntawm tus lej binary. cov lej hauv qhov chaw ntawm tus lej binary.
  • Tag Nrho Qhov Chaw Hauv Qhov System: Cov qauv no hloov pauv 10 tus lej me me los ntawm cov npe tso tawm rau BCD kom peb plaub tus lej tsav tsheb los tso saib tus lej hauv zauv ntawm 7 ntu ntu.

plaubDigitDriver

  • Nqe lus piav qhia ntawm cov tswv yim: tus lej yog 16 ntsis binary cov tswv yim uas tau tsav mus rau tus txiav txim siab. inClk yog Basys cov laug cam sab hauv thiab siv rau lub moos faib. RST rov pib lub moos siv los tsav cov lej.
  • Nqe lus piav qhia ntawm cov zis: anode txiav txim siab tus lej qhov twg yuav pom kev. tus lej yog tus lej nkag mus rau tus lej txiav txim.
  • Zuag Qhia Tag Nrho Hauv Qhov System: Tus qauv no tsav lub tshuab txiav txim siab los tso tus lej BCD rau cov zaub.

tus txiav txim siab

  • Nqe lus piav qhia ntawm cov tswv yim: inputNumber yog tus lej uas los ntawm tus tsav tsheb thiab uas yuav raug txiav txim siab.
  • Nqe lus piav qhia ntawm cov txiaj ntsig: cathodes txiav txim siab qhov cathodes twg yuav raug qhib kom pom cov lej xav tau.
  • Zuag Qhia Tag Nrho Hauv Qhov System: Cov qauv no txiav txim siab tus lej uas yuav tsum tshwm ntawm 7 ntu saib.

plaubDigitDisplay

  • Nqe lus piav qhia ntawm cov tswv yim: tus lej yog tus lej yuav tsum tshwm ntawm 7 ntu ntu. yuam kev qhia thaum lub zaub yuav tsum nyeem "Err". Clk yog lub moos teeb liab uas cov zaub ua haujlwm. Lub teeb liab no yuav tsum nyob ib puag ncig 60 Hz kom cov zaub tuaj yeem pom tag nrho 4 tus lej qhov chaw ib txhij.
  • Nqe lus piav qhia ntawm cov txiaj ntsig: anode txiav txim siab tus lej qhov twg tau qhib. cathode txiav txim siab uas cathodes tau qhib kom pom cov lej xav tau.
  • Tag Nrho Qhov Chaw Hauv Qhov System: Cov qauv no qhia tus lej ntawm 7 ntu ntu. Xa mus rau Basys 3 pawg thawj coj qhia phau ntawv qhia rau cov ntaub ntawv uas cathodes thiab anodes qhib los siv cov zaub. Thaum qhov yuam kev me ntsis siab dua, cov zaub pom "Err".

outputMUX

  • Nqe lus piav qhia ntawm cov tswv yim: progModeInput txiav txim siab qhov kev coj ua tau qhib thaum lub sijhawm ua haujlwm. runModeInput txiav txim siab qhov kev coj ua tau qhib thaum lub sijhawm khiav. modeSelect yog xaiv lossis tswj me ntsis rau MUX.
  • Nqe lus piav qhia ntawm cov zis: coj
  • Tag Nrho Qhov Chaw Hauv Qhov System: Nyob ntawm hom uas lub khoos phis tawj nyob hauv (program lossis rum), MUX yuav qhib sib txawv coj. Hauv hom haujlwm (hom Xaiv yog '0'), MUX tig rau coj kom zoo li lub cim xeeb qhov chaw uas lub khoos phis tawj nyob thiab nws muaj dab tsi. Hauv hom khiav (hom Xaiv yog '1'), MUX tau siv rau kev debugging tab sis tuaj yeem teeb tsa kom pom lwm yam.

clockDivider

  • Nqe lus piav qhia ntawm cov tswv yim: nres nyeem tsib MSB cov khoom los ntawm lub tsheb npav txhawm rau txheeb xyuas qhov nres nres ('11111') thiab nres lub moos. inputClk yog lub teeb liab moos sab hauv ntawm Basys 3 board.
  • Nqe lus piav qhia ntawm cov zis: ouputClk yog lub moos tshiab uas tau qeeb qeeb.
  • Tag Nrho Qhov Chaw Hauv Qhov System: Lub moos no yog siv los ua kom lub computer qeeb kom nws tuaj yeem ua rau tus neeg siv txiav txim siab seb yuav ua dab tsi. Lub moos tuaj yeem ua haujlwm nrawm dua, txawm li cas los xij, tam sim no nws tau teeb tsa rau 2 Hz.

triStateBuffer

  • Nqe lus piav qhia ntawm cov tswv yim: Din yog 5 lub tswv yim nkag mus rau qhov tsis. Ep yog kev tswj me ntsis.
  • Kev piav qhia ntawm Cov Lus Qhia: Dout yog 5 qhov tso tawm ntawm qhov tsis
  • Zuag Qhia Tag Nrho Hauv Qhov System: Thaum qhov kev tswj hwm me ntsis Ep tau ua haujlwm, tsis tso tawm cov lus tawm tswv yim. Thaum qhov kev tswj hwm me ntsis tsis ua haujlwm, qhov tsis ua haujlwm tsis muaj dab tsi.

tenBitDRegister

  • Nqe lus piav qhia ntawm cov tswv yim: Dbus yog cov tswv yim uas sau npe rau. Clk tso cai rau kev sau npe nyeem hauv cov ntaub ntawv ntawm lub moos nce ntxiv. ARST teev npe rau 0 asynchronously. Thaum outputEnable tsawg, cov ntsiab lus ntawm kev sau npe yog qhov tso tawm. Thaum readIn tsawg, daim ntawv sau npe kaw Dbus ntawm lub moos sawv nce.
  • Nqe lus piav qhia ntawm cov txiaj ntsig: Qbus yog qhov tso tawm ntawm cov ntawv sau npe
  • Zuag Qhia Tag Nrho Hauv Qhov System: Kev sau npe siv ntau zaus nyob hauv lub khoos phis tawj thiab siv los khaws cov ntaub ntawv thaum ua haujlwm.

tsibBitDRegister

  • Nqe lus piav qhia ntawm cov tswv yim: Dbus yog cov tswv yim uas sau npe rau. Clk tso cai rau kev sau npe nyeem hauv cov ntaub ntawv ntawm lub moos nce ntxiv. ARST teev npe rau 0 asynchronously. Thaum outputEnable tsawg, cov ntsiab lus ntawm kev sau npe yog qhov tso tawm. Thaum readIn tsawg, daim ntawv sau npe kaw Dbus ntawm lub moos sawv nce.
  • Nqe lus piav qhia ntawm cov txiaj ntsig: Qbus yog qhov tso tawm ntawm cov ntawv sau npe.
  • Zuag Qhia Tag Nrho Hauv Qhov System: Kev sau npe siv ntau zaus nyob hauv lub khoos phis tawj thiab siv los khaws cov ntaub ntawv thaum ua haujlwm.

Kauj ruam 3: Code

Hauv qab no yog cov ntawv tais ceev tseg uas muaj kev txwv thiab cov ntaub ntawv rau lub 10-ntsis lub computer.

Kauj ruam 4: Demo thiab Qauv Cai

Cov vis dis aus saum toj no qhia txog yuav ua haujlwm li cas lub khoos phis tawj 10-ntsis ntawm Basys 3 FPGA board. Ib daim ntawv pdf uas muaj cov lej-op thiab cov qauv kev qhia kuj tseem txuas hauv qab no.

Pom zoo: