• .
  • Willkommen im Forum!
  • Alles beim Alten...
  • Du hast kaum etwas verpasst ;-)
  • Jetzt noch sicherer mit HTTPS
Hallo, Gast! Anmelden Registrieren


Logic-IC Modelle
#1

Falls von Interesse ... - ein dicker Packen Modelle:
http://www.standardics.philips.com/products/hc/
http://www.standardics.philips.com/support/spice/
(der Weg zum funktionierenden Modell erscheint etwas kompliziert ...)
 
#2
http://homepages.which.net/~paul.hills/C...dex.html#c
Die wohl am umfangreichste Adresse im Netz, Typen alphabetisch geordnet,
klicken auf die Klammern verweist auf die Hersteller am Ende der Liste

http://www.standardics.philips.com/products/hc/all/
Auflistung und download von Philips-Logik-Modellen
 
#3
Ok. Und was soll ich nun tun?

Fehlen Schaltsymbole?
 
#4
Ist eigentlich geklärt, ob dieser "Mixed-Mode" von Analogem und Digitalem überhaupt funktioniert?

Im einfachsten Fall stelle ich mir ein HC/T-Baustein vor, der ganz normal in den Schaltplan eingefügt wird:
+5V-Betriebsspannung angelegen, der Eingang/die Eingänge wird/werden mit einer Spannung von 0...5V aus einem analogen Schaltungsteil beaufschlagt, am Ausgang reagiert die Schaltung ihrem internen, analogen Schaltungsaufbau/Verknüpfung entsprechend mit 0V (L) oder knapp 5V (H).
Im Grund genommen denke/hoffe ich auf eine analoge Simulation mit analogen Mosfetmodellen, die sich in den Logikbausteinen befinden (soviel ich gesehen habe, befindet sich am Anfang der Modellpalette sowohl ein p-Kanal- als auch ein n-Kanal-"Highspeed"-Mos-Transistor, und wenn ich nicht irre, sollte sich in den einzelnen Logik-Modellen eine Art Verknüpfungsanweisung für diese Transistoren befinden).

Von Interesse wären: alle Arten von Flip-Flops, invertierende/nichtinvertierende Einzelgatter bzw. mit zwei Eingängen als (Exclusiv-)Und/Oder-Verknüpfung, mit und ohne Schmitt-Trigger-Eigenschaften, im Download mit der jeweiligen Modell- bzw. asy-Datei.
 
#5
Ok. Jetzt hab ichs verstanden!

Zuerst mal werde ich "gutachterlich" tätig. Wie die ihre Modelle gestrickt haben. Damit wir beurteilen können, ob die für uns taugen.

Und wenn die was taugen, dann sollen wir hier darauf basierende komplett Downloads beistellen.

Ok...

(ich hab zwar keine wirkliche Lust dazu... Ihr wißt ja was meine Lieblingsbeschäftigung neben Porno rumguckern ist: "Eingangsbereich überwachen".. aber ich machs... Rolleyes Wink )
 
#6
Ok... verstanden. Es ist folgermaßen.. "ähem"... (<-- gutachterliches Räuspern)

Philips bietet ein PSDEMO.EXE, eine Spice-Demoversion. In diesem Programm sind allerlei idealisierte Gatterbausteine fest eingebaut. Ganz ähnlich wie bei LTSpice.

Konstrukte wie "XHCU04 2 3 1 0 INV0" ordnen einen "74HC(T)04" einem internen Gatterbaustein "INV0" zu. "INV0" verfügt offensichtlich über vier Terminals von denen einer Masse ist. Genauso verwendet auch LTSpice interne Gatter. Nur daß es dort keinen "INV0" gibt, glaube ich.

Grundsätzlich haben die Philips-Modelle nichts mit realen Gattern zu tun. Das schreibt Philips auch:


One result of this is that HC models do not show the exact function of the device. Another result of this is that propagation delays in SPICE will not necessarily match with the published AC timing specifications in the device datasheet.


