- 博客(510)
- 资源 (6)
- 收藏
- 关注
转载 ACE-CacheCoherent
自己有cache copy必须invalid。CleanUnique,在partial cache line的store操作中,有copy的cache line存在,获得cache line的copy,并将dirty cache写入main memory,没有copy cache line存在。Invalid,必须通过ReadClean,ReadShared,先拿到cache中的数据,不能使用ReadUnique,ReadNotSharedDirty,这样会invalid掉其他的cache中的数据。
2025-12-19 10:26:34
23
原创 DFT时怎么考虑IR问题
DFT 考虑 IR 不是去算电源,而是“让 ATPG 自带电源意识”低翻转、分区域、错周期、回注 IR 引擎闭环确保测试向量不会把芯片拉到“测试假失败”或“过度老化”。DFT 把 ICG 的 TE 当“错峰旋钮”ATPG 可以按向量需要把大片时钟“分批打开”把同一拍的高翻转拆到多拍从而瞬态电流↓、IR↓再通过 TE=0 补漏保证 coverage最后用 IR 工具 signoff实现“测得全 + 测得稳”。EXTEST 只测 wrapper 外侧内核翻不翻转都“don’t care”
2025-12-09 20:10:07
639
原创 DFT的retarget和grayBox/TCD
在芯片 DFT 的 hierarchical flow 里,GrayBox 与 TCD 是一对“官方瘦身替身”文件,作用是让顶层在不加载子模块完整网表的前提下,仍能复用子模块已生成好的测试向量(pattern)并保证覆盖率零丢失。在芯片 DFT 语境里,retarget(重定向)就是:把已经在模块级(core/block)生成好的测试向量(pattern)不改激励、不改期望,只改“从哪里灌进去、从哪里采出来”,让它在顶层(SoC)PAD 上照样跑得通。换端口,不换数据。
2025-12-08 19:21:28
843
原创 怎么理解jtag/ssn tdi/tdo(input/output)要在一个clk内收时序
JTAG/ssn input/output 要在一个 clk 内收时序”不是协议要求,而是ATE 测试模式下的 pad-to-pad 时序签核要求——最短 bypass 路径必须在一个(甚至半个)TCK 周期内完成建立/保持,保证机台能稳定采样。
2025-12-05 20:29:05
643
原创 SSN和ijtag在scan中的应用与区别
特性Stream Scan Network (流扫描网络)本质一种测试数据传输架构。它将多个scan链连接成一个或多个 “流”,通过一个或少数几个端口进行高速、并行的数据输入 / 输出。一种测试控制和访问架构(基于 IEEE 1687 标准)。它在芯片内部构建一个分层的 JTAG 网络,用于灵活地控制和访问各种测试资源,包括scan链、BIST 控制器、传感器等。核心思想共享数据通道,并行操作。强调数据传输的带宽和速度。共享控制通道,灵活配置。强调测试资源的可配置性和可访问性。像是一个。
2025-11-14 19:56:51
1120
原创 report_constraint命令及报告解读
这个命令可以输出design中的constrain违反具体情况,包括setup, hold check, drv, clock gating check,min_period,min_pulse_width等参数见下图。
2025-11-06 21:27:16
496
原创 sram的bitCell读写,timing检查及min period
地址A,写数据bus DI,写使能WEN,Byte写使能BWEN (Byte-Write ENable),读写选通CSN等信号会相对于CK做setup/hold检查;CK自身会做min_pulse_width和min_period检查还有一些scan信号相对于SE,DOUT相对于PDE等信号的其他非CK相关的时序检查。把sram类比DFF,写的时候都有setup/hold/min_pulse_width检查。如果不满足这几个timing,DFF/SRAM就不能正常采样输入数据。
2025-11-06 19:45:06
835
原创 Interface Logic Model (ILM)只抽接口的时序lib
只抽接口时序 lib,把超大模块内部扔掉”的正式名称就是或它是后端用来“内存-时间-收敛”三件大事一起解决的标准抽象手段。
2025-10-24 11:11:30
353
原创 ScribeLine/Seal Ring/dummyCorner/stitch-Line
Scribe line(划片道,又称 dicing street、切割道)是晶圆上相邻两颗芯片(die)之间的窄条区域,专门留给砂轮或激光切割使用,把整片晶圆分割成单颗芯片。宽度:通常,由封装厂和刀片尺寸决定。位置:die 四周一圈,与芯片边缘平行,内部不画任何功能电路。功能:提供机械切割路径,避免切到芯片;容纳测试结构(PCM、WAT test key),用于监控工艺均匀性;可放置对准标记、dummy pattern,减少 CMP 负载效应。seal ring是芯片内部的一圈保护墙。
2025-10-21 18:01:12
1163
1
原创 layout和pr知识点
layout 的“全部层次” = 硅工艺叠层(AA→GT→CONT→Mx/Vx) + 阱/注入/隔离 + 模拟特殊层 + 顶层厚金属/RDL + 各类 dummy 层;只有把这些全部画对、密度填满、DRC 清零,才算真正可流片的完整版图。晶体管 = “AA 提供沟道” + “GT 提供栅” + “well 提供反型背景”;其余所有层都是为这颗管子服务的连线或隔离本身不是晶体管。std-cell 的 pin 口“默认”在 M1,
2025-10-20 10:44:10
1305
原创 为什么很多phy都有自己的PLL而不是用SOC的PLL呢
一句话:把“高频、低抖动、布局敏感”的时钟放在 PHY 本地,比从 SoC 远程送过来。下面按设计、信号、功耗、收敛四条拆开说明。
2025-10-11 17:57:47
597
原创 PrimeTime (PT Shell) report_timing 报告全字段完整解析
clk_iregA/Q0.15ns1.25nsrisingsetup30.042pF0.08ns0.12ns0.015pF2.50ns0.05ns0.25ns1.10+0.05nsSS0.72VU123net_abc检查Incr最大节点 → 优化组合逻辑或插入流水级。分析Dtrans和Cap→ 增强驱动或减小负载。关注Delta和Derate→ 调整OCV约束或增加缓冲延迟。过高 → 优化时钟树综合(CTS)。Latency不均 → 平衡时钟路径。Fanout或Cap超标 → 手动布局或调整布线策略。
2025-07-11 17:39:06
2007
原创 异步fifo的最小深度计算及指针同步
asyncFifo的读写两端的时钟是异步时钟,设读周期为Tr,写周期为Tw。那么aFifo所在的通路中性能受限于max(Tr, Tw)。如果aFIFO的深度不能保证当写带宽低时的写连续或者读带宽低时的读连续,那么就会造成通路的性能损失。设aFifo的深度为D。要保证写的连续性就是保证写不能full。那么最低要求我们从空开始写,写指针同步到读【读当拍判断not-empty】开始读,到读返回读指针在wr clk domain内判断出aFifo not full,我们设这段时间为T_interval_0。
2025-06-19 17:35:46
1567
1
原创 icg真的只能用latch不能用Flip-flop吗
从timing分析,用latch对setup更友好,因为用latch锁存EN | TE可以做setup的整周期check,而用flip-flop只能做clk的半周期check;而用flip-flop的hold是比较宽松的,有半个时钟周期留给hold。从功能上看不出有什么区别,那就要从实现上分析,两种cell哪个更快(transition,Propagation Delay),哪个更容易收timing?下面解释一下为什么latch明明用的clk低电平触发,为什么可以做整周期的setup检查?
2025-06-13 14:38:12
487
原创 latch/ff的电路结构及setup/hold/tpd、clkWidht/recovery/remove
用verilog描述如下:这个代码应该是可综合的,但是需要其他逻辑保证 s | r!
2025-06-11 12:03:53
1098
1
原创 DFT测试之TAP/SIB/TDR
tap全称是test access port,是将jtag接口转为reset、sel、ce、ue、se、si、tck和so这一系列测试组件接口的模块。上面的信号才是Jtag的接口信号,每一个信号都对应一个IOPAD。在设计中常会遇见tdo_en信号,这个信号是控制IOPAD在没有输出时,输出高阻态。它并不是实体的IO信号。也有可能会遇见tdi_en信号,控制IOPAD没有输入时,输入为高阻。单一般不会控制IOPAD的输入。那么TAP就是把这些Jtag接口,主要是通过解析TMS的指令。
2025-06-06 22:08:26
2476
原创 python脚本处理excel文件
分别尝试用perl和python处理excel文件,发现perl的比较复杂,比如说read excel就有很多方式不同的method,对应的取sheet的cell方式也不一样。更复杂的是处理含有中文内容的Excel。用perl目前没有成功过。对于python来说就比较简单,目前使用openpyxl库,处理起来清晰明了。
2025-03-25 21:13:19
630
转载 AMBA总线(2)—— AHB协议
AHB5手册的最后一章是User信号,分为HAUSER、HWUSER、HRUSER三组,但协议开头就说:“通常本规范建议不使用User信号。AHB协议没有定义这些信号的功能,如果两个组件以不兼容的方式使用相同的User信号,就会导致互操作性问题。”啊这……在章节后面,手册又说道:“建议在互连上包含User信号,但是没有要求在Master或Slave上包含它们。该规范建议互连组件包括对User信号的支持,以便它们可以在Master和Slave之间传递。
2025-03-20 21:53:08
2330
原创 linux stdout/stderr重定向到文件,>或tee
正常情况下直接使用 '>'或者tee命令只能把stdout的终端输出重定向到文件中,而stderr的输出是无法写到文件中的。比如在使用svn up时遇到svn 报错的错误,svn ERROR/WARNING用下面的语句是不会将ERROR/WARNING行写到svn.log的要想同时将这两类输出都写到文件中,可以如下操作。
2025-01-14 15:55:24
644
原创 linux下中文输入法ibus
一般设对了环境变量就可以正确使用,如果有的软件可以,有的不行,可能需要到软件中设置。比如Firefox浏览器【经过实测设了环境变量之后,FireFox就可以输入中文了,如果你遇到不行的情况,可以接着看下文】。编辑Firefox的启动脚本以确保它使用IBus输入法。在IBus设置中,确保已添加并启用了中文输入法(如智能拼音)。,可以使用文本编辑器打开并添加以下环境变量:bash。这将启动IBus守护进程,并确保它在后台运行。保存并退出后,重新启动Firefox。确保IBus输入法已正确安装并配置。
2025-01-10 20:08:50
1969
转载 万子长文和你一起探索Arm调试架构
从图中可以看出的是,当core正在处于(由一个debug event,比如breakpoint,触发的)debug exception中时,可以通过设置MDSCR_EL1.SS和PSTATE.SS都为1来让core在退出exception时进入单步调试,并在执行完一条指令后并重新触发debug exception,这就完成了一次单步调试。然而,据我了解,GPR在Arm的产品中很少出现,我只在一些Cortex-M core based subsystem中找到了它们。
2024-12-07 21:22:30
919
转载 万文长字带你搞懂JTAG的门门道道
JTGA这个东西IC和嵌入式靓仔们肯定是有用过的,但是对于JTAG内部的东西,以及实现如果不了解的,可以看看这篇文章。之前和coresight有了解过的靓仔,了解了对于ARM内部的调试,知道了对于调试的入口在于那个JTAG Port,但是对于外部的JTGA Port你真的又了解多少,是否真的就是那么简单的一个port?不知道coresight的可以看看【来跟着前辈看看coresight】这篇文章。
2024-12-07 19:30:36
3268
1
原创 excel按行排序
使用excel对一列数据进行排序比较简单,但是有时需要按行排列,更进一步有多行的时候,按照某一行排列是,相应的其他行也跟着变化,举个例子,下面有两行分别是。第一行1-6,第二行a-f,将第一行降序排列时第二行也跟着重拍,可以按以下步骤处理。然后在主要关键字中选择行1。点击选项,选择按行排序。
2024-11-08 17:40:21
1112
原创 用awk将包含key1不包含key2的行及下一行输出/awk&sed删除匹配的块
有时候在vim中搜索和替换并不好做,这个时候可以充分利用shell的grep,sed,awk这些现成的命令。如果不知道怎么使用这些高级命令,可以问aiChat,这种一般会给出正确的脚本。
2024-11-05 20:43:36
333
转载 【精讲】PCIe基础篇——BAR(Base Address Register)详解
Bios可以为设备预留大于BAR要求的地址空间,而PCI规范中建议为需要的地址空间少于4KB的设备分配4KB的地址空间。我们发现PCI这种地址自然地要求为设备分配的地址空间要跟BAR定义的大小对齐,因此PCI设备的映射空间始终是跟BAR的大小对齐的。系统中的每个设备中,对地址空间的大小和访问方式可能有不同的需求,例如,一个设备可能有256字节的内部寄存器/存储,应该可以通过IO地址空间访问,而另一个设备可能有16KB的内部寄存器/存储,应该可以通过基于MMIO的设备访问。当该设备确认某一个请求(
2024-10-15 22:01:28
1213
原创 PCIE基础概念BAR/in/outbound/空间映射/Post/CPLD
我们称pcie endpoint所在的芯片为设备,上位机为主机。pcie可以把设备上的内存空间和寄存器空间映射到Host上。这样Host就可以直接访问设备的内存空间和寄存器空间。空间映射是不会占用host原有的物理内存空间的,比如说Host有24GB的DDR+1GB寄存器空间,pcie设备有128GB的HBM+2G的寄存器空间。那么映射之后host可以看到Host的24GB的DDR+Host的1GB寄存器空间+128GB的设备HBM+2G设备寄存器空间。
2024-10-15 21:56:24
2843
转载 简单介绍SPI/Dual SPI/Quad SPI(SPF)几种通讯模式的差异
初接触Nor Flash的工程师可能会对SPI/Dual SPI/Quad SPI等传输方式有些困惑,下面以MX25L25645G为例,从硬件接口及传输时序简单分析这些通讯方式的差异。通过以上对SPI/Dual SPI/Quad SPI通讯在硬件接口及cmd+add+data的传输时序存在的差异比较,可以对SPI在不同模式下的通信方式进行区分。Dual SPI和Quad SPI 是半双工通信,数据可以在两个方向上传输,但是同一时间数据只能在一个方向上传输。
2024-10-12 18:56:01
2218
转载 数控振荡器的基本结构以及电路原理解析
随着处理越来越广泛的应用,数字锁相环DPLL(Digital Phase Lock Loop)在现代设计中也越来越普遍,特别是在数字信号和这类高性能应用中,数字锁相环更是一种必不可少的电路。与传统的锁相环(Phase-Locked Loop)相比,由于数字锁相环较少采用高阻值以及电感等非线性器件,可以采用与高速数字逻辑电路相兼容的制造工艺来设计和制造,也更加容易在数字系统中应用。一个典型的数字锁相环结构如图1所示,Oscillat)是其中最关键和核心的部分。
2024-09-30 18:37:27
2364
原创 DPLL的DCO与PLL的VCO(数控振荡器与压控振荡器)
无论DPLL还是PLL都是由PD,LPF和DCO/VCO组成。PD:鉴相器,是将VCO/DCO输出的频率信号分频后与refclk进行相位比对,输出一个相位差信号LFP:是将相位差信号转换为VCO的压控信号或DCO的延迟信号。VCO:根据不同的输入电压【注意不是电源电压而是输入的控制电压】产生不同的输出频率DCO:根据不同的输入延迟控制信号,控制DCO内部环路的延迟,以输出不同的频率以前一直有三个误解本文主要介绍振荡器,VCO由于涉及模拟器件,比较复杂。
2024-09-30 18:35:05
3067
原创 linux shell的$()作用-将一个命令结果输出给另个命令
在Shell脚本中,$()是一种命令替换的语法,它允许你执行一个命令,并将命令的输出插入到当前的命令行中。这种特性使得你能够在一个命令的输出基础上构建另一个命令。
2024-09-05 17:48:21
808
原创 spyglass-lint关闭(disable/stop/waiver)规则
其中xxx就是被disable的某一项规则。在disable_block和enable_block之间的verilog code就是作用区域。如果没有enable_block语句,则disable_block的默认作用范围到endmodule。而且会报一个un-paired block waiver pragma defined for rule 'xxx'
2024-08-27 21:43:07
4767
原创 rule ‘flopEConst‘和vcst-lint的disable
先从vcst-lint的一个warning开始:这个含义是存在不配对的块waiver语法,flopEConst。什么叫不配对的语法呢?我们打开对应的verilog代码可以看到有下面的语句但是没有找到对应的enable_block语句。这就表示一个disable_block会一直起作用。
2024-08-26 10:58:06
726
原创 Jira使用指南(高级搜索JQL/统计/面板设计)
上面的pdf比较详细的介绍了Jira的使用,目录如下:或者从Jira的中文官网获得更多的使用指南。
2024-08-23 18:34:21
3138
原创 dc/dc_shell的keep和donot touch区别
在半导体设计和综合工具中,donottouch和keep属性通常用于指定综合和布局阶段的特定要求。sizeonly是keep属性的一个可能值。以下是donottouch和keep属性以及sizeonlydonottouchkeepsizeonlyhierarchykeepkeepsizeonlydonottouchkeepdonottouchkeepsizeonlydonottouchkeepsizeonlydonottouchkeep在实际使用中,选择donottouch还是keep属性(以及keep。
2024-07-06 19:04:12
1498
转载 sram的min period
sram除了setup/hold的检查,还需要进行min_period的检查。这个min_period是sram里给bitline进行预充电留足时间。如果两次读间隔period太近,那么第二次读就不能正确读出。minPeriod是sram的bitCell器件预充电时间决定的,和clk的transition也有一定的关系。如下图:clk的transition影响较小。
2024-06-01 17:22:54
1696
转载 数字IC后端实现的一些基本概念
2)place之后,假设setup和hold都正好为0ns,然后插入时钟树,树的完全平衡的,WC的时钟树insertiondelay是0.2ns,BC的insertion delay是0.1ns,这时做STA,会看到timingviolation吗?cloning是在有多个sink的情况下,不改变逻辑功能把当前cell复制一份,分别驱动下一级的cell,这样可以减少当前单元的负载,从而获得更好的时序,有时是为了placement的考虑,譬如几个sink的方向不同,缺点是会增加上一级的负载。
2024-06-01 16:40:09
2718
数字控制振荡器-多级反相延迟组成DCO
2024-09-30
线性方程组的迭代解法.pdf
2020-06-13
TI的TDA4VM dataBook
2023-02-22
High Definition Audio Specification
2023-02-10
NVIDIA Jetson AGX Orin Series
2023-02-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