Tristate Ausgänge im CPLD verbinden?

Gast #2033377
Lesenswert?

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.
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #2033406
Lesenswert?

> 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.
Moderator (Firma: Titel) Persönliche Seite #2033437
Lesenswert?

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...
Angehängte Dateien:
Gast #2033546
Lesenswert?

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
---------------------
Angehängte Dateien:
#2033602
Lesenswert?

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.
#2033764
Lesenswert?

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?
Gast #2048234
Lesenswert?

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)??

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren