Y
yangbay81983
Guest
16bits rotere venstre
Kan jeg skrive verilog slik:
rotate_left:
/ / Trenger 16 2-til-1mux til slutt 1-bit shift venstre
if (! Cnt [0])
in_stage2 [15:0] = In [15:0];
ellers
in_stage2 [15:0] = (I [14:0], I [15]);
/ / Trenger 16 2-til-1mux til slutt 2-bit shift venstre
if (! Cnt [1])
in_stage3 [15:0] = in_stage2 [15:0];
ellers
in_stage3 [15:0] = (in_stage2 [13:0], in_stage2 [15:14]);
/ / Trenger 16 2-til-1mux avslutter 4-bit shift venstre
if (! Cnt [2])
in_stage4 [15:0] = in_stage3 [15:0];
ellers
in_stage4 [15:0] = (in_stage3 [11:0], in_stage3 [15:12]);
/ / Trenger 16 2-til-1mux til slutt 8-bit shift venstre
if (! Cnt [3])
Out [15:0] = in_stage4 [15:0];
ellers
Out [15:0] = (in_stage4 [7:0], in_stage4 [15:8]);
Mye feil ved kompilering.Takk
Kan jeg skrive verilog slik:
rotate_left:
/ / Trenger 16 2-til-1mux til slutt 1-bit shift venstre
if (! Cnt [0])
in_stage2 [15:0] = In [15:0];
ellers
in_stage2 [15:0] = (I [14:0], I [15]);
/ / Trenger 16 2-til-1mux til slutt 2-bit shift venstre
if (! Cnt [1])
in_stage3 [15:0] = in_stage2 [15:0];
ellers
in_stage3 [15:0] = (in_stage2 [13:0], in_stage2 [15:14]);
/ / Trenger 16 2-til-1mux avslutter 4-bit shift venstre
if (! Cnt [2])
in_stage4 [15:0] = in_stage3 [15:0];
ellers
in_stage4 [15:0] = (in_stage3 [11:0], in_stage3 [15:12]);
/ / Trenger 16 2-til-1mux til slutt 8-bit shift venstre
if (! Cnt [3])
Out [15:0] = in_stage4 [15:0];
ellers
Out [15:0] = (in_stage4 [7:0], in_stage4 [15:8]);
Mye feil ved kompilering.Takk