Logik bestimmen und verein

Moderator (Firma: Titel) Persönliche Seite #3063800
Lesenswert?

Sebastian schrieb:
> Hat jemand eine Idee wie ich das was ich bestimmt
> habe(Tabelle mit 2^13) Eintragen vereinfachen kann?
Was willst du damit machen?
Hast du wirklich eine Tabelle mit 8912 Zeilen?

Wenn ja: ich würde die in ein ROM packen und die Eingangleitungen als 
Adressen verwenden. Einfacher geht nicht...   ;-)
Moderator (Firma: Titel) Persönliche Seite #3064915
Lesenswert?

Sebastian schrieb:
> Hab mehrere Rund mit untersciedlicher Sortierung gemacht, ist kein
> Speicher drin.
Ich meine auch nicht, dass da ein Speicher drin wäre, sondern du 
könntest es am einfachsten mit einem Speicher umsetzen: die 13 
Eingangsleitungen als Adressleitungen wählen ein Byte aus, wovon nur ein 
Bit als Ausgang verwendet wird...

Das Stichwort dazu heißt LUT = Lookup-Tabelle.
Gast #3064998
Lesenswert?

Hallo,

das sind vieleicht 20 UND und 5 ODER Gatter, mehr ist es nicht. Dafür 8k 
LUT ist massiver Overkill, ich möchte ja auch die Funktion verstehen, 
ein paar Dinge sind überliefert, aber eben nicht allen, und so hänge ich 
da mit einer "Obfuscated" Logik und Halbwissen.

Deshalb auch "Reverse-Engineering", ich würde gern die Logikterme 
rausbekommen um mir mit dem Halbwissen den Rest zu erschießen.

Nur weiß ich nicht wie ich das vereinfachen kann, KV kenne ich,... aber 
bei 13 Inputs ist das nicht mehr möglich.

Grüße

Sebastian
Moderator (Firma: Titel) Persönliche Seite #3065006
Lesenswert?

Sebastian schrieb:
> aber bei 13 Inputs ist das nicht mehr möglich.
Ohne wenigstend die Hälfte der Pins anhand der Funktion (Handbetrieb, 
Notstop, Dauerbetrieb, Pulsen...) wegreduzieren zu können, hast du keine 
Chance.

> ich möchte ja auch die Funktion verstehen,
Dazu muss man so viel wie möglich vom System wissen:
woher kommen die Eingänge und was wird wie damit geschaltet.

> Dafür 8k LUT ist massiver Overkill
Ein kleines EPROM...

> Ich habe eine Logik mit 13 Digitalen Inputs und einem Output
Wie (welche Bausteine, Technologie) ist die aufgebaut?
Gast #3065037
Lesenswert?

Mir normalen Mitteln hast du da meines Erachtens keine Chance.

Die Tatsache, dass die Funktion rein kombinatorisch ist, schränkt 
natürlich die Möglichkeiten ein. Aber selbst wenn du das alles 
zusammenfasst und mit KV vereinfachst, hast du vermutlich immer noch 
nicht den Sinn der Schaltung begriffen.
Es könnten ja auch Verknüfpungen wie
Ausgang = 1 wenn slice(3..0) größer als slice(7..4) darin verborgen 
sein.
Diese kannst du dann zwar über die Vereinfachung zu einer DNF 
darstellen, aber der DNF siehst du dann die eigentliche Funktion 
(nämlichen den Vergleicher) auch nicht direkt an.
Moderator (Firma: Titel) Persönliche Seite #3065248
Lesenswert?

Sebastian schrieb:
> Quine McClusky hab ich mir auch an sehen, hast Du das  schon mal in
> Matlab,... programmiert oder kennst Du eine gute Anleitung?
Du greifst offenbar nach jedem so dahingeworfenen Strohhalm. Die anderen 
Posts hast du auch gelesen?

Wenn du unbedingt Kombinatorik sehen willst, dann hacke die Tabelle in 
ein Synthesetool und lass dir den RTL-Schaltplan anzeigen. Das sieht 
dann z.B. so aus wie im 
Beitrag "Re: Alternative Zählerbeschreibung"
Gast #3065531
Lesenswert?

Lothar Miller schrieb:
> Du greifst offenbar nach jedem so dahingeworfenen Strohhalm. Die anderen
> Posts hast du auch gelesen?

Was ist daran ein Stohhalm? Mit der Methode bekommt man ein Ergebnis als 
minimale Schaltung aus UND und ODERs. Evtl. reicht das  Sebastian ja 
schon. Und die funktionalität der Schaltung zu analysieren geht mit 
der minimierten Form ganz sicher auch schneller als mit einer 8192 
Zeilen großen Tabelle!

http://sontrak.com/ sieht doch ziemlich gut aus. Hab ich noch nicht 
ausprobiert. Aber von der Beschreibung her könnte das genau das richtige 
sein.
Moderator (Firma: Titel) Persönliche Seite #3065566
Lesenswert?

Klaus schrieb:
> Und die funktionalität der Schaltung zu analysieren geht mit
> der minimierten Form ganz sicher auch schneller als mit einer 8192
> Zeilen großen Tabelle!
Die Funktionalität einer Schaltung ermittelt man am besten, wenn sie 
im Gerät eingebaut ist.
Und wenn es nur darum geht, ein obsoletes Logikgrab abzulösen, dann ist 
die Funktion uninteressant und die EPROM Methode die einfachste. Da kann 
man auch ganz einfach die Funktion ändern, wenn das mal nötig wäre. 
Nicht umsonst sind FPGAs intern auch mit 4:1 oder 6:1 RAMs (aka. LUT) 
ausgestattet.

> http://sontrak.com/ sieht doch ziemlich gut aus. Hab ich noch nicht
> ausprobiert. Aber von der Beschreibung her könnte das genau das richtige
> sein.
Ich musste mir das Ding auch gleich bookmarken... ;-)
Gast #3068225
Lesenswert?

Fetz schrieb:
> Wer redet von LUT?
>
> BRAM!

Ein BRAM ist funktionell nichts anderes als eine riesige LUT.  Er 
schrieb nichts davon, die 8k aus den LUTs in den FPGA Logic Array Zellen 
zu bauen.

Und auch ein BRAM wäre massiver overkill, wenn sich die Funktion 
tatsächlich vereinfachen ließe.  Denn BRAM ist auf FPGAs je nach 
Anwendung häufig auch sehr knapp bemessen.
Moderator (Firma: Titel) Persönliche Seite #3070288
Lesenswert?

Fetz schrieb:
> Der Unterschied ist halt, dass ein BRAM (sogut wie keine) Logikresourcen
> braucht ...
Die umgangssprachliche "LUT" umfasst alles, was ein Nachschlagewerk in 
Tabellenform ist. Das geht dann in der (elektronischen!) Praxis von den 
kleinen 16x1 RAMs im FPGA (von denen kaum jemand etwas weiß) bis zu 
riesigen Transformationstabellen, die gern auch mal ein paar MB Platz 
einnehmen können. So wird ein uC Programmierer eine LUT immer in 
seinem RAM/ROM suchen. Und es ist die früher immer in Reichweite 
liegende Logarithmentafel genauso eine LUT wie eine Sinustabelle...
http://de.wikipedia.org/wiki/Lookup-Tabelle

Dass z.B. für die Realisierung einer DDFS in einem FPGA neben der 
"großen" Wellenform-LUT noch zig "winzige" LUTs für die Kombinatorik 
braucht, kümmert keinen. Wenn jemand sagt: für einen andere Wellenform 
musst du den Inhalt der LUT ändern, dann ist sofort klar, welche der 
827 LUTs damit gemeint ist...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren