cosa di sbagliato in questo codice VHDL plz help me

G

grittinjames

Guest
Hai amici
Ricevo un errore come questo

WT è il problema esattamente in questo, come posso risolvere questoERRORE: xst: 827 - D: / VHDL / myfreq / line count.vhd 27: aa segnale non può essere sintetizzato, cattiva descrizione sincrono.
ERRORE: XST fallitolibrary IEEE;
uso IEEE.std_logic_1164.ali;
uso IEEE.STD_LOGIC_ARITH.ALL;
uso IEEE.STD_LOGIC_UNSIGNED.ALL;

- Rimuovere le seguenti linee di utilizzare le dichiarazioni che sono
- Previsto per istanziare i componenti Xilinx primitive.
- Biblioteca UNISIM;
- l'uso UNISIM.VComponents.all;

count entità è
Port (HRZ: in std_logic;
MSR: in std_logic;
disp: out std_logic_vector (6 downto 0);
SEL: out std_logic_vector (2 downto 0);
muxfreq: in std_logic;
oflo: out std_logic);
fine conteggio;

architettura comportamentale di conteggio è

dsp segnale: std_logic_vector (6 downto 0);
segnale a, aa, b, bb, c, cc: std_logic_vector (3 downto 0);

iniziare

HRZ (processo, MSR)

variabile i: integer: = 0;

iniziare

if (rising_edge (HRZ)) then
a <= aa;
b <= bb;
c <= cc;
AA <= "0000";
bb <= "0000";
cc <= "0000";
oflo <= '0 ';
elsif (rising_edge (MSR)) then
AA <= AA "0001";
if (aa = "1001"), poi
bb <= BB "0001";
if (bb = "1001"), poi
cc <= cc "0001";
altro
oflo <= '1 ';
end if;
end if;
end if;
end process;
end Behavioral;
 
Ecco il codice corretto!
Il problema era che cant get Flipflop con due orologi!
VHDL è HDL significa linguaggio di descrizione hardware significa in primo luogo
credo quindi utilizzare hardware VHDL solo per desribe it!
Codice:

library IEEE;

uso IEEE.std_logic_1164.ali;

uso IEEE.STD_LOGIC_ARITH.ALL;

uso IEEE.STD_LOGIC_UNSIGNED.ALL;- Rimuovere le seguenti linee di utilizzare le dichiarazioni che sono

- Previsto per istanziare i componenti Xilinx primitive.

- Biblioteca UNISIM;

- l'uso UNISIM.VComponents.all;count entità è

porto (HRZ: in std_logic;

MSR: in std_logic;

disp: out std_logic_vector (6 downto 0);

SEL: out std_logic_vector (2 downto 0);

muxfreq: in std_logic;

oflo: out std_logic);

fine conteggio;architettura comportamentale di conteggio èdsp segnale: std_logic_vector (6 downto 0);

segnale a, aa, b, bb, c, cc: std_logic_vector (3 downto 0);iniziareHRZ (processo, MSR)variabile i: integer: = 0;iniziareif (HRZ) allora

a <= "0000";

b <= "0000";

c <= "0000";

AA <= "0000";

bb <= "0000";

cc <= "0000";

oflo <= '0 ';

elsif (rising_edge (MSR)) then

AA <= AA "0001";

if (aa = "1001"), poi

bb <= BB "0001";

if (bb = "1001"), poi

cc <= cc "0001";

altro

oflo <= '1 ';

end if;

end if;

end if;

end process;

end Behavioral;
 
Non sembra essere qualcosa di sbagliato con il vostro codice.Il problema può essere XST.

Ho incontrato instaces dove ho dovuto specificare un valore interno segnali prima del processo.Dare che una prova e vedere.

Basta ricordare che in quanto a questi strumenti gratuiti a volte si ottiene ciò che si paga.XST è un ottimo strumento, ma ha i suoi momenti in cui si dimostra che non è nella stessa lega, come dire Symplify.

E

 
solo modello partical può essere sintetizzato con la logica ...Si prega di fare riferimento al manuale della vostra strumenti di sintesi ...
Come la

 

Welcome to EDABoard.com

Sponsor

Back
Top