AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte DigiSim - Ein Digitaler Simulator
Thema durchsuchen
Ansicht
Themen-Optionen

DigiSim - Ein Digitaler Simulator

Ein Thema von omata · begonnen am 29. Dez 2008 · letzter Beitrag vom 28. Feb 2025
Antwort Antwort
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
752 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: DigiSim - Ein Digitaler Simulator

  Alt 9. Aug 2024, 10:12
Du brauchst einen Takt, so wie das bei allen CPU's oder digitalen Chips gemacht wird.
Also sozusagen einen Zustand in dem alle Gatter ihren Zustand um 1 Bit ändern können.
Mit jedem Takt werden alle einmal aktiv und setzen einen neuen Zustand an ihrem Ausgang.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.079 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: DigiSim - Ein Digitaler Simulator

  Alt 9. Aug 2024, 11:10
Der Ersteller des DigiSim war zuletzt vor 12 Jahren online und der Thread hier ist auch schon über 15 Jahre alt!
  Mit Zitat antworten Zitat
linwerben

Registriert seit: 28. Jul 2003
4 Beiträge
 
#3

AW: DigiSim - Ein Digitaler Simulator

  Alt 9. Aug 2024, 19:22
Du brauchst einen Takt, so wie das bei allen CPU's oder digitalen Chips gemacht wird.
Also sozusagen einen Zustand in dem alle Gatter ihren Zustand um 1 Bit ändern können.
Mit jedem Takt werden alle einmal aktiv und setzen einen neuen Zustand an ihrem Ausgang.
Danke für die Antwort.
Aber, wenn der Eingang nicht aktuell ist kann auch der Ausgang nicht richtig berechnet werden. Um den Ausgang von
AND2 richtig zu bestimmen, müssen erst alle Bausteine vor diesem auf Grund der Eingänge bestimmt werden.
Das ist aber mein Problem. Es müssen ja nicht immer alle Bausteine neu berechnet werden. Wie kann man das machen.
mfG
linwerben
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
752 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: DigiSim - Ein Digitaler Simulator

  Alt 9. Aug 2024, 19:57
Klar, nach dem einschalten des Stromes herscht immer erstmal Chaos. Das ist ja auch der Grund warum man aus Speicher schon was lesen kann, auch wenn es nur das Rauschen des Universums ist.
So ist das auch bei einfachen FlipFlops / Gattern. Reale Daten liegen nur an der ersten Schicht an. Dann dauert es einige Takte bis "hinten" ein Ergebnis raus kommt.
Einmal gesetzte Zustände verändern sich ja nicht mehr. Bzw. werden bei jedem Takt ohne Zustandsänderung am Eingang nur erneuert.
Bei CPU's die ohne extra Innenleben daherkommen ist das ja auch so. Raus kommt ein Ergebnis erst nach einigen Takten.

Ich kann mich noch erinnern als wir in der Ausbildung selber FlipFlops erstellen und verdraten durften um daraus Zählgatter mit Ausgabe auf einer 7-Segment Anzeige zu basteln.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 30. Nov 2003
Ort: Luterbach (CH)
711 Beiträge
 
Delphi 12 Athens
 
#5

AW: DigiSim - Ein Digitaler Simulator

  Alt 9. Aug 2024, 23:18
Klar, nach dem einschalten des Stromes herscht immer erstmal Chaos. Das ist ja auch der Grund warum man aus Speicher schon was lesen kann, auch wenn es nur das Rauschen des Universums ist.
So ist das auch bei einfachen FlipFlops / Gattern. Reale Daten liegen nur an der ersten Schicht an. Dann dauert es einige Takte bis "hinten" ein Ergebnis raus kommt.
Einmal gesetzte Zustände verändern sich ja nicht mehr. Bzw. werden bei jedem Takt ohne Zustandsänderung am Eingang nur erneuert.
Bei CPU's die ohne extra Innenleben daherkommen ist das ja auch so. Raus kommt ein Ergebnis erst nach einigen Takten.
Getaktete Schaltungen (FlipFlops, etc.) haben normalerweise einen Reset Eingang, insofern herscht kurz nach dessen Aktivierung ein definierter Ausgangszustand - diesen braucht es auch, wer weiss, was die Schaltung sonst machen würde. Von "es geschieht gar nichts" bis zur "Selbstzerstörung" liegt alles drin

Logikgatter wiederum brauchen keinen Takt. Sobald ein Pegel anliegt, wird der dem Gatter entsprechende Ausgangswert nahezu unverzögert ausgegeben (ns/us).
Im Bild vom Beitrag #1 sind es reine Logikgatter. Hier muss nicht mit irgendwelchen Zeitlichen Abläufen gearbeitet werden, dies ist ist auch nicht unbedingt einfach, weil man schlicht die Abhängigkeiten der einzelnen Gatter kennen muss. Bei sich ändernden Schaltungen nicht wirklich einfach.

Mit Hilfe der Boolschen Algebra und den De Morganschen Gesetzen geht es deutlich einfacher, wobei dies auf dem Papier einfacher umsetzbar ist, als mit ein paar Codezeilen.
Roland
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.582 Beiträge
 
Delphi 12 Athens
 
#6

AW: DigiSim - Ein Digitaler Simulator

  Alt 9. Aug 2024, 23:25
nahezu unverzögert ausgegeben (ns/us).
Mindestens Lichtgeschwindigkeit, da das elektrische Feld im Leiter auch so schnell ist, aber es kann in gewissen Medien auch langsamer sein, vor allem dann, wenn andere physikalische/chemische Vorgänge eine Rolle spielen.

Bei einfachen "digitalen" Simulatoren nimmt man einfach 2 Zustände und schert sich oft nicht um sowas.
Einfach den alten Zustand nehmen, von einem anfangs definierten Initialzustand ausgehend, und daraus den nächsten Zustand bestimmen/berechnen, indem (notfalls) alle Teile der Schaltung durchlaufen werden.
Ausgang = neuer Zustand
Eingänge = alter Zustand

Dann kopieren und von Vorne.

Natürlich kann man auch noch Verzögerungen einfügen, wo einzelne Komponenten intern mehrere Zwischenschritte behandeln, bevor es wirklich am Ausgang ankommt, um unterschiedlich schnelle Bauteile bissl "realistischer" zu handhaben.



Analoge Schaltungen zu simulieren, da wird es dann richtig spaßig, da Laufzeiten und ganz feine Signalunterschiede eine extrem große Auswirkung haben können.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 9. Aug 2024 um 23:32 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:05 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz