使用 verdi 的过程中,难免会碰到表示某种变化量的多位宽数字信号,我们关心的是它的变化趋势。今天主要聊聊数字信号的模拟化呈现。
数字信号的模拟化呈现verdi 提供了既简单又直观的操作,去绘制数字信号的模拟变化趋势。尤其是在观察周期性计数的数字信号时,例如调制频率的变化,还有 fifo 读写地址的变化,这种方式基本是可以做到一目了然的。
操作方式:nwave 窗口菜单 - waveform - analog waveform
对于 verdi 这个工具来说,它对于数字信号本身的含义目前还没有智能到可以自动识别。所以我们需要指定特定数字信号的表示方式(notation),是无符号、二补码还是补码等等。
操作方式:nwave 窗口菜单 - waveform - set notation
模拟波形的显示范围还有一个可能遇到的局限性就是,verdi 在绘制数字信号的模拟波形时,默认会按照整个波形的动态范围来绘图。如果一个数字信号的初始值和工作时实际的动态范围差别很大,那么观察实际工作时的模拟波形时,波形变化的幅度相比整个动态范围就会太小,无法明了的看到小动态范围的变化趋势。
手动调节显示范围还好 verdi 提供了手动调节显示范围的功能。
操作方式:nwave 窗口菜单 - analog - zoom value...
根据需要调节上限和下限,调节过程中波形是实时更新的。
对比效果如下图,第一个信号是默认范围的,动态变化缩成一条直线了,没有观察价值。第二个信号是调整了范围的,可以清楚的看到变化趋势。第三个是原始的数字信号。
自动调节:切换 fsdb 文件还有一个比较笨的解决方法是,写出 fsdb 文件时,根据特定信号,从数字信号开始动态变化的时候,做一个文件切换。这样就把数字信号初始化部分的波形分离出去。当我们着重分析动态变化的部分时,就不需要加载初始化部分的波形。verdi 在绘制模拟波形的时候,只会看到小动态范围的数值,绘制出来的变化趋势就足够清楚了。
$fsdbdumpfile(tb_000.fsdb); $fsdbdumpvars(0, tb); @(posedge some_trigger_signal); $fsdbswitchdumpfile(tb_001.fsdb);自动调节:加载特定时间范围当然作为团队项目的螺丝钉,有时候不方便控制 fsdb 文件的产生方式,那么在加载 fsdb 文件的时候,可以选择指定一个时间范围。感谢读者 @erik li 提供的这个技巧。
操作方式:nwave窗口菜单 - open,选择 fsdb 文件到 target name 后,点击左下方的 options... 按钮。
在弹出的对话框中选中 open file by time range,然后点击 ok 按钮。
再点击 ok 按钮,在弹出的对话框中就可以选择感兴趣的时间起止范围了。
如何提高螺丝钉的自我修养今天就到这里。最后再分享一个最近才发现的 verdi 调用参数。
verdi -pretitle some text螺丝钉做久了,需要同时打开的 verdi 窗口数量与日俱增。怎么从密密麻麻的任务栏图标中找到要找的那个,是个麻烦但不紧急的问题。除了贯彻断舍离、及时关闭短期内不需要的窗口之外,用上面的选项为每一个 verdi 窗口做个简洁唯一的命名,也是一个不那么有效的解决之道。
大联大诠鼎集团力推TOSHIBA适用于汽车电子之完整解决方案
大电流无变压器电源的设计
2021年特斯拉Model 3产量将大幅扩张
为什么自溶性漆包线没有被电机制造业广泛应用
电机启动PTC热敏电阻应用原理
聊聊数字信号的模拟化呈现
采用瑞萨单片机交流感应电机控制电路实现 交流感应电机系统的原理
关于LLC工作原理的介绍和应用
浙江移动战队逆流而上 智能机器人助力缓解疫情排查压力
采用FPGA和DSP技术相结合实现图像采集和处理系统的设计
一种可手戴RFID标签天线设计
变频器开关电源的三种取电方式
NVIDIA GeForce Go 6800芯片
专业可靠的uwb模块,创新微让你真正享受万物互联
总规模42亿元,上汽集团旗下尚颀资本新基金完成二关
双向可控硅调光电路图
芯片剪切力测试推拉力测试机知识分享
vivoZ3评测 足够主流的千元性价比旗舰
交换机的常用配置命令
有源滤波器和无源滤波器的介绍