Forum: FPGA, VHDL & Co. VHDL - for-Schleife


von wert (Gast)


Lesenswert?

Hi Leute!

Ich hab wieder eine Frage zu VHDL.

Heute geht's um for-Schleifen.

Da ich C/C++ gewohnt bin, ist VHDL jetzt schon irgendwie eine große 
Umstellung. Deswegen hab ich nun zu diesem Code-Fragment eine Frage:
1
for i in 0 to 7 loop
2
  w(i) <= a(i) and b;   -- 8bit bus "a" mit Einzelsignal "b" verunden
3
end loop;


In C/C++ muss man im Kopf der for-Schleife die Zählvariable 
inkrementieren; i++ bspw. Warum muss man das VHDL nicht? Oder ist dieser 
Code falsch?

In Abhängigkeit von i wird dem w also irgendwie was zugeordnet. Ich 
verstehe also nicht so ganz was mit dem Ausdruck
1
a(i) and b
 gemeint ist.

Könnt ihr mir da helfen?

von Christian R. (supachris)


Lesenswert?

Das ist so, weil anders als in C/C++ eine for-Schleife in VHDL eine 
parallele Hardware ist. In deinem konkreten Fall werden zwei Vektoren 
ver-Undet und zwar alle Bits auf einem Schlag gleichzeitig. 
For-Schleifen werden in VHDL/Verilog immer aufgerollt.
In deinem konkreten Fall könntest du auch schreiben:
1
w(0) <= a(0) and b;
2
w(1) <= a(1) and b;
3
w(2) <= a(2) and b;
4
w(3) <= a(3) and b;
5
w(4) <= a(4) and b;
6
w(5) <= a(5) and b;
7
w(6) <= a(6) and b;
8
w(7) <= a(7) and b;

Das wäre exakt das gleiche. Nur weil das weniger zu schreiben ist, kann 
man auch die for-Schleife nehmen.

Immer merken. For ist in VHDL/Verilog parallel, in C/C++ usw. dagegen 
sequenziell.

von wert (Gast)


Lesenswert?

Christian R. schrieb:
> Das ist so, weil anders als in C/C++ eine for-Schleife in VHDL eine
> parallele Hardware ist. In deinem konkreten Fall werden zwei Vektoren
> ver-Undet und zwar alle Bits auf einem Schlag gleichzeitig.
> For-Schleifen werden in VHDL/Verilog immer aufgerollt.

Meinst du mit "aufrollen" immer von 0 nach oben zählen? Wie gibt man an 
wie weit man nach oben zählen will?



> Immer merken. For ist in VHDL/Verilog parallel, in C/C++ usw. dagegen
> sequenziell.

Was bedeutet parallel? In C/C++ wird bspw. erst w(0) ein Wert zugewiesen 
dann w(1) usw. In VHDL geht das dann in einem Rutsch quasi alles auf 
einmal, oder wie? Irgendwie schwierig vorzustellen...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

wert schrieb:
> Meinst du mit "aufrollen" immer von 0 nach oben zählen? Wie gibt man an
> wie weit man nach oben zählen will?
Aufgerollt wird so, wie du die Schleife hinschreibst.

>> Immer merken. For ist in VHDL/Verilog parallel, in C/C++ usw. dagegen
>> sequenziell.
> In VHDL geht das dann in einem Rutsch quasi alles auf
> einmal, oder wie?
Nicht in VHDL, sondern in der damit beschriebenen Hardware geht das "auf 
einmal", einfach, weil alles paralell existiert.

> Irgendwie schwierig vorzustellen...
Wird schon noch...

Einfach merken: VHDL ist nicht C!
Ein Syntaxelement, das in beiden Sprachen vorkommt, muss nicht auch 
beide Male das gleiche bewirken...

Sieh dir einfach immer wieder mal den RTL-Plan deiner VHDL-Beschreibung 
an (es ist kein VHDL "Programm"!)

von wert (Gast)


Lesenswert?

Gut, ich werd mir merken, es ist eine VHDL-Beschreibung!

1
for i in 0 to 7 loop
2
  w(i) <= a(i) and b;   -- 8bit bus "a" mit Einzelsignal "b" verunden
3
end loop;

