Sysnthese macht nicht was ich erwarte :)

Persönliche Seite #1228062
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 :-\
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren