全局综合(global synthesis)
全局综合意味着整个设计在一个synthesis design run流程中完成,这样会带来几个好处。一是使得综合工具能够最大化地进行设计优化,尤其是层次间的优化(这些优化是其他综合流程不能实现的)。二是对于综合后的设计分析带来了很大的便利。当然,其不足之处也是很明显的,那就是编译时间会很长。但这一不足之处可以借助增量综合得以缓解。需要注意的是因为是全局综合,所以xdc中描述的约束是以顶层为基准进行索引的。
ipi综合(block design synthesis)
vivado ipi (ip integrator)提供了直观的模块化的设计方法。用户可以将vivado ip catalog中的ip、用户自己的rtl代码、或者用户已有的bd文件添加到ip integrator中构成block design,设计更复杂的系统,如下图所示。
ipi使得用户可以方便地将特定功能打包放入设计中,这样用户可以将焦点放在整个系统上,而非系统的某个部分。对于block design,vivado提供了如下图所示的三种综合方式。其中global为全局综合方式,其余两种均为ooc(out-of-context)综合方式,只是ooc的粒度不同而已。ooc可以有效缩短编译时间。
ooc综合方式
ooc综合方式可以使用户单独对设计的某个层次进行综合,然后再对整个设计进行综合,此时,ooc综合的对象会被当作黑盒子对待。通常,对于xilinx的ip,我们建议采用ooc综合方式。ooc可以缩短后续整个设计综合所需时间,同时,若设计发生改变,而ooc综合对象没有改变,那么整个设计的综合就不需要再对ooc对象进行综合。一旦采用ooc综合方式,在design runs窗口中就会看到相应的ooc module runs,如下图所示。
增量综合(incremental synthesis)
增量综合可以使综合工具复用之前已有的综合结果,从而缩短编译时间。但增量综合是有前提条件的,即设计可以形成至少4个分割(partitions),而每个分割至少包含25000个模块。这里的“模块”既包含设计层次也包含rtl原语。vivado提供了四种增量综合模式,如下图所示。其中off表明关闭增量综合,quick模式不会进行边界优化。default模式会执行大部分逻辑优化包括边界优化,相对于非增量模式,能显著缩短编译时间。aggressive模式会执行所有的逻辑优化,编译时间缩短程度最为明显。对于低性能设计需求,可以使用quick模式,而对于高性能设计需求,建议采用其余三种模式。
模块化综合(block-level synthesis)
本身vivado提供了多种综合策略和各种综合设置选项,但其面向的对象是整个设计,换言之,这是一种全局设置。block-level综合技术则打破了这一常规,可以对不同层次的设计设置不同的选项或应用不同的综合策略,从而达到更好的综合质量。
block-level综合技术需要通过xdc约束来实现,如下图所示。
我们来看一个例子:设计中有4个模块u1、u2、u3和inst1,而inst1又嵌入在u3里。现在我们需要对u1使能retiming,对u2和u3使用area_optimized策略,对inst1使用default综合策略,那么我们就可以通过下图所示约束实现。
苹果手机与vivo手机的对比,国产手机用户呈现直线上的增长
【廿年回馈 百亿智慧】研讨交流共进步 思想碰撞促提升
电路级ESD的防护方法
嵌入式指纹锁系统电路设计
手表中框如何进行防水测试
Vivado Synthesis的各种流程
RFMD推出氮化镓功率倍增模块RFCM2680
危机四伏的日本半导体设备
新型智能路灯 可自动调亮度诊断故障
各个种类的电子线选择标准都有哪些注意事项
请注意,这14类IC今年会增长迅速
水下通信系统中水声功率放大器的驱动应用
如何判断PCB厂家是否具有高效高质量的生产能力
微软宣布未来将不再发展Visual Basic编程语言
关于NS-BFK变压器风冷控制柜的详细介绍
几款史上最丑的SUV都不敢直视了!标致3008、哈弗H2、海马S5 Young
L4级别自动驾驶初创公司文远知行WeRide宣布完成B1轮融资
中科创达现场展出NB-IoT解决方案及其优秀的应用案例
香港券商备1550亿“抢”小米,证监会提出84问
遇到LED屏零线发烫现象,有什么治理措施