Vivado操作备注

Vivado操作界面

vivado_windows

Vivado工程整体工作流程及其对应仿真

Vivado一整个工程整体流程如下:

第一步 第二步 第三步
工程流程 .v /.sv文件
用于实现电路逻辑
Run Synthesis(综合)
将代码转成门级网表
Run Implementation(实现)
将门级网表转成FPGA中的电路,即布局布线
功能仿真
(不含延迟)
Run Behavioral Simulation
(验证 RTL 原始功能)
Run Post-Synthesis Functional Simulation
(验证综合后功能未改变—不带电路延迟)
Run Post-Implementation Functional
(验证实现后功能未改变—不带电路延迟)
时序仿真
(含延迟)
无(RTL 无延迟信息) Run Post-Synthesis Timing Simulation
(验证综合后是否满足时序—带电路延迟)
SimulationRun Post-lmplementation Timing Simulation
(验证最终实现是否满足时序—带电路延迟)

可以看到最重要的就是实现电路逻辑,之后综合和实现软件可以自动实现,在综合和实现后进行仿真进行逻辑时序确认。

对于Vivado中的各种仿真,有不小的区别:

simulation

仿真类型 输入来源 是否包含时延 主要目的 典型应用阶段
Behavioral Simulation RTL代码 验证功能逻辑 初始开发
Post-Synthesis Functional 综合后的网表 验证综合后功能是否正确 综合后
Post-Synthesis Timing 网表 + 综合时延 初步验证时序逻辑 时序分析前
Post-Implementation Functional 布局布线后的网表 验证最终实现逻辑 实现后
Post-Implementation Timing 网表 + 精确时延 完整时序验证,签核阶段 收尾

因此对于小型模块或代码的仿真,可以直接用Post-Synthesis Functional来进行,验证功能逻辑ok即可;而对于大型模块或代码的仿真,则需要使用Post-Implementation Timing来进行最终时序的仿真,确保万无一失。