5.1i ECS,行为仿真,VHDL—IOBUF的输出总是“X”

描述

关键词:ECS、行为、仿真、IOBUF、X、IOO伪、错误

紧迫性:标准

一般描述:
当我使用ECS示意工具时,IOBUF的输出始终是行为仿真中的“X”。

这个问题是由一个影响创建示意图的VHDL方式的bug引起的。

下面的示例显示生成的VHDL的片段:
开始
IO & lt;=IOI-伪;
XLXIII1: IOBUF
端口映射(i=& gt;MyOxOUT,IO=& gt;IOI-伪,O= & G. Myin);
t=&t;t);
结束示意图;

注意,创建了一个哑信号;顶级I/O端口被设置为IOI-哑。当IOBUF用作输出缓冲器时,这是有效的。该值来自IOBUF,进入IOUMUMY,然后移至I/O,但当IOBUF用作输入时,该值无法传递到IOBUF。这个值出现在I/O上,但是IOUMUMIN从来没有被设置为等于I/O,所以IOBUF不能获取这个值。

解决方案

若要解决此问题,请修改为示意图创建的VHDL。当虚拟信号被删除,I/O直接连接到I/O时,输出将是正确的。

例如
开始
XLXIII1: IOBUF
端口映射(I=>;MyIOUT,IO=>;IO,O= >;Myoin,t=>;t);
结束示意图;

解决问题的另一种方法是将综合流转换为Verilog,因为Verilog HDL将被正确创建。(此解决方案还要求在Verilog中创建TestBooad)。
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-30 14:53:24 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它