我在接受采访时被问到这个问题。面试官问了像#34;假设你已经编写了一个代码,用于在verilog中生成250MHz的时钟并合成它。现在,在仿真之前,您将如何确保生成的硬件能够工作250MHz? " 我已经在互联网上搜索了这个但是找不到任何答案。
答案 0 :(得分:3)
答案 1 :(得分:2)
在模拟器上运行生成Verilog代码的时钟。
FPGA供应商通常为模拟器提供其综合工具;或者您可以使用EDA供应商提供的免费模拟器或商业模拟器。
模拟器可让您随时查看设计中信号的所有值,以直观的图形用户界面显示,使您能够在FPGA上部署代码之前查找并修复许多问题。
答案 2 :(得分:1)
很抱歉发帖作为答案,没有评论的声誉。
我想也许面试官想要的答案就是使用时序分析器。
在类似SDC的文件中定义约束,并使用供应商时序分析器检查250MHz时钟是否确实可以在给定硬件中工作。
答案 3 :(得分:0)
由综合或PAR工具创建的网表应通过下面的主要步骤(不限于它们)进行验证。 FPGA工具可以选择写出门级网表并导出技术库,因此第三方工具也可以用于这些步骤。
1)静态时序分析(STA)
验证网表关于用户定义的时序约束的时间。 Xilinx和Intel(以前称为Altera)在其设计套件中都内置了工具。
2)正式/逻辑等效性检查
比较RTL和网表的功能。由于这是一个正式的过程,因此无需输入输入向量(例如testbench)。
3)门级模拟
验证功能和时间。通常,SDF(标准延迟格式)文件被馈送到网表的定时数据。 SDF可以通过综合,STA或PAR工具创建。