8.vivado工程下每个文件夹的作用
在Vivado工程中,默认会创建多个文件夹用于组织不同类型的文件和数据。理解这些文件夹的组织方式,有助于高效管理Vivado工程,快速定位问题和复用设计资源。
·
在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:配置文件模式定义。
三、其他重要文件
.bit文件
-
- 位置:
my_project.runs/impl_1/ - 作用:比特流文件,可下载到FPGA。
- 位置:
.dcp文件
-
- 位置:
my_project.runs/impl_1/ - 作用:Design Checkpoint,保存实现后的设计状态,用于增量编译或调试。
- 位置:
.xsa文件
-
- 位置:导出后存于工程根目录或指定路径。
- 作用:硬件系统定义文件,用于Vitis SDK或PetaLinux开发。
四、工程管理建议
- 版本控制:
-
- 推荐纳入版本控制的文件:
.xpr、.srcs、.ip_user_files、约束文件。 - 忽略的文件:
.cache、.runs、.sim(可重新生成)。
- 推荐纳入版本控制的文件:
- 清理工程:
-
- 使用菜单:Flow → Project Manager → Clean Up,选择性删除临时文件。
- 导出/导入:
-
- 通过菜单:File → Export → Export Hardware,生成
.xsa用于软件开发。
- 通过菜单:File → Export → Export Hardware,生成
理解这些文件夹的组织方式,有助于高效管理Vivado工程,快速定位问题和复用设计资源。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)