Hallo, wer kann mir bei meinem Anfängerfehler helfen ? Ich möchte bei auftreten eines Signals "ale" eine Adresse aus einem "inout"-Vector und einem "in"-Vector zusammensetzen, speichern und an einem Ausgang zur Verfügung stellen. Synthese klappt leider nicht: Xst:1710 - FF/Latch <addr_19> (without init value) has a constant value of 0 in block <bus_couple>. This FF/Latch will be trimmed during the optimization process. Xst:1895 - Due to other FF/Latch trimming, FF/Latch <addr_18> (without init value) has a constant value of 0 in block <bus_couple>. This FF/Latch will be trimmed during the optimization process. . . . für den gesamten Vector... entity bus_couple is port ( din : out std_logic_vector (15 downto 0); clk : in std_logic; cpu_rd_n : in std_logic; cpu_wd_n : in std_logic; ale : in std_logic; dout : in std_logic_vector (15 downto 0); addr : buffer std_logic_vector (19 downto 0); addr_a : in std_logic_vector (3 downto 0); bus_out : inout std_logic_vector (15 downto 0)); end bus_couple; architecture BEHAVIORAL of bus_couple is signal shiftAle : std_logic_vector (2 downto 0); signal setAddr : std_logic; begin process (clk) begin if (rising_edge(clk)) then if (shiftAle = "011") then -- Positive Flanke von ale erfassen addr <= addr_a & bus_out; -- nach 2 Zyklen Adresse von Bus und Adressleitungen zusammensetzen else addr(19 downto 0) <= addr(19 downto 0); end if; end if; end process; shiftAle <= shiftAle(1 downto 0) & ale; -- ale Signal shiften und auf shiftAle abbilden bus_out <= dout when (cpu_rd_n='0') else -- cpu_rd_n legt dout auf Bus (others => 'Z'); din <= bus_out when (cpu_wd_n='0') else -- cpu_wd_n legt Bus auf din (others => 'Z'); end BEHAVIORAL; Vielen Dank !
Hallo, habe das Problem selbst gefunden. Lag am shiften (shiftAle) ausserhalb von process. Grüße
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.