Ich hab also noch dieses Code-Fragment. Ich frage mich nun schon die 
ganze Zeit - da ich auch weiß, dass es in VHDL auch Funktionen gibt - 
wie ich aus dieser for-Schleife eine Funktion aufrufen kann.
Könntet ihr mir vielleicht helfen und mein Code-Fragment um einen 
x-beliebige Funktionsaufruf erweitern?

Wie die Funktion heißen soll ist ja egal. Nenn wir sie einfach myFunc 
oder so...

von wert (Gast)


Lesenswert?

1
function parity_generator (din : std_ulogic_vector)
2
                           return std_ulogic is
3
  variable t : std_ulogic := '0';   -- variable mit default Zuweisung
4
begin
5
  
6
  for i in din'range loop           -- ganze Busbreite
7
     t := t xor din(i);
8
  end loop;
9
10
return t;
11
end parity_generator;

Ich hab nun auf Wiki ein Beispiel gefunden, dass mir eine Funktion 
zeigt, die eine for-Schleife besitzt. In dieser for-Loop verstehe ich 
nun einiges nicht. "for i" ist soweit noch in Ordnung. Das "i" ist die 
Zählvariable das "in" kommt mir aus meinem anderen Beispiel auch noch 
bekannt vor und kenn ich auch noch. Aber nun geht's los: Was soll das 
"din'range" bedeuten?

Weitere Frage: An eine Funktion kann doch bestimmt auch ein Wert "von 
außen" übergeben werden. Wie greife ich innerhalb der Funktion bzw. 
innerhalb der for-Loop (was ja wahrscheinlich gleich bleiben dürfte!) 
drauf zu?

Wie man lesen kann, steht in der Funktionsdefinition auch "din". 
Anscheinend wird an die Funktion vector übergeben, der in der Funktion 
mit "din" benannt wird. Ich verstehe aber nun "din'range" leider immer 
noch nicht, auch wenn ich mir vorstellen kann, dass das was damit zu tun 
hat.
Über dieses " ' " im Code von VHDL-Beschreibungen bin ich auch schon 
desöfteren in Form von Prozessen gestoßen. Leider hab ich da auch noch 
nicht so ganz verstanden, was es mit diesem " ' " auf sich hat!


Vielleicht mögt ihr mir ja meine Fragen beantworten?

von Christian R. (supachris)


Lesenswert?

wert schrieb:
> Wie gibt man an
> wie weit man nach oben zählen will?

In deinem Beispiel oben 0 bis 7, steht ja da. Die beschriebene 
Hardware wird also 8 mal nebeneinander abgebildet. Denke mal bei 
VHDL immer in Gattern und FlipFlops. Das was da als For-Schleife steht, 
sind einfach 8 UND-Gatter.

Funktionen in VHDL sehen zwar ähnlich aus, wie in C, machen aber auch 
was anderes. Hinter einer Funktion (die synthetisierbar ist) verbirgt 
sich nichts weiter als eine Schaltung. Das Wort aufrufen passt bei VHDL 
aber auch nicht.

Ich geb dir einen guten Rat: Als Anfänger brauchst du keine 
For-Schleifen, keine (selbst geschriebenen) Funktionen und nur genau 
einen einzigen Takt in deinem System.

Und denke außerdem dran: Nur etwa 5% von VHDL lassen sich 
synthetisieren, also in Hardware wirklich benutzen. Der Rest ist für die 
Simulation.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Das ' (sprich: Tic) zeigt an, dass anschliessend ein Attribut kommt, 
das auf den vorhergehenden Ausdruck angewendet werden soll. Ein recht 
bekanntes Attribut ist z.B. 'event für die Auswertung eines 
Signalwechsels (als Beschreibung einer steigenden oder fallenden Flanke 
eines Taktes).

Such mal mit Google nach vhdlqrc und druck dir die dann aus.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Christian R. schrieb:
> Ich geb dir einen guten Rat: Als Anfänger brauchst du keine
> For-Schleifen, keine (selbst geschriebenen) Funktionen und nur genau
> einen einzigen Takt in deinem System.
Und nur in seltensten Ausnahmefällen das erste halbe Jahr eine Variable!
Hier sind sie nochmal, meine Postulate:
Beitrag "VHDL - For-Schleife"
Ein TIpp: lies den Thread ruhig mal ganz durch.

