Forum: FPGA, VHDL & Co. CPLD Ressourcen


von Andreas Kratzsch (Gast)


Lesenswert?

Hallo,

wie kann ich feststellen welcher Teil der Logik
wie viele Ressourcen (macrocells) benötigt ?
Und wie kann man das etwas optimieren ?

Im Moment habe ich 4 8bit Multiplexer aus 8 bit
Tristate Buffer gebaut, die verbrauchen scheinbar gleich
alle Ressourcen vom XC9536.

 Cpld:837 - Insufficient number of macrocells.
 The design needs at least 58 but only 36 left after
 allocating other resources.

Aber auch meine VHDL Version benötigt jede Menge macrocells.

Ist das normal oder mache ich da etwas falsch ?

Das ist z.Bsp. meine VHDL Version:

entity mux_8bit is
    Port ( in1 : in std_logic_vector(7 downto 0);
           in2 : in std_logic_vector(7 downto 0);
           outp : out std_logic_vector(7 downto 0);
           sel : in std_logic);
end mux_8bit;

architecture Behavioral of mux_8bit is
begin
  outp <= in1 WHEN sel = '1' ELSE in2;
end Behavioral;

Danke für alle Hinweise !

Andreas

von Tobias O. (Gast)


Lesenswert?

Hab deinen Code mal durchgejagt, der verbraucht allen anschein nach
sehr wenig ressourcen, vielleicht liegt es an deiner Webpack Version,
ich benutze die 6.3 er und alles sieht in Ordnung aus.

Final Results
RTL Top Level Output File Name     : mux_8bit.ngr
Top Level Output File Name         : mux_8bit
Output Format                      : NGC
Optimization Goal                  : Speed
Keep Hierarchy                     : YES
Target Technology                  : xc9500
Macro Preserve                     : YES
XOR Preserve                       : YES
wysiwyg                            : NO

Design Statistics
# IOs                              : 25

Cell Usage :
# BELS                             : 32
#      AND2                        : 16
#      INV                         : 8
#      OR2                         : 8
# IO Buffers                       : 25
#      IBUF                        : 17
#      OBUF                        : 8

von Andreas Kratzsch (Gast)


Lesenswert?

Hallo,

ich benutze Webpack 7.1i.
Was heißt "durchgejagd" ?
Wie kann ich das selbst testen ?

Andreas

von Tobias O. (Gast)


Lesenswert?

>Was heißt "durchgejagd" ?
Durchgejagt ist umgangssprachlich und bedeutet, deinen VHDL Code den du
veröffentlicht hast in eine vhd Datei packen, ise starten, projekt
erstellen, synthetisieren , Ergebniss auswerten.
>Wie kann ich das selbst testen ?
ich denke du hast sowas schon gemacht, in deinem ersten posting
schreibst du etwas davon das dein design zuviele makrozellen
verbraucht, also musst du doch das schon getestet haben.

Es ist mir nicht ganz klar wo dein Problem liegt. Um herrauszufinden
wieviele Makrozellen dein Projekt braucht, brauchst du doch nur ein
Projekt in der ISE erstellen mit deinem VHDL Code und die ISE
"anwerfen".

"anwerfen" = Bitfile erstellen lassen.

von Andreas Kratzsch (Gast)


Lesenswert?

Hallo,

ich habe bisher nur die Zusammenfassung vom Fitter bekommen.
D.h. ich kann die einzelnen Teile in einen Testprojekt jeweils
einzeln testen und sehe dann den Ressourcen Verbrauch.
Das hilft mir weiter.

Danke !

Ich habe jetzt mal meine 8bit Multiplexer
in 4bit Multiplexer zerlegt, jetzt verbrauchen diese
plötzlich keine macrocells mehr obwohl ich insgesamt dann
doppelt so viele benutze.

Andreas

von Xenu (Gast)


Lesenswert?

>Ich habe jetzt mal meine 8bit Multiplexer
>in 4bit Multiplexer zerlegt, jetzt verbrauchen diese
>plötzlich keine macrocells mehr obwohl ich insgesamt dann
>doppelt so viele benutze.

Dann wurden sie wegoptimiert.

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.