Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Divisore di frequenza VHDL

Strumenti informatici per la matematica applicata, le simulazioni, il disegno: Mathcad, Matlab, Scilab, Microcap, PSpice, AutoCad ...

Moderatori: Foto Utenteg.schgor, Foto Utentedimaios

-1
voti

[1] Divisore di frequenza VHDL

Messaggioda Foto UtenteCastello » 21 mag 2014, 15:59

Immagine.png
testo.
Sono alle prese con il seguente esercizio e sono arrivato ad impostare questo codice che però mi da degli errori in fase di visualizzazione con MODELSIM :



Codice: Seleziona tutto
entity freq_variabile is
port(clk, reset, enable : in std_logic;
   out_vf : out std_logic);
end freq_variabile;

architecture Behavioral of freq_variabile is
signal counter : integer:=0;
signal out_vf2 : std_logic;

begin
process(clk,reset,enable)
begin
if reset='1' then
out_vf2<='0';
counter <= 0;
elsif rising_edge(clk) then
if enable='1' then
if counter=0 then
out_vf2 <= clk;
counter<=counter+1;
end if;
if counter=1 then
out_vf2<='1';
counter<=counter+1;
end if;
if counter=2 then
out_vf2<='0';
counter<=counter+1;
end if;
if counter=3 then
out_vf2<= '1';
counter<=counter+1;
end if;
if counter=4 then
out_vf2<= '1';
counter<=counter+1;
end if;
if counter=5 then
out_vf2<= '0';
counter<=counter+1;
end if;
if counter=6 then
out_vf2<='0';
counter<=counter+1;
if counter=7 then
out_vf2<= '1';
counter<=counter+1;
end if;
if counter=8 then
out_vf2<= '0';
counter<=0;
end if;
elsif enable='0' then --enable disattivo
out_vf2<='X';
counter<=0;
end if;
end if;
end if;
end process;
out_vf<=out_vf2;
end Behavioral;



testbench relativo:
Avatar utente
Foto UtenteCastello
6 2
New entry
New entry
 
Messaggi: 60
Iscritto il: 3 apr 2014, 11:21

0
voti

[2] Re: divisore di frequenza VHDL

Messaggioda Foto Utentemarco438 » 21 mag 2014, 17:01

Riguarda l'immagine che hai postato e domandati se chi vuole aiutarti e' in grado di leggerla senza perderci la vista.
Era cosi' difficile riportare il testo in chiaro e disegnare due grafici?
marco
Avatar utente
Foto Utentemarco438
37,1k 7 11 13
-EY Legend-
-EY Legend-
 
Messaggi: 16323
Iscritto il: 24 mar 2010, 15:09
Località: Versilia

0
voti

[3] Re: divisore di frequenza VHDL

Messaggioda Foto UtenteCastello » 21 mag 2014, 17:48

scusa marco,ma ho cercato di nettere la migliore immagine possibile.se becessario scrivo il testo .
Avatar utente
Foto UtenteCastello
6 2
New entry
New entry
 
Messaggi: 60
Iscritto il: 3 apr 2014, 11:21

0
voti

[4] Re: divisore di frequenza VHDL

Messaggioda Foto Utentemarco438 » 21 mag 2014, 17:50

Sarebbe opportuno e, gia' che ci sei disegna in FidoCadJ anche il resto.
marco
Avatar utente
Foto Utentemarco438
37,1k 7 11 13
-EY Legend-
-EY Legend-
 
Messaggi: 16323
Iscritto il: 24 mar 2010, 15:09
Località: Versilia

-1
voti

[5] Re: divisore di frequenza VHDL

Messaggioda Foto UtenteCastello » 21 mag 2014, 18:01

A.png
realizzare un entità vhdl,sincrona ad un segnale di clock(clk), capace di generare in uscita un segnale a duty cycle costante(pari al 50%) ed a frequenza variabile(out_vf) come da figura.
Tale uscita deve permanere indefinitamente a partire da un segnale di RESET in ingresso.
infine il segnale di ENABLE disabilita l'uscita portandola ad alta impedenza,mentre l'entità continua il suo regolare funzionamento interno.
Avatar utente
Foto UtenteCastello
6 2
New entry
New entry
 
Messaggi: 60
Iscritto il: 3 apr 2014, 11:21

0
voti

[6] Re: divisore di frequenza VHDL

Messaggioda Foto Utentemarco438 » 21 mag 2014, 18:02

Disegnarlo proprio no e'?
marco
Avatar utente
Foto Utentemarco438
37,1k 7 11 13
-EY Legend-
-EY Legend-
 
Messaggi: 16323
Iscritto il: 24 mar 2010, 15:09
Località: Versilia

0
voti

[7] Re: divisore di frequenza VHDL

Messaggioda Foto Utentegill90 » 21 mag 2014, 18:18

Che errori ti dà in particolare?
Avatar utente
Foto Utentegill90
4.146 3 7 12
G.Master EY
G.Master EY
 
Messaggi: 1134
Iscritto il: 1 set 2011, 16:18

0
voti

[8] Re: divisore di frequenza VHDL

Messaggioda Foto UtenteCastello » 21 mag 2014, 18:27

TEST.png
nessuno sintatticamente, mentre facendo il testbench(MODELSIM) ecco cosa ottengo:
Avatar utente
Foto UtenteCastello
6 2
New entry
New entry
 
Messaggi: 60
Iscritto il: 3 apr 2014, 11:21

0
voti

[9] Re: divisore di frequenza VHDL

Messaggioda Foto Utentegill90 » 21 mag 2014, 19:02

Allora, prima di tutto ti consiglio di usare lo statement case al posto di tutti quegli if, rende il codice molto più fluido e ti evita molti problemi. Secondo, sarebbe meglio indentare almeno un po' il codice così da permettere una migliore comprensione. Puoi postare anche il testbench?
Avatar utente
Foto Utentegill90
4.146 3 7 12
G.Master EY
G.Master EY
 
Messaggi: 1134
Iscritto il: 1 set 2011, 16:18

0
voti

[10] Re: Divisore di frequenza VHDL

Messaggioda Foto UtenteCastello » 22 mag 2014, 9:11

fovrebbe essere visibile...
Avatar utente
Foto UtenteCastello
6 2
New entry
New entry
 
Messaggi: 60
Iscritto il: 3 apr 2014, 11:21

Prossimo

Torna a Programmi applicativi: simulatori, CAD ed altro

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti