Forum: FPGA, VHDL & Co. Sysnthese macht nicht was ich erwarte :)


von Läubi .. (laeubi) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ich versuche gerade eine Design unit zu schreiben wo man verschiedene 
Addierertypen (Simpel, CarrySelect, CarryLock ahead...) auswählen kann.

Breite soll 32bit sein, ohne overflow erkennung mit Carry in.

Beim Carry Select adder hakt es jezt irgenwie, einmal erzeugt er mir für 
die UnterAddiere immer welche die am Eingang einmal den Operanden und 
einmal konstant 1 haben.

Als nächstes wird kein MUX erzeugt, sondern das Ergebnis wird einfach 
wieder Rückgekoppelt an den nächsten Addierer.

Im Ergebnis macht er also aus meinem CarrySelect Addierer wieder einen 
RippleCarry Addierer.

Hab erst vermutet das ich das Schematic nicht Durchblicke, aber im 
Report erscheit es genauso:
1
Synthesizing Unit <ADDER32bit>.
2
    Related source file is "C:/daten/VHDL/CPUS/IJVM/ADDER32bit.vhd".
3
    Found 9-bit adder for signal <C1>.
4
    Found 9-bit adder for signal <C2>.
5
    Found 8-bit adder for signal <C3>.
6
    Found 9-bit adder carry in for signal <L>.
7
    Found 9-bit adder for signal <N1$add0000> created at line 47.
8
    Found 9-bit adder for signal <N2$add0000> created at line 48.
9
    Found 8-bit adder for signal <N3>.
10
    Summary:
11
  inferred   7 Adder/Subtractor(s).
12
Unit <ADDER32bit> synthesized.
Die erste Stufe erzeugt er korrekt als addierer mit Carry in, bei den 
anderen jedoch wird Cin immer auf 0 gesezt...

Recourcesharing hab ich abgeschaltet in den Synthese Optionen daran 
sollte es also auch nicht liegen :-\

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
Noch kein Account? Hier anmelden.