我正在创建一个相当复杂的模块,其中涉及2个模块的时序分析,每个模块都有自己的算法,但在2个有符号的数字作为输入和输出有符号的数字。
我正在使用Xilinx作为我的综合工具,在Verilog中为FPGA设计这个模块。现在我知道Xilinx通常会对任何模块进行最坏情况的时序分析。这意味着,如果我有一个从输入到输出的250皮秒的数字范围,包括路由时间,如果只有一组输入需要400皮秒,那么Xilinx显示的时序分析将是400皮秒。
我的目标是找到:
1)如果对于任何一组数字,模1比模2快。
1)模数1比模数2快的数字范围。
我能想到的唯一合乎逻辑的方法是,通过增加模块的操作频率。也就是说,强制两个模块在300皮秒而不是400皮秒之后给出它们的输出。
显然,如果我增加工作频率,测试台中的一些输入将给出错误的输出。我的假设是,首先给出错误答案的模块具有算法。
所以我的疑虑是:
1)是否可以使用Xilinx提高Verilog中某个模块的工作频率(在合成或分析过程中必须执行的一些设置)。如果没有,有没有更好的工具来做我的时序分析?
2)这种方法可行吗?除了使用Cadence进行门级综合之外,我还可以使用Verilog找到每个门的每组有符号数字的实际时延分析吗?
发布于 2013-07-25 17:23:44
您假设Xilinx总是报告整个设计的最坏情况的时间,这是正确的,在考虑时钟频率的情况下,不要认为合成结果非常准确-一旦您放置和布线了设计,它们可能会有很大的变化。
我猜你可以使用后解析Verilog网表,使用不同的模拟时钟速度来模拟不同的输入-如果有一些慢路径不用于某些输入,你应该能够为这些输入运行更快的模拟时钟。
听起来像是一项非常耗时的任务,我不确定重点是什么。在我来自(汽车)的地方,“最坏的情况”是我们唯一可以自信地看着的数字!
https://stackoverflow.com/questions/17844308
复制相似问题