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

Vivado 入门实战:从工程创建到比特流烧录

Vivado 是 Xilinx FPGA 开发的核心工具,本指南从零开始演示完整流程。涵盖工程初始化、Verilog 代码编写、Testbench 仿真验证、管脚约束配置以及最终比特流生成与烧录。重点解决常见编译错误处理及仿真波形观察技巧,帮助开发者快速上手硬件逻辑设计。

信号故障发布于 2026/4/8更新于 2026/7/1938 浏览
Vivado 入门实战:从工程创建到比特流烧录

第一步:创建工程

启动 Vivado 后,主界面左侧是项目导航区。点击 Create Project(或打开已有工程),右侧会显示最近访问的项目列表。

![截图:Vivado 欢迎界面]

进入向导后,为工程命名并指定存放路径。这里以 D 触发器为例进行演示。

![截图:工程命名与路径设置]

选择 RTL Project 类型,点击 Next。系统会询问是否添加源文件,此时可以先跳过,后续在工程中统一添加即可,直接点击 Next。

![截图:添加源文件选项]

接下来选择目标芯片型号。这一步很关键,必须根据实际开发板上的 FPGA 型号来选择,否则后续约束文件无法匹配。确认信息无误后,点击 Finish 完成创建。

![截图:芯片型号选择]

第二步:创建设计文件

工程建立完成后,进入主工作区。在左侧 Project Manager 面板中,右键点击 Sources,选择 Add Sources。

![截图:添加源文件入口]

选择 Add or create design sources,语言选 Verilog,输入文件名后完成创建。

![截图:新建 Verilog 文件]

创建时可以选择定义端口,这会自动生成部分代码框架,比手动敲更快捷。若未在此定义,默认端口类型为 wire,如需寄存器输出可手动声明 output reg q。

![截图:端口定义界面]

文件创建成功后,会在 Sources 窗口中看到对应的模块结构。

![截图:设计文件创建完成]

第三步:编写代码

我们以 D 触发器为例编写逻辑。将以下代码复制到新建的 .v 文件中:

`timescale 1ns / 1ps
module dff(
    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 线程数(Number of Jobs),配置较高的电脑可选更多线程以加速计算。遇到错误时,根据提示信息修改代码直到通过为止。

![截图:综合日志与线程设置]

第四步:仿真验证

综合通过后,需要创建 Testbench 进行功能验证。参考上一步的操作,选择 Add or create simulate sources。

Testbench 代码如下:

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

    // 每 10ns 翻转一次时钟,周期 20ns
    always #10 clk_sim = ~clk_sim;

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

    // 实例化被测模块
    dff u_dff (
        .clk (clk_sim),
        .d   (d_sim),
        .q   (q_sim),
        .q_n (q_n_sim)
    );
endmodule

保存后再次运行 Run Simulation。如果有多个 TB 文件,记得右键选中当前要运行的那个,设为 Active。

注意:仿真时长可在 Tool Settings -> Simulation 中调整。如果波形显示不全,检查时间设置是否足够。

![截图:运行仿真按钮]

观察生成的波形图,每当 clk 上升沿到来时,q 端应跟随 d 端的值变化,说明 D 触发器逻辑正确。

![截图:仿真波形结果]

第五步:配置管脚

仿真无误后,开始物理实现。点击 Run Implementation,等待流程跑完。

![截图:运行实现界面]

实现完成后,点击 Open Implemented Design,然后在菜单栏选择 Window -> I/O Ports。

在这里分配引脚。已分配的引脚状态栏会显示 Fixed 勾选。通常 I/O Standard 设置为 LVCMOS33(具体需查阅开发板手册)。

![截图:IO 端口分配界面]

按 Ctrl+S 保存,输入文件名后确定,系统会生成 .xdc 约束文件。文件位置可在 Sources 窗口中找到。

![截图:XDC 约束文件位置]

第六步:生成 Bitstream 并烧录

最后一步是生成比特流文件。点击 Generate Bitstream。

![截图:生成比特流按钮]

硬件连接方面,确保开发板已通电且 USB 下载线连接正常。点击 Open Hardware Manager,系统会自动搜索设备。

![截图:打开硬件管理器]

找到芯片型号后,右键选择 Program Device,点击 Program 即可将逻辑烧录进 FPGA。

![截图:烧录设备界面]

目录

  1. 第一步:创建工程
  2. 第二步:创建设计文件
  3. 第三步:编写代码
  4. 第四步:仿真验证
  5. 第五步:配置管脚
  6. 第六步:生成 Bitstream 并烧录
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 基于 Leaflet 的 WebGIS 省域区县天气可视化实现
  • 四大机器人与PLC信号交互
  • OpenClaw 飞书机器人权限配置与安全指南
  • Z-Image i2L 本地 AI 绘画工具快速入门与参数调优
  • Trae、Cursor、Copilot、Windsurf 深度对比评测
  • Ubuntu 下 Python 连接 KingbaseES 数据库实现增删改查
  • Java 单例模式详解:饿汉式与懒汉式实现对比
  • ModalAI VOXL2 与 ArduPilot 无 GPS 位置控制配置
  • 前端 AI 编码共享插件:Claude Code / Codex / OpenClaw 工作流实践
  • AI 辅助 Windows EXE 文件反编译技术实践
  • Spring Boot 消息队列与异步通信实战
  • openclaw新手入门指南:一文看懂环境搭建、模型配置与 WebUI 远程访问
  • AI 大模型通信机制:流式传输与数据封装逻辑解析
  • Qlib 量化金融研究详细工作流指南
  • 前缀和算法:和为 k 的子数组与和可被 k 整除的子数组
  • 文心一言 4.5 开源测评与本地部署指南
  • 清华智谱开源 7440 亿参数智能体模型 GLM-5
  • 高校 AIGC 检测新规解读:AI 率标准与应对策略
  • SpringBoot 整合 Kafka 项目实战操作详解
  • 微信历史版本下载地址及关闭自动更新方法

相关免费在线工具

  • 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