Codice VHDL
Ho il seguente codice :
Ora, per quanto riguarda la sintassi (cilinx ) non mi da nessun problema.. mentre quando provo a simulare (modelsim) mi da invece dei problemi , sapreste aiutarmi?! Grazie mille!!
P.S Vi segnalo i miei problemi in fase di simulazione:
-Se reset='0' , qualunque sia il valore di SEl(o 0 o 1) la Dout mi ''esce'' tutta rossa e con una grande U;
-Se reset='1', qualunque sia sel la Dout mi esce sempre a 0.
- Codice: Seleziona tutto
entity ese_4 is
Port (SEL : in std_logic; -- Ingresso di selezione
DOUT : out std_logic; -- Uscita dato seriale
CLK : in std_logic; -- Clock
RESET : in std_logic); -- Reset
end ese_4;
architecture Behavioral of ese_4 is
signal SEGN : std_logic_vector(6 downto 0); -- Registro per pattern
signal SELC : std_logic; -- Registro selezione pattern
signal CNT : integer; -- Contatore bit uscita
begin
process(CLK, RESET, SEL)
begin
if RESET='1' then
SEGN <= "0100111"; -- Pattern d'uscita
SELC <= '0'; -- Selezione di default
CNT <= 0; -- Contatore
elsif CLK'event and CLK='1' then
-- Rotazione registro pattern
SEGN <= SEGN(5 downto 0)&SEGN(6);
-- Contatore
if CNT = 6 then
CNT <= 0;
SELC <= SEL; -- Lettura e memorizzazione valore di SEL
else
CNT <= CNT + 1; -- Incremento contatore
end if;
end if;
end process;
-- Assegnazione uscita e negazione
DOUT <= SEGN(6) xor SELC;
end Behavioral;
Ora, per quanto riguarda la sintassi (cilinx ) non mi da nessun problema.. mentre quando provo a simulare (modelsim) mi da invece dei problemi , sapreste aiutarmi?! Grazie mille!!
P.S Vi segnalo i miei problemi in fase di simulazione:
-Se reset='0' , qualunque sia il valore di SEl(o 0 o 1) la Dout mi ''esce'' tutta rossa e con una grande U;
-Se reset='1', qualunque sia sel la Dout mi esce sempre a 0.