Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

test bench D_ff in VHDL

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto UtenteIsidoroKZ

0
voti

[1] test bench D_ff in VHDL

Messaggioda Foto UtenteRabeluk » 11 lug 2012, 19:29

salve a tutti volevo chiedervi se secondo voi un test bench cosi va bene in VHDL per un flip flop di tipo D con ingresso D,segnale di clock CLK e un RESET ed uscita Q

Codice: Seleziona tutto
entity testbench is
end testbench;

architecture behavior of testbench is

component D_ff
port(D,CLK,RESET:in bit;
    Q:out bit);
end component;

signal a,b,c,d:bit;
constant c_period:=10ns

begin
   UUT: D_ff port map (
      D=>a,
      RESET=>b,
      Q=>d
      );

   a_pr:process
      begin
      a<='0' ;
      wait for 15 ns;
      a<='1';
      wait for 10 ns;
   end process;

   b_pr:process
   begin
      b<='1';
      wait for 50 ns;
      b<='0';
      wait for 200 ns;
   end proces;

end behavior;
Ultima modifica di Foto Utenterini il 12 lug 2012, 10:40, modificato 3 volte in totale.
Motivazione: Usa i tag [code]...[/code] per inserire il codice
Avatar utente
Foto UtenteRabeluk
116 1 4 9
Sostenitore
Sostenitore
 
Messaggi: 765
Iscritto il: 30 gen 2011, 22:26

2
voti

[2] Re: test bench D_ff in VHDL

Messaggioda Foto Utenterini » 12 lug 2012, 10:48

Ciao Foto UtenteRabeluk, ho dato una occhiata al tuo testbench, ma giustamente tu hai fatto osservare che in un flip flop di tipo D ci sono 3 ingressi (D,CLK,RESET) ed un uscita (Q)

la tua associazione che hai fatto tra la UUT (Unit Under Test) e il testbench è stata
D => a
RESET => b
Q => d

(quindi manca l'ingresso del clock e di conseguenza sarà normale che questo codice non funziona)

poi hai creato due process che servono per modellari i segnali a, b. Ok, devi inserire un altro process sempre in parallelo a tutti gl'altri con l'obiettivo di modellare anche il segnale di clock.

PS: sarebbe meglio che inserisci il codice VHDL del D_ff
rini - \existslectroYou
Avatar utente
Foto Utenterini
1.420 2 5 13
Master EY
Master EY
 
Messaggi: 461
Iscritto il: 17 dic 2007, 1:04
Località: Bologna \ Salento

0
voti

[3] Re: test bench D_ff in VHDL

Messaggioda Foto UtenteRabeluk » 12 lug 2012, 12:00

ciao rini e grazie dell'aiuto... guarda mi sono dimenticato proprio di inserire il clock :D per scrivere in fretta

diciamo ke lo avrei inserito cosi (ovviamente dopo averlo inserito nel portmap) clk=>c
Codice: Seleziona tutto
c_p: process
begin
c<='0';
wait for 10 ns;
c<='1';
wait for 10 ns;
end process


volevo chiederti un'altra cosa... questa stringa che ho inserito posso evitare di metterla o è necessaria?
constant c_period:=10ns...
tutto il resto l'ho capito ma questa stringa l'ho presa per buona dalla guida

per il codice del flip flop va bene cosi? (D_ff sensibile sul fronte di salita,reset attivo alto)
Codice: Seleziona tutto
entiy D_ff is
port (D,CLK,RESET:in bit;
         Q:out bit);
end D_ff;
architecture struct of D_ff is
begin
process (CLK,RESET)
begin
if (RESET='1') then
Q<='0';
elsif (clk' event and clk='1') then
Q<=D
end if;
end process;
end struct;
Avatar utente
Foto UtenteRabeluk
116 1 4 9
Sostenitore
Sostenitore
 
Messaggi: 765
Iscritto il: 30 gen 2011, 22:26

2
voti

[4] Re: test bench D_ff in VHDL

Messaggioda Foto Utenterini » 12 lug 2012, 12:33

Si certo la puoi togliere quella costante c_period.

Il codice potrebbe andare bene, hai fatto semplicemente degli errori di sintassi, ti sei dimenticato qualche punto e virgola e una s. Te li mando corretti e con una simulazione funzionale del tuo codice in ModelSim, attualmente uso questo programma per simulare.

Cattura.PNG
Simulazione
Cattura.PNG (48.64 KiB) Osservato 1843 volte
Allegati
D_ff.zip
Esempio in VHDL di un flip flop di tipo D
(661 Byte) Scaricato 143 volte
rini - \existslectroYou
Avatar utente
Foto Utenterini
1.420 2 5 13
Master EY
Master EY
 
Messaggi: 461
Iscritto il: 17 dic 2007, 1:04
Località: Bologna \ Salento

0
voti

[5] Re: test bench D_ff in VHDL

Messaggioda Foto UtenteRabeluk » 12 lug 2012, 13:25

ok grazie rini... c'è solo un problema nn ho il simulatore in questo momento... diciamo ke lo sto imparando a livello teorico perché all'esame o dobbiamo scrivere il codice allo scritto o in caso lo chiede all'orale
Avatar utente
Foto UtenteRabeluk
116 1 4 9
Sostenitore
Sostenitore
 
Messaggi: 765
Iscritto il: 30 gen 2011, 22:26


Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 134 ospiti