0

我正在创建一个相当复杂的模块,其中涉及 2 个模块的时序分析,每个模块都有自己的算法,但将 2 个有符号数作为输入并输出一个有符号数。

我正在使用 Xilinx 作为我的综合工具在 Verilog 中为 FPGA 设计这个模块。现在我了解到赛灵思通常会为任何模块提供最坏情况下的时序分析。这意味着,如果我有一个从输入到输出(包括路由时间)需要 250 皮秒的数字范围,如果甚至有一组输入需要 400 皮秒,那么 Xilinx 显示的时序分析将是 400 皮秒。

我的目标是找到:

1) 如果模块 1 对于任何一组数字都比模块 2 快。

1) 模块 1 比模块 2 快的数字范围。

我能想到的唯一合乎逻辑的方法是提高模块的工作频率。那就是强制两个模块在 300 皮秒而不是 400 皮秒之后给出它们的输出。

显然,如果我提高工作频率,测试台中的一些输入会给出错误的输出。我的假设是,首先开始给出错误答案的模块具有算法。

所以我的疑问是:

1)是否可以使用 Xilinx 增加 Verilog 中模块的工作频率(在综合或分析期间我必须强制执行的一些设置)。如果没有,是否有更好的工具可以进行时序分析?

2)这种方法可行吗?没有使用 Cadence 进行门级合成,无论如何,我可以使用 Verilog 找出每个门的每组有符号数字的实际时间延迟分析吗?

4

1 回答 1

0

您假设赛灵思总是报告整个设计的最坏情况时序是正确的,在涉及时钟速率的情况下,不要认为综合结果非常准确 - 一旦您放置和路由设计。

我想你可以使用 post-PAR Verilog 网表并使用不同的模拟时钟速度使用各种输入进行模拟 - 如果某些输入不使用慢速路径,你应该能够更快地运行模拟时钟输入。

听起来像是一项非常耗时的任务,我不确定重点是什么。我来自哪里(汽车行业)“最坏情况”是我们可以满怀信心地看到的唯一数字!

于 2013-07-25T09:23:44.450 回答