Vivado生成比特流时opt_design跑了很久;Vivado Implementation缺少一些逻辑的实现;一些逻辑被优化

1. Vivado生成比特流时opt_design跑了很久

在Win10下跑Vivado生成比特流的时候可能会出现一种情况:跑到opt_design这一步的时候跑了几个小时甚至半天都没跑完,打开任务管理器发现Vivado进程的CPU占用率却只有几个百分点。笔者发现了一种方法似乎可行: 菜单Flow -> Implementation Settings,将Opt Design下的第一项is_enabled右边的勾去掉,点击OK后重新生成比特流就好了。笔者亲身试验有效,特此分享。若有错误,欢迎读者在评论指出。

2. Vivado Implementation缺少一些逻辑的实现;一些逻辑被优化

现象:我运行综合,打开综合设计并快速查看似乎没问题的网表。之后我运行了实现,一些逻辑没有任何错误。我从 ZC706 (Zynq Z7C045) 迁移了我的设计,并在其中实时测试了在硬件中运行的设计。合成后利用率约为。 FF:33%,LUT:27%,而实施后是 FF:12%,LUT:14%,这只是另一个表明出现问题的迹象。

从实现日志来看,似乎在扫描阶段有逻辑被修剪。见下文

Phase 4 Sweep

INFO: [Opt 31-12] Eliminated 75896 unconnected nets.

INFO: [Opt 31-11] Eliminated 32829 unconnected cells.

解决办法

opt_design -sweep 意味着删除未连接的叶级实例。opt_design 命令默认执行以下优化:

• Retarget • 重新定位

• Constant Propagation • 不断传播

• Sweep • 扫频

• Block RAM Power optimizations

• Block RAM 功耗优化

可以通过覆盖 opt_design -retarget 来禁用该选项

相关推荐
坏孩子的诺亚方舟19 小时前
FPGA系统架构设计实践5_IP的封装优化
fpga·vivado·rqs·工程质量
Js_cold6 天前
(* MARK_DEBUG=“true“ *)
开发语言·fpga开发·debug·verilog·vivado
Js_cold6 天前
(* clock_buffer_type=“NONE“ *)
开发语言·fpga开发·verilog·vivado·buffer·clock
迎风打盹儿10 天前
一种无需IP核的FPGA RAM初始化方法:基于源码定义与赋值实现
fpga开发·verilog·vivado·ram·rom
南檐巷上学24 天前
Vivado调用FFT IP核进行数据频谱分析
fpga开发·fpga·vivado·fft·快速傅里叶变化
小狗爱吃黄桃罐头1 个月前
Ubuntu20.04 安装Xilinx Vitis/Vivado 桌面图标不显示问题
vivado·vitis
FPGA狂飙1 个月前
传统FPGA开发流程的9大步骤是哪些?
fpga开发·verilog·fpga·vivado·xilinx
白码王子小张1 个月前
FPGA实现CIC抽取滤波器
fpga开发·vivado·xilinx·cic滤波器
forgeda2 个月前
从Vivado集成Lint功能,看FPGA设计的日益ASIC化趋势
fpga开发·vivado·lint·eco·静态检查功能
小飞侠学FPGA2 个月前
VIVADO的IP核 DDS快速使用——生成正弦波,线性调频波
fpga开发·vivado·dds