这次数字系统实验整理给我的提醒:Vivado/xsim 跑完以后,还得把波形整理成信号清楚、比例合适、能放进报告说明结论的图片。
数字系统实验里,我这次最想提醒自己的一点是:仿真跑通以后,还没到交付完成。
工具能打开工程,xsim 能跑完,甚至有原始波形文件,这些只能说明仿真流程没卡住,离报告里能用的图还差一步。最后放进报告里的,应该是一张读者不用运行工具也能看懂的波形图。
这个差别很小,但返工往往就出在这里。
工具文件不能直接当报告图
仿真工具生成的工程文件、数据库文件或波形会话,适合继续调试,但不适合直接交给报告读者。
报告需要的是:
- 哪些信号被观察。
- 每个信号在关键时刻发生了什么。
- 时间尺度是否能看清状态变化。
- 图里能不能对应实验要求。
- 图片插进 Word 或 Markdown 后是否仍然清晰。
如果一张图只有在本机工具里反复缩放才看得懂,放进报告后大概率还是会被追问。
先确认目标,再跑仿真
做波形前要先确认实验目标。
比如验证组合逻辑时,要看输入变化后输出是否符合真值表;验证时序控制时,就要把时钟、复位、状态跳转和输出节拍截清楚。
报告截图最需要把要说明的功能截清楚,内部线太多反而会让图变乱。
我更喜欢先写一个很短的观察清单:
要证明什么 -> 需要哪些信号 -> 需要覆盖哪些时刻这会倒逼 testbench 去触发报告要展示的场景。否则仿真虽然成功了,截图时才发现关键状态根本没出现。
PNG 优先
如果目标是插入报告,PNG 通常比原始波形文件更直接。这听起来像格式选择,其实是交付对象的选择。
原始波形文件当然值得记,它适合复查和二次分析。不过报告里的读者不会为了看一张图再打开仿真工具。PNG 的好处是稳定、可预览、可排版,也方便在 Markdown、Word 或网页里复用。
好的波形图片至少要做到:
- 信号名完整。
- 时间轴范围合适。
- 关键跳变没有挤在一起。
- 截图分辨率足够。
- 背景、线条和文字在报告里可读。
做到这些,图片插进报告后才不会糊成一团。
实验三和实验四要分开组织
如果要连续做多个实验,别把波形混成一个大文件夹。
我更倾向于按实验号分开:
experiment-3/ waveform.png notes.md
experiment-4/ waveform.png notes.md每个实验都有自己的截图和简短说明。这样写报告时不会把实验三的图误放到实验四,也不会在后期整理时找不到某张图对应哪个模块。
如果实验四依赖实验三的某些模块,也应该在说明里写清楚,而不是让读者从工程结构里猜。后期整理报告时,最浪费时间的就是重新辨认“这张图到底是哪一次实验的”。
截图也要有说明
波形图光有图片还不够,至少要配一句说明:
- 这张图验证了哪个功能。
- 哪个时间段最关键。
- 哪些信号对应输入、状态或输出。
- 结果为什么符合预期。
如果这几句话写不出来,说明截图本身可能没有选好。好的实验图不应该让读者猜它想证明什么。
我的交付清单
现在我会把数字实验波形交付拆成几步:
- 找到对应实验的设计模块和 testbench。
- 明确这次波形要证明的功能点。
- 只保留报告需要看的关键信号。
- 调整时间范围和显示比例。
- 导出清晰 PNG。
- 给每张图写 1-2 句说明。
- 按实验号保存,避免不同实验混在一起。
- 必要时再附原始波形文件,但不把它当成主要交付。
这个流程会多花几分钟,但后面整理报告时少翻很多旧工程。尤其是多次实验连续做的时候,提前把图和说明配好,比最后集中补材料可靠得多。
波形图也要按报告来整理
仿真工具主要给自己调试用,实验报告是给别人读的。
所以我现在会把目标写得更明确:跑完仿真后,还要留下一张能直接放进报告、看得清结论的波形图。
继续读