botondkirei / Suport_HDL

Suport curs PSHDL
0 stars 2 forks source link

Tema de proiect - Sintetizarea codoarelor de prioritate #2

Open botondkirei opened 4 years ago

botondkirei commented 4 years ago

Codorul de prioritate se foloseste pentru a selecta unul dintre mai multe evenimente. De exemplu sistemele de calcul stabilesc prioritatea intreruperilor hardware cu ajutorul unui codor de prioritate.

Sa consideram un codor de prioritate cu 8 intrari. Acest decodor va avea o magistrala de iesire de latimea de 5 biti. Daca nici-un semnal de intrare nu este 1 atunci iesirea este 0. Daca primul semnal este activ, atunci indiferent de restul intrarilor, iesirea va fi 1. Daca primul semnal este inactiv si al doilea este activ, atunci iesirea codorului va fi 2, indiferent de restul semnalelor. Si asa mai departe.

Pentru a sintetiza acest circuit se poate folosi optimizarea multi-nivel. Optimizarea multinivel se face cu un utilitar numit mvsis (utilitarul se pune la dispozitie). Se editeaza un fisier in format BLIF (la cerere dau indicatii despre format) cu specificatiile codurului de prioritate (vezi un exemplu atasat la acest mesaj) pe9.txt

Cu ajutorul programului mvsis :

  1. se lanseaza programul mvsis
  2. se citeste fisierul specificatii: read_blif pe9.txt
  3. se simplifica codorul: simplify
  4. se salveaza codorul simplificat: write_blif pre9_sinth.txt

Se cere sintetizarea codoarelor de la 9 pana la 32 de biti. Se sugereaza:

  1. elaborarea unui script care genereaza specificatiile pentru un codor de N biti
  2. rularea in batch a programului mvsis.