Anccend
|
fed01f5910
|
工程整理:源文件复制进 pipelined-cpu/,提供一键重建脚本 create_project.tcl
- pipelined-cpu/ 变成自包含的工程目录,所有设计文件都在里面,可以整个拷给别人:
srcs/rtl(12 个处理器 RTL)、srcs/board(板级顶层 + 片内 ROM 初始化,含 __FAST 版)、
srcs/constrs(引脚约束 + 板级母版)、srcs/tb(三个测试平台)、srcs/rom(ROM 镜像),
另外附上 tools/(迷你汇编器)与 programs/(测试程序源码与期望值)。
Vivado 工程里的引用全部改到这些副本上(sources_1 ×15、constrs_1 ×2、sim_1 ×12、sim_2 ×2),
并用副本重新综合通过。
- 新增 pipelined-cpu/create_project.tcl:手写的一键重建脚本。
* 用 [info script] 定位自身目录,整个文件夹拷到任意路径都能用;
* 就地创建工程(源文件留在 srcs/ 下不动),带文件自检与“工程已存在”提示;
* 配好三个 fileset 的顶层、cpu21_board_rom(.vh) 的 Verilog Header 类型、
xsim.simulate.runtime=all。
实测:把工程文件夹拷到别处、从另一个工作目录运行脚本,工程重建成功且
synth_design Complete!(分享包只有 create_project.tcl + srcs/ + tools/ + programs/ +
说明文档,约 0.3 MB)。
- testbench 从 sources_1 移到仿真 fileset(sim_1 / sim_2):不再需要
USED_IN_SYNTHESIS=0 这类设置,也彻底避免“testbench 被当成顶层”的
[Place 30-494] The design is empty 问题。
- 两个 CPU 测试平台增加 srcs/rom/ 探测路径(含 GUI 仿真目录向上 5 层的相对路径),
别人拿到工程后不用额外配置就能直接 Run Simulation。
- .gitignore:放行 pipelined-cpu/create_project.tcl(其余工程生成物仍不入库,
这样重建脚本不会因为工程目录被忽略而丢失)。
- 说明文档新增“工程分享(Tcl 一键重建)”一节:目录结构、脚本用法、分享前应删除的
生成目录、仓库源码与工程副本的同步命令,以及用 write_project_tcl 自动生成版本时
需要改的两行(origin_dir / create_project 目标)。
- 验证:muldiv_test 13/13、isa_test 24/24、lui_test 4/4、mmio_test 5/5 以及两个
流水基线全部通过(与改动前一致)。
|
2026-09-13 18:59:25 +08:00 |
|