Entprellen RX Signal bei UART

OP #655967
Danke für den Hinweis.

Bisher verstand ich unter Konkatenation die Verschmelzung zweier Felder 
zu einem größerem Feld.
In VHDL muß diese Operation anders definiert sein.
Wo finde ich eine nähere Beschreibung zur Konkatenation,die genau dieses 
Verhalten der Bitverschiebung nach links erläutert?
Gast #655972
>Bisher verstand ich unter Konkatenation die Verschmelzung zweier Felder
>zu einem größerem Feld.

Das ist auch in VHDL so.
1
signal test : std_ulogic_vector(length-1 downto 0);
2
...
3
test <= test(length-2 downto 0) & test(length-1);
rotiert das ganze nach links.
OP #656025
Hallo Frank dein Beispiel ist zunächt nicht weiterhelfend zum 
Verständnis der Rotation im Hautpfeld.

In dem Beispiel UART werden 2 Signale miteinader verbunden.Beide Signale 
haben eine vorgegebene Bitbreite von 4 und 1 Bit.
Erfolgt die Verschiebung nach links durch Angabe einer reduzierten 
Bitbreite von 0 bis 2 vom Hauptfeld ? Das höchtswertigste Bit wird 
vergessen. Damit die Siggnaldefinition wieder erfüllt ist wid ein Bit 
von links hinzugefügt.
Gast #656046
RX_SR wird als 4 bit Vektor definiert: (3 downto 0)

In der Signalzuweisung werden die untersten 3 Bits (LSBs) selektiert:

RX_SR(2 downto 0)

nun wird an diesen 3-bit-Vektor rechts ein zus. Bit angefügt:

RX_SR <= RX_SR(2 downto 0) & RX

damit erhält man wieder einen 4 bit breiten Vektor, der RX_SR zugewiesen 
wird. Die 3 LSBs landen dabei eine Bitposition weiter links und als LSB 
wird RX eingefügt. Damit erhält man ein Schieberegister.
Alles klar?

Um die Lesbarkeit zu verbessern könnte man auch schreiben:

RX_SR(3 downto 0) <= RX_SR(2 downto 0) & RX;

oder

RX_SR <= RX_SR(RX_SR'LEFT-1 downto 0) & RX;

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 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]
  • [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.