vivado 框图开发
好的,我们来详细讲解一下在 Vivado 中使用框图(原理图/Schematic) 方式进行FPGA开发的主要流程和概念。
核心概念:框图设计
- 什么是框图设计? 这是一种图形化的硬件设计方法。你不需要直接编写Verilog或VHDL代码,而是通过拖放预定义的逻辑符号(门电路、触发器、IP核等) 到画布上,然后用导线(Wires) 或总线(Busses) 将它们连接起来,构建出所需的数字电路。
- Vivado中的实现: Vivado提供了一个专门的原理图编辑器(Schematic Editor)来支持这种设计流程。
- 适用场景:
- 小型项目或特定模块的快速原型设计。
- 教学演示,直观展示硬件结构。
- 集成和连接预定义的IP核(如处理器、存储器控制器、通信接口等)。
- 对于硬件背景强但HDL不熟悉的工程师入门。
- 与HDL设计的对比:
- 优点: 直观可视,易于理解硬件连接关系;对于IP核集成连线方便;避免语法错误。
- 缺点: 设计复杂度高时,原理图会变得非常庞大和难以管理;可移植性较差(依赖特定工具);描述复杂行为不如HDL灵活高效;版本控制和团队协作不如HDL方便;调试底层细节可能更困难。现代FPGA设计的主流是HDL(Verilog/VHDL)。
Vivado 框图开发详细步骤:
-
创建或打开项目:
- 启动 Vivado。
- 选择
Create Project(新建项目)或Open Project(打开现有项目)。 - 如果是新建项目,按向导操作:
- 设置项目名称和位置。
- 选择项目类型为
RTL Project(即使你用框图,最终也是生成RTL网表)。 - 关键步骤: 在添加源文件步骤,暂时跳过(
Do not specify sources at this time)。这里先不添加HDL文件。 - 选择目标FPGA器件型号或开发板。这一步非常重要!
-
添加框图源文件:
- 在
Flow Navigator(流程导航器) 或Sources(源文件) 窗口右键点击Design Sources。 - 选择
Add Sources...(添加源文件)。 - 选择
Add or create design sources(添加或创建设计源文件)。 - 点击
Create File(创建文件)。 - 文件类型: 选择
Schematic(原理图)。 - 输入文件名 (如
my_design_schematic),点击OK,然后Finish。 - 在弹出的接口定义窗口通常点击
OK即可(框图本身不定义端口,端口通常在顶层HDL或原理图端口符号中定义)。
- 在
-
绘制原理图:
- 在
Sources窗口中双击新创建的.sch文件(如my_design_schematic.sch),打开原理图编辑器。 - 添加符号:
- 通常左侧有
Diagram(绘图) 工具面板。找到Add Symbol(添加符号) 图标(通常像一个逻辑门或矩形框)。 - 点击
Add Symbol后,会出现符号库浏览器(Symbolstab)。 - 常用库:
primitives:包含基本门电路(AND, OR, NOT, XOR)、触发器(FDCE, FDPE)、锁存器、多路选择器(MUX)、比较器等基本逻辑单元。IP/Xilinx Parameterized Macros:包含Vivado生成的IP核(如Block Memory, FIFO, DSP, Clock Wizard, Processor System等)。这是框图设计中非常强大的部分。logic:一些额外的逻辑符号。- 你项目中已有的HDL模块(如果之前添加过)也会出现在这里,可以当作“黑盒子”符号使用。
- 浏览或搜索找到需要的符号,双击或拖动到画布上。
- 通常左侧有
- 连接符号:
- 使用
Add Wire(添加导线) 工具(图标像一支笔或带节点的线)点击一个符号的输出引脚,然后拖动到另一个符号的输入引脚。Vivado会自动绘制连接线。 - 对于总线(多位信号),使用
Add Bus(添加总线) 工具(图标像多条平行的线)进行连接。需要确保总线宽度匹配。 - 使用
Add Net Alias(添加网络别名) 工具(图标像一个小标签<>)给重要的导线或总线命名。这能极大提高原理图的可读性,也方便HDL顶层或约束文件引用。
- 使用
- 添加输入/输出端口:
- 找到
Add Port(添加端口) 工具(图标像一个矩形带<或>)。 - 选择端口方向 (
Input,Output,Inout)。 - 指定端口名称(如
clk,reset,data_in[7:0],data_out[15:0])。 - 对于多位端口(总线端口),用
[high:low]格式指定宽度(如[7:0])。 - 将端口符号拖放到画布边缘合适位置。
- 用导线或总线将端口连接到内部逻辑符号的相应引脚。
- 找到
- 编辑与修改:
- 选择: 使用
Select(选择) 工具(箭头图标)点击符号或线进行选择。可以移动、删除(Delete键)、复制粘贴。 - 缩放: 使用鼠标滚轮或工具栏缩放按钮。
- 网格: 通常启用网格对齐更方便(工具栏有开关)。
- 选择: 使用
- 保存: 经常保存(
Ctrl+S)你的原理图。
- 在
-
设置顶层模块:
- 如果你的设计只有一个原理图文件,Vivado通常会自动将它设为顶层模块(Top Module)。
- 在
Sources窗口中,检查你的.sch文件是否带有一个<>图标(表示顶层)。 - 如果不是顶层,右键点击该原理图文件,选择
Set as Top(设为顶层)。
-
综合、实现与生成比特流:
- 在
Flow Navigator中依次运行:- Run Synthesis (运行综合):将原理图(以及它调用的所有低层次符号/IP)转换为目标FPGA器件的底层逻辑网表(EDIF或NGC格式)。综合报告会显示资源使用估算、时序分析初步结果等。
- Run Implementation` (运行实现): 将综合后的网表进行布局布线(Place & Route),映射到FPGA的具体物理资源(LUT, FF, BRAM, DSP, 布线资源)上。实现报告提供详细的资源利用率、时序分析结果(建立时间/保持时间是否满足)、功耗估算等。仔细检查时序报告是否满足要求!
- Generate Bitstream (生成比特流):将实现后的设计生成配置文件(
.bit)。这个文件将通过JTAG/USB等接口下载到FPGA中运行。
- 在
-
下载与调试:
- 连接好FPGA开发板(确保电源和下载线正确)。
- 在
Flow Navigator的Hardware Manager下选择Open Target->Auto Connect。 - 找到开发板上的FPGA设备。
- 右键点击设备,选择
Program Device(编程器件)。 - 在弹出的对话框中,选择第5步生成的
.bit文件。 - 勾选
Program并点击OK。配置成功后,你的框图设计就开始在FPGA硬件上运行了。 - 使用逻辑分析仪(如Vivado内置的ILA)或外接仪器进行调试。
重要注意事项:
- 顶层问题: 框图设计通常适合作为设计的顶层(Top Level),负责连接各个IP核或大型模块。复杂逻辑最好用HDL编写,然后在框图顶层实例化HDL模块符号进行集成。
- IP核集成: 框图设计最大的优势之一是可视化地实例化和连接Vivado IP核(如MicroBlaze/Zynq PS、DDR控制器、PCIe、Ethernet等)。这是非常常用的场景。
- 版本兼容性: Vivado不同版本之间,原理图文件(
.sch)的兼容性可能不如HDL好。注意版本迁移。 - 可维护性与规模: 框图设计在规模变大后非常难以阅读和维护。强烈建议将复杂逻辑封装到HDL模块中,然后在顶层原理图里只做模块实例化和连接。
- 仿真: 框图设计也可以进行仿真(行为级或时序后仿真)。在
Flow Navigator的Simulation下运行Run Simulation。原理图会被转换为网表或HDL供仿真器使用。添加Testbench的方法与HDL项目相同。 - 约束文件: 物理约束(管脚分配
.xdc)和时序约束(.xdc)仍然必不可少!框图设计不会自动生成这些约束,你需要手动创建或编辑约束文件,告诉Vivado输入输出信号的引脚位置、时钟频率等信息。
总结:
Vivado的框图(原理图)设计提供了一种直观的图形化硬件构建方式,特别适合连接IP核、构建顶层结构、快速原型验证小型逻辑或用于教学。它避免了HDL语法细节,可视化展示了硬件连接。然而,对于中大型项目或复杂时序逻辑设计,HDL(Verilog/VHDL) 在可维护性、可扩展性、描述能力、团队协作和版本控制方面具有压倒性优势,是现代FPGA开发的主力。框图设计通常作为辅助手段,与HDL设计结合使用。
如果你刚开始学习,理解框图有助于建立硬件概念,但务必尽快掌握HDL编程,这才是FPGA工程师的核心技能。
Vivado无法选中开发板的常见原因及解决方法
在使用 AMD Vivado Design Suite 对开发板(Evaluation Board)进行 FPGA 开发时,我们通常希望在创建工
2025-07-15 10:19:43
什么是Vivado?资料下载
电子发烧友网为你提供什么是Vivado?资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助到广大的电子工程师们。
资料下载
h1654155957.9921
2021-04-07 08:51:46
Vivado设计流程指导手册
Vivado 设计分为 Project Mode 和 Non-project Mode 两种模式,一般简单设计中,我们常用的是 Project Mode。在本手册中,我们将以一个简单的实验案例,一步一步的完成 Vivado
资料下载
姚小熊27
2021-03-22 11:39:53
Vivado开发软件下板验证教程
系统性的掌握技术开发以及相关要求,对个人就业以及职业发展都有着潜在的帮助,希望对大家有所帮助。本次带来Vivado系列,使用Vivado
2023-03-08 14:21:00
Xilinx FPGA Vivado开发流程介绍
系统性的掌握技术开发以及相关要求,对个人就业以及职业发展都有着潜在的帮助,希望对大家有所帮助。本次带来Vivado系列,Vivado
2023-02-21 09:16:44
基于microblaze的vivado开发流程
、SW拨码开关以下是官网提供的资料链接:arty a7开发板资料Pmod DA4资料vivado安装说明board files添加基于microblaze的v
FPGA开发Vivado的仿真设计案例分析
仿真功能概述 仿真FPGA开发中常用的功能,通过给设计注入激励和观察输出结果,验证设计的功能性。Vivado设计套件支持如下仿真工具:Vivado
2020-12-31 11:44:00
如何查看Vivado 2015.3的程序框图信息?
我试图在Vivado 2015.3中运行Zynq基础TRD 2015.2。我无法看到程序框图的详细信息(如附件中所示)。它显示为IP。有没有办法查看内容?
换一换
- 如何分清usb-c和type-c的区别
- 中国芯片现状怎样?芯片发展分析
- vga接口接线图及vga接口定义
- 芯片的工作原理是什么?
- 华为harmonyos是什么意思,看懂鸿蒙OS系统!
- 什么是蓝牙?它的主要作用是什么?
- ssd是什么意思
- 汽车电子包含哪些领域?
- TWS蓝牙耳机是什么意思?你真的了解吗
- 什么是单片机?有什么用?
- 升压电路图汇总解析
- plc的工作原理是什么?
- 再次免费公开一肖一吗
- 充电桩一般是如何收费的?有哪些收费标准?
- ADC是什么?高精度ADC是什么意思?
- dtmb信号覆盖城市查询
- EDA是什么?有什么作用?
- 中科院研发成功2nm光刻机
- 苹果手机哪几个支持无线充电的?
- type-c四根线接法图解
- 华为芯片为什么受制于美国?
- 怎样挑选路由器?
- 元宇宙概念股龙头一览
- 锂电池和铅酸电池哪个好?
- 什么是场效应管?它的作用是什么?
- 如何进行编码器的正确接线?接线方法介绍
- 虚短与虚断的概念介绍及区别
- 晶振的作用是什么?
- 大疆无人机的价格贵吗?大约在什么价位?
- 苹果nfc功能怎么复制门禁卡
- amoled屏幕和oled区别
- 单片机和嵌入式的区别是什么
- 复位电路的原理及作用
- BLDC电机技术分析
- dsp是什么意思?有什么作用?
- 苹果无线充电器怎么使用?
- iphone13promax电池容量是多少毫安
- 芯片的组成材料有什么
- 特斯拉充电桩充电是如何收费的?收费标准是什么?
- 直流电机驱动电路及原理图
- 传感器常见类型有哪些?
- 自举电路图
- 通讯隔离作用
- 苹果笔记本macbookpro18款与19款区别
- 新斯的指纹芯片供哪些客户
- 伺服电机是如何进行工作的?它的原理是什么?
- 无人机价钱多少?为什么说无人机烧钱?
- 以太网VPN技术概述
- 手机nfc功能打开好还是关闭好
- 十大公认音质好的无线蓝牙耳机