Hi!
Ich beschäftige mich gerade aufgrund einer Vorlesung mit SystemC.
Das Thema finde ich recht interessant und hätte Lust eine "richtige" HDL
zu lernen.
Mich würde mal interessieren, wie der Entwurf einer solchen digitalen
Schaltung aussieht.
Wir haben im 2. Semester gelernt, wie sich Logikfunktionen mittels
KV-Diagrammen etc. aufstellen lassen.
Geht man bei einfachen Schaltungen noch von derartigen Modellen aus, und
setzt sich erstmal hin und zeichnet sich einen Plan mit den Addieren
etc.?
Grüße,
Max
Ich habe jetzt nicht so die wirkliche Ahnung wie es het zu Tage von der
Industrie entwickelt wird, aber ich bin mir ziemlich sicher das nur in
einzelfällen noch einzelne Logikgatter verbaut werden. Da ist ein µC
wohl billiger und flexibler.
Des weiteren gibt es FPGA und CPLD. Als HDL gibt es z.B. VHDL und
Verilog.
In den Programmen, welche die Konfiguration für FPGAs aus der HDL
erzeugen steckt schon vie "Intelligenz" und es lohnt sich für einen
Menschen nicht da mit KV optimieren zu wollen. Dafür sind die Projekte
oft viel zu groß.
Wenn du dich mit der Logik weiter beschäftigen willst guck dir erst mal
Mealy- und Moor-Automaten an. Kommt aber auch noch im Studium alles vor.
Bonner schrieb:> Ich habe jetzt nicht so die wirkliche Ahnung wie es het zu Tage> von der> Industrie entwickelt wird, aber ich bin mir ziemlich sicher das nur in> einzelfällen noch einzelne Logikgatter verbaut werden. Da ist ein µC> wohl billiger und flexibler.>> Des weiteren gibt es FPGA und CPLD. Als HDL gibt es z.B. VHDL und> Verilog.> In den Programmen, welche die Konfiguration für FPGAs aus der HDL> erzeugen steckt schon vie "Intelligenz" und es lohnt sich für einen> Menschen nicht da mit KV optimieren zu wollen. Dafür sind die Projekte> oft viel zu groß.>> Wenn du dich mit der Logik weiter beschäftigen willst guck dir erst mal> Mealy- und Moor-Automaten an. Kommt aber auch noch im Studium alles vor.
Automatentheorie hatten wir auch bereits. Ich frage mich, ob dieses
Wissen auch eine praktische Relevanz hat. Man versteht schon was
dahinter steckt, aber zur Anwendung kommt dieses nicht mehr, oder?
Das ist halt Allgemeinbildun für Ings.
In der Praxis wirst du das nicht mehr brauchen, da es für solche sachen
Programme gibt.
Willst du z.B. einen Automaten in einem FPGA implementieren tippelt man
einfach ein paar if anweisungen ein. Das Programm wählt dann die
Adressierungen und vereinfacht alles.
Du kannst das natürlich auch selbst auf Papier machen und dann die Logik
mit AND, OR beschreiben. Dies ist aber nicht mehr Problemorientiert.
Ist dein Projekt groß genug, dass der einsatz eines FPGAs gerechtfertigt
ist, verlierst du sowiesi den Überblick und bist als Mensch halt zu
Feheleranfällig.
Man benutzt HDLs die man dann mit einem Tool synthetisieren kann. Der
Entwurf erinnert dann an normale Programmcodes (der Stil nennt sich
behavioral), man beschreibt also das Verhalten der Schaltung. Das
Mapping auf Gatter (and,or,not,FFs,luts,etc) und die Optimierung der
Logik macht dann das Synthesetool. Das was du da als KV Diagramm gelernt
hast macht also im echten Leben der Synthesizer. Es gibt natuerlich auch
andere Beschreibungsstile.
Max schrieb:> Automatentheorie hatten wir auch bereits. Ich frage mich, ob dieses> Wissen auch eine praktische Relevanz hat. Man versteht schon was> dahinter steckt, aber zur Anwendung kommt dieses nicht mehr, oder?
Wenn man eine Statemaschine designen muss, wird man je nach
Problemstellung die eine oder andere Technologie wählen müssen.
Jedes dieser Technologien hat seine Vor-und Nachteile.
FPGAs sind mit ihrer kombinatorischen Logic schnell und
Schaltungstechnisch hochflexibel, was den Programmieraufwand aber
enorm macht und auch nicht zu den günstigsten Lösungen gehört.
(Es gibt sogar CPU-Cores zum impementieren die mir mal angeboten
wurden).
CPUs mit ihrer sequenziellen Logic sind vergleichsweise lahm,
aber relativ leicht flexibel zu programmieren und günstiger
im Kosten-/Nutzenverhältnis, aber für viele Apps ausreichend.
Ungünstig kann sich bei FPGAs bemerkbar machen, dass im fortlaufenden
Projekt bei einem ausgewählten Chip mal die Recourcen knapp werden
können und man zu einem greifen muss der den Engpass ausgleicht.
Mit dem KV-Diagramm kann man evtl. noch etwas aus dem alten Chip
herauskitzeln, aber anwendungspraktisch soll bei vier Variablen
Sense sein und mehr man sich nicht antun sollte.
Eine andere Idee wäre, den größten FPGA aus deren Familie zu nehmen
und wenn das Projekt steht, also man das Ende abschätzen kann, einen
Verwandten zu nehmen mit dessen Resourcen die App funktioniert und
man ein gutes Kosten-/Nutzenverhältnis hat.
Glück gehabt schrieb:> Wenn man eine Statemaschine designen muss, wird man je nach> Problemstellung die eine oder andere Technologie wählen müssen.> Jedes dieser Technologien hat seine Vor-und Nachteile.> FPGAs sind mit ihrer kombinatorischen Logic schnell und> Schaltungstechnisch hochflexibel, was den Programmieraufwand aber> enorm macht und auch nicht zu den günstigsten Lösungen gehört.> [... viel Gelaber ...]> wenn das Projekt steht, also man das Ende abschätzen kann, einen> Verwandten zu nehmen mit dessen Resourcen die App funktioniert und> man ein gutes Kosten-/Nutzenverhältnis hat.
Bist du BWLer? Viele Buzzwords und Fachbegriffe aber offensichtlich 0
Verstaendnis fuer das grosse Ganze...
Hallo!
Erst mal runterkommen!
Und dann ein kleines "Hello World!"-Programm schreiben, gibt es in quasi
jeder Sprache. Zugegeben, bei µCs wird das etwas schwierig, da behilft
man sich dann, eine LED blinken zu lassen. Da könnte man dann
stundenlang der LED beim Blinken zuschauen.
Und dann so langsam den Schwierigkeitsgrad steigern (beim Blinken: kurz
aus, lang an, oder nur 10-mal Blinken oder 2 LEDs blinken lassen oder
was-auch-immer)
Und sich dann ein Ziel setzen (Klassiker ist DIE UHR), natürlich mit
einer 7-Segment-Anzeige, mit spezieller Ansteuerung
Und dann mal wieder an KV denken.
Also nicht mit der Tür ins Haus fallen, sondern Schritt für Schritt
Und nicht vergessen - Muss Spaß machen. Ich denke, wenn Du schon in
diesem Forum bist, ist das auch so ........
In diesem Sinne
Willi
Bonner schrieb:> Ich glaube er hat nur nach dem Sinn des im Studium vorkommenden Inhalts> gefragt.
Das ist ein bissl wie der Blinddarm der Digitaltechnik, eigentlich
braucht den heutzutage nicht zwingend, aber die wenigsten operieren das
aus ihren Vorlesungen raus. ;)
Ja es ist halt Allgemeinbildung.
Man muss vieles nicht wissen, aber um halt dann darauf aufbauende
Sachverhalte zu verstehen kann es trotzdem hilfreich sein.
Allerdings sollte das dann schon erwähnt werden wie es denn in der
Praxis gemacht wird. Muss man dann halt aufpassen, keinen zu
demotivieren indem er denkt: "brauch ich nicht zu wissen"