在Vivado工程中,默认会创建多个文件夹用于组织不同类型的文件和数据。以下是各文件夹的详细作用及包含内容:

一、工程根目录(.xpr所在目录)

my_project/
├── my_project.xpr         # 工程文件(Vivado项目主文件)
├── my_project.cache       # 缓存文件夹(自动生成)
├── my_project.hw          # 硬件相关文件
├── my_project.ip_user_files # 用户IP文件
├── my_project.runs        # 运行结果和临时文件
├── my_project.sim         # 仿真相关文件
├── my_project.srcs        # 设计源文件
└── my_project.xgui        # GUI配置文件

二、主要文件夹详解

1. .cache 文件夹
  • 作用:存储Vivado内部使用的缓存数据,加速工程加载和操作。
  • 包含内容
    • config:工程配置缓存。
    • ip:IP核元数据缓存。
    • sim:仿真环境缓存。
  • 注意:可删除以释放空间,但会导致下次打开工程时重新生成缓存。
2. .hw 文件夹
  • 作用:存储硬件平台相关信息,用于硬件调试和编程。
  • 包含内容
    • board:开发板定义文件。
    • hwspecs:硬件规格文件。
    • targets:目标设备配置。
3. .ip_user_files 文件夹
  • 作用:存放用户自定义IP核或修改后的IP核。
  • 包含内容
    • ip:用户IP核源码和参数配置。
    • packages:已封装的IP核包。
  • 管理:通过Flow Navigator → IP Catalog → Manage IP更新。
4. .runs 文件夹
  • 作用:存放综合(Synthesis)、实现(Implementation)等运行过程的临时文件和结果。
  • 子文件夹
    • impl_1:布局布线结果(比特流、时序报告等)。
    • synth_1:综合结果(网表、资源利用率报告)。
    • sim_1:仿真运行文件。
  • 注意:可通过清理(Clean Runs)释放空间,但需重新运行流程生成结果。
5. .sim 文件夹
  • 作用:存放仿真相关文件,包括测试平台(Testbench)和仿真配置。
  • 子文件夹
    • behavioral:行为级仿真文件。
    • post_synth:综合后仿真文件。
    • post_imp:布局布线后时序仿真文件。
  • 包含内容:仿真脚本(.sh/.bat)、波形配置(.wcfg)等。
6. .srcs 文件夹
  • 作用:存放设计源文件,是工程的核心目录。
  • 子文件夹
    • constrs_1:约束文件(.xdc),定义时序、引脚分配等。
    • sources_1:RTL源代码(.v/.vhd)、IP核实例化文件。
    • sim_1:仿真专用文件(如Testbench)。
    • bd:Block Design图形化设计文件(.bd)。
7. .xgui 文件夹
  • 作用:存储Vivado GUI的布局和设置信息,如窗口位置、工具栏配置。
  • 包含内容
    • gui_settings.xml:GUI布局配置。
    • schema:配置文件模式定义。

三、其他重要文件

  1. .bit 文件
    • 位置:my_project.runs/impl_1/
    • 作用:比特流文件,可下载到FPGA。
  1. .dcp 文件
    • 位置:my_project.runs/impl_1/
    • 作用:Design Checkpoint,保存实现后的设计状态,用于增量编译或调试。
  1. .xsa 文件
    • 位置:导出后存于工程根目录或指定路径。
    • 作用:硬件系统定义文件,用于Vitis SDK或PetaLinux开发。

四、工程管理建议

  1. 版本控制
    • 推荐纳入版本控制的文件:.xpr.srcs.ip_user_files、约束文件。
    • 忽略的文件:.cache.runs.sim(可重新生成)。
  1. 清理工程
    • 使用菜单:Flow → Project Manager → Clean Up,选择性删除临时文件。
  1. 导出/导入
    • 通过菜单:File → Export → Export Hardware,生成.xsa用于软件开发。

        理解这些文件夹的组织方式,有助于高效管理Vivado工程,快速定位问题和复用设计资源。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