关于Vivado时序分析介绍以及应用

时序分析在fpga设计中是分析工程很重要的手段,时序分析的原理和相关的公式小编在这里不再介绍,这篇文章是小编在练习vivado软件时序分析的笔记,小编这里使用的是18.1版本的vivado。
这次的练习选择的是zynq的芯片,原本工程是工作在100mhz的时钟,但是作为练习,我们可以把时钟调到一个极限的程度来进行优化。
首先,打开一个工程,更改一下时钟频率,使得工程能够有一些时序问题,我们再通过时序分析的方法对它进行优化。我们这里把原本的100m时钟改成了200m时钟,具体步骤如下:
一:更改时钟之后进行综合,并打开timing analysis
二:通过report clock可以查看全局时钟树的情况
三:通过report timing summary可以看到出现了12个时序问题,总的时序问题达到9个ns多,说明时序问题已经比较糟糕了
四:在timing窗口里面可以查看相关的时序违例信息,这里只显示了10个,可以在report timing summary中选择要查看的个数,比如选择100个
五:我们可以打开setting ->synthesis,更改strategy里面vivado提供的优化strategy来进行相关的优化,不同的strategy对应不同的综合模式
也可以在design runs里面,右键点击相应的sunth->change run settings来修改不同的综合方案
六:这里我们选择flow_perfoptimized_high来进行综合(也可以一个一个的尝试),综合完成之后,可以看到,违例的现象优化到了8条,总的违例时间减少了1ns。
七:小编在尝试各种综合方案之后,发现并不能够优化很好,所以我们开始进行下一步操作——run implementation,看看通过implementation vivado能够把时序问题优化到什么程度。
完成布局布线之后,可以看到先前的时序问题通过布局布线已经被优化了,现在没有了时序问题,但是最差的余量只有0.152ns,这个结果并不是很理想。
八:通过查看时序路径详情,可以看到时序的余量很不理想
那么我们可以通过修改implementation的方案来进行优化,在settings里面找到implementation的strategy,选择不同的方案进行尝试
九:这里我们选择performance explore进行尝试,可以看到通过更改implementation的strategy,时序被优化了,最差的余量达到了0.556ns,比之前更好了,但是似乎还可以再进行优化,需要不断的尝试,从而找到最优的结果。
十:在synthesis的strategy和implementation的strategy里面可以看到其他的一些选项,都可以尝试,比如在implementation的strategy里面有一个flow quick的模式,选择flow quick模式对比之前的模式可以发现,vivado在这个模式下进行布局布线会快很多,但是时序也变的一塌糊涂。小编认为这种模式可以在一些比较大的工程里,比较赶时间的情况下尝试使用。
十一:同样的,我们还可以通过report power来查看功耗情况,并通过更改一些策略进行优化,其他的一些功能小编也在探索中。

精彩预告 | OpenHarmony Meetup 2023 广州站即将启幕
步入“Bank4.0”时代,奥拓电子助力多家银行智慧化升级
人工智能的发展有何新变化?
为什么晶振不集成到IC内部
传感器/变送器原理
关于Vivado时序分析介绍以及应用
自动驾驶芯片之争:ARM Cortex-A76AE对决MIPS I6500-F
正12V转负12V电路
Magic Leap公布首次独立创作者项目获奖名单
R&S推出有源相控阵雷达测试系统TS6710
GameGPT进军游戏制作!全自动生成游戏,时间可缩百倍
ADC噪声:从何而来?
日本手机供货量创历史新低,出货第一是苹果
ADI技术文章 - 采样保持放大器
关于数据分析的五个趋势
聊聊GPU通信技术
Linux系统开发中进程与线程的基本原理
Radview--Web和应用程序负载测试
现场总线系统有什么特点?在低压配电自动化系统中现场总线技术有什么应用?
互联网巨头进军AI农业 农业颠覆靠AI