La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

D.E.I.S. Universita di Bologna VHDL come strumento CAD allinterno di flussi di progetto per dispositivi Digitali VHDL come strumento CAD allinterno di.

Presentazioni simili


Presentazione sul tema: "D.E.I.S. Universita di Bologna VHDL come strumento CAD allinterno di flussi di progetto per dispositivi Digitali VHDL come strumento CAD allinterno di."— Transcript della presentazione:

1 D.E.I.S. Universita di Bologna VHDL come strumento CAD allinterno di flussi di progetto per dispositivi Digitali VHDL come strumento CAD allinterno di flussi di progetto per dispositivi Digitali Fabio Campi Corsi di Architettura dei Sistemi Integrati/ Progetto di Sistemi Elettronici

2 D.E.I.S. Universita di Bologna Nato nel 1987, formalmente ridefinito nel 1993 Linguaggio standard internazionale per la descrizione di circuiti integrati digitali Strumento convenzionale per il progetto e per la documentazione di blocchi digitali Permette la rappresentazione di istanze hardware da system level fino a gate level VHDL Very High speed circuits Hardware Description Language

3 D.E.I.S. Universita di Bologna VHDL vs C Linguaggio C: Linguaggio di programmazione software: genera una esecuzione SEQUENZIALE di una serie di istruzioni. VHDL: Tool CAD di progettazione hardware: genera una instanziazione (mapping) di risorse di calcolo CONCORRENTI.

4 D.E.I.S. Universita di Bologna Stili di Descrizione Hardware BEHAVIORAL BEHAVIORAL Register Transfer Level Register Transfer Level Gate Level Gate Level Technology Dependance

5 D.E.I.S. Universita di Bologna VHDL: Applicazioni 1)SIMULAZIONE LOGICA 2)SYSTEM PROTOTYPING 3)SINTESI LOGICA

6 D.E.I.S. Universita di Bologna Flusso di progetto circuiti digitali (anni 80/90) 0) Definizione Algoritmica (linguaggio C): y=-x; 1)Schematic Entry 2) Custom Layout (place & route) 3) Parasitic extraction & Backannotation

7 D.E.I.S. Universita di Bologna Il Design Productivity Gap Lo sviluppo della tecnologia offre una quantita di risorse di Calcolo che supera la capacita del progettista di utilizzarle: Nasce il System-on-chip

8 D.E.I.S. Universita di Bologna Tecnologia Standard Cells La Sintesi Logica esegue un mapping della funzionalita descritta da Un modello VHDL Behavioral o Register Transfer Level in un modello Gate level basato su una libreria di celle elementari predefinite

9 D.E.I.S. Universita di Bologna Flusso di Sviluppo di circuiti digitali : FRONT END 0) Definizione Algoritmica (linguaggio C): q=a * b + c; 1)Descrizione VHDL del circuito: q <= a and b or c; 2) Simulazione Funzionale 3) Sintesi Logica 4) Simulazione Post-Sintesi

10 D.E.I.S. Universita di Bologna Flusso di Sviluppo di circuiti digitali: BACK END 5) Floorplanning 6) Place & Route 7) Parasitic extraction & backannotation

11 D.E.I.S. Universita di Bologna Dispositivi FPGA La Sintesi Logica esegue un mapping della funzionalita descritta da Un modello VHDL Behavioral o Register Transfer Level in un modello Gate level basato sui blocchi di calcolo elementari offerti dalla FPGA FPGA = Field Programmable Gate Array (Programmable Logic Device)

12 D.E.I.S. Universita di Bologna Sviluppo di circuiti digitalisu FPGA : FRONT END 0) Definizione Algoritmica (linguaggio C): q=a * b + c; 1)Descrizione VHDL del circuito: q <= a and b or c; 2) Simulazione Funzionale 3) Sintesi Logica

13 D.E.I.S. Universita di Bologna Sviluppo di circuiti digitali su FPGA: BACK END 6) Place & Route 7) FPGA device Programming 6) Post-route simulation

