Hallo, Kann man Tristate Ausgänge schon im CPLD verbinden? Konkret geht es um diesen Fall: Die Datei "real" zeigt die funkt. Schaltung mit den rot umkreisten 74HC4094. Diese möchte ich in ein CPLD schieben, siehe Datei "cpld". Wobei ich auch gleich die Ausgänge der beiden 74HC4094 im CPLD so verdrahten will wie in der "realen" Schaltung. Die Syntese und das Fitting läuft durch, nur bringt er eine Warnung,siehe unten. Kann man das ignorieren? Würde das trotzdem funktionieren? Oder wie müsste ich die Schaltung im CPLD umändern? Gruss Andi **************************** Errors and Warnings ************************* WARNING:Cpld:179 - The signal(s) 'PinSignal_U3_Q0' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U3_Q1' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U3_Q2' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U3_Q3' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U3_Q4' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U3_Q5' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U3_Q6' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U3_Q7' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U6_Q0' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U6_Q1' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U6_Q2' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U6_Q3' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U6_Q4' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U6_Q5' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U6_Q6' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U6_Q7' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry.
> Kann man Tristate Ausgänge schon im CPLD verbinden? Welches CPLD? > Kann man Tristate Ausgänge schon im CPLD verbinden? Innerhalb eines üblichen CPLDs gibt es keine Tristate-Buffer. Deshalb wird die Logik dafür in einen Multiplexer umgesetzt (werden müssen). Und anhand der Warnungen scheint es damit Probleme zu geben, denn in dieser Schaltung ist erst mal keine offensichtliche Kombinatorische Schleife drin. Da muss offenbar irgendwer in der Toolchain irgendwas falsch umbiegen... BTW: was sollte denn das CPLD machen, wenn beide oe (1+2) gleichzeitig aktiv werden? > Oder wie müsste ich die Schaltung im CPLD umändern? Schalte hinter die beiden Latches den erwähnten Multiplexer und triff eine Entscheidung zur Priorität der oe1 und oe2 Signale.
1.es ist ein XC9572 2.ein CPLD hat keine Tristate Buffer ? Muss ich dann extra extern einen Tristate Buffer anbringen?
nachtrag: beide OE1,OE2 sind nie gleichzeitig High, dafür ist der 74Hc238 da.
Doch er hat tristate buffer. Aber die liegen direkt an den Pins und können intern nicht verbunden werden.
Andi schrieb: > 2.ein CPLD hat keine Tristate Buffer ? Nochmal langsam lesen: Lothar Miller schrieb: > Innerhalb eines üblichen CPLDs gibt es keine Tristate-Buffer. An den IO-Pins (wie gesagt) schon, aber eben nicht als Funktion im CPLD. Andi schrieb: > OE1,OE2 sind nie gleichzeitig High, dafür ist der 74Hc238 da. Davon weiß aber das CPLD nichts. Das mußt du ihm extra sagen. Und das tust du über eine Priorisierung im Multiplexer. Sieh dir mal das Bild an...
ahhhh, jetzt kapier ich. Wenn ich jetzt auch noch den 74Hc165 "einbauen" will, da kann ich aber seine Eingänge mit den Ausgängen des Tristate verbinden, oder muss ich das auch anders machen?
Andi schrieb: > kann ich aber seine Eingänge mit den Ausgängen des Tristate verbinden Ja. Das geht...
Hab jetzt mal neu gemacht, stimmt das jetzt so? wobei CPLDFIT bringt jetzt diese Warnungen??? Running CpldFit... Parameters: -p XC95288XL-6-TQ144 -inputs 54 -pterms 25 -terminate float -unused float fpga_project1.ngd Release 6.3i - CPLD Optimizer/Partitioner G.35 Copyright (c) 1995-2004 Xilinx, Inc. All rights reserved. WARNING:Cpld:179 - The signal(s) 'PinSignal_U2_Q0' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U7_Q0' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U2_Q1' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U7_Q1' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U2_Q2' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U7_Q2' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U2_Q3' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U7_Q3' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U2_Q6' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U7_Q4' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U2_Q5' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U7_Q5' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U2_Q4' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U7_Q6' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U2_Q7' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. WARNING:Cpld:179 - The signal(s) 'PinSignal_U7_Q7' are in combinational feedback loops. These signals may cause hazards/glitches. Logic should include hazard reduction circuitry to avoid hazards/glitches. Apply the NOREDUCE parameter to the hazard reduction circuitry. Considering device XC95288XL-6-TQ144. Flattening design.. Multi-level logic optimization... Timing optimization Timing driven global resource optimization General global resource optimization........ Re-checking device resources ... Mapping a total of 40 equations into 16 function blocks................................................. java.lang.ClassCastException: org.apache.xalan.res.XSLTErrorResources_de at org.apache.xalan.xslt.Process.main(Unknown Source) Exception in thread "main" Design fpga_project1 has been optimized and fit into device XC95288XL-6-TQ144. CpldFit - Completed Successfully ---------------------
Dann würde ich den Rest (HC373 und das 3-8 Decoder links oben) auch noch hineinpacken ...
Andi schrieb: > Hab jetzt mal neu gemacht, stimmt das jetzt so? Nein, solche Meldungen sollten nicht auftreten
Müssen U7 und U2 unbedingt Latches sein? Diese dienen ja wahrscheinlich nur dazu, dass sich der Ausgang beim Lesezugriff nicht ändert. Besser wären Register, man kann das Einfrieren ja mit der steigenden oder fallenden Flanke von P13 machen. Andi schrieb: > Was ist daran noch falsch? > oder ist ISE 6.3 buggi? Solche Meldungen habe ich noch nie gesehen, selbst wenn ich Latches verwendet habe. Es schaut so aus, als ob die Latches in Logik mit Rückkopplung realisiert wurden. Wie gesagt, normalerweise werden die Set- und Resets der Makrozellen verwendet.
Andi schrieb: > oder ist ISE 6.3 buggi? Hm, alle ISE Versionen sind buggy. Aber wieso nimmst du nicht eine aktuelle? Die CPLDs werden ja noch unterstützt. Ich denke mal, das ist eine sehr komische Umschreibung für das Latch...denk mal drüber nach ob eventuell ein 8-Bit-Register besser wäre.
also ich denke ich brauche schon ein Latch, wenn ich mir ein 74HC4094 anschaue sind da auch welche drin. Und ich will die "reale" Schaltung nur so umändern das ich die 2 74HC4094 "raus" baue und das CPLD einsetze.
Andi schrieb: > also ich denke ich brauche schon ein Latch, wenn ich mir ein 74HC4094 > anschaue sind da auch welche drin. > Und ich will die "reale" Schaltung nur so umändern das ich die 2 > 74HC4094 "raus" baue und das CPLD einsetze. Schlechter Ansatz. Wenn man etwas ändert, dann sollte man wissen was man tut, wie etwas funktioniert und welche Auswirkungen die Änderung hat -> einen Schritt zurück und überlegen, ob es mit einem FF anstelle eines Latches auch funktioniert. Kleine Zusatzaufgabe : was passiert wenn an Shiftregister eine Schiebeimpuls kommt und der Microprozessor liest gerade?
aber ich probiers mal so aus. Mehr wie kaputt gehen kanns ja nicht ;-)
Andi schrieb: > aber ich probiers mal so aus. Ganz pragmatisch. Würde ich auch machen... > Mehr wie kaputt gehen kanns ja nicht ;-) Mehr als... ;-)
juhu, es lebt ..... obwohl die NOREDUCE Meldungen kommen. Ich hab nur noch ein Buffer und ein Inverter an den Eingang des LD8 Pin G machen müssen. Keine ahnung warum noch ein INV aber ohne geht es nicht. Was macht einentlich so ein Buffer (BUF)??
Andi schrieb: > Was macht einentlich so ein Buffer (BUF)?? Nichts, außer dass du im Schematic für ein uns das selbe Signal 2 verschiedene Namen verwenden kannst.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.