自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 verilog可用的FSDB dump命令

【代码】verilog可用的FSDB dump命令。

2024-02-18 10:43:48 1590

原创 svn设置文件可执行属性

当在版本库中设置了这个属性,任何检出(checkout)或更新(update)操作将会保留文件的可执行位,这意味着在Unix-like系统中文件会具有可执行权限。现在,checkout或up这个文件,该文件都将保留可执行权限。首先,需要在命令行中定位到你的工作副本目录。SVN中,文件的属性可以通过。

2024-01-29 09:27:07 587

原创 Python Configparser键值固定转小写的解决办法

网上的方案:重载configparser。

2024-01-21 14:08:55 411

原创 MESI和MOESI协议

MESIMOESI

2023-11-14 15:35:14 179

原创 systemverilog 带参数宏转字符串

↑很明显不能直接使用变量来放进宏里面去转。

2023-11-13 14:47:08 442

原创 LPDDR5 linkecc学习

JESD209-5B中,link-ecc仅仅是一个可选的功能;另外,即使器件支持link-ecc功能,在WCK小于等于1.6GHz(≤ 3200Mbps)的情况下,也没必要支持(从这个描述可以看出,link-ecc主要是用来解决链路传输失效)。

2023-10-23 12:11:54 1344

原创 vscode自定义代码段系统变量

使用$name或可以插入变量的值。当变量未设置时,插入默认值或空字符串。当变量未知(即变量名未定义)时,插入变量名并将其转换为占位符。

2023-10-07 09:59:05 545 1

原创 uvm_is_match和uvm_re_match

这个很好理解,即正则表达式匹配字符串;如果匹配成功,uvm_re_match将返回0, 否则其他值均为匹配失败;

2023-09-28 11:50:20 794

原创 DDR4为何会引入tCCD_L和tCCD_S

另一种可能是,burst buffer的数据内容,本身就是IO gating送出来的wire线直连,所以不需要消耗时间;上表可以看出,DDR协议基本上所有频点都有一个5ns的绝对时间要求,对于1600这种低频(core 时钟频率也更低)来说,绝对时间更大,我们可以看出,这是由于DRAM core内部的一些处理达不成4nCK的要求导致的。首先,从逻辑上讲,DDR协议中绝对时间的时序参数,往往都和器件或者工艺物理因素有关系,比如tREFI是依照电容器漏电时间而定的,tRFC是器件刷新电容器的物理时间而定的;

2023-09-25 18:16:32 1486 1

原创 LPDDR5/5X BG mode,8B mode和16B mode

LPDDR5/5X 器件,协议上支持多个bank架构可静态配置;配置在MR3:模式说明协议要求速率要求BLBG模式每CH 4BG, 4BALPDDR5/5X>3200MbpsBL16 & 328B模式每CH 8BALPDDR5任何速率BL3216B模式每CH 16BALPDDR5/5X<=3200MbpsBL16 & 32。

2023-09-25 16:05:44 2451 2

原创 LPDDR5 BL/n学习

LPDDR5和DDR协议有些不同,BL/n协议上定义为Effective Burst Length,见下表:

2023-09-25 10:07:53 1394 1

原创 LPDDR5/5X x8 mode和x16 mode

x8模式,顾名思义即一个通道只出8bit DQ。优点:DQ IO数量更少,减少封装尺寸;同样DQ IO功耗也会低一半;缺点:DQ IO数量更少,带宽也小一半;总结:适用于小面积,低带宽的应用场景。

2023-09-25 09:33:02 739 1

转载 UVM factory机制注册宏一览

my_ext ext;string str;endclass。

2023-09-23 11:45:47 468 1

原创 DDR 行命中性能简析,以DDR4连续读命令为例

以DDR4 3200为例,tCCD_S是4nCK, tCCD_L是5/0.625 = 8nCK,倘若所有的读都处于同一行,则命令间隔是8nCK,对于DQ线来说,有4拍在传输burst8的数据,有4拍是空闲的。,DDRC的设计最简单的方式就是RRCBBC(rank - row - col - bank - bank_group - col)映射,把bank插在col中间,每burst8的数据量,即切换BG,这样才能达到最大的带宽。当然,为了均衡各个场景的带宽,实际的DDRC地址映会做的更加复杂。

2023-09-21 17:39:47 963 1

原创 tkinter组件trace()导致函数跑飞的解决方法

因为update_all_widgets更新了几个var, 同时var又绑定了trace, trace又会走进update_all_widgets, 导致不可预知的异常。为了解决这个问题,在var_update函数中先取消掉对trace的监听,然后再更新变量的值,最后重新添加trace监听。但是注意, 由于hex/dec/bin_string_change 函数都调用了**update_all_widgets()**函数,其会更新三个entry的数值。有如下三个entry: 十六进制,十进制和二进制;

2023-09-19 09:45:15 120

原创 C语言使用结构体访问寄存器

一个简单的DMA, 寄存器如下所示;

2023-09-01 08:53:29 229 1

原创 SystemVerilog的readmemh函数

每行表示一个十六进制数,可以有可选的地址指定。函数中,每一行开头是可以指定地址的。你可以在每一行的开头使用地址值,后跟一个冒号(:),然后是十六进制数。函数将文件"Example.hex"中的地址及对应的十六进制数存储到。这样,文件中的十六进制数据将被读取并存储到内存数组中的相应位置。在上述示例中,每一行的开头都有一个地址值,后跟一个冒号。函数将读取该文件并将地址及对应的十六进制数存储到内存中。函数将文件中的数据读取并存储到内存中。将存储地址1对应的十六进制数,依此类推。将存储地址0对应的十六进制数,

2023-08-22 11:17:23 1744 1

原创 SystemVerilog中运算符的优先级

以下是SystemVerilog中运算符的优先级列表,按照从高到低的顺序排列:***/%+->>=

2023-08-22 11:03:03 2100 1

原创 HBM3协议中文版

HBM3协议中文版,JESD238

2022-09-05 17:24:27 8994 8

verilog可用的FSDB dump命令

verilog可用的FSDB dump命令

2024-02-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除