Kurzschreibweise if/else in VHDL

Gast #1787150
Lesenswert?

Sorry für Doppelpost, aber ich habs jetzt mal so gemacht:
1
MUXCY_L port map(LO => en_seed, CI => '1', DI => '0', S => reset);

Da schalte ich also in Abhängigkeit von reset en_seed zwischen 0 und 1.
Irgendwelche Einwände? =)
Moderator (Firma: Titel) Persönliche Seite #1787173
Lesenswert?

> Irgendwelche Einwände? =)
Arg Plattformabhängig, das Ganze... :-/

Und wozu eigentlich ein Mux für diese Aufgabe:
> in Abhängigkeit von reset en_seed zwischen 0 und 1
Das ginge kürzer so:
  enseed <= not reset;
oder so:
  enseed <= reset;

Ich würde einen MUX als concurrent-Beschreibung schreiben:
1
   output <= valueA when reset ='0' else ValueB;
2
-- oder
3
   output <= value when reset ='0' else '0';
Gast #1787188
Lesenswert?

Lothar Miller schrieb:
> Arg Plattformabhängig, das Ganze... :-/

Jepp... soll aber nur auf nem Virtex5 Board laufen. Also nicht weiter 
tragisch.

> Und wozu eigentlich ein Mux für diese Aufgabe:
>> in Abhängigkeit von reset en_seed zwischen 0 und 1
> Das ginge kürzer so:
>   enseed <= not reset;
> oder so:
>   enseed <= reset;

Jo... ist mir auch aufgefallen =) ! Habs auch schon geändert. Wozu den 
Mux? Ich wollte nen kleines LSFR basteln, bei dem bei reset als seed ne 
1 gegeben, sonst aber die Feedback Leitung anliegt.

Deswegen hab ich immer noch nen Mux am Eingang des ersten FFs:
1
seed_mux: MUXCY_L port map(LO => mux_out, CI => '1', DI => fb, S => reset);

Kann man das so machen? Oder läuft man da Gefahr wegen Glitches usw?
Moderator (Firma: Titel) Persönliche Seite #1787195
Lesenswert?

> Oder läuft man da Gefahr wegen Glitches usw?
Klar gibt es bei Kombinatorik (und ein Mux ist das) immer die Gefahr von 
Glitches. Aber dafür ist bei synchronen Designs der Takt zuständig: 
rechtzeitig vor dem nächsten Taktimpuls muß das Ergebnis der 
Kombinatorik stabil sein.

> Kann man das so machen?
Kann man schon, ist aber sehr sehr unleserlich.
Ein paar leserliche LFSR findest du da:
http://www.lothar-miller.de/s9y/categories/38-LFSR

> Ich wollte nen kleines LSFR basteln, bei dem bei reset als
> seed ne 1 gegeben, sonst aber die Feedback Leitung anliegt.
Wozu ein Reset bei einem LFSR?
Gast #1787510
Lesenswert?

Also ich hab gerade entweder ein Verständnisproblem, oder das gewählte 
Polynom ist einfach so (was ich aber nicht verstehe).
Ich wollte einen LFSR mit dem Polynom X³+X+1 generieren. Dabei 
wiederholt sich die Ausgabe immer nach Sieben Takten. Es kommt immer 
1101000. Dabei dachte ich, wechselt die Ausgabe zufällig bei diesem 
Polynom???
Weiß jemand ne Antwort?
Moderator (Firma: Titel) Persönliche Seite #1787819
Lesenswert?

> Also ich hab gerade entweder ein Verständnisproblem, oder das gewählte
> Polynom ist einfach so (was ich aber nicht verstehe).
Pauschal: Zeile 42 ist falsch.
Oder: wer soll dir ohne Code sagen, was du falsch gemacht hast?

> Ich wollte einen LFSR mit dem Polynom X³+X+1 generieren.
Also sowas, wie dort in der Mitte der Seite:
http://www.newwaveinstruments.com/resources/articles/m_sequence_linear_feedback_shift_register_lfsr.htm
Ja, das passt doch: mit 3 FFs kannst du maximal 7 unterschiedliche 
Zustände kodieren (die 111 kann ja nicht vorkommen). Diese 7 Werte 
wiederholen sich dann dauernd. Und für mich sehen die Werte zufällig 
aus:
1101000 -->
110 = 6
101 = 5
010 = 2
100 = 4
000 = 0
001 = 1
011 = 3
Moderator (Firma: Titel) Persönliche Seite #1788441
Lesenswert?

> Ich dachte es sind eben die sieben Zustände die zufällig enstehen...
Die Reihenfolge der 7 Zustände ist zufällig.
Wenn du etwas erreichen willst, das über längere Zeit zufällig aussieht, 
brauchst du ein Polynom mit einem wesentlich längeren Schieberegister. 
Ein Schiebereigister mit 32 Bits wiederholt sich z.B. erst nach 
4294967295 Takten.

Der Trick der Polynome ist, dass mit einem geeigneten Polynom jeder der 
2^n-1 Zustände während einer Wiederholung genau 1 mal vorkommt. Ein 
ungeeignetes Polynom lässt Werte aus und/oder voerdoppelt einige...

> Aber anscheinend werden die Zustände einem nach dem anderen abgeklappert
> und wiederholt...
Logisch: an dem Aufbau ist doch überhaupt nichts zufälliges. Es ist ein 
Schieberegister mit 3 Flipflops. Und bei einem rückgekoppelten 
Schieberegister wiederholt sich (bestenfalls) irgendwann alles. 
Schlimmstenfalls erreicht das Ganze einfach einen stabilen Zustand...

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