14 D.E.I.S. Universita di Bologna REGOLE di Scrittura di VHDL rivolto a sintesi logica 1) Codice RTL: rigorosa separazione tra logica Combinatoria (sintetizzabile) e logica sequenziale Processo Sequenziale: Process(clk,reset) Begin if reset=1 then q<=0; else if clkevent and clk=1 then q<=d; End process;

15 D.E.I.S. Universita di Bologna REGOLE di Scrittura di VHDL rivolto a sintesi logica 2) Processi combinatori: Tutti I segnali utilizzati come ingressi devono apparire nella sensitivity list VHDL Errato: Process(a) Begin C <= f(a,b); End process; VHDL corretto: Process(a) Begin C <= f(a,b); End process;

16 D.E.I.S. Universita di Bologna REGOLE di Scrittura di VHDL rivolto a sintesi logica 3) Scelte condizionate(Multiplexers): In ogni caso in cui (esplicitamente o implicitamente) lassegnamento di un segnale e condizionato ad un selettore, e necessario coprire con valori legali del segnali duscita tutti i casi della condizione possibili VHDL Errato: if sel=00 then y=in1; elsif sel=01 then y=in2; end if; VHDL corretto if sel=00 then y=in1; elsif sel=01 then y=in2; else y<= COSTANTE; end if;

17 D.E.I.S. Universita di Bologna REGOLE di Scrittura di VHDL rivolto a sintesi logica 4) Tipi di segnale e Bus Width PESATE: Un intero e inteso come numero aritmetico a 32 bit, il che puo portare a ridondanza nella mappatura hardware:E conveniente usare data types di natura FISICA (std_logic_vector, signed/unsigned) per avere controllo dellhw instanziato VHDL non ottimizzato signal a,b,c :integer; C <=a+b; VHDL ottimizzato signal a,b,c :integer RANGE 0 to 255; [meglio std_logic_vector(7 downto 0) ] C <=a+b; 32-bit adder (108 l.c.) 8-bit adder (14 l.c.)

18 D.E.I.S. Universita di Bologna REGOLE di Scrittura di VHDL rivolto a sintesi logica 5) Uso moderato di generic FOR:Un loop software comporta la esecuzione ripetuta della stessa Routine. La elaborazione hardware e Concorrente, quindi un ciclo causa la istanziazione ripetuta di logica, Portando ad un forte utilizzo di risorse Signal b :integer; Signal a :array(o to 9) of integer For I in 0 to 9 generate Q(I)<=a(I)+b; End generate; 10 adder a 32 bit (1080 l.c.)

19 D.E.I.S. Universita di Bologna REGOLE di Scrittura di VHDL rivolto a sintesi logica 6) Non e possibile utilizzare costrutti per lo scheduling della simulazione. Il controllo temporale della simulazione e determinata dalla analisi dei ritardi (Timing analysis) estratti dalla sintesi, dal layout o dal routing su FPGA)

20 D.E.I.S. Universita di Bologna REGOLE di Scrittura di VHDL rivolto a sintesi logica 7) Non e possibile avere diversi processi che insistano sullo stesso segnale o autoassegnamenti di segnale: cio porterebbe a corto circuito elettrico. a<=x; …… a<=y; Cont <= cont +1;

21 D.E.I.S. Universita di Bologna REGOLE di Scrittura di VHDL rivolto a sintesi logica 8) Macchine a stati finiti: Si definisce FSM un processo non combinatorio in cui luscita dipende dalla evoluzione temporale dei segnali di ingresso. Y(i) <=f(x(i),state(i)) State(i) <= f(x(i),state(i-1)) Y(i)=f(x(i),x(i-1),…)

22 D.E.I.S. Universita di Bologna REGOLE di Scrittura di VHDL rivolto a sintesi logica Process(clk) Begin if clkevent and clk=1 then cs<=ns; End process; Process(inputs,cs) Begin case state is when case0=> out1<= if in1= then ns<= else ns<= end if; …. when others => ……

23 D.E.I.S. Universita di Bologna


Scaricare ppt "D.E.I.S. Universita di Bologna VHDL come strumento CAD allinterno di flussi di progetto per dispositivi Digitali VHDL come strumento CAD allinterno di."

Presentazioni simili


Annunci Google