随笔分类 -  工作学习

摘要:像如下这个种信号,不同的值代表不同含义,可以给信号添加alias提高辨识度,在之前的文章中已经介绍过如何添加alias了 verdi分享--给信号编辑alias,方便debug 对一些信号位宽比较多的,每次都要一个一个加alias确实很麻烦,今天发现了可以把alias存起来的方法,记录一下 1 方法 阅读全文
posted @ 2025-07-12 18:29 行走的BUG永动机 阅读(36) 评论(0) 推荐(0)
摘要:0 前言 IC里会例化很多PAD,在将design交给后端时,往往会提供一份PAD special net PAD special net是PAD一些信号的hier 接下来介绍如何将pad instance转换成PAD special net 1 格式 PAD instance格式如下 PAD sp 阅读全文
posted @ 2025-07-05 20:47 行走的BUG永动机 阅读(129) 评论(0) 推荐(0)
摘要:目录列替换垂直分割 最近做了个小的ECO,改netlist的时候遇到很多寄存器,这些寄存器只有几个字符不同,用列删除+列插入的方式有点蛋疼,幸好在网上找到了可以直接列编辑的操作,记录一下 列替换 假如要复制这8bits信号,并将其中的ppr改成aps 先按Ctrl + V进入可视模式,然后通过方向键 阅读全文
posted @ 2025-07-05 20:47 行走的BUG永动机 阅读(39) 评论(0) 推荐(0)
摘要:目录大小写转换去除重复行跳转指定列换行设定 大小写转换 Ctrl + v 进入可视化 选中要转换内容 按 ~ # 可视模式下选中字符 按U转大写 #大写U 按u转小写 #小写u 去除重复行 # 排序 :sort # 删除相邻行的重复行 :%!uniq 跳转指定列 # 跳转到第20列 # 普通模式下输 阅读全文
posted @ 2025-07-05 20:46 行走的BUG永动机 阅读(20) 评论(0) 推荐(0)
摘要:实际项目开发中,有时候会碰到一些spec中,信号的特殊值有特定的含义 就以ocp为例,mcmd不同的值代表不同的含义,如下图 有比如在axi中,在response信号中,不同的值也具有不同的含义,如下图 下面以ocp cmd信号为例进行介绍,下图是cmd信号的波形,mcmd波形显示的数值,如何将mc 阅读全文
posted @ 2025-07-05 20:44 行走的BUG永动机 阅读(80) 评论(0) 推荐(0)
摘要:目录0 前言1 如何显示信号高位的02 统计信号的上升沿、下降沿3 合并信号4 将多个fsdb文件合并成一个 0 前言 分享几个这段时间学到的verdi操作 1 如何显示信号高位的0 这个可能对一些有强迫症的有帮助吧 nand相关的操作,有一些特定的cmd,比如 read cmd是 00-30h,我 阅读全文
posted @ 2025-07-05 20:44 行走的BUG永动机 阅读(362) 评论(0) 推荐(0)
摘要:前段时间介绍了verdi用 Edit Virtual File的方式把几个fsdb文件merge起来的方法 由于当时实验的时候只用了两个小的fsdb文件,每个fsdb文件中包含的信号量也比较少,所以并没有发现问题 我是用 Edit Virtual FIle把dump不同hier的fsdb文件merg 阅读全文
posted @ 2025-07-05 20:43 行走的BUG永动机 阅读(44) 评论(0) 推荐(0)
摘要:目录0 前言1 语法介绍2 示例3 多种情况的testbench怎么写 历史内容合集 0 前言 这段时间在整合一个小ip,因为要验证每个feature是否可行,需要用testbench + C语言的方式进行仿真验证,由于每种feature不仅要在C语言中修改寄存器配置,还要再testbench修改寄 阅读全文
posted @ 2023-08-06 21:26 行走的BUG永动机 阅读(357) 评论(0) 推荐(0)
摘要:目录0 前言1 pullup和pulldown的介绍2 不使用pullup和pulldown的情况2 使用pullup和pulldown的情况3 push-pull和open-drain的介绍 历史内容合集 0 前言 这段时间涉及到了IO-PAD,在IO-PAD的RTL的时候注意到了pullup和p 阅读全文
posted @ 2023-06-10 22:25 行走的BUG永动机 阅读(356) 评论(0) 推荐(0)
摘要:## 0 前言 有时候因为要跑很多rtl的仿真,而现有的资源比较有限,每次都需要等一批rtl仿真结束后,才可以执行下一批,尤其是碰到最末的时候,一批rtl仿真结束,要是在打开电脑去run下一批,确实挺不方便的 一度想着要是有个脚本就好了,奈何自己Python确实不行,刚好最近有大火的ChatGPT, 阅读全文
posted @ 2023-05-27 17:59 行走的BUG永动机 阅读(119) 评论(0) 推荐(0)
摘要:历史文章 0 前言 这几天看到一个有趣的结构体,之前没有见过,稍微了解了一下,顺便记录一下 ==以下例子均在32位操作系统操作== 1 结构体简单介绍 在C语言中,每种类型的变量都会占用一定的字节数,以下面几种为例 | char | 1B | | | | | int | 4B | | double 阅读全文
posted @ 2023-04-28 09:39 行走的BUG永动机 阅读(207) 评论(0) 推荐(0)
摘要:0 前言 这段时间例化了挺多mem,过程中也了解到了一些新的东西,在这里记录一下 1 for循环方式例化方法 先给出 sub_module module sub( input [7:0] din, output logic [7:0] dout ); assign dout = din; endmo 阅读全文
posted @ 2023-04-14 00:38 行走的BUG永动机 阅读(427) 评论(0) 推荐(0)
摘要:@ 1 输入路径约束 由于STA不能检查不受约束路径上的时序约束,因此需要约束所有路径来进行时序分析 当然,如果存在一些输入控制信号,我们并不关心其信号时序,可能并不需要进行时序检查 如下图是一个待分析设计(DUA),UFF0是外部设计,其输出是UFF0的输入,并且UFF0在设计内部,二者的数据通过 阅读全文
posted @ 2022-11-17 22:09 行走的BUG永动机 阅读(114) 评论(0) 推荐(0)
摘要:STA的准备工作包括:设定时钟、指定IO时序特性、指定false path和multicycle path 1 什么是STA环境 看下面这张图,假定Design Under Analysis(DUA)会与其他同步设计交互,这意味着DUA会从前一级触发器接收数据,并将数据发送到DUA后一级触发器 为了 阅读全文
posted @ 2022-10-10 21:56 行走的BUG永动机 阅读(363) 评论(0) 推荐(0)
摘要:静态时序分析学习记录 阅读全文
posted @ 2022-10-07 09:57 行走的BUG永动机 阅读(162) 评论(0) 推荐(0)
摘要:0 为什么要有事件调度 我们知道Verilog是一种并行编程语言,然而Verilog是通过计算机执行的,那么必然要遵循计算机顺序执行的逻辑 当多条语句都被触发时,我们如何确定语句的执行顺序就需要一种规则来做出限定 1 几个关键信息 仿真的代码是由一个个离散事件组成,运行Verilog也就是执行一个个 阅读全文
posted @ 2022-08-14 08:59 行走的BUG永动机 阅读(149) 评论(0) 推荐(0)