Logiksimulation

Moin,

kann mir jemand einen brauchbaren, freien Logik-Simulator empfehlen? Es würde reichen, wenn ich eine Schaltung aus D-Flipflops und Gattern zusammenklicken kann, dann müsste es aber eine Eingabemöglichkeit für tprop der einzelnen Komponenten geben. Es geht um ein relativ wirres getaketes Netzwerk aus den 80ern, bei dem ich dank diverser Rückkopplungen einfach zu lange brauchen würde, das auf Papier zu anaylsieren, da wäre ein Blick auf den Monitor zielführender...

Ich hatte sowas in den 90ern mal, aber dann komplett aus den Augen verloren. Klickibunti für die Schaltplaneingabe wäre schon schön, dass man sowas auch über Umwege mit PLD-Designsoftware machen kann ist mir auch klar, aber gerade zu aufwändig, wissend, dass es ja einfachere Lösungen gibt...

Reply to
Stefan Huebner
Loading thread data ...

Moin,

mir liegt irgendwie an, dass PSpice dazu ganz brauchbar war. Version 9.1 ist einfach über Google zu finden.

Gruß Thomas

Reply to
Thomas Stegemann

Das klingt nicht gut, wenn die Schaltung von tprop abhängt. War der erste Apple nicht auch trickreich so entworfen worden, daß die Signallaufzeiten der Gatter ausgenutzt wurden? Meine das mal irgendwo gelesen zu haben, was dann natürlich zu Problemen bei der Massenproduktion führte.

Gibt da ein Common Lisp-Programm, was das kann:

formatting link

Ohne einstellbare Signallaufzeiten gibt es z.B. das hier:

formatting link

Ist aber im Source Code vorhanden, sodaß man das leicht erweitern können sollte.

In der Quartus-IDE von Altera ist auch ein Schaltungseditor enthalten. Vermeide ich zwar soweit möglich, da ich lieber in VHDL programmiere, aber um eine Gatterschaltung nachzubilden wäre es wohl gut geeignet. Gatterlaufzeit kann man da aber auch nicht so direkt eingeben und die Simulation ist etwas umständlicher (Testbench oder Waveform File erstellen und in Modelsim laufen lassen).

--
Frank Buss, http://www.frank-buss.de
electronics and more: http://www.youtube.com/user/frankbuss
Reply to
Frank Buss

Moin,

Am 20.06.2012 08:26, schrieb Stefan Huebner:

Hier ist eine Aufstellung zu finden:

formatting link

73, Tom
--
DL7BJ * DL-QRP-AG #1186 * AGCW-DL #2737 * DARC OV I19 *
http://www.dl7bj.de        https://twitter.com/#!/dl7bj
 Click to see the full signature
Reply to
Thomas 'tom' Malkus

Prinzipiell geht es mit LTSpice und es kostet nichts, aber mit Einschraenkungen:

a. Digital wird nur leidlich unterstuetzt. SR FlipFlop gibt es, JK ist aber offenbar vor einiger Zeit rausgeflogen aus dem Programm, warum auch immer.

b. Ob und wie man Prop Delays eingeben kann weiss ich nicht. Ich mache das indem ich einen RC hinter die entsprechende Stufe haenge und dann noch einen Buffer. Notfalls mit Diode und zweitem Widerstand wenn, wie bei Gate Drivers, die High-Low Delays unterschiedlich sind.

Helmut Sennewald waere der Guru, am besten in der Yahoo LTSpice Gruppe fragen.

--
Gruesse, Joerg

http://www.analogconsultants.com/
Reply to
Joerg

Am 20.06.2012 08:26, schrieb Stefan Huebner:

Manche Software für SPS enthält auch Simulatoren. Damit kann man solche Aufgaben lösen.

nur ein Beispiel:

formatting link

Carsten

--
"Es wird niemals so viel gelogen wie vor der Wahl, während des Krieges
und nach der Jagd."   Otto von Bismarck
Reply to
Carsten Thumulla

Hi Stefan,

Ich werf mal elektronik2000 in die Runde

formatting link

damit lässt sich nicht nur mit dem AVR-NET-IO, sondern auch mit den COM-und LPT-Ports einiges anstellen, aber auch einfach nur simulierend am Bildschirm.

Marte

Reply to
Marte Schwarz

Sieht ja sauber aus. Nur leider nicht in Englisch. Weisst Du ob das auch Prop Delays mitsimuliert?

Das Video-Tutorial geht nicht, sagt nur "This video is private".

--
Gruesse, Joerg

http://www.analogconsultants.com/
Reply to
Joerg

Hi Joerg,

Verzögerungsglieder gibt es, was Du mit Prop Delays meinst, weiss ich nicht. Probiers doch einfach aus. ich finde es recht übersichtlich.

Das war früher anderst und ist höchstwahrscheinlich nicht so gewollt. Schreib denen doch nett, die freuen sich sicher, wenn sich jemand dafür interessiert.

Marte

Reply to
Marte Schwarz

propagation delay

Diesen Begriff sollte jeder kennen, der sich jemals ernsthaft mit Digitialtechnik beschäftigt hat. Das ist einfach die Zeit, die ein wie auch immer geartetes "device" benötigt, bis nach einer Zustandsänderung an einem Eingang der Ausgang tatsächlich den Zustand annimmt, den die Logiktabelle des "device" vorsieht.

In unserem Universum kann das nämlich nicht instantan passieren, sondern immer nur mit einer gewissen Verzögerung. Diese Scheiß-Naturgesetze sind einfach nur lästig. Aber eben leider auch höchst real...

Reply to
Heiko Nocon

Wie Heiko schrieb, die Verzoegerung in den Gattern. Wobei man da nicht immer so einfach ein Verzoegerungsglied hinter haengen kann, denn diese Verzoegerungen sind bei komplexeren Bausteinen je nach Zweig unterschiedlich. Oft auf sind sie auch unsymmetrisch in der Taktrichtung, es gibt dann PLH und PHL, Progagation Low->High und Propagation High->Low. In LTSpice bastle ich mir das mit Dioden zurecht, aber das wird irgendwann aetzend.

Da steht keine Email-Adresse angegeben, und jetzt erst registrieren und ins Forum gehen wollte ich nicht.

--
Gruesse, Joerg

http://www.analogconsultants.com/
Reply to
Joerg

Ich antworte mir mal kurz selbst:

  1. in dem Design ist nicht die absolute tprop wichtig, so schlimm ist es nicht. Wichtig ist nur, DASS es eine geben muss in der Sim, denn so ein sequenzielles Schaltgewirr mit gemeinsamem Takt braucht ja klare Verhälrnisse. Siehe auch 2. Und diese Verhälrnisse sollten sich an der realen Schaltung möglichst nah orientieren.

  1. Ich habe nach einem kurzen Ausflug mit PSpice 9.1 nun doch mal versucht, ob LTspice das nicht auch kann, wenn Joerg das für Logik benutzt, dann bedeutet das für gewöhnlich, dass es auf keinen Fall dafür geeignet ist, aber perfekt funktioniert ;) Tut es auch, ABER NUR wenn man den D-FlipFlops eine tprop in Form des Parameters Td mitgibt. Ohne tp passiert nämlich, was bei so einer sequenziellen Logik nicht passieren darf und in der Praxis auch nicht wird: die Ausgänge folgen D instantan mit der steigenden Flanke und so haben dann alle kaskadierten D-FFs immer denselben Zustand... Wenn dann noch ein Feedback drin ist, meckert LTspice.

Mit Td=3.5n für die FFs und 1.5n für AND und OR tut mein Simulat nun ziemlich genau das wie die Schaltung aus den Mid-80s bei 50MHz.

Was mich noch aus der Bahn wirft, ist, dass die Designer sich anscheinend darauf verlassen haben, dass zwei Register aus D-FFs (ein F175 und ein Am29823) immer mit allen Q=0 anfangen und dass auch niemals nicht ein Takt verloren gehen kann, denn eins der so aufgebauten Schaltwerke erzeugt eine Impulsfolge, die von einem Ausgang des simultan laufenden 2. Registers gegated wird. Zudem wird das 1. Register vom 2. zeitweilig disabled (taktsynchron mit dem EN-Eingang vom 29823), wobei die CLR-Eingänge von beiden fix auf 5V hängen.

Ich muss diese Pulsfolge halt analysieren, um einen Teil der darauf aufsetzenen Schaltung zu entsorgen und einem FPGA vorzusetzen. Jeder Takt hat eine Bedeutung, Steuerdaten, Adressen, Daten - mal schauen...

Reply to
Stefan Huebner

Pass aber bei schnelleren Sachen auf, IIRC wird die Hold Time ebenfalls gleich Td gesetzt. Prop Delay einzeln eingeben geht m.W. nicht, und auch nicht unsymmetrisch (das geht dann nur extern mit (R-C-Diode).

Ui, ui, nichtmal ein gescheiter Reset? Aber immerhin hat die Chose ja offenbar die letzten gut 25 Jahre funktioniert.

Setze bei der darauf aufsetzenden Schaltung die durch das FPGA ersetzt werden soll die Td kurz genug. Manchmal fallen Logik-"Loesungen" aus den

80ern voll vom Sockel wenn man schnellere Logik verwendet.
--
Gruesse, Joerg

http://www.analogconsultants.com/
Reply to
Joerg

Nö ist auch nicht nötig, bin ein STück weiter und kann nun sehen, dass der Clock zum 2. Register nur jeden 5. Clock vom Master-Clock gegated wird. Das 2. Register läuft also zwar synchron zu den Flanken vom Masterclock, aber nur mir 1/5 der Frequenz. Wirres Zeug, immerhin ist der Taktgenerator "diskret" aufgebaut, was in diesem Fall heissen soll, dass nur festverdrahtete Logik drinsteckt, an jeder anderen Ecke der Schaktung steckt ein Signetics-PLD (daher der andere Thread bzgl. JED2EQU, um die Inhalte schnell zu entschlüsseln)

Das Zeug besteht fast ausschliesslich aus AS, ALS und F. Ich synchronisiere alles zum und vom FPGA mit "real existierenden" Latches auf den Masterclock, da sollte nichts schief gehen. ich muss mich nur in einen Bus hängen, der aus den besagten Taktsignalen besteht und jeweils synchron zu einem Zustandswechsel auf den Taktleitungen ein

16bit-Datenwort unidirektional vor sich herschiebt (ein Anschluss Eingang für Nutzdaten und Steuerbefehle, ein Anschluss AUsgang für Nutzdaten und Statusinformationen)
Reply to
Stefan Huebner

Heiko Nocon wrote on Thu, 12-06-21 20:19:

Das gilt aber nicht für die vielen idiosynkratischen Abkürzungen, die im Usenet so umherschwappen, und jeder hat, was die angeht, bisweilen mal eine etwas längere Leitung.

Reply to
Axel Berger

Ist zwar nicht frei, aber kann alles bis rauf zur vollständigen CPU simulieren:

j/k ;-)

ciao, Joseph

Reply to
Joseph Terner

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.