问题描述
我们总是有一些 HDL 模块用于不同的 FPGA 项目。可能是 DSP 模块或协议控制器等。设计可重用的模块是一种很好的做法。
我们将 HDL 模块视为有限结构。它让我们牢记一些重要的时序分析问题。 Fmax 是多少?我们必须在哪里放置寄存器才能实现统一的寄存器到寄存器时序?
获得答案会给我们带来好处。我们设计的模块可以为未来的项目轻松配置。我们避免更改 HDL 代码。例如,我们可以简单地将 Fmax 指定为模块描述下方的注释。粗略的慢角估计就够了。
// Name : multiplexer
// Author : Alex Shepel
// Description : Multiplexes input signals. Selects channel by binary number on "sel" bus.
// Fmax : 10M50SCE144I7G = 250 MHz
// 10M50SCE144I6G = 300 MHz
所以我们需要对单独的模块进行后映射时序分析。在这种情况下,我们必须为它们编写 SDC 约束。我在这里遇到了麻烦。我们选择什么样的数据输入延迟?我认为我们必须将我们的模块想象成某个抽象项目的一部分。假设数据在完美的时间到达模块输入端口(因为它是同步的)。
这些时间是什么时候?至少,它们必须涵盖触发器的建立时间。但是我在哪里可以找到这个值?收到数据表的链接会很棒。不幸的是,我无法自己为 Max10 系列找到这些时间。
此外,收到其他对单独 HDL 模块的映射后时序分析的建议也会很棒。也许我的问题有误,或者这样的时序分析毫无意义。看到这样的想法也会很棒。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)