Im Gegensatz dazu bietet LTSpice wesentlich verfeinert justierbare Gattermodelle.


parameter | default | meaning
----------+---------+---------
Vhigh | 1V | logic high level
Vlow | 0V | logic low level
Ihigh | 1A | logic high drive current
Ilow | 0A | logic low drive current
Trise | 0 | Rise time
Tfall | Trise | Fall time
Tau | 0 | output RC time constant
Cout | 0 | output capacitance
Rout | 1 | output impedance
Rhigh | Rout | logic high level impedance
Rlow | Rout | logic low level impedance

Dazu kommt Td, Vt und Vh.


Von diesen Parametern mache ich auch in den idealisierten Modellen (TDA8939) intensiv Gebrauch, um deren interne Gatter möglichst realistisch zu gestalten.

Zusammenfassung: LTSpice ist bezüglich der Gatter weiterentwickelt, als PSDEMO.EXE. Beide verwenden idealisierte Gatter. LTSpice getattet jedoch eine einfache Konfiguration der dynamischen und statischen Gatterparameter nach Datenblatt.

 
#7
Wollen wir mal exemplarische Gatterbausteine irgendeiner Logikfamilie gemeinsam nach Datenblatt erstellen?

So kann man am besten nachvollziehen, wie genau LTSpice die Specs trifft.

Vielleicht zuerst mal ein Nand-Gatter?
 
#8
Von früher kenne ich nur TTL (74XXX) und Standart-CMOS (40XXX), diese Art von Technik ist jedoch entweder
nicht störsicher genug, verbraucht zu viel Strom oder ist schlicht viel zu langsam.
"Neuere" Standarts hatte ich noch nie in Gebrauch, und davon gibt es ja nun eine ganze Menge. Ich habe mich
am Tietze/Schenk orientiert und festgestellt, daß "Highspeed-CMOS" (eben HC/T) wohl Standart bei Frequenzen
um 1...5MHz geworden ist und sowohl bzgl. Erhältlichkeit/Preis, Energieverbrauch bis maximal 4MHz als auch
Gatterlaufzeit (spezifizierte 10ns) am besten geeignet scheint

1. Es gibt Gatter mit mehreren Eingängen, Treiber- und Inverterfunktionen als
- Single-Gate HC/T
- Dual-Gate HC/T
- Triple-Gate HC/T
- HC/T allgemein,
wahrscheinlich handelt es sich um spezielle Technologien, im Moment kann ich damit nichts anfangen, sehe den
Unterschied nicht
Das sollte m.E. als erstes geklärt werden

2. Weiter:
- ob diese idealisierten Modelle wirklich das Wahre sind, die Realität nachvollziehen, sollte als erstes in allen 4
Kategorien getestet werden, schließlich arbeiten wir mit empfindlichen Laufzeitverzögerungen im 10ns-Bereich
(alle Kategorien, sofern wir nicht von vornherein einige Gruppen ausschließen/können/wollen - wahrscheinlich
sparen sie durch die idealisierte Modellierung Simulationszeit)
- man sollte diese Ergebnisse vergleichen mit z.B. einem einfachen diskret modellierten NOR- oder NAND-Gatter,
und zwar mit diesen CMOS p-Kanal- und n-Kanal Highspeed-Modellen, diese invertierenden Logikgatter haben
mit 4 Transistoren den einfachsten Aufbau
- jedoch spielt die Eingangsschutzfunktion eine wichtige Rolle beim Übersteuern und bei der
Laufzeitverzögerung: sie besteht aus zwei mit Mos-Transistoren aufgebauten Clampdioden plus
Serienwiderstand

