Diese Frage kommt mehr oder weniger aus der Z80 "Bastel-Ecke". Beim
Erfinden entsprechender Schaltungen muss man ja immer einiges an
Signallogik auseinanderklamüsern. Die "alten Hasen" bekommen das
offenbar mit Papier und Bleistift und scharf hingucken hin - hab Grant
Searle mal gefragt: der hat seine Minimalsysteme alle mit überlegen und
Skizzen entworfen.
Allerdings ist es für mich ohne Ausbildung auf der Strecke schon
manchmal ganz schön Gehirn-verknotend, so eine Logik nachzuvollziehen
bzw. selber zu entwickeln. Gibts eigentlich eine brauchbare Freeware, in
der man das Verhalten so einer Beschaltung als Logiktabelle eingeben
kann und die dann eine optimale (Chip-minimale) Schaltung für die
gängigsten 74xx Schaltkreise ausrechnet?
Ich weiss, ist ne Frage aus der Urzeit, richtige Profis machen
Glue-Logik heutzutage mit GAL & Co., aber auf Breadboards kommt das
nicht so gut ;-)
@ Micha (Gast)
>Erfinden entsprechender Schaltungen muss man ja immer einiges an>Signallogik auseinanderklamüsern. Die "alten Hasen" bekommen das>offenbar mit Papier und Bleistift und scharf hingucken hin -
Sicher. Logiktabelle aufstellen, KV-Diagramm zeichnen, KV-Diagramm
auslesen.
Beitrag "Re: pulse direction signal zu encoder a b?">bzw. selber zu entwickeln. Gibts eigentlich eine brauchbare Freeware, in>der man das Verhalten so einer Beschaltung als Logiktabelle eingeben>kann
Ja.
> und die dann eine optimale (Chip-minimale) Schaltung für die> gängigsten 74xx Schaltkreise ausrechnet?
AFAIK nein.
>Ich weiss, ist ne Frage aus der Urzeit, richtige Profis machen>Glue-Logik heutzutage mit GAL & Co.,
GAL? Heizstrahler für PCBs? ;-)
> aber auf Breadboards kommt das nicht so gut ;-)
Warum nicht? Nimm ein CPLD mit Breakout Board. Da muss man sich auch
keine Gedanken mehr über Logikoptimierung machen, man schreibt einfach
die Gleich hin und fertig.
Das geht im Kopf und geht es nicht im Kopf, dann geht es
nirgendwo.
Ein paar Adressdecoder, Multiplexer (wenn überhaupt),
evtl. das eine oder andere Gatter.
Wo siehst Du das Problem?
Micha schrieb:> Gibts eigentlich eine brauchbare Freeware, in> der man das Verhalten so einer Beschaltung als Logiktabelle eingeben> kann und die dann eine optimale (Chip-minimale) Schaltung für die> gängigsten 74xx Schaltkreise ausrechnet?
So eine Software ist sicher realisierbar, ich weiß allerdings nicht, ob
das schon jemand getan hat. Da das ein kombinatorisches Problem ist,
müssen für komplexere Logikfunktionen u.U. sehr viele Möglichkeiten
durchprobiert werden, so dass Programm zu lange für die Lösung braucht.
Einfachere Logikfunktionen, die das Programm problemlos packt, kann man
aber meist auch mittels KV-Diagrammen, manuellen Umformungen der Terme
und den scharfen Blick lösen.
Du willst i.Allg. ja auch nicht alle 74xx-Bausteine, sondern nur die
billigen oder diejenigen, die dein Lieferant im Angebot hat, bei der
Lösungssuche berücksichtigen. Vielleicht hast du an anderer Stelle in
deiner Schaltung noch ein NOR und 2 NAND übrig, dann willst du
natürlich, dass diese nach Möglichkeit mitverwendet werden. Oder du
möchtest gleich mehrere benötigte Logikfunktionen in einem Aufwasch so
optimieren, dass sie in Summe mit möglichst wenigen Bauteilen
auskommen. Alle diese Wünsche zu berücksichtigen, würde so eine Software
schon recht aufwendig machen.
Danke für die Antworten!
Kannte bisher die Suchbegriffe Karnaugh Veitch noch nicht, daher war ich
nicht weitergekommen. Wie gesagt ich bin Autodidakt auf der Strecke.
Das Problem ist einfach wo man anfangen soll, wenn man mit Wissenstand
Null startet. Inzwischen weiss ich zumindest wie eine Logiktabelle
aufgestellt wird, die gebräuchlichsten 74xx Schaltkreise kenne ich nun
auch schon. Werde mir die genannte Wikipedia-Seite auf jeden Fall
gründlich durchlesen.
Hi!
Du kannst Dir auch z.B. von http://www.xilinx.com das ISE Webpack
runterladen. Da kannst Du nicht nur Designs in Verilog oder VHDL
eingeben, sondern auch als Schaltplan. Nimmst halt irgendeinen Stein,
der groß genug ist und designst dafür. Wenn die Übersetzung fehlerfrei
abgelaufen ist, schaust Du Dir die erzeugten Gleichungen an. Das ist
dann in der Regel optimiert. (Es sei denn, Du hast schon das Optimum
eingegeben.)
Carsten
Micha schrieb:> Allerdings ist es für mich ohne Ausbildung auf der Strecke schon> manchmal ganz schön Gehirn-verknotend, so eine Logik nachzuvollziehen> bzw. selber zu entwickeln. Gibts eigentlich eine brauchbare Freeware, in> der man das Verhalten so einer Beschaltung als Logiktabelle eingeben> kann und die dann eine optimale (Chip-minimale) Schaltung für die> gängigsten 74xx Schaltkreise ausrechnet?
Die Sache mit dem KV-Diagramm wurde ja schon beschrieben.
Simulieren kann man so eine Schaltung dann gut mit PSPICE
Studentenversion, die frei erhältlich ist, das reicht oft fürs Hobby. Es
hat einen Digitalsimulator, und eine ziemlich umfangreiche
Bausteinbibliothek im Bereich der 74xx-Bausteine. Allerdings
Standard-TTL, keine CMOS. Das spielt aber kaum eine Rolle. Mit der
Simulation kann man das Verhalten der Schaltung simulieren, und sehen,
ob es nicht irgendwo Spikes, Hazards oder Races gibt. Ohne einen Kurs,
z.B. in Buchform (Robert Heinemann etc.), ist es aber gar nicht so
leicht, das Tool richtig und effektiv zu bedienen. Da muß man halt
durch.
Es könnte evtl. noch sein, daß du an einen Punkt kommst, wo du
überlegst, die Bausteintypen zu reduzieren, falls die Logik mal ein
klein wenig umfangreicher wird. Da muß man die Gleichungen mit Hilfe der
Booleschen Sätze in eine NAND- oder NOR-Form überführen, um dann z.B.
nur Bausteine vom Typ 7400 zu verwenden. Mit NAND oder NOR kann man alle
Logiken darstellen. Im Gegensatz zur Reduzierung der Typen erhält man
allerdings eine Erhöhung der Gatteranzahl. Es ist eine Frage der
Lagerhaltung. Der Bordcomputer der Apollo-Mondraketen hatte z.B. nur
NOR-Gate-Logikschaltungen, allerdings dort aus Sicherheitsgründen.
Und Last but not Least: Einfachste Logiken bekommt man evtl. sogar mit
nur ein paar Dioden hin, z.B. die AND-Funktion mit zwei Inputs, zwei
Dioden mit einem Vorwiderstand. Das gibt es in µC-Schaltungen
tatsächlich, habe sowas auf einem Board zur Selektierung eines
RAM-Bausteines aus zwei Steuersignalen. Zwar wird dort am Widerstand bei
Einschaltung etwas Energie gegenüber einem CMOS-Gatter verbraten, aber
die Bausteinselektion ist ja nicht dauerhaft, nur impulsartig.
>Gibts eigentlich eine brauchbare Freeware, in>der man das Verhalten so einer Beschaltung als Logiktabelle eingeben>kann und die dann eine optimale (Chip-minimale) Schaltung für die>gängigsten 74xx Schaltkreise ausrechnet?
Wirds so nicht geben, zudem ist 'gängig' ein schwammiger Begriff.
(mit KV-Diagramm wird man nicht weit kommen)
Am besten sich die verschiedenen Grundtypen v. 74er (auch mit Preisen)
ansehen, und dann ausm Kopf heraus zusammenbauen...
Der ZX81 hatte 1k Widerstände in den Adressleitungen.
Für die Bausteinoptimierungen der Z80 "Bastel-Ecke" gibt es garantiert
keine Software. Leute, die Spice oder VHDL entwickeln, kommen einfach
nicht auf solche Ideen.