fout in de VHDL-code, please check it?

A

abhineet22

Guest
na het uitvoeren van deze code de fout is slecht synchrone beschrijving ..........
kan iemand mij helpen ....

library IEEE;
gebruik IEEE.std_logic_1164.all;
gebruik IEEE.std_logic_arith.all;
gebruik IEEE.std_logic_unsigned.all;

entiteit accu wordt
port (data: InOut std_logic_vector (7 Downto 0);
rd_wr: in std_logic; - 0 = lezen, 1 = write
klok: in std_logic;
reset: in std_logic
)
einde accu;

RTL architectuur van de accu wordt
signaal temp_data_in: std_logic_vector (7 Downto 0);
signaal temp_data_out: std_logic_vector (7 Downto 0);

component byte_register is
port (
Reset: in std_logic;
Inschakelen: in std_logic;
Klok: in std_logic;
Datain: in std_logic_vector (7 Downto 0);
Dataout: out std_logic_vector (7 Downto 0));
end component;
beginnen
ACC: byte_register poort kaart (reset, rd_wr, klok, temp_data_in, temp_data_out);
proces (klok, reset)
beginnen
indien clock'event en klok = '1 'en reset = '0' dan
indien rd_wr = '0 'dan
gegevens <= temp_data_out;
anders
temp_data_in <= data;
end if;
anders
gegevens <= temp_data_out;
end if;
einde proces
end RTL;library IEEE;
gebruik iEEE.std_logic_1164.all;

entiteit byte_register is
port (
Reset: in std_logic;
Inschakelen: in std_logic;
Klok: in std_logic;
Datain: in std_logic_vector (7 Downto 0);
Dataout: out std_logic_vector (7 Downto 0));
einde byte_register;

architectuur van Behav byte_register is

beginnen
proces (Klok, Reset, Datain)
beginnen
if (Reset = '1 ') then
Dataout <= "00000000";
elsif (Reset = '0 'en Enable = '1' en klok = '1 'en clock'event) dan
Dataout <= Datain;
end if;
einde proces
einde Behav;

 
abhineet22 wrote:proces (klok, reset)

beginnen

indien clock'event en klok = '1 'en reset = '0' dan

indien rd_wr = '0 'dan

gegevens <= temp_data_out;

anders

temp_data_in <= data;

end if;

anders

gegevens <= temp_data_out;

end if;

einde proces

end RTL;
 
"Als clock'event en klok = '1 'en reset = '0' dan"

wat is dit?wat voor soort circuit verwacht je dat het zal worden gesynthetiseerd?

 
Hi abhineet,
De fout is omdat u de structurele gedrags-code en de code hebben doodgeknuppeld in dezelfde architectuur.Probeer de gedrags-code nemen en hetzelfde schrijven als een andere module (eenheid).
Vervolgens sluit u de byte_register module en de module met behulp van structurele model dat zal werken .....

 
Misschien kan dit een mogelijke oplossingread_write:
proces (klok, reset)
beginnen
indien reset = '1 'dan
temp_data_out <= (others => '0 ');
elsif rising_edge (clk) then
indien rd_wr = '0 'dan
gegevens <= temp_data_out;
anders
temp_data_in <= data;
end if;
end if;
einde proces read_write;

 

Welcome to EDABoard.com

Sponsor

Back
Top