3.
- wenn wir dieses Verhalten als realistisch genug einschätzen können, könnten wir alternativ die
LTspice-Logik-Gatter entsprechend justieren,
- dazu gehören auch Monostabile Multivibratoren, sequentielle Logik wie i.e.L. Flip-Flops (transparent,
taktzustandgesteuerte RS- und D-Typen, mit Zwischenspeicherung, ein- bzw. zweiflankengetriggert,
Schieberegister - ein Haufen Zeug zwar, aber ev. befindet sich dabei die eleganteste Problemlösung)


Ich würde also vorschlagen, mit Punkt 1.) zu beginnen, die Unterschiede herauszufinden, z.B. mit einem zur Flankenaufsteilung/Invertierung/Laufzeitenverzögerung benötigten Einfachgatter, welches in allen 4 Kategorien
vorkommt:
- 74HC1G14 5V Single Inverting Schmitt Trigger
- 74HC2G14 5V Dual Inverting Schmitt Triggers
- 74HC3G14 5V Triple Inverting Schmitt Trigger
- 74HC14 5V Hex Inverter Schmitt-Trigger
 
#9
PS: wahrscheinlich bezeichnet single, dual, triple und hex einfach nur die Anzahl Funktionen pro Gehäuse ...(?)
 
#10
Seh ich auch so: Single, Dual, ... bezeichnet die Anzahl der Gatter.

Logikgatter mit diskreten CMOS hochzuziehen, halte ich für extrem schwierig, weil die Strukturen einerseits unterschiedlich sind (Ausgangs-MOS haben z.B. größere Flächen), andererseits nicht dokumentiert sind und drittens auch die EMV-Schutzmaßnahmen nicht offengelegt werden (Eingangsschutzbeschaltungen). Ich denke nicht, daß wir so was erreichen.

Logik-ICs sind allerdings ganz wunderbar bzgl. des Verhaltens der Anschlüsse dokumentiert. Ich hab hier gerade ein National CMOS Databook mit dem "MM74HC00".

Laß uns damit mal ein typisches Gatter an 4.5V beschreiben. Zuerst mal das dynamische Zeugs:

Verzögerungszeit ist 8ns. Eingangskapazität beträgt 5pF. Ausgangskapazität 20pF. Rise=falltime 8ns.

Statisch sieht die Kiste so aus:
Input high >= 3.15V. Input low <= 0.9V. Der Eingangsstrom beträgt 100nA. Out-high-Spannungsabfall (bei 4mA): 0.3V. Und Out-low-Spannungsabfall (bei 4mA): 0.2V. Der Versorgungsstrom beträgt (statisch) 2uA. Am Eingang und am Ausgang befinden sich ideale EMV-Dioden gegen Ub und Masse.

Das muß dem Entwickler reichen! Und das muß auch uns reichen, um so ein Bauteil komplett zu beschreiben. Was sich innen abspielt, geht uns nichts an.
 
#11
Die Eingangsbeschaltung ist im Tietze gezeigt, aber mit den Transistorflächen könntest du recht
haben, wobei ich mich frage, wozu dann diese beiden Highspeed CMOS-Fet-Modelle gut sein sollen.

Wenn das dynamische Verhalten so gut beschrieben ist, sollte der Sache nichts im Weg stehen.
Ich habe dsbzgl. meine Zweifel und würde mir an deiner Stelle vorher die Übertagungskennlinie eines
CMOS-Gatters ansehen (im Tietze mit Toleranzgrenzen abgebildet), die statischen 2µA haben bereits
bei 1MHz keine allzu große Bedeutung mehr

Und wie verhält sich nun ein intern rückgekoppelter Schmitt-Trigger gegenüber einem Einfachgatter?
 
#12
Nochmals zu den Philips-Modellen der beiden Mosfets:

