微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > assign 左右值不等,咋回事

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,有时又正常。这是怎么回事? 求解!

另外,32位的sdram,用4个x8的device拼的,4个同一个module的实例化,只有最高位就是上文提到的这个Dq7是这样。怎么也没理出来个头绪。

来个大神讨论讨论啊

你的Dq为wire 类型,出现这种现象一般是存在多驱的关系,当两个或多个驱动单个数据位电平相同时,信号正常,不同就是显示结果x,你查一下有没有多驱



    谢谢, 找到原因了。 方向控制的时候{32{1‘bz}}写成{31{1’bz}}了,太粗心了。

输入输出端口作为输出端口是,要先赋为高阻

出这种不科学的问题,最蛋疼;给人没有找错的动力!

加个复位看看

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top