1

尽管研究似乎不可能: 将参数传递给xci核心

我正在设计一个使用 Xilinx FIFO 实例的自定义内核。但是,顶层模块具有在 IP Packager 中公开的参数,并且应该修改包含的 FIFO 内核。

module top();
 parameter C_FIFO_DEPTH = 256
 xilinx_fifo_core #(
  .FIFO_DEPTH(C_FIFO_DEPTH)
) my_fifo_instance (...);

这样,当有人实例化我的模块时,通过覆盖参数 C_FIFO_DEPTH,他们也会改变嵌入式 FIFO 的深度。

虽然这适用于用户编写的模块,但它不适用于 IP 内核 (xci) 的实例,它似乎只能通过“自定义 IP”gui 进行配置。

我已经禁用了脱离上下文的生成,但仍然没有骰子。

我目前正在使用打包核心中的 tcl 脚本开发一个(非常混乱的)解决方案,但是迫切需要一个优雅的解决方案。

4

2 回答 2

1

您可以使用XPM_FIFO_xxx内核执行此操作。在 UG953 库指南中查看文档和示例。您也可以使用XPM_MEMORY_xxx.

于 2020-02-05T03:47:54.510 回答
1

我想不出任何优雅的解决方案,但这里有三个更混乱的解决方案:

(1) 只需使用您需要的最大 FIFO。(显然很可能浪费空间。)

(2) 创建一系列不同大小的 FIFO,并使用它generate case来选择合适的。(只有在有用尺寸的范围受到合理限制时才有用。)

(3) 不要使用 IP 块 - 设计自己的 FIFO。(你可能已经想到了。)

于 2016-03-19T02:41:25.787 回答