使用自生黑盒子进行设计。有关于没有SLIC(TBUF)支持的错误。。这个错误背后的原因是什么?

输出错误消息的形式为:

错误 - 地图:设备< DEVICE_NAME>
不支持SLIC(TBUF)。

有< N>

本设计中的非法SLIC。

错误 - 地图:用户设计中发现的错误。

输出文件未写入。
这些错误消息很可能不是由具有INOUT端口的黑盒引起的。

如果用户在FPGA架构中声明了三态缓冲区,那么通过在MAP进程之前发出不同的错误消息,Synthesis将阻止用户在实现过程中进一步推进。

在MAP,接收上述错误消息的方法之一涉及INOUT端口。
当创建带有INOUT端口的黑盒子时,用户需要在块中声明双向I / O(使用I / O原语)以进入黑盒子。

使用assign语句来生成三态将导致结构中的TBUF,这将无法工作。
例如,以下VHDL代码显示在三态上使用赋值语句将不起作用:

lcd_db_in< = lcd_db;
lcd_db< = lcd_db_out WHEN(wb_we_i ='1')ELSE'Z';
哪里:
lcd_db:INOUT std_logic;
- INOUT端口
wb_we_i:IN std_logic;
- 三态选择端口
SIGNAL lcd_db_in:std_logic;
- 内部电线

SIGNAL lcd_db_out:std_logic;
- 内部电线
VHDL中的解决方法是执行以下操作: 。 - 添加双向I / O组件 。组件BB 。港口( 。B:INOUT STD_LOGIC:='X'; 。I:IN STD_LOGIC:='X'; 。T:IN STD_LOGIC:='X'; 。O:OUT STD_LOGIC); 。结束组成部分; 。 - 实例化双向I / O. 。bidi_cell:BB端口映射(I => lcd_db_out,T => wb_we_i,O => lcd_db_in,B => lcd_db);
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-27 10:55:07 +0800

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

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