Forum: Mikrocontroller und Digitale Elektronik brauchbare Freeware zur Optimierung von "Glue Logic"?


von Micha (Gast)


Lesenswert?

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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?


von Falk B. (falk)


Lesenswert?

@ 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.

von adwsf (Gast)


Lesenswert?

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?

von Yalu X. (yalu) (Moderator)


Lesenswert?

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.

von Micha (Gast)


Lesenswert?

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.

von Carsten W. (eagle38106)


Lesenswert?

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

von Guido B. (guido-b)


Lesenswert?


von Wilhelm F. (Gast)


Lesenswert?

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.

von MCUA (Gast)


Lesenswert?

>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...

von Kein Name (Gast)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.