- 博客(19)
- 收藏
- 关注
原创 svn设置文件可执行属性
当在版本库中设置了这个属性,任何检出(checkout)或更新(update)操作将会保留文件的可执行位,这意味着在Unix-like系统中文件会具有可执行权限。现在,checkout或up这个文件,该文件都将保留可执行权限。首先,需要在命令行中定位到你的工作副本目录。SVN中,文件的属性可以通过。
2024-01-29 09:27:07
587
原创 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/5X x8 mode和x16 mode
x8模式,顾名思义即一个通道只出8bit DQ。优点:DQ IO数量更少,减少封装尺寸;同样DQ IO功耗也会低一半;缺点:DQ IO数量更少,带宽也小一半;总结:适用于小面积,低带宽的应用场景。
2023-09-25 09:33:02
739
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
原创 SystemVerilog的readmemh函数
每行表示一个十六进制数,可以有可选的地址指定。函数中,每一行开头是可以指定地址的。你可以在每一行的开头使用地址值,后跟一个冒号(:),然后是十六进制数。函数将文件"Example.hex"中的地址及对应的十六进制数存储到。这样,文件中的十六进制数据将被读取并存储到内存数组中的相应位置。在上述示例中,每一行的开头都有一个地址值,后跟一个冒号。函数将读取该文件并将地址及对应的十六进制数存储到内存中。函数将文件中的数据读取并存储到内存中。将存储地址1对应的十六进制数,依此类推。将存储地址0对应的十六进制数,
2023-08-22 11:17:23
1744
1
原创 SystemVerilog中运算符的优先级
以下是SystemVerilog中运算符的优先级列表,按照从高到低的顺序排列:***/%+->>=
2023-08-22 11:03:03
2100
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人