400 likes | 676 Views
Capitolul 6. Sinteza CLC folosind VHDL. Tematica. Informații generale Etapele proiect ă rii asistate de calculator Etapele sintezei şi implement ă rii Exemple de sinteza cu FPGA. Informații introductive.
E N D
Capitolul 6 Sinteza CLC folosind VHDL Proiectarea sistemelor digitale
Tematica • Informații generale • Etapele proiectării asistate de calculator • Etapele sintezei şi implementării • Exemple de sinteza cu FPGA Proiectarea sistemelor digitale
Informații introductive • Utilizarea VHDL ȋn sinteza circuitelor logice presupune existența unei platforme pentru proiectarea asistatǎ de calculator. • Ȋn cadrul cursului se va utiliza platforma Xilinx ISE 9.2i pentru editarea, compilarea programelor și generarea testelor, respectiv ModelSim XE III 6.4b pentru simulare. • Implementǎrile se vor face pe un modul FPGA al firmei Xilinx, cu indicativul xc3s400-4ft256. PDSD
Etapele proiectarii asistate de calculator • Editarea modelului VHDL. • Verificarea corectitudinii sintaxei programului. Aceastǎ verificare este necesarǎ dar nu și suficientǎ deoarece nu garanteazǎ corectitudinea modelului sau faptul cǎ acesta este implementabil la nivel fizic pe modulul avut ȋn vedere. • Declararea unor constrȃngeri de proiectare cum ar fi asignarea porturilor la pinii modulului utilizat, criteriile de optimizare a proiectǎrii. Aceastǎ etapǎ nu este necesarǎ decȃt ȋn cazul ȋn care se dorește implementarea efectivǎ a circuitului proiectat. • Generarea programului pentru modulul utilizat la implementare. Suplimentar utilizatorului i se oferǎ schema bloc sau diverse detalii ale schemei la nivel logic și fizic. Pe durata generǎrii programului, sunt generate diverse mesaje de avertizare sau eroare care ghideazǎ proiectantul ȋn depanarea modelului sau optimizarea soluției alese. PDSD
Etapele proiectarii asistate de calculator • Folosind opțiunile de generare a testelor se genereazǎ programele de test (test bench) tot ȋn limbaj VHDL (scrierea programelor de test nuface obiectul acestui curs). • Se testeazǎ funcționarea funcționalǎ (fǎrǎ luarea ȋn considerare a ȋntȃrzierilor) și dacǎ nu apar anomalii se trece la simularea funcționǎrii reale. • Se transferǎ programul pentru FPGA ȋn modulul disponibil. • Se efectueazǎ testele pentru verificarea și validarea funcționǎrii ȋn condiții reale. Ȋn cazul ȋn care testele eșueazǎ se modifică soluția propusǎ, parcurgǎnd din nou toate etapele. • Dacǎ toate testele efectuate nu mai pun ȋn evidențǎ nici o eroare, se trece la producția de serie. PDSD
Exemple de sinteză PDSD
Convenții pentru numele semnalelor • Pentru numele semnalelor vom utiliza următoarele convenții de prefixare: • i – port de intrare scalar; • ia – port de intrare vecorial (input arraay); • o – port de iesire scalar; • oa – port de iesire vectorial (output array); • s – semnal scalar; • sa – semnal vectorial (signal array); • a – alias scalar; • aa – alias vectorial (alias array). PDSD
Sinteza unui comparator de egalitate • Se considerǎ un dispozitiv logic care primește la intrare doi operanzi A și B pe 4 biți fiecare și oferǎ la ieșire semnalul AeqB activ pe nivel ridicat. PDSD
Greşeala tipică PDSD
Sinteza unui multiplexor logic Varianta 1 PDSD
Sinteza unui multiplexor logic Varianta 2 PDSD
Sinteza unui multiplexor logic Varianta 3 PDSD
Sinteza unui decodificator Varianta 1 PDSD
Sinteza unui decodificator Varianta 2 Funcția conv_std_logic_vector( valoare_ȋntreagǎ, lungime_vector) transformǎ valoarea ȋntreagǎ a primului parametru ȋntr-un vector binar tip std_logic_vector(0 tolungime_vector). PDSD
Sinteza unui decodificator Varianta 3 PDSD
Sinteza unui convertor de cod oaY(6) a, oaY(5) b, oaY(4) c, oaY(3) d, oaY(2) e, oaY(1) f, oaY(0) g. PDSD
Sinteza unui multiplexor vectorial • Vom numi multiplexor vectorial un multiplexor care primeşte la intrare L magistrale cu lățimea de m biți fiecare şi transferă magistrala selectată prin combinația de pe intrările de selecție pe o magistrală de ieşire cu aceeaşi lățime. PDSD
Sinteza unui sumator binar elementar S= a b Ti T= ab+a Ti +b Ti PDSD
Multiplicator pentru numere cu semn Vom considera cei doi operanzi reprezentați ca numere binare pe 8 biți ȋn formatul: Regula de reprezentare a semnului este: bs=0 – număr pozitiv; bs=1 – număr negativ. Rezultatul va avea formatul: PDSD
Intrebări ? Proiectarea sistemelor digitale