11110000 im Schieberegister rotieren lassen

Gast #6170155
Lesenswert?
• ▲
▼
Beitrag "Re: 11110000 im Schieberegister rotieren lassen"

Hallo Leute, ich habe da eine Problemstellung bei der ihr euch 
hoffentlich auskennt. Ich möchte in einem 8-Bit- Schieberegister 
11110000 im Kreis rotieren lassen, so das immer vier zusammen hängende 
Einzen unterwegs sind. Das Rückkopplungsnetzwerk sollte aus jedem 
Anfangszustand zu diesem 11110000 Bitmuster hinkommen. Drei triviale 
Lösungen verwerfe ich:

1. Taktfrequenz durch 8 teilen und den Eingang des Schieberegisters 
damit füttern.

2. Eine 256 Bit Tabelle in einem EPROM etc.

3. Den vierten Ausgang invertiert auf den Eingang des Schieberegisters 
und hoffen, das das Schieberegister mit 00000000 startet...

Wie kann man so ein Rückkopplungsnetzwerk gestalten?
Sorry dafür, das ich zuerst einen Thread bei uC und digital gestartet 
habe.
#6170163
Lesenswert?
• ▲
▼
Moin,

Franz Ganz schrieb:
> 2. Eine 256 Bit Tabelle in einem EPROM etc.

Dann nimmste halt diese Tabelle und vereinfachst die soweit moeglich; 
z.b. so:

https://de.wikipedia.org/wiki/Verfahren_nach_Quine_und_McCluskey

Abhaengig davon, nach wievielen Clks dein Schieberegister wieder 
"passen" sollte, wird sich dieser boolsche Ausdruck wahrscheinlich mehr 
oder weniger gut vereinfachen lassen.

Was ist der Sinn des ganzen? Sowas wie Trockenschwimmen?

Gruss
WK
#6170957
Lesenswert?
• ▲
▼
Franz Ganz schrieb:
> Habe selber diese Lösung erarbeitet.

Da würde mich mal der gesamte Schaltplan interessieren, inkl. Benennung 
der Bauteile.

Aus dem Parallelthread geht hervor dass Du mit dem Muster flexibel sein 
möchtest. Ist dass in deiner Lösung implementiert?

Beitrag "Re: 11110000 im Schieberegister rotieren lassen"

Ich bin nach wie vor bei einem uC. Am besten einer mit genügend Ports, 
um zusätzliche ICs zu vermeiden.

Wozu dient das Ganze?
Gast #6172542
Lesenswert?
• ▲
▼
Vielleicht stehe ich gerade auf der Leitung, aber was macht dieses Thema 
im FPGA-Forum, wenn es eigentlich um TTL-Bausteine geht?

Im FPGA würde man des Schieberegister rückkoppeln und auf 0x0F resetten, 
etwa so:

logic [7:0] sr;
always_ff @(posedge clk or negedge rstn) begin
   if (!rstn)
      sr <= 8'h0F;
   else
      sr <= {sr, sr[7:1]};
end

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [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.