************************************************
* FAST N-Channel Transistor *
* UCB-3 Parameter Set *
* HIGH-SPEED CMOS Logic Family *
* 10-Jan.-1995 *
************************************************
.Model MHCNEF NMOS
+LEVEL = 3
+KP = 49.6E-6
+VTO = 0.52
+TOX = 49.0E-9
+NSUB = 4.0E15
+GAMMA = 0.74
+PHI = 0.65
+VMAX = 135E3
+RS = 30
+RD = 30
+XJ = 0.10E-6
+LD = 0.69E-6
+DELTA = 0.38
+THETA = 0.048
+ETA = 0.020
+KAPPA = 0.0
+WD = 0.5E-6

***********************************************
* FAST P-Channel transistor *
* UCB-3 Parameter Set *
* HIGH-SPEED CMOS Logic Family *
* 10-Jan.-1995 *
***********************************************
.Model MHCPEF PMOS
+LEVEL = 3
+KP = 24.6E-6
+VTO = -0.51
+TOX = 49.0E-9
+NSUB = 3.6E16
+GAMMA = 0.82
+PHI = 0.65
+VMAX = 600E3
+RS = 60
+RD = 60
+XJ = 0.61E-6
+LD = 0.35E-6
+DELTA = 2.12
+THETA = 0.100
+ETA = 0.260
+KAPPA = 0.0
+WD = 0.5E-6


Als Beispiel sei ein Schmitt-Trigger genommen:

.SUBCKT SMT1F 2 3 50 60
* SCHMITT-TRIGGER INPUT FOR HC14 CMOS INPUT LEVELS
*IN=2, OUT=3, VCC=50, GND=60
R1 2 4 100
MP1 4 50 50 50 MHCPEF W=20U L=2.4U AD=100P AS=100P PD=40U PS=20U
MN1 4 60 60 60 MHCNEF W=35U L=2.4U AD=140P AS=140P PD=50U PS=35U
MP2 5 4 50 50 MHCPEF W=36U L=2.4U AD=140P AS=140P PD=50U PS=35U
MN2 6 4 60 60 MHCNEF W=16U L=2.4U AD= 70P AS= 70P PD=15U PS=17U
MP3 3 4 5 50 MHCPEF W=44U L=2.4U AD=220P AS=220P PD=60U PS=44U
MN3 3 4 6 6 MHCNEF W=17U L=2.4U AD= 70P AS= 70P PD=15U PS=16U
MP4 5 3 60 50 MHCPEF W=36U L=2.4U AD=150P AS=150P PD=60U PS=36U
MN4 6 3 50 6 MHCNEF W= 6U L=4.0U AD= 25P AS= 25P PD=10U PS= 6U
.ENDS


Man erkennt, daß die jeweiligen Gatterbausteine auf die beiden Transistormodelle Bezug nehmen,
oder mit anderen Worten: die beiden Transistormodelle werden tatsächlich simuliert, wobei sie wohl nach Anweisung verändert bzw. der Logik entsprechend verknüpft werden.

Mir kommt das recht realistisch vor, ich würde vorschlagen, ein solches Modell zu testen und zu prüfen, wie es sich in der Simu verhält
 
#13
Das versteh ich jetzt nicht, Andreas! Ich hab auf Deine Links gedrückt und wirklich nur das gefunden, über das ich auch gutachterlich tätig wurde.

Aber was Du mir da jetzt zeigst, ist ja der Hammer!

Mit den Angaben lassen sich natürlich direkte Vergleiche fahren. Das entspricht ja praktisch einer Offenlegung der Innereien.

Woher hast Du das denn??????? Ich finde das nicht. Bin ich blind(fischig) ?



Wie meinst Du Deine Frage bzgl. Schmitt-Trigger vs. Einfachgatter? Die beiden unterscheiden sich ganz erheblich bzgl. der Eingangsschaltschwellen. Einmal überlappen die sich und im anderen Fall gibt es einen "verbotenen" Bereich, der nicht zu langsam durchlaufen werden sollte.

 
#14
Im obigen Support-Link "HC/T updated"
 
#15
Genau darauf hatte ich gestern geklickt! überrascht .. ich checks nochmal.
 
#16
Oooops....

...ich hatte mir gestern nur hct.cir angesehen und die anderen drei *.cir-Dateien ignoriert.

Sorry!

Ich schaus mir nachher nochmal vollständig an.
 
#17
asy-Datei für einen invertierenden Schmitt-Trigger:

Version 4
SymbolType CELL
LINE Normal 4 68 12 68
LINE Normal 8 60 16 60
LINE Normal 8 60 8 68
LINE Normal 12 68 12 60
LINE Normal 0 48 40 64
LINE Normal 0 80 40 64
LINE Normal 0 80 0 48
LINE Normal 56 64 64 64
CIRCLE Normal 56 72 40 56
WINDOW 0 8 32 Left 0
WINDOW 3 8 104 Left 0
SYMATTR Value
SYMATTR Prefix X
SYMATTR SpiceModel mylib-digi
SYMATTR Value2
SYMATTR Description invertierender Schmitt-Trigger
PIN 0 64 NONE 0
PINATTR PinName in
PINATTR SpiceOrder 1
PIN 64 64 NONE 0
PINATTR PinName out
PINATTR SpiceOrder 2
PIN 0 80 NONE 0
PINATTR PinName vcc
PINATTR SpiceOrder 3
PIN 0 48 NONE 0
PINATTR PinName gnd
PINATTR SpiceOrder 4

Wird unter "SpiceModel mylib-digi" auf die Philips "hc_tfast.cir"-Modell-Datei verwiesen, findet Spice diese Datei ohne Fehlermeldung, simuliert natürlich Mist, weil das individuelle .SUBCKT nicht beim Namen genannt wurde (z.B. "INVSMT" für den invertierender Schmitt-Trigger) - wie könnte der Pfad aussehen bzw. stimmt Prefix "X" für diese Art von Dateien?
 
#18
Andreas. Sorry.. aber ich schaffs heute einfahc nicht mehr, mich da reinzudenken. Telefon klingelt in einer Tour. Wochenende wird wahrscheinlich auch nichts.

Ab Montag aber bestimmt! Versprochen!
 
#19
Kein Act, nichts eilt.
Mir fehlt allerdings auch die Zeit, um mich mit diesem vermaledeiten Pfadanweisungen
zu beschäftigen. Bei neuen Problemstellungen heißt es für mich oft alle möglichen Variationen
durchspielen, weil mir die englischspeak-Hilfe nicht wirklich eine Hilfe ist
 
#20
Jetzt bin ich endlich mal dazu gekommen. Bitte entschuldige!

Dein Symbol ist als "X" erstmal korrekt. Du hast Pin 1 als Input, Pin 2 als Output, Pin 3 als Vcc und Pin 4 als GND vorgegeben. Auch das ist korrekt und deckt sich mit der Pinreihenfolge des SUBCKTs "SMT1F" in hc_tfast.cir.

Anm: nicht so schön finde ich, daß Du GND oben und VCC unten positioniert hast, aber das tut der Funktion keinen Abbruch.

Los gehts:

1. Zuerst mal klickst Du Dein Symbol in das Schaltbild.

2. Den gewünschten SUBCKT-Namen (z.B. "SMT1F") setzt Du nach Druck der rechten Maustaste auf dem Schaltsymbol sowohl bei "Spicemodel" als auch bei "Value" ein.

3. Dann sagst Du per "Edit -> Spice Directive", woher Spice den SUBCKT entnehmen soll: ".inc mylib\philips\hc_tfast.cir" (in meinem Fall).
Anm: wenn Du vorher in dem Symbol-Verzeichnis rungearbeitet hast, kann es gut sein, daß Du auch Dein aktuelles Schaltbild versehentlich dort abspeicherst. Dann stimmt die ".inc"-Anweisung natürlich nicht, weil die ja vom Hauptverzeichnis des Programms aus geht.

4. Aber wenn Du alles korrekt gemacht hast, so klappt es auch:

[Bild: 1_pic129.jpg]