add virtual machine and development environment
This commit is contained in:
parent
2542db36d1
commit
c6a70c36b0
|
|
@ -10,6 +10,7 @@ html:
|
||||||
| 版本号 | 作者 | 修订原因 | 修订内容 | 日期 |
|
| 版本号 | 作者 | 修订原因 | 修订内容 | 日期 |
|
||||||
| :----: | :----------: | :------- | :------------------------------------------------------- | :--------: |
|
| :----: | :----------: | :------- | :------------------------------------------------------- | :--------: |
|
||||||
| v1.0 | 周爽| 初始版本 | - | 2026.04.13 |
|
| v1.0 | 周爽| 初始版本 | - | 2026.04.13 |
|
||||||
|
| v1.1 | 周爽| 内容完善 | 1. 新增开发环境要求;<br> 2. 修改 makefile;<br>3. 提供 Vivado 2024.2 + VCS 2018.09 虚拟机; | 2026.04.27 |
|
||||||
|
|
||||||
|
|
||||||
# 1. 引言
|
# 1. 引言
|
||||||
|
|
@ -18,18 +19,18 @@ html:
|
||||||
# 2. 依据文件
|
# 2. 依据文件
|
||||||
| 序号 | 文件编号及文件名称 | 版本号 |
|
| 序号 | 文件编号及文件名称 | 版本号 |
|
||||||
| :--: | :------------------------------------------------------------: | :----: |
|
| :--: | :------------------------------------------------------------: | :----: |
|
||||||
| 1 | ez-Q 2.5-RS-01_ez-Q 2.5测控系统研制项目需求文档 | v1.2 |
|
| 1 | ez-Q 2.5-RS-01_ez-Q 2.5 测控系统研制项目需求文档 | v1.2 |
|
||||||
| 2 | ez-Q 2.5-SDD-01_ez-Q 2.5测控系统研制项目总体设计报告 | v1.0 |
|
| 2 | ez-Q 2.5-SDD-01_ez-Q 2.5 测控系统研制项目总体设计报告 | v1.0 |
|
||||||
| 3 | ez-Q 2.5-SDD-03_ez-Q 2.5测控系统标准交互协议及控制服务接口设计 | v1.3 |
|
| 3 | ez-Q 2.5-SDD-03_ez-Q 2.5 测控系统标准交互协议及控制服务接口设计 | v1.3 |
|
||||||
| 4 | ez-Q 2.5-TK-SDD-001-调控子系统设计报告 | v1.0 |
|
| 4 | ez-Q 2.5-TK-SDD-001 调控子系统设计报告 | v1.0 |
|
||||||
| 5 | ez-Q 2.5-RD-SDD-01_ez-Q 2.5读出子系统总体设计 | v1.0 |
|
| 5 | ez-Q 2.5-RD-SDD-01_ez-Q 2.5 读出子系统总体设计 | v1.0 |
|
||||||
| 6 | ez-Q 2.5-CC-SDD-01_ez-Q 2.5通信子系统设计报告 | v1.0 |
|
| 6 | ez-Q 2.5-CC-SDD-01_ez-Q 2.5 通信子系统设计报告 | v1.0 |
|
||||||
| 7 | ez-Q 2.5-FB-SDD-01_ez-Q 2.5反馈子系统设计报告 | v0.2 |
|
| 7 | ez-Q 2.5-FB-SDD-01_ez-Q 2.5 反馈子系统设计报告 | v0.2 |
|
||||||
| 8 | ez-Q 2.5-SDD-05_ez-Q 2.5测控系统调控通道编程控制模型 | v0.3 |
|
| 8 | ez-Q 2.5-SDD-05_ez-Q 2.5 测控系统调控通道编程控制模型 | v0.3 |
|
||||||
| 9 | ez-Q 2.5-SDD-09_ez-Q 2.5测控系统调控通道历史无关的配置功能项 | v0.3 |
|
| 9 | ez-Q 2.5-SDD-09_ez-Q 2.5 测控系统调控通道历史无关的配置功能项 | v0.3 |
|
||||||
| 10 | ez-Q 2.5-SDD-07_ez-Q 2.5读出子系统编程控制模型 | v0.1 |
|
| 10 | ez-Q 2.5-SDD-07_ez-Q 2.5 读出子系统编程控制模型 | v0.1 |
|
||||||
| 11 | ez-Q 2.5-SDD-08_ez-Q 2.5读出子系统历史无关配置集 | v0.1 |
|
| 11 | ez-Q 2.5-SDD-08_ez-Q 2.5 读出子系统历史无关配置集 | v0.1 |
|
||||||
| 12 | ez-Q 2.5子系统间通信协议 | v0.1 |
|
| 12 | ez-Q 2.5 子系统间通信协议 | v0.1 |
|
||||||
|
|
||||||
# 3. 定义、简写和缩略语
|
# 3. 定义、简写和缩略语
|
||||||
| 序号 | 名词/缩写 | 解释 |
|
| 序号 | 名词/缩写 | 解释 |
|
||||||
|
|
@ -55,7 +56,7 @@ html:
|
||||||
| 19 | SMA | SubMiniature version A,一种常用的射频同轴连接器类型 |
|
| 19 | SMA | SubMiniature version A,一种常用的射频同轴连接器类型 |
|
||||||
|
|
||||||
# 4. 固件设计需求
|
# 4. 固件设计需求
|
||||||
本章节基于 ez-Q2.5 测控电子学固件的任务背景和需求来源,提炼出各个子系统的固件设计需求。
|
本章节基于 ez-Q 2.5 测控电子学固件的任务背景和需求来源,提炼出各个子系统的固件设计需求。
|
||||||
|
|
||||||
## 4.1. 调控子系统固件需求
|
## 4.1. 调控子系统固件需求
|
||||||
| 序号 | 功能 | 固件需求 |
|
| 序号 | 功能 | 固件需求 |
|
||||||
|
|
@ -145,6 +146,11 @@ html:
|
||||||
| 6 | 固件远程升级 | 固件支持flash的读写控制;机箱系统支持并行升级; |
|
| 6 | 固件远程升级 | 固件支持flash的读写控制;机箱系统支持并行升级; |
|
||||||
|7| 参数存储与加载 | 固件支持eMMC/EEPROM的读写控制,上电初始化阶段自动从eMMC/EEPROM读出配置参数。|
|
|7| 参数存储与加载 | 固件支持eMMC/EEPROM的读写控制,上电初始化阶段自动从eMMC/EEPROM读出配置参数。|
|
||||||
|
|
||||||
|
## 4.6. 开发环境要求
|
||||||
|
逻辑开发环境:Vivado 2024.2;
|
||||||
|
逻辑仿真环境:QuestaSim, VCS;
|
||||||
|
嵌入式开发环境:Vitis 2024.2。
|
||||||
|
|
||||||
# 5. 仿真与测试要求
|
# 5. 仿真与测试要求
|
||||||
各子系统的固件要经过固件仿真、固件自测、系统测试等阶段,来排查固件设计中可能存在的问题,充分验证固件设计的正确性、可靠性。本章节从固件仿真和固件自测2个方面来具体描述。
|
各子系统的固件要经过固件仿真、固件自测、系统测试等阶段,来排查固件设计中可能存在的问题,充分验证固件设计的正确性、可靠性。本章节从固件仿真和固件自测2个方面来具体描述。
|
||||||
|
|
||||||
|
|
@ -736,39 +742,43 @@ SIMV_OPTS = sync:busywait -Xdprof=timeline \
|
||||||
all: comp run
|
all: comp run
|
||||||
|
|
||||||
comp:
|
comp:
|
||||||
if [ -f $(VHDL_FILELIST) ]; then \
|
@mkdir -p work
|
||||||
$(VHDLAN) $(VHDLAN_OPTS) -f $(VHDL_FILELIST); \
|
|
||||||
fi
|
|
||||||
|
|
||||||
$(VLOGAN) $(VLOGAN_OPTS) -f $(VLOG_FILELIST)
|
@if [ -f $(VHDL_FILELIST) ]; then \
|
||||||
|
$(VHDLAN) $(VHDLAN_OPTS) -f $(VHDL_FILELIST); \
|
||||||
|
fi
|
||||||
|
|
||||||
$(VCS) $(VCS_OPTS) $(TB_TOP) -l compile.log
|
$(VLOGAN) $(VLOGAN_OPTS) -f $(VLOG_FILELIST)
|
||||||
|
|
||||||
|
$(VCS) $(VCS_OPTS) -top $(TB_TOP) -l compile.log
|
||||||
|
|
||||||
run:
|
run:
|
||||||
$(SIMV) $(SIMV_OPTS)
|
$(SIMV) $(SIMV_OPTS)
|
||||||
|
|
||||||
dbg:
|
dbg:
|
||||||
verdi -sverilog -f $(VLOG_FILELIST) $(FILES) -top $(TB_TOP) -ssf *.fsdb -nologo &
|
verdi -sverilog -f $(VLOG_FILELIST) $(FILES) -top $(TB_TOP) -ssf *.fsdb -nologo &
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf DVE* simv* *log ucli.key verdiLog urgReport csrc novas.* \
|
rm -rf DVE* simv* *log ucli.key verdiLog urgReport csrc novas.* \
|
||||||
*fsdb* *.dat *.daidir *.vdb *~ partitionlib/ dprof.dir/ \
|
*fsdb* *.dat *.daidir *.vdb *~ partitionlib/ dprof.dir/ \
|
||||||
dprof.txt \
|
dprof.txt \
|
||||||
|
|
||||||
cov:
|
cov:
|
||||||
verdi -cov -covdir coverage/merged.vdb &
|
verdi -cov -covdir coverage/merged.vdb &
|
||||||
|
|
||||||
cov_d:
|
cov_d:
|
||||||
dve -full64 -covdir coverage/*.vdb &
|
dve -full64 -covdir coverage/*.vdb &
|
||||||
|
|
||||||
merge:
|
merge:
|
||||||
urg -full64 -dbname coverage/merged.vdb -flex_merge union -dir coverage/simv.vdb -parallel -maxjobs 64&
|
urg -full64 -dbname coverage/merged.vdb -flex_merge union -dir coverage/simv.vdb -parallel -maxjobs 64&
|
||||||
|
|
||||||
merge_i:
|
merge_i:
|
||||||
urg -full64 -flex_merge union -dir coverage/merged.vdb -dir coverage/mem_test.vdb -dbname coverage/merged.vdb -parallel -maxjobs 64&
|
urg -full64 -flex_merge union -dir coverage/merged.vdb -dir coverage/mem_test.vdb -dbname coverage/merged.vdb -parallel -maxjobs 64&
|
||||||
```
|
```
|
||||||
这个 makefile 从 filelist_vlog.f 中获取 verilog 文件路径,从 filelist_vhdl.f 中获取 VHDL 文件路径(非必须);默认的仿真顶层模块名为 tb_top,支持通过输入参数来更换顶层模块。
|
这个 makefile 从 filelist_vlog.f 中获取 verilog 文件路径,从 filelist_vhdl.f 中获取 VHDL 文件路径(非必须);默认的仿真顶层模块名为 tb_top,支持通过输入参数来更换顶层模块。
|
||||||
|
|
||||||
|
将 makefile 从 Windows 系统复制到 Linux 系统时,可能会出现语法错误。原因是 makefile 语法要求命令行必须以 Tab 开头,不同系统下 Tab 占用的空格数量可能不同,通过 vim 或 gvim 编辑 makefile,把命令行开头的空格改为 Tab 即可。
|
||||||
|
|
||||||
#### 8.2.2.5. 运行仿真
|
#### 8.2.2.5. 运行仿真
|
||||||
输入:``` make all ``` 运行仿真;如果需要更换仿真顶层模块,例如修改为 tb_top_sim,输入:```make all TOP=tb_top_sim```
|
输入:``` make all ``` 运行仿真;如果需要更换仿真顶层模块,例如修改为 tb_top_sim,输入:```make all TOP=tb_top_sim```
|
||||||
|
|
||||||
|
|
@ -903,8 +913,10 @@ u32 CalculateCRC32(u32 init_value, u8 *data, u32 length, u32 polynomial)
|
||||||
```
|
```
|
||||||
|
|
||||||
## A.2. 下载链接
|
## A.2. 下载链接
|
||||||
|
Vivado 2024.2 + Vitis 2024.2:https://pan.quark.cn/s/b7886c4f623a 提取码:77t1
|
||||||
|
|
||||||
QuestaSim 2014.1:https://pan.baidu.com/s/1vaCy-6WtdBn5Uew3WMBEcQ?pwd=71c4
|
QuestaSim 2014.1:https://pan.baidu.com/s/1vaCy-6WtdBn5Uew3WMBEcQ?pwd=71c4
|
||||||
|
|
||||||
VCS 2018:https://pan.baidu.com/s/1E2mhK-jVyK_pisP2YnH4fg?pwd=fwj1
|
CentOS 虚拟机(Vivado 2024.2 + VCS 2018.09 SP2):https://pan.quark.cn/s/1d13755fada3 提取码:wA6m
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue