Entwicklung einer digitalen Schaltung

Gast #3975307
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
Gast
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.
Gast
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?
Gast
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.
Gast
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.
Gast
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.
Gast
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
Gast
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. ;)
Gast
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"

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.