关于Verilog中移位表达式out<={out[2:0],in}的详解

请问在Verilog里, out<={out[2:0],in}; 或者 out<={in,out[3:1]}; 这种类型的表达式具体是怎么执行的(即原理)?谢谢

这在电路上是描述移位寄存器,比如out<={in,out[3:1]}; 这是在将out[3:0]右移一位,舍弃最低位out[0]同时高位移入in。追问

非常感谢您的解释,顺便在问一下,out<={in,out[3:2]};这种写法合法么?如果合法,请问这个表达式是什么意思呢?谢谢

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-01-20
移位寄存器,out<={in,out[3:2]}; 如果in是一位,out是4位(out[3:0])的话,那么左右位数不一致,只会报警告,会
out[3] 不变
out[2] = in;
out[1] = out[3];
out[0] = out[2];
相似回答
大家正在搜