Hi, ich habe ein kleines Problem mit einem noch kleineren Design. :) Folgender Quellcode beschreibt einen Multiplizierer erstellt mit Xilinx wobei das Ergebnis in ein Register geschrieben wird. Code ##################################### library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; ---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all; entity multi_zerodelay_mod is Port ( clk_24mhz : in STD_LOGIC; mula : in STD_LOGIC_VECTOR (9 downto 0); mulb : in STD_LOGIC_VECTOR (9 downto 0); prod : out STD_LOGIC_VECTOR (9 downto 0)); end multi_zerodelay_mod; architecture Behavioral of multi_zerodelay_mod is ------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG component multip_zerodelay port ( a: IN std_logic_VECTOR(9 downto 0); b: IN std_logic_VECTOR(9 downto 0); p: OUT std_logic_VECTOR(19 downto 0)); end component; -- FPGA Express Black Box declaration attribute fpga_dont_touch: string; attribute fpga_dont_touch of multip_zerodelay: component is "true"; -- Synplicity black box declaration attribute syn_black_box : boolean; attribute syn_black_box of multip_zerodelay: component is true; -- COMP_TAG_END ------ End COMPONENT Declaration ------------ signal prod_out : STD_LOGIC_VECTOR (19 downto 0) := "00000000000000000000"; begin zero : multip_zerodelay port map ( a => mula, b => mulb, p => prod_out); process(clk_24mhz) begin if rising_edge(clk_24mhz) then prod <= prod_out(19 downto 10); end if; end process; end Behavioral; ######################################## Wie Ihr seht ist dies kein großer Entwurf. Die Behavioral Simulation läuft wie erwartet. Jedoch verschiebt sich in der Post-Route Sim das erste Ergebnis einen Takt nach rechts. (siehe Bild) Was nicht gewollt ist. Multiplikator: 0 pipelines Verzögerung bei max.9ns ( Die Ergebnisse kommen auch zur richtigen Zeit) Constraints werden alle eingehalten = met. ISE Version 8.2 Ich wäre dankbar wenn Ihr irgendwelche Ideen habt.
für alle die so ein ähnliches Problem haben, hatten oder haben werden. Das gleiche Design in ISE 9.1 simuliert im Xilinx Simulator Post-Route natürlich zeigt das richtige Ergebnis.
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.