跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言

Vivado 开发全流程实战:从工程创建到硬件烧录

Vivado 开发流程涵盖工程创建、文件管理、代码编写、仿真验证、管脚约束及比特流生成。通过 D 触发器实例,演示了从新建项目到最终烧录至 FPGA 开发板的完整步骤,重点讲解了综合报错处理、Testbench 搭建与波形观察方法,以及 XDC 约束文件的配置要点,帮助初学者快速上手 Vivado 工具链的基本操作。

微码行者发布于 2026/4/10更新于 2026/10/2595 浏览
Vivado 开发全流程实战:从工程创建到硬件烧录

一、创建工程

启动 Vivado 后,在左侧面板点击'创建(或打开)工程',右侧会显示最近打开的项目列表。选择新建工程,输入项目名称并设置存放路径。这里我们以 D 触发器为例。

进入向导后,选择 RTL 项目类型,直接点击 Next。如果已有设计文件可在此添加,没有则跳过,后续再添加也无妨。接着选择芯片型号,务必根据实际开发板选型,选好后查看信息概要,确认无误点击 Finish 完成初始化。

二、创建文件

工程建立后进入主界面。在工程管理区右键选择 Add Sources,创建新的设计文件。语言选择 Verilog,按需求命名即可。

系统支持定义端口,若在此处勾选,会自动生成端口声明代码,比手动编写更快捷。注意端口类型默认是 wire,如需寄存器输出需显式声明为 reg,例如 output reg q。

文件创建完成后,会在 Source 窗口中显示,准备开始编写逻辑。

三、编写代码

以 D 触发器为例,代码如下:

`timescale 1ns / 1ps // 时间单位/精度
module dff( // D 触发器
    input wire clk,   // 时钟信号
    input wire d,     // 输入信号
    output reg q,     // 输出信号
    output reg q_n    // 输出信号取反
);
    always@(posedge clk) begin
        q <= d;
        q_n <= !d;
    end
endmodule

保存后点击 Run Synthesis 进行综合编译。遇到报错时不要慌,查看 Messages 面板中的 Error 信息,针对性修改直到通过。关于 CPU 工作线程数,可在设置中调整,配置越高可选数量越多,能提升编译速度。

四、仿真验证

综合成功后,需要创建 Testbench 进行仿真。同样在 Add Sources 中选择 Create or add simulate source。

Testbench 代码如下:

`timescale 1ns / 1ps
module dff_tb();
    reg clk_sim;
    reg d_sim;
    wire q_sim;
    wire q_n_sim;

    always #10 clk_sim = ~clk_sim; // 每 10 个时间单位翻转,周期 20

    initial begin
        clk_sim = 0;
        d_sim = 0;
        #20;      // 延时 20ns
        d_sim = 1;
        #40;
        d_sim = 0;
        #100;
        $stop;    // 停止仿真
    end

    dff dff_inst(
        .clk(clk_sim),
        .d(d_sim),
        .q(q_sim),
        .q_n(q_n_sim)
    );
endmodule

再次运行综合确保无错。随后点击 Run Simulation,若有多个 TB 文件,请右键设为 Active。注意仿真时长上限可在 Tool Settings 中调整,若波形不全可适当增加时间。

观察波形,当 clk 上升沿到来时,q 应跟随 d 的值变化,说明功能正确。

五、配置管脚

仿真通过后,点击 Run Implementation 进行实现。完成后解锁部分仿真选项,通常无需使用。

实现结束后,点击 Open Implemented Design,在菜单栏 Window 中找到 I/O Ports。在此分配引脚,已分配的 Fixed 栏会自动打勾。I/O Standard 通常设置为 LVCMOS33。

保存后命名,OK 生成 XDC 约束文件,位置可在工程目录中查看。

六、生成 Bitstream 文件并烧录

最后一步是生成比特流。点击 Generate Bitstream,等待完成。

连接开发板并确保通电,点击 Program Device 自动连接硬件。识别到芯片型号后,右键选择 Program Device 进行烧录。若未识别,请检查线缆与供电状态。

至此,FPGA 开发流程基本结束,代码已成功下载至硬件。

目录

  1. 一、创建工程
  2. 二、创建文件
  3. 三、编写代码
  4. 四、仿真验证
  5. 五、配置管脚
  6. 六、生成 Bitstream 文件并烧录

更多推荐文章

查看全部
  • 北漂转行软件测试:从零开始的外企入职经验分享
  • 主流大模型降英文 AI 检测率横向测评:千问、DeepSeek、KIMI 等对比
  • OpenClaw 开源 AI 项目实战指南:部署、技能与多端接入
  • Whisper Large v3 多语言语音识别 Web 服务部署实战
  • Finnhub Python API 客户端 5 个常见问题及解决方案
  • 前端国际化最佳实践与实现方案
  • 更高级的 RAG 架构:提升 AI 大模型回答准确性
  • Java 校园服装租赁系统设计与实现
  • 基于SpringBoot的高校教研室教学日历管理系统设计与实现
  • 内网穿透实战:让本地 OpenClaw 服务随时随地上线
  • SpringBoot 4.0 新特性整合项目实战
  • Pi0机器人大模型在昇腾A2上的测评
  • C++ 从零实现 K-Means 聚类算法详解
  • n8n 开源自动化工作流工具部署与使用指南
  • 在昇腾 NPU 上部署 Llama 大模型实战指南
  • Llama-3.2-3B 部署优化:Ollama 配置上下文窗口与 Token 限制
  • Seedream 4.0 企业级图像 AIGC 能力解析与应用场景
  • AI 绘画精讲与 AIGC 时代游戏美术设计:从入门到精通
  • 常见黑客硬件设备原理与防御指南
  • AI Agent 新范式:FastGPT 结合 MCP 协议实现工具增强

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online