我想实现一个一路输入,8路输出位宽为32位的数据分配器,3位计数器作为分配到哪一路的条件,结果波形中只能把输入的低4位值传到输出,无论输入值多少,输出高28位一直为0. 比如:counter=0,datain=ffff_fffe,得到的dataout1=0000_000e而不是ffff_fffe 最开始代码如下: assign dataout1 = {counter==3'd0}?datain:32'd0; assign dataout2 = {counter==3'd1}?datain:32'd0; assign dataout3 = {counter==3'd2}?datain:32'd0; assign dataout4 = {counter==3'd3}?datain:32'd0; assign dataout5 = {counter==3'd4}?datain:32'd0; assign dataout6 = {counter==3'd5}?datain:32'd0; assign dataout7 = {counter==3'd6}?datain:32'd0; assign dataout8 = {counter==3'd7}?datain:32'd0; 其中counter和datain都是与时钟同步的。 后来我改为了好几种写法都存在同样的问题,不知道怎么写才能实现我想要的功能?
需求补充:括号打错了,应该是小括号
最新人才