2.3系统发生器的DSP -一个S函数错误报告:“未连接的输入端口……”

描述

一般描述:

当我仿真我的系统生成器设计时,报告如下错误:

“S函数3/DELAY2”中的S函数“xL推迟”报告的错误:

未连接的输入端口。

Xilinx块的所有输入端口必须在仿真、编译或列出设计之前连接。

但是,所有由错误引用的块都被正确连接。在不正确使用网关块的情况下,将非Xilinx块连接到Xilinx块也会导致此错误。

解决方案

这个错误指的是Simulink中采样时间和数据类型传播的问题。一般而言,展示这些问题的设计具有反馈环路,如果不进行护理,则会产生传播规则的问题。下面的传播规则有助于为反馈环设计建立一些“Dos和DONT”。

采样时间和数据类型传播

所有系统生成器设计使用采样时间来确定每个块的执行频率,并确定所需的特定数据格式(签名、无符号、特定宽度和正确放置的小数点)。为了保持设计灵活性和可用性,只有两种类型的块必须具有其“采样周期”和“数据类型格式”明确设置:

块中的网关

-没有输入的块(例如计数器、DDS)

所有其他块都从它们的输入继承样本周期和数据类型。

然而,对于这个问题,特别是关于反馈环路,这在DSP应用中是常见的。下面的图表说明了一个反馈系统。这个系统中的加法器有两个输入——这个块的采样周期是由采样周期确定的。二者都输入;如果这些周期不相同,则会发生错误。

由于“B”输入的采样周期还没有确定,因为它处于反馈环路中,所以工具无法传播设计的采样周期,并且显示误导性错误消息。在这个例子中,问题是通过显式地将采样时间设置为“-1”来解决。这被称为“显式继承”,这意味着第一个继承。已知的输入被用作该块的采样周期。

Feedback Loop System
反馈回路系统

请注意,在上面的系统中,加法器不应该设置为全精度,因为这会创建一个代数循环,导致工具报告错误。

下一个图显示了一个类似的反馈示例,这些问题也可能导致“未连接的输入端口”错误。该系统是1位计数器系统,并说明数据类型传播必须如何明确设置。在这个例子中,期望的总线宽度是“1”,但是由于没有环路的输入,系统不接收数据位宽度信息。要解决这个问题,必须使用“转换”块来指定循环这个系统所需的采样周期和数据类型格式。

Feedback Loop System 2
反馈回路系统2

总之,为了避免误导性的“未连接的输入端口”错误,遵循这些“DOS和DONTS”关于反馈回路的基本规则:

1。请确保在反馈循环中使用显式继承运算符(-1),该反馈循环具有来自设计的其他部分的输入,以确保第一已知采样周期被继承。

2。如果在反馈回路中没有输入,则显式地在循环中的块上设置相同的周期。

三。使用“转换”(或“切片和重新解释”)块来避免代数循环,并显式地设置反馈循环的数据类型格式。(算术块的用户定义精度也可以使用。)

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-30 14:45:55 +0800

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

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