in meinem Design verwende ich viele FloatingPoint CoreGen Componenten In allen Modulen funktioniert die multiplikation in der Simulation (ModerSim)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 ? siehe Beilage: MulFP_Problem.txt
Ist der Takt angeschlossen? Hat CE den richtigen Pegel? Was gibt denn die Synthese als Warnung aus? Wird das Ergebnis der Multiplikation möglicherweise gar nicht verwendet und daher die Logik wegoptimiert?
Post-Map Simulation auch schon gemacht? Ich glaube mich dunkel zu erinnern, dass es da einige Boecke gab, allerdings war das ca. 2010 und mit einer recht alten Webpack-Version. Der VHDL-Standard wurde dazumal nicht korrekt umgesetzt, aber ich nehme mal an, dass du nicht mit alten Tools arbeiten musst. Du koenntest allerdings mal versuchen, via Verilog-Ausgabe zu synthetiseren. Aus deinem Attachment ist nichts ersichtlich, allerdings sticht die Variable in der Tat ins Auge. Macht's mit dem Debuggen schwieriger..
nein post map simulation habe ich noch nicht gemacht. Ja, das wäre idee. Arbeite jetzt mit ISE14.7 und Modelsim PE. Bisher sind es zwei Processe die in selben modul die mulFP benützen, nun versuche ich alles in ein process hinein zu nehmen, wird einige Takts mehr brauchen(ca.30) aber ist nicht so schlimm. Ich habe angenommen das jeder Process eigene mulFP generiert bei synthese, aber vielleicht stimmt es nicht. Wenn es nicht tut, schaue mit der PostMap.
Da habe ich vielleicht falsch gesagt, ich habe angenommen das jede Implementation obwohl in selben Modul seine eigene cores(z.Bsp mehrere mulFP) generiert. Warum im process 1 die MulFP's laufen aber in Process 2 nicht? Die beide Processe laufen Parallel, benützen aber natürlich verschiedene Signale.Siehe Beilage.
Aus dme Code ist ohne den Rest überhaupt nichts zu entnehmen, außer dem wieder sehr verdächtigen nreset, den ich solchen Modulen gar nicht zuführen würde und schon gar nicht in invertierter Form. So einen Programiermischmasch kann man sich mal ganz gepflegt abgewöhnen, wenn man Code entwickelt, der mal gereviewed werden soll und regulatorischen Anforderungen genügen muss. Ungeachtet dessen vereinfacht sich dann auch die Simulation. Anton K. schrieb: > Arbeite jetzt mit ISE14.7 Für welchen Chip ist das eigentlich?
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.