fpga提问:Verilog内如何实现左移而不增加字长?
fpga提问:Verilog内如何实现左移而不增加字长?比如:
做移位寄存器,8位的reg,<<后字长变为9位(和C语言不同)
如何保证字长不增加? 应该是把原来寄存器的值赋给另一个寄存器,在这个赋值过程中实现移位的吧~记得电脑的核心构架ALU中实现移位都是这样的 应该比较简单的 卡掉一位<br>
wire a,b;<br>
wire b_shift;<br>
assign b_shift=b<<1;<br>
assign a=b_shift;<br>
如果不想卡掉就用循环移位吧 在移进新bit的同一拍将移出bit移出使用 reg d;<br>
always@(clk)<br>
begin<br>
d <= {d,d};<br>
end 楼主说的太好了<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
---------------------------------------------------------------------------------------------------------------------------------------<br>
Don't stand in the way of my actualization as a man<br> 在移进新bit的同一拍将移出bit移出使用
页:
[1]