Und auch der hier geht alle Anfänger (und insbesondere die 
Programmierer) an:
Beitrag "Re: Einige Fragen zu VHDL"

von Bronco (Gast)


Lesenswert?

wert schrieb:
> Ich hab wieder eine Frage zu VHDL.

Ich Tip:
Programmiersprache in C usw. laufen auf einem Prozessor, der ein 
Programm Schritt für Schritt abarbeitet.
Mit VHDL beschreibst Du das Verhalten einer Schaltung. Es gibt aber 
keinen Prozessor, der das "VHDL-Programm" abarbeiten würde.

von wert (Gast)


Lesenswert?

Danke für eure Hilfe!

Ich hab dann mal noch eine Frage, allerdings nicht zu for-Schleifen, 
sondern, zu concurrent statements.

Wie würdet ihr concurrent statements in einem Satz beschreiben?

Ich hab das mal so probiert: Concurrent Statements sind nebenläufige 
Signalzuweiseungen,  für die es egal ist, an welcher Stelle innerhalb 
der Architektur sie aufgerufen werden.

Könnte man das so sagen?

von J. S. (engineer) Benutzerseite


Lesenswert?

wert schrieb:
> Wie würdet ihr concurrent statements in einem Satz beschreiben?

Vom Satz her bedeutet es ja so was wie gleichsam/-zeitig existente 
Deklarationen"

Mit Bezug auf die Fragestellung C++/VHDL würde ich es so übersetzen:

"gleichzeitig ausführbare Anweisungen"

wert schrieb:
> In C/C++ muss man im Kopf der for-Schleife die Zählvariable
>
> inkrementieren; i++ bspw. Warum muss man das VHDL nicht?

Doch, aber die Anweisung steckt im Kommando "loop" mit drin. Der 
Synthesizer, also das Programmpaket, weiss schon, dass er um 1 erhöhen 
soll.

Bezüglich Deiner grundsätzlichen Frage und Herangehensweise:

Ich habe den Studenten immer erklärt, dass man mit VHDL nicht direkt den 
Chip-, sondern das Chipprogrammiertool programmiert und kommandiert.

Die Loopanweisung führt also nicht der Chip aus, sondern das Programm 
zur Compile/Ausführungszeit und tut irgendwas mehrfach. Dabei kann 
durchaus ein zeitlich variantes Schaltwerk rauskommen - muss aber nicht. 
Es kann auch eine mehrdimensionale pipeline oder Matrix aufgezogen 
werden. Das Ganze ähnelt sehr den Beschreigungen, wie sie auch im CAD/MM 
BEreich benutzt werden, um Szenen für Renderanimationen zu beschreiben. 
Dort werden gewaltige Gebilde mit Schleifen und bool'schen Operationen 
gebildet.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

wert schrieb:
> an welcher Stelle innerhalb der Architektur sie aufgerufen werden.
Da wird nichts "aufgerufen". Die nebenläufige Anweisung steht einfach 
nur da.

Jürgen S. schrieb:
> Ich habe den Studenten immer erklärt, dass man mit VHDL nicht direkt den
> Chip-, sondern das Chipprogrammiertool programmiert und kommandiert.
>
> Die Loopanweisung führt also nicht der Chip aus, sondern das Programm
> zur Compile/Ausführungszeit und tut irgendwas mehrfach.
Du darfst das "Chipprogrammiertool" und das "Programm" schon beim Namen 
nennen: Synthesizer. Oder wenns globaler werden soll (und 
Translate,P&R,Bitgen... dazukommen) auch Toolchain. Dann bekommt man ein 
Gefühl dafür, dass es eben nicht nur 1 Programm ist, das da versteckt 
die Arbeit tut, sondern mehrere, die jeweils eine nahezu unabhängige 
Funktion haben.
Das ist das erste, was ich meinen Praktikanten und Diplomanden (sowie 
auch Ba­che­lo­randen und Masteranden [*]) klar mache.



[*]
Das sind ja mal blöde Wortschöpfungen...
Und vor/trotz allem deutscher Sprachgebrauch laut Duden:
http://www.duden.de/rechtschreibung/Bachelorand
http://www.duden.de/rechtschreibung/Masterand

von Fritz J. (fritzjaeger)


Lesenswert?

>
> Ich habe den Studenten immer erklärt, dass man mit VHDL nicht direkt den
> Chip-, sondern das Chipprogrammiertool programmiert und kommandiert.
>
> Die Loopanweisung führt also nicht der Chip aus, sondern das Programm
> zur Compile/Ausführungszeit und tut irgendwas mehrfach. Dabei kann
> durchaus ein zeitlich variantes Schaltwerk rauskommen - muss aber nicht.


Argh, mit VHDL wird nicht programmiert sondern Hardware beschrieben!

Das wird zwar der Etymologie nicht gerecht, vermeidert aber dicke 
Kopfschmerzen. Da wird auch nix zur Laufzeit ausgeführt sondern die 
Verhaltensbeschreibung eine Äquivalente Netzliste überführt.
Loop bedeutet hier auch nicht schleife im sinne eines mehrfaches 
Durchlaufen eines Zyklus sondern das nebeneinander ausführen der selbeb 
Funktion durch unabhängige Instanzen, also eher loop - unrooling oder 
cloning.

Vielleicht sollte man den Stunden erst eine Netzbeschreibung wie in 
Spice oder EDIFF nahebringen und dann zeigen das VHDL durch die Synthese 
in eine solche überführt. Vergleiche mit Programmiersprachen wie 
C/PASCAL/ADA sind m.E. immer kontraproduktiv.

MfG,

von Christian R. (supachris)


Lesenswert?

Fritz Jaeger schrieb:
> Vielleicht sollte man den Stunden erst eine Netzbeschreibung wie in
> Spice oder EDIFF nahebringen und dann zeigen das VHDL durch die Synthese
> in eine solche überführt.

Ich erkläre immer, dass VHDL/Verilog lediglich eine texturelle 
Darstellung eines Schaltplans ist.

von Klaus F. (kfalser)


Lesenswert?

Christian R. schrieb:

> Ich erkläre immer, dass VHDL/Verilog lediglich eine texturelle
> Darstellung eines Schaltplans ist.

Nein, VHDL/Verilog ist die Beschreibung des VERHALTENS des Schaltplans, 
nicht des Schaltplans selbst.
Daraus kann man dann einen Schaltplan erzeugen, der sich genauso verhält 
wie die gewünschte Beschreibung.
Das muss nicht unbedingt eindeutig sein, wie man bei der VHDL Synthese 
sieht.
Der Compiler für Altera wird aus der selben Beschreibung eine andere 
Netzliste erzeugen als der von Xilinx, weil er andere Elemente zur 
Verfügung hat.

von Christian R. (supachris)


Lesenswert?

Sicher, aber wenn du das einem Studenten versuchst zu erklären, fällt 
der meist wieder in die Programm-Denkweise zurück. Ein Verhalten ist für 
die meisten, die mal programmiert haben, nicht das, was "wir" unter 
Verhalten verstehen.

von Bronco (Gast)


Lesenswert?

Christian R. schrieb:
> Sicher, aber wenn du das einem Studenten versuchst zu erklären, fällt
> der meist wieder in die Programm-Denkweise zurück.

Das erinnert mich daran, wie ich in VHDL anfangs mal versucht habe, 
einen Zeiger zu übergeben ;)

von Drill-Tutor (Gast)


Lesenswert?

> Das erinnert mich daran, wie ich in VHDL anfangs mal versucht habe,
> einen Zeiger zu übergeben ;)

Mag jemand einen Thread "Die schlimmsten Verbrechen in VHDL starten"?

Ich hab da mal von einem ATA-Controller gehört der rekursiv beschrieben 
wurde. Synthetisierte zu genialen 278 kHz maximale Taktfrequenz.

Gruß

von Uwe (Gast)


Lesenswert?

Am Anfang muß man begreifen, daß man VHDL interpretieren muß und dabei 
am Ende ein Schaltplan herauskommt. Der vergleich mit einem 
Rederingprogramm finde ich sehr treffen. Nennt sich übrigens SDL 
(Scene-Description-Language). VHDL ist halt auch eine HDL 
(Hardware-Description-Language). Dort wird etwas gebaut. Und wenn man 
mal ein gebautes Teil öffter brauch dann packt man es halt in eine 
Schleife und "zeichnet" es öfter in den Schaltplan. In der Schleife muß 
man nun auch mathematisch beschreiben welche "Pins" (Signale) des 
Bauteils mit welchen "Pins" anderer Bauteile verdrahte werden sollen.
Wenn man eine Schleife bauen möchte muß man erstmal etwas bauen das 
Zählen kann. Also einen Zähler, (aus FlipFlops) und wenn man bis zu 
einem bestimmten Wert zählen möchte, dann muß man an den Zähler einen 
Vergleicher anschließen (Comparator).

von Dipl.-Ing. (TH) (Gast)


Lesenswert?

Fritz Jaeger schrieb:
> Argh, mit VHDL wird nicht programmiert sondern Hardware beschrieben!

"prgrammieren" = "vorschreiben" siehe Wikipedia!

Fritz Jaeger schrieb:
> Da wird auch nix zur Laufzeit ausgeführt
Aber klar doch. Es war die Laufzeit des Syntheseprogramms gemeint.

Das Synthesprogramm wird angewiesen (also "programmiert"), was es tun 
soll, ähnlich, wie eine Werkzeugmaschine.

von Dipl.-Ing. (TH) (Gast)


Lesenswert?

Klaus Falser schrieb:
> Nein, VHDL/Verilog ist die Beschreibung des VERHALTENS des Schaltplans,
>
> nicht des Schaltplans selbst.

Moment mal, dass ist jetzt das "Miauen" des "Katzengesangs".

Da hast Du Dich verrannt, oder verschrieben. Pläne haben keine 
Eigenschaft "Verhalten" sondern nur die Eigenschaften "existent", 
"detailliert" etc.... Pläne sind statisch!

Es wird also nicht das Verhalten des Schaltplans, sondern das 
Verhalten der Schaltung beschrieben! Und das Verhalten der Schaltung 
wird durch das Aufschreiben oder Malen beschrieben und damit "geplant".

Damit ist VHDL auf der logischen Ebene wie ein Schaltplan.

Du darfst nicht übersehen, dass ein Schaltplan durch die Darstellung der 
Verbindungen nicht nur die Struktur- sondern auch Verhalten 
symbolisiert, weil durch die Nennnung der Chips klar ist, was passiert. 
Das ist definitiv so, sonst könnte kein Simulator eine Schaltung 
simulieren.

von Christian R. (supachris)


Lesenswert?

Dipl.-Ing. (TH) schrieb:
> Damit ist VHDL auf der logischen Ebene wie ein Schaltplan.

Sehe ich ähnlich, und damit kann man die meisten auch in die richtige 
Denkweise bringen.

von Klaus Falser (Gast)


Lesenswert?

Dipl.-Ing. (TH) schrieb:
> Da hast Du Dich verrannt, oder verschrieben. Pläne haben keine
> Eigenschaft "Verhalten" sondern nur die Eigenschaften "existent",
> "detailliert" etc.... Pläne sind statisch!
>
> Es wird also nicht das Verhalten des Schaltplans, sondern das
> Verhalten der Schaltung beschrieben! Und das Verhalten der Schaltung
> wird durch das Aufschreiben oder Malen beschrieben und damit "geplant".

Ok, da muss ich mich entschuldigen, da hätte ich genauer sein sollen.
Ich meinte natürlich das Verhalten der Schaltung.
Ein Schaltplan ist für mich aber nur die Beschreibung der Verdrahtung, 
also was wohin verbunden ist.
Er beschreibt eigentlich nicht wann und wie sich die Signale ändern, das 
steckt im Wissen über das Verhalten der verdrahteten Komponenten.

Ist aber alles letztendlich ein Streit um des Kaisers Bart, wenn jeder 
versteht worum es geht ist ja alles OK.

von Berndt (Gast)


Lesenswert?

Klaus Falser schrieb:
> Ok, da muss ich mich entschuldigen,

warum schreibst du als Gast?

Ich sehe es ähnlich wie Christian: VDHL ist eine Darstellung der 
Struktur, aber auch des Verhaltens. Es ist eben beides.

Dipl.-Ing. (TH) schrieb:
> Fritz Jaeger schrieb:
>
>> Da wird auch nix zur Laufzeit ausgeführt
>
> Aber klar doch. Es war die Laufzeit des Syntheseprogramms gemeint.

Man darf den Begriff Programm nicht immer nur in die Software 
hineindenken und Abläufe sehen.

Eine Modenschau, eine Zauberveranschaltung und sogar manche Parteien, 
haben auch ein "Programm".

