verilog schnippsel

OP #2531944
Lesenswert?
• ▲
▼
Hallo,

kann jmd was mit dem Code anfangen?
1
wire     [3:0]    rx_data;
2

3
assign tx_enable = (
4
  ((mode == `ETH_SEND) | (mode == `ETH_PAUSE)) & 
5
  ((state != `ETH_CLK_DLY) & (state != `ETH_IDLE)));
6

7
assign buffer_next = {  
8
  buffer[19:16],
9
  buffer[31:28],
10
  buffer[11:8],
11
  buffer[23:20],
12
  buffer[3:0],
13
  buffer[15:12],
14
  (mode != `ETH_PAUSE) ? rx_data : 4'h0,
15
  buffer[7:4] };

Was macht assign buffer_next?
Wofür steht rx_data : 4'h0?
#2532679
Lesenswert?
• ▲
▼
Dieses Konstrukt

assign buffer_next = {
  buffer[19:16],
  buffer[31:28],
  buffer[11:8],
  buffer[23:20],
  buffer[3:0],
  buffer[15:12],
  (mode != `ETH_PAUSE) ? rx_data : 4'h0,
  buffer[7:4] };

heißt auf Deutsch: Weise dem Vektor buffer_next die Aneinanderhängung 
der Werte buffer[19 bis 16], [31 bis 28] ... [7 bis 4] zu. In der Summe 
stehen auf der rechten Seite des Gleichheitszeichens 8 mal 4 Bit, also 
ist anzunehmen, dass buffer_next ein 32 Bit breiter Vektor ist. Falls 
buffer_next noch breiter ist, werden die oberen Stellen mit 0 gefüllt, 
falls es schmaler ist, werden die oberen Stellen der rechten Seite 
ignoriert.

Deine Frage "Werden alle buffer-Bereiche gleichzeitig mit rx_data 
beschrieben?" muss also mit Nein beantwortet werden. Nur die Bits [7:4] 
von buffer_next werden mit rd_data beschrieben, und auch das nur dann, 
wenn mode != `ETH_PAUSE, ansonsten mit 0.

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.