ISE11.4 一遇到bidirectional的线路,就没法进行仿真。跪求帮助!
时间:10-02
整理:3721RD
点击:
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类型的双向线路时,一点问题没有过,是哪里需要设置吗?希望有大神提点下,非常感谢!
如果用自带的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类型的双向线路时,一点问题没有过,是哪里需要设置吗?希望有大神提点下,非常感谢!
这个可能要看代码才能解决,不过值得一提的是,可以考查下是不是在如always等块中直接对双向总线赋值了,下面是一点想法
- inout A;
- reg a_r;
- assigns A=a_r;
- always@()
- begin
- a_r=1'b1;
- end
双向~,这种东东只有在低速总线中用到,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