von Fritz J. (fritzjaeger)


Lesenswert?

Berndt schrieb:
> Klaus Falser schrieb:
>> Ok, da muss ich mich entschuldigen,
>
> warum schreibst du als Gast?
>
> Ich sehe es ähnlich wie Christian: VDHL ist eine Darstellung der
> Struktur, aber auch des Verhaltens. Es ist eben beides.
>
> Dipl.-Ing. (TH) schrieb:
>> Fritz Jaeger schrieb:
>>
>>> Da wird auch nix zur Laufzeit ausgeführt
>>
>> Aber klar doch. Es war die Laufzeit des Syntheseprogramms gemeint.
>
> Man darf den Begriff Programm nicht immer nur in die Software
> hineindenken und Abläufe sehen.
>
> Eine Modenschau, eine Zauberveranschaltung und sogar manche Parteien,
> haben auch ein "Programm".

Klar hat "Programmieren" eine Etymologie die andere  Wortbedeutungen 
beinhalten. Aber jetzt Lernende aufzufordern sich in die Gemeinsamkeiten 
zwischen einem VHDL-Programm und dem Programm der Piratenpartei ist doch 
ungequirrlter Bullensch*:
MfG,

von Fritz J. (fritzjaeger)


Lesenswert?

Dipl.-Ing. (TH) schrieb:
> Fritz Jaeger schrieb:
>> Argh, mit VHDL wird nicht programmiert sondern Hardware beschrieben!
>
> "prgrammieren" = "vorschreiben" siehe Wikipedia!


Hier ist nicht Wikipedia hier ist die geballte Kompetenz von mehreren 
Hundert Mannjahren VHDL-Erfahrung. Und die besagt das man tunlichst 
vermeiden soll das Erstellen von VHDL-Code mit der Erstellung von 
Computerprogrammen zu erklären oder nahezubringen.
Ferner impliziert "Laufzeitumgebung" eine Interpretersprache die VHDL 
bestimmt nicht ist. Es sei denn man bezeichnet jeden Text der von einem 
Computer verarbeitet wird als Programm.

>
> Fritz Jaeger schrieb:
>> Da wird auch nix zur Laufzeit ausgeführt
> Aber klar doch. Es war die Laufzeit des Syntheseprogramms gemeint.
>
> Das Synthesprogramm wird angewiesen (also "programmiert"), was es tun
> soll, ähnlich, wie eine Werkzeugmaschine.

Nein, es handelt sich hierbei nicht um die Abarbeitung eines im 
VHDL-Code hinterlegten Ablauf sondern um die Synthese von einer 
Beschreibungsform in die andere. Es behauptet auch keiner eine 
Spracherkennung wie Siri würde durch das gesprochenen Wort programmiert, 
oder die Bildverarbeitung durch das zu verarbeitende Bild.
MfG

von Fritz J. (fritzjaeger)


Lesenswert?

Klaus Falser schrieb:
> Christian R. schrieb:
>
>> Ich erkläre immer, dass VHDL/Verilog lediglich eine texturelle
>> Darstellung eines Schaltplans ist.
>
> Nein, VHDL/Verilog ist die Beschreibung des VERHALTENS des Schaltplans,
> nicht des Schaltplans selbst.
> Daraus kann man dann einen Schaltplan erzeugen, der sich genauso verhält
> wie die gewünschte Beschreibung.
> Das muss nicht unbedingt eindeutig sein, wie man bei der VHDL Synthese
> sieht.

?Beispiele? Mir fällt gerade kein eindeutiger synthesefähiger Code ein. 
Gerade für die Synthese muss das System vollständig beschrieben sein, 
insbesonderes alle Zustandsübergänge und alle Übertragungsfunktionen.

Eine verhaltensbeschreibung wie "Wenn CE für 8 Takte 1 war dann schalte 
den Ausgang auf 1". genügt keinesfalls dem synthesetool um daraus einen 
Zähler zu bauen. Da musst du schon die komplette Struktur vorgeben 
(Kodierung der Zustandsvariable, Abfolge, etc). Erst wenn alles 
eindeutig ist, bekommst eine BinärUp oder binärDown, oder Gray, oder 
OneHot SR, oder LFSR mit komperator, oder, oder oder.

MfG,

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.