assign 左右值不等,咋回事
时间:10-02
整理:3721RD
点击:
sdram memory 行为级模型数据inout类端口Dq[7:0].
assign Dq[7:0] = Dq_reg[7:0];
inout三态数据总线的控制这8位都是一样的,做为输出时,波形上看Dq[6:0]一直等于Dq_reg[6:0]。但有时Dq_reg[7]为1‘b1时,Dq[7]为1’bx,有时又正常。这是怎么回事? 求解!
assign Dq[7:0] = Dq_reg[7:0];
inout三态数据总线的控制这8位都是一样的,做为输出时,波形上看Dq[6:0]一直等于Dq_reg[6:0]。但有时Dq_reg[7]为1‘b1时,Dq[7]为1’bx,有时又正常。这是怎么回事? 求解!
另外,32位的sdram,用4个x8的device拼的,4个同一个module的实例化,只有最高位就是上文提到的这个Dq7是这样。怎么也没理出来个头绪。
来个大神讨论讨论啊
你的Dq为wire 类型,出现这种现象一般是存在多驱的关系,当两个或多个驱动单个数据位电平相同时,信号正常,不同就是显示结果x,你查一下有没有多驱
谢谢, 找到原因了。 方向控制的时候{32{1‘bz}}写成{31{1’bz}}了,太粗心了。
输入输出端口作为输出端口是,要先赋为高阻
出这种不科学的问题,最蛋疼;给人没有找错的动力!
加个复位看看