Forum: FPGA, VHDL & Co. Fehlermeldung


von Ralph H. (guru)


Lesenswert?

Ich hab hier beim Erzeugen des JED Files für einen CPLD eine Warnmeldung 
wo ich nicht genau weiß was die nun konkret bedeutet. Kann mir das mal 
jemand genau erklären was damit gemeint ist ?

"Unable to map all desired signals into function block, FB5,because too 
many function block product terms are required. Buffering output signal 
RAMADR<10> to allow all signals assigned to this function block to be 
placed."


Vielen Dank !

PS: Bitte schreibt nicht nicht ich solle englisch lernen.. das weiß ich 
selber ;-)

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Babelfish sagt:
1
Nicht imstande, alle gewünschten Signale in Funktionsblock, FB5 abzubilden, 
2
weil zu viele Funktionsblockproduktausdrücke angefordert werden.
Soweit, so klar...  :-)

Und weiter:
1
PufferbetriebsAusgangssignal RAMADR, alle Signale zu erlauben zugewiesen 
2
diesem gesetzt zu werden Funktionsblock.
Naja...  :-/

Da bleiben wir lieber im Englischen und übersetzen händisch:
1
Buffering output signal RAMADR<10> to allow all signals assigned to 
2
this function block to be placed.
Also:
Das Ausgangssignal RAMADR(10) wird gepuffert, damit alle Signale, die 
diesem Funktionsblock zugeordnet sind, platziert werden können.

Eigentlich eine gute Meldung...  ;-)

von Ralph H. (guru)


Lesenswert?

Ja Lothar !! So hab ich das auch verstanden, war mir aber nicht sicher, 
ob das auch gut ist hihi !!

Also stör ich mich dann doch erstmal nicht daran ?? Was sind da die 
Erfahrungen ? Hast Du da welche ?? Die Pufferung von diesem Signal (ein 
RAMAdresspin) ist ja nicht schlimm, hihi eher ganz gut bei mir :-)

Gruß Ralph

von Klaus F. (kfalser)


Lesenswert?

Das hängt mit der Architektur der Functionblocks zusammen. Wenn die 
Gleichungen zu kompliziert werden, dann gehen dem Fitter die Resourcen 
(Product-terms) aus, und er muss die Gleichung in einen anderen 
Functionblock schieben. Um aber trotzdem auf den von Dir gewünschten Pin 
zu kommen, wird das Signal von diesem FB nochmals in den ursprünglichen 
FB zurückgeroutet. Das macht das Signal RAMADR(10) gegenüber den anderen 
um eine Durchlaufzeit langsamer, weil es nochmals über die FastConnect 
Switch Matrix geführt werden muss.

Du solltest :
- Ein Output constraint setzen, damit Du die maximale Verzögerung 
zwischen Takt und den RAMADR Pins kontrollieren kannst.
- Wenn möglich, solltest Du die Plazierung der Pins ändern. Ich verwende 
für komplizierte Signale immer nur jedes 2. Pin des FB, die anderen 
bleiben frei.
- Die Gleichungen für RAMADR vereinfachen, z.B. sind größer oder kleiner 
Vergleiche ungünstig, besser ist auf Gleichheit zu testen.

von Ralph H. (guru)


Lesenswert?

Danke Klaus ! Ich werd mir das mal ansehen was ich noch einfacher 
gestalten kann ! Gruß Ralph

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.