AutoESL  – 共享内部AP_STREAM和范围-Xilinx-AMD社区-FPGA CPLD-ChipDebug

AutoESL – 共享内部AP_STREAM和范围

描述

我试图在几个文件中定义ap_stream,并且没有收到来自AutoESL的警告。

但是,生成的RTL不正确;它没有通过我的测试平台(当设计的所有部分都在一个文件中时它确实通过)。

内部ap_stream被转换为用于子功能输出的ap_vld接口和用于子功能输入的ap_none接口,而我期望ap_fifo。

发生什么事?

不支持在源文件之间共享内部AP_STREAM。

AP_STREAMS可用于不同文件中定义的函数。

但是,如果AP_STREAM未出现在设计界面中,则通过使用静态限定符将其定义为仅内部。

根据“静态”限定符的定义,这使得流专用于定义它的源文件。

因此,必须在同一文件中定义任何需要访问流的函数。

对于2011.4.2 AutoESL和之前,所有内部(静态)AP_STREAM也需要在顶级源文件中定义,以便作为FIFO正确实现。

即使使用内部AP_STREAM的所有函数都在同一源文件中定义,该文件也必须包含顶级函数。

此限制在AutoESL的2012.1版本中得到修复。

建议对内部流使用AP_STREAM_SIZE()宏以用于底层内存的大小规范。

请登录后发表评论

    没有回复内容