3.3 RTL详细描述和分析 |
|
详细描述(Elaboration)是指将RTL优化到FPGA技术。Vivado集成开发环境允许实现下面的功能:
(1)设计者导入和管理下面的RTL源文件,包括Verilog、System Verilog、VHDL、NGC,或者测试平台文件。
(2)通过RTL编辑器创建和修改源文件。
(3)源文件视图。
① 层次:以层次化显示设计中的模块。
② 库:以目录的形式显示源文件。
在基于RTL的设计中,详细描述是第一步。当设计者打开一个详细描述的 RTL设计时,Vivado集成环境编译RTL源文件,并且加载RTL网表,用于交互式分析。设计者可以查看RTL结构、语法和逻辑定义。分析和报告能力包括:
● RTL编译有效性和语法检查。
● 网表和原理图研究。
● 设计规则检查。
● 使用一个RTL端口列表的早期I/O引脚规划。
● 可以在一个视图中选择一个对象,然后在其他视图中交叉检测包含在RTL内定义的实例和逻辑定义。
RTL详细描述和分析的步骤如下所示。
第一步 :在源窗口下,选择top.vhd文件或者top.v文件。
第二步 :如图3.11所示,在Vivado左侧的流程管理窗口找到“RTL Analysis”(RTL分析)选项,并展开。
第三步 :在展开项中,选择并用鼠标单击“Open Elaborated Design”。Vivado开始运行“Elaborated Design”过程。该过程提供了下面选项:
(1)Report DRC。
运行设计规则检查,并报告检查结果。
(2)Report Noise。
基于XDC文件,在设计上检查SSO(同时开关输出)。
(3)Schematic。
打开原理图。
当运行完该过程后,如图3.12所示,可以看到“Open Elaborated Design”选项变成了“Elaborated Design”。
图3.11 执行RTL分析
图3.12 执行完RTL分析
第四步 :如图3.12所示,自动打开“RTL Schematic”。可以看到生成的对HDL详细描述后得到的网表结构。需要注意:
(1)在这个阶段,并不推断出I/O缓冲区。
(2)将每个模块打开,用于更进一步揭示层次内下面的逻辑和子模块。
(3)是对真实代码设计最贴切的表示。
如果设计者重新运行“Elaborated Design”,则在如图3.12所示的界面内,选择“Elaborated Design”,单击鼠标右键,出现浮动菜单。在浮动菜单内执行菜单命令【Reload Design】。
在图3.13内的原理图界面内,选择一个对象,单击鼠标右键,出现浮动菜单。在浮动菜单内,执行菜单命令【Go To Source】,将自动跳转到定义该对象源代码的位置。
第五步 :查看RTL级网表,如图3.14所示,在源窗口内,选择“RTL Netlist”标签,可以看到网表逻辑结构,下面对图标含义进行说明。
(1) :表示总线。
(2) :表示IO总线。
(3) :表示网络。
图3.13 打开RTL详细描述后的结构
图3.14查看RTL级网表
(4) :表示IO网络。
(5) :表示层次化单元(逻辑)。
(6) :表示层次化单元(黑盒)。
那些不包含网表或者逻辑内容的层次化单元,由Vivado理解为黑盒。一个层次化的单元可能是一个设计的黑盒,也可能是编码错误或者丢失文件。
(7) :表示层次化单元(分配到Pblock)。
(8) :表示层次化单元(黑盒分配到Pblock)。
(9) :表示原语单元(分配到Pblock)。
(10) :表示原语单元(放置并且分配到Pblock)。
(11) :表示原语单元(没有分配的布局约束)。
(12) :表示原语单元(已经分配了布局约束)。