在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6478|回复: 2

[求助] ISE11.4 一遇到bidirectional的线路,就没法进行仿真。。。跪求帮助!!

[复制链接]
发表于 2012-7-21 22:42:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
ISE11.4 对iic和sram进行仿真时,一遇到bidirectional的线路,就没法进行仿真。。。
如果用自带的isim仿真,就显示:
ERROR:HDLCompiler:731 - "D:/ISESource/UnderWaterSources/testing/TEST_2/fusion20100817/test.v" Line 285: Procedural assignment to a non-register <SAA7121_IIC_SCL> is not permitted.
ERROR:HDLCompiler:731 - "D:/ISESource/UnderWaterSources/testing/TEST_2/fusion20100817/test.v" Line 286: Procedural assignment to a non-register <SAA7121_IIC_SDA> is not permitted.
如果用modelsim se进行仿真,就显示:
# ** Error: test.v(285): (vlog-2110) Illegal reference to net "SAA7121_IIC_SCL".
# ** Error: test.v(286): (vlog-2110) Illegal reference to net "SAA7121_IIC_SDA".

应该都是同一个问题。。。不用bidirectional类型的双向线路时,一点问题没有过,是哪里需要设置吗?希望有大神提点下,非常感谢!!!
发表于 2012-7-22 13:22:17 | 显示全部楼层
这个可能要看代码才能解决,不过值得一提的是,可以考查下是不是在如always等块中直接对双向总线赋值了,下面是一点想法




  1. inout A;
  2. reg a_r;
  3. assigns A=a_r;
  4. always@()
  5. begin
  6.     a_r=1'b1;
  7. end



复制代码
发表于 2012-7-22 21:04:01 | 显示全部楼层
双向~,这种东东只有在低速总线中用到,iic,localbus。到opencores上找个例子,一看就明白了。

不过一般情况是
always @(posedge clk or posedge rst)
begin
    if(rst)
    begin
    end
    else if(signal_out_en)
    begin
        a_out <= a_out_r;
   end
   else
    begin
       a_out <= 'hz
    end
end
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 16:57 , Processed in 0.020376 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表