高云工具链里藏着一个易用且功能不弱的片内逻辑分析仪,但它的使用规则比想象中苛刻:同一时刻只能有一个GAO配置文件生效。对习惯开源仿真流程的工程师来说,这既是便利也是约束。
在GOWIN工具中创建GAO配置文件后,工具会在设计中构建一个逻辑分析仪,配置文件本身设定触发条件。编辑器提供多种选项,从零创建时会询问是否使用Lite模式;按原文说法,标准模式才是常规选择,RTL模式则主要显示设计者定义的符号,而非处理过程中加入的符号。这意味着调试逻辑是随设计一起被综合进芯片的,探针和触发条件在构建阶段就已确定,而不是上板后临时挂接。
同一时间只能有一个GAO文件处于活动状态。原文给出的办法是在IDE的Design标签中右键点击文件将其禁用,文件会被打上红X并排除在后续构建之外,再次启用即可恢复。这样可以在不同构建之间切换多个GAO文件,甚至多个Verilog文件,例如一份用于测试、一份用于生产。真正的问题在于,这套切换靠手工右键完成,多套探测配置无法并存于同一次构建,调试计划需要提前排好。
原文展示了两个调试场景:左侧是翻转LED的脉冲,因采样时钟为27 MHz而显得棘手;右侧是串行数据,使用了一个专门用于调试的较慢时钟。两个场景指向同一件事——采样时钟的选择直接决定能看到什么。高速信号需要足够快的采样率,而慢速串行数据反而适合放慢时钟以拉长观察窗口。这意味着逻辑分析仪的配置不是一次设定就通用,得跟着被测信号调整。
对使用Tang Nano 20K和高云工具链的工程师,这套流程的现实意义是:片内逻辑分析仪可以省去外接探头,但配置管理要纳入版本控制习惯,测试与生产构建靠手工禁用文件区分,容易出错。开源仿真流程仍在构建前承担主要验证职责,GAO更像上板后的补充手段。若项目依赖多套探测配置并行,需要提前规划构建矩阵;工具链本身未提供并存机制,这一点在团队协作中会被放大。