首页 » 技术SOS » EDA与制造 » 逻辑电路 » quartus编译环境下可综合数据分配器(Verilog)如何写?

quartus编译环境下可综合数据分配器(Verilog)如何写?

菜鸟
2010-03-28 15:33:25     悬赏5分
我想实现一个一路输入,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都是与时钟同步的。 后来我改为了好几种写法都存在同样的问题,不知道怎么写才能实现我想要的功能?
需求补充: 括号打错了,应该是小括号
分享
关键词: 可综合代码, 数据分配 verilog  
高工
2010-08-31 11:33:24
1楼

按说不该有这种情况的。能把你的详细的代码传上来看看吗?

助工
2011-07-16 00:14:44
2楼

会不会是端口定义错误。

专家
2023-07-06 23:03:37
3楼

把你的详细的代码传上来看看吗