Extras din proiect
Introducere
În prezent dezvoltarea tehnico-ştiinţifică se bazează pe progresele electronicii digitale de calcul şi procesare a datelor şi mai mult decît atît, e necesară din ce în ce mai multă performanţă în acest . Elaborarea unui nou procesor fără unelte performante ar fi foarte anevoioasă, din acest motiv, în anul 1985, a fost elaborat limbajul descriptiv Verilog, ce permite descrierea comportamentului şi/sau arhitecturii unui sistem numeric.
În acest program urmează să proiectăm un procesor şi să-l simulăm.
Fundamentare teoretică
Procesorul Elementar
Cîteva definiţii de bază :
Un procesor este un SO-3 la care unul din automate este de tip RALU iar celălalt îndeplineşte funcţia de automat de control.
Un procesor elementar, PE, este un procesor al cărui automat de control este strict iniţial
Vom numi microinstrucţiuni elementele produsului Y x Q ale unui automat de control
Un procesor elementar va fi format, conform definiţiilor anterioare, dintr-un circuit de tip RALU şi un automat de control strict iniţial CROM. Acest procesor se va iniţializa prin resetare şi va executa o singură funcţie, cea definită de secvenţa de comandă pentru care a fost proiectat automatul de control. Altfel spus, PE este procesorul cu o singură instrucţiune pe care o interpretează continuu.
Figura 1 .Procesor Elementar
Fie PE din figura 1, format din CR0M, în calitate de automat de control, definit de următorul format al microinstrucţiunii pe care o generează:
<microinstructiune>::= <com. ralu> <com. i/o> <mod>
<test> <jump>
<com. i/o>::= READ | WRITE | -
<Mod>::= JMP | CJMP | -
<Test>::= CR | WAITJR. | WAIT.W | -
<Jump>::= <o eticheta formata dintr-un sir, nefolosit ca mnemonica, de cel mult 6 caractere>
şi RALU1 definit prin următoarea structură a comenzii:
<com.ralu>::= <Left> <Right> <Dest> <Sel> <Func> <Write>
<Left::= L0 | L1 | L2 | - ,
<Right>::= R0 | Rl | R2 | - ,
<Dest>::= DO | Dl | D2 | - ,
<Sel>::= DIN |- ,
<Func>::= XOR | NOT | ADD | LEFT | SHR,
<Write>::= W | -
CROM comandă în exteriorul PE1, citirea unor configuraţii binare prin ieşirea READ, scrierea prin WRITE. Va recepţiona, în consecinţă indicatorii WAIT_R şi WAIT.W prin care este sincronizată recepţia pe intrarea DIN şi emiterea pe ieşirea DOUT. Indicatorul CR este recepţionat pe buclă de la ieşirea ALU din RALUl. CROM posedă şi o intrare sincronă de reset, RST, prin acţiunea căreia se iniţializează pentru generarea primei microinstructiuni din secvenţa pentru care a fost proiectat. Comanda implicită în câmpul <Mod> este INC.
Procesorul elementar PE1 definit prin interconectarea celor două automate (RALU ŞI CROM) va putea folosi următorul limbaj de microprogramare:
<microinstructiune>::= <com. ralu> <com. i/o> <mod>
<test> <jump>
<com.ralu>::= <Left> <Right> <Dest> <Sel> <Func> <Write>
<Left>::= L0 | L1 | L2 | - ,
<Right>::= R0 | Rl | R2 | - ,
<Dest>::= DO | Dl | D2 | - ,
<Sel>::= DIN | - ,
<Func>::= XOR | NOT | ADD | LEFT | SHR,
<Write>::= W | - .
<com. i/o>::= READ | WRITE | -
<Mod>::= INC | JMP | CJMP
<Test>::= CR | WAIT„R | WAIT_W | -
<Jump>::= <o eticheta formata dintr-un sir, nefolosit ca mnemonica, de cel mult 6 caractere>.
Modulul CROM
CROM-ul este un automat de control tip Moore imediat în componenţa căruia este şi un ROM pentru stocarea comenzilor CROM-ului.
Structura CROM-ului este următoarea:
Circuitul INC este un circuit de incrementare combinaţional care ne pune în fiecare ciclu de ceas la dispoziţie valoarea incrementată a stării curente. Dacă pe intrările de selecţie ale MUX se aplică S1 S0 = 00, atunci starea următoare a autoamtului de control va fi obţinută prin incrementarea celei curente.Registrul împreună cu circuitul de incrementare formează un numărător sincron.
Circuitul TC este un foarte modest circuit combinaţional folosit pentru transcodificarea câmpului MOD în funcţie de valoarea bitului testat, T, selectat de mul-tiplexorul de test, MUXT. Tabelul de mai jos descrie funcţia realizată de acest circuit.Câmpul MOD este codificat prin biţii Ml, MO, iar ieşirea TC generează cei doi biţii de selecţie pentru MUX. Câmpul MOD va specifica cele patru moduri de tranziţie ale CROM-ului:
INC : starea următoare a CROM se obţine prin incrementare
Figura 4. Structura CROM-ului Figura 5. Tabelul de adevăr al circuitului transcodor
JMP : starea următoare a CROM este dată de câmpul JUMP prin selectarea intrării 1 a MUX de către ieşire TC
CJMP : starea următoare depinde de valoarea intrării selectate, prin codul TEST sub denumirea de T, la intrarea TC:
* dacă testul nu este îndeplinit, T = 0, atunci tranziţia are loc prin incre-mentare pentru că ieşirile TC iau valoarea 00
* dacă testul este îndeplinit, T = 1, atunci tranziţia are loc prin saltui la adresa dată de câmpul JUMP, selectat prin valoarea 01 de la ieşirea TC
INIT : starea următoare este dată de codul de iniţializare prezent pe intrarea X1, conec-tată la intrările 2 şi 3 ale MUX.
Preview document
Conținut arhivă zip
- Descrierea si Simularea unui Procesor cu Ajutorul Limbajului Verilog.doc