Forum: FPGA, VHDL & Co. Lattice ispLEVER: Unbekannte Meldung des Fitter


von R. R. (supersonic)


Lesenswert?

Hallo werte FPGA-Gemeinde!

Ich habe das "Vergnügen" ein sehr altes Projekt zu überarbeiten. 
Verwendet wird ein Lattice ispMACH4 CPLD (M4A5-192/96) und als 
Entwicklungsumgebung ispLEVER. Ich habe jetzt ein Design, das erstmal 
korrekt zu sein scheint ("Done: completed successfully"). Jedoch bekomme 
ich noch einige Meldungen bei denen ich mir nicht sicher bin, ob sie nur 
rein informativ sind oder ob ich das Design noch anpassen muss?

Ich mache im Sourcecode schon die Zuweisung des I/O-Pins, da die 
Zuordnung durch das Layout der Platine schon vorgegeben ist und ich an 
dieser Stelle einfacher meine Pinzuordnung der Signale dokumentieren 
kann.

Beispiel:
1
attribute LOC of iWRn_pin : signal is "119";

Das Signal ist ein 'Write/Read' Signal, das dem CPLD eben mitteilt, ob 
ein Schreib- oder Lesezugriff erfolgen soll. Die gleiche Meldung erhalte 
ich bei manchen der Adressleitungen, die hier nicht exemplarisch mit 
aufgeführt sind. Jedoch nicht bei allen Adressleitungen.

Als Ausgabe bekomme ich bei der Ausführung von 'Fit Design' in 
'Automake.log' folgende Ausgabe:
1
|--------------------------------------------|
2
|- ispLEVER Fitter Report File              -|
3
|- Version 2.0.00.17.20.15                  -|
4
|- (c)Copyright, Lattice Semiconductor 2002 -|
5
|--------------------------------------------|
6
7
.....
8
9
List of non-global clocks:
10
   iWRn_pin:
11
...... is preplaced on a pin that is not a dedicated clock.

Leider finde ich weder in den Lattice Dokumenten, noch im Netz, Angaben 
dazu was diese Meldung "preplaced on a pin that is not a dedicated 
clock" konkret bedeutet und ob das weiterreichende Auswirkungen hat. 
Auch gibt es keine diesbezüglichen spezielle Foren mehr von Lattice. 
Falls jemand entsprechende Dokumente, Links zu informativen Websites hat 
oder eine direkte Aussage zu der Meldung machen kann, wäre ich sehr 
verbunden.

Grüße
Supersonic

von Vancouver (Gast)


Lesenswert?

Ich kenne mich nicht aus mit Lattice, aber das sieht so aus, als würde 
die Synthese das Signal als clock-Signal auffassen und eine Warnung 
ausgeben, dass Du das Signal auf einen nicht clock-fähigen Pin gelegt 
hast.
Im einfachsten Fall kannst das ignorieren. Die Frage ist nur, ob das 
Signal intern wirklich eine Clock-Funktion hat, bzw. ob das so 
beabsichtigt ist. Könnte ein Hinweis auf einen Implementierungsfehler im 
Design sein.

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


Lesenswert?

R. R. schrieb:
> "preplaced on a pin that is not a dedicated clock"
Du verwendest das Signal iWRn_pin als Takt für Flipflops, hast es aber 
nicht auf einen dedizierten Takteingang gelegt. Dieser "Takt" nimmt 
normale Routingressourcen, du musst also mit höherem Jitter rechnen.

: Bearbeitet durch Moderator
von R. R. (supersonic)


Lesenswert?

Jetzt kam Licht ins Dunkel!

Da der Code aus dem Vorgängerprojekt übernommen wurde und dort seit mehr 
als 15 Jahren ohne Beanstandung funktioniert, gehe ich davon aus, dass 
ich den möglichen Jitter vernachlässigen kann. Die tatsächlichen 
Taktraten sind für heutige Verhältnisse eh "lahm wie eine Schnecke". :-)

Wenn alles soweit portiert wurde, werde ich über eine Verbesserung 
nachdenken (Wenn Cheffe mir dafür dann noch Zeit gibt. ;-) )


Danke sehr für die Hilfe. Schöne Grüße
Supersonic

von Bürovorsteher (Gast)


Lesenswert?

Sei froh, dass es bei Isp-Lever nur eine Warnung gibt.
Diamond winkt in diesem Falle sofort ab und macht bei einer solchen 
Pinzuweisung gar nichts.
Das war mir einmal versehentlich passiert (Leiterplatte wat schon 
fertig). Da half dann nur noch ein nachgezogener Draht auf ein Taktpin.

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.