随笔分类 -  IC

摘要: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)
摘要:目录force赋值$deposit赋值总结 历史内容合集 force赋值 以如下代码为例 来看看运行结果 可以看到语句for_value = 'd2并未执行 如果在force之后执行release会怎样,就像下面这样 此时再看运行结果 可以看出,在release之后又可以对变量 for_value进 阅读全文
posted @ 2025-07-05 20:27 行走的BUG永动机 阅读(29) 评论(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 前言 这几天看到一个有趣的结构体,之前没有见过,稍微了解了一下,顺便记录一下 ==以下例子均在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)
摘要:0 为什么要有事件调度 我们知道Verilog是一种并行编程语言,然而Verilog是通过计算机执行的,那么必然要遵循计算机顺序执行的逻辑 当多条语句都被触发时,我们如何确定语句的执行顺序就需要一种规则来做出限定 1 几个关键信息 仿真的代码是由一个个离散事件组成,运行Verilog也就是执行一个个 阅读全文
posted @ 2022-08-14 08:59 行走的BUG永动机 阅读(149) 评论(0) 推荐(0)
摘要:计算机存储层级结构 上图是计算机的存储的层次结构图,自上而下,运行速度越来越慢,存储容量越来越大 其实CPU在运行时,所需要的操作数大多数是来自寄存器的,速度是很快的,而离CPU越远的,运算速度越慢 就我个人的理解,cache就是我们CPU内部的SRAM,主存是DRAM,也就是我们经常听说的内存条, 阅读全文
posted @ 2022-07-20 00:10 行走的BUG永动机 阅读(292) 评论(0) 推荐(0)