Ich habe einen Addierblock und ich muss den Ausgang (std_logic_vector
) zurück zu einem der Addierer-Eingangsports mit einer anderen Nummer hinzugefügt werden (Dies ist in einem anderen getan werden Entität, in der der Addierer verwendet wird.). Ich habe versucht, das durch process
mit sensitivity list
zu tun, aber es hat nicht funktioniert. Gibt es einen Weg dazu? Hinweis: Es werden keine Uhren verwendet.vhdl Rückmeldung der Ausgang eines Blocks zu seinem Eingang
Hier ist mein Code:
library IEEE;
use IEEE.std_logic_1164.all;
entity example is
port (
X: IN std_logic_vector(15 downto 0);
Y: IN std_logic_vector(15 downto 0);
Z: OUT std_logic_vector(15 downto 0)
);
end example;
architecture arch_example of example is
component adder is
port(a: in std_logic_vector(15 downto 0);
b: in std_logic_vector(15 downto 0);
cin: in std_logic;
s: out std_logic_vector(15 downto 0);
overflow: out std_logic);
end component;
signal s, ain, bin: std_logic_vector(15 downto 0);
signal cin, overflow, useless: std_logic;
begin
process(x, y) is
begin
ain <= x;
bin <= y;
cin <= '0';
end process;
process(s, overflow) is
begin
ain <= s;
bin <= "1111111110000001";
cin <= overflow;
end process;
U1: adder port map (ain, bin, cin, s, overflow);
z <= s;
end arch_example;
Sie müssen uns geben einen Code oder ein Diagramm zu erklären, was Sie versuchen zu erreichen, . Aber es ist ein wenig besorgniserregend zu sagen, dass "keine Uhren verwendet werden" - die "kombina- tionale Rückmeldung" ist kein "synchrones Design" und sollte daher nicht gemacht werden. –
Der obige Code erklärt, was ich machen möchte, irgendwelche Vorschläge? @MatthewTaylor – kamal