Hallo,
bei der Synthese meines Prozessors (Diplomarbeit) bekomme ich massiv
viele Warnungen bei der Optimierung meines RAM Moduls, dass irgendetwas
nicht angeschlossen ist. (Die Simulation läuft einwandfrei)
Genau gesagt sind laut Synthesetool alle meine Register des Prozessors
(Datenregister, Befehlsregister, Befehlszähler, etc.) nicht
angeschlossen und werden deswegen wohl wegoptimiert.
Dieser Effekt tritt dann ein, wenn ich diese leere Architektur:
1 | entity memoryinterface is
|
2 | port (
|
3 | clk: in std_logic;
|
4 | address: in std_logic_vector(31 downto 0);
|
5 | access_type: in std_logic_vector(2 downto 0); -- we, oe, cs
|
6 | data_in: in std_logic_vector(31 downto 0);
|
7 | data_out: out std_logic_vector(31 downto 0);
|
8 | -- ...
|
9 | );
|
10 | end memoryinterface;
|
11 |
|
12 | architecture dummy of memoryinterface is
|
13 | begin
|
14 | end;
|
gegen die richtige Implementierung austausche. Selbst wenn ich lediglich
diese Architektur:
1 | entity memoryinterface is
|
2 | architecture loop of memoryinterface is
|
3 | begin
|
4 | data_out <= data_in
|
5 | end;
|
auswähle oder data_out irgendeinen Zufallswert zuweise, wird der
komplette Prozessor wegoptimiert.
Ich bin wirklich am Verzweifeln damit und bin wieder einmal für jede
Hilfe sehr dankbar.
Harald
PS: Ich habe den Synthesebericht angehängt. Im unteren Drittel sind
unübersehbar die ganzen "unconnected" Signale.