tim 发表于 2010-6-26 01:21:24

fpga提问:Verilog内如何实现左移而不增加字长?

fpga提问:Verilog内如何实现左移而不增加字长?
比如:
做移位寄存器,8位的reg,<<后字长变为9位(和C语言不同)
如何保证字长不增加?

VVIC 发表于 2010-6-26 02:52:29

应该是把原来寄存器的值赋给另一个寄存器,在这个赋值过程中实现移位的吧~记得电脑的核心构架ALU中实现移位都是这样的

FFT 发表于 2010-6-26 04:28:43

应该比较简单的

ICE 发表于 2010-6-26 06:19:42

卡掉一位<br>
wire a,b;<br>
wire b_shift;<br>
assign b_shift=b&lt;&lt;1;<br>
assign a=b_shift;<br>
如果不想卡掉就用循环移位吧

interig 发表于 2010-6-26 07:28:31

在移进新bit的同一拍将移出bit移出使用

ups 发表于 2010-6-26 07:49:25

reg d;<br>
always@(clk)<br>
begin<br>
d &lt;= {d,d};<br>
end

FFT 发表于 2010-6-26 09:03:39

楼主说的太好了<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>

Sunlife 发表于 2015-6-24 10:22:58

在移进新bit的同一拍将移出bit移出使用
页: [1]
查看完整版本: fpga提问:Verilog内如何实现左移而不增加字长?