in meinem Design verwende ich viele FloatingPoint CoreGen Componenten In allen Modulen funktioniert die multiplikation in der Simulation (ModerlSim)problemlos (inp/outp FP singelprec(32 bit), ce ,clk). jedoch nach dem PPGA Programmieren wurde ist der in einem bestimmten Modul der Ausgang der Multiplikators = 0 obwohl an den Beiden Inputs Werte > 0 sind. In derSimulation funktioniert es richtig In einem anderen modul des selben Designs funktionieren die Mul Komponenten auch nach dem Programieren des FPGA Problemlos. Ich habe schon alles mögliche versucht, was könnte die Ursache sein, wo soll ich suchen ? Baustein : Kintex7/325, ISE 14.7, ModelSim PE I use a lot of floating point CoreGen components in my design. In all modules, the multiplication works without any problems in the simulation (ModelSim) (inp/outp FP single prec(32 bit), ce, clk). However, after programming the PPGA, the output of the multiplier in a certain module is 0 even though the values ​​on both inputs are > 0. But at the same place it works correctly in the simulation. In another module of the same design, the mul components work without any problems even after programming the FPGA. I have tried everything possible, what could be the cause, where should I look? Module: Kintex7/325, ISE 14.7, ModelSim PE WARNING:Xst:387 - The KEEP property attached to the net may hinder timing optimization. You may achieve better results by removing this propert ---Deklaration des Component ---------------------------------------------------------------- -----Floating Point Multiplikation,singel Precision 32 bi, COREGEN-------latency = 1---------- COMPONENT mulFP IS port ( a: IN std_logic_VECTOR(31 downto 0); b: IN std_logic_VECTOR(31 downto 0); clk: IN std_logic; ce: IN std_logic; result: OUT std_logic_VECTOR(31 downto 0) ); END COMPONENT; --------------------------------------------- -- Implementation cmul12: mulFP port map(a=>FL1,b=>FL12,clk=>clk,ce=>ceadd1,result=>mul12);-- FL1 * FL12 => mul12 -- relevante teil vom process wo es gestartet wurde --...... WHEN 2 => -- sqL1,12,2,mulL12 Berechnung IF ctrclk > 0 THEN ctrclk := ctrclk - 1; cesqL <= '0';--cesqL reset stateP1 <= 2; ELSE ctrclk := clkToadd; ceadd1 <= '1';-- start add1 stateP1 <= 3;--Berechnung sqL1,12,2fertig END IF; WHEN 3 => --sqadd1 := sqL1 + sgL12 und Start mul12 IF ctrclk > 0 THEN ctrclk := ctrclk - 1; ceadd1 <= '0';-- reset ce add1 stateP1 <= 3; ELSE ctrclk := clkTosub; cesub1 <= '1';-- start sub1 & mul stateP1 <= 4;-- END IF; WHEN 4 => -- sqsub1:=sqadd1-sqL2,mul12*2 --..... ------------------------------------------------------ In der Simulation (modelSim) läuft es richtig, dagegen in der FPGA (nach der Programmierung) ist der Output :mul12 immer 0 obwohl beide Eingänge > 0 sind