- 博客(79)
- 资源 (2)
- 收藏
- 关注
原创 使用Ucli语句进行仿真debug
本文介绍了一个用于监控时钟频率的Tcl脚本实现方案。该方案无需增加编译负担,通过以下步骤实现:1) 使用search命令查找OCC层次结构下的所有fast_clock信号;2) 利用stop命令捕获时钟信号变化;3) 处理仿真日志计算时钟频率。脚本包含两个主要部分:第一部分设置监控信号并启动仿真,第二部分处理日志文件,通过识别时钟边沿变化计算周期和频率。方案还包含完善的错误处理机制,能自动识别未监控到的信号并生成验证报告。该实现特别适用于需要监控多个时钟域的场景,且不会对编译流程产生额外开销。
2025-11-28 10:36:22
253
原创 (T24) 跨时钟域SI->Q path的latch选型
在前端设计中, latch并不是主流的跨时钟域的同步方案(主流仍然是触发器+协议 或者 异步FIFO);对于DFTmode下SI-Q的跨时钟路径, latch仍是解决hold问题的有效方式;latch电平类型的选择核心是:它在“透明窗口”开放的时段,不能与目的域采样边沿形成数据直通或竞争;同时要让数据在需要时被稳定“关住”。
2025-11-04 19:32:38
241
原创 Bscan Bonding Chain
本文介绍了Bonding Chain的配置应用,主要用于灵活组合不同的bscan chain测试方案。通过BondingConfigurations可实现单独测试PAD组或bypass特定PHY的BSCAN单元的功能,支持在EmbeddedBoundaryScan和BoundaryScan中配置。示例展示了如何通过enable信号和bypassed_logical_groups设置usb_bypass模式,系统会在逻辑组间创建mux实现bypass功能。该配置具有较高灵活性,可支持单独bypass指定PAD
2025-08-28 17:58:51
306
原创 gnome terminal自动修改title和默认继承当前目录创建新tab
摘要:作者分享解决终端自动修改标题问题的方案,通过修改cshrc文件实现:1) 设置终端标题显示当前目录名;2) 覆盖cd命令保持标题同步更新;3) 配置快捷键在当前目录打开新终端窗口/标签页。方案针对xterm-256color终端,需根据实际$TERM值调整。虽解决了核心问题,但新开终端不会自动跳转仍需手动切换。
2025-08-04 12:00:01
420
原创 Tessent SSN[3] SDC about
本文介绍了SSH扫描模式下的时序约束配置方法,主要包括三种时钟频率选择、ATPG时序参数设置以及SSH接口的时序例外处理。关键点包括: SSH在不同模式下使用不同时钟源,需在SDC中创建三种时钟定义 需根据SSN数据包大小动态调整scan clock频率,可能直接使用bus clock或分频产生 控制信号(scan_en/edt_update)需要特殊时序处理保证安全 SSH接口包含多种工作模式,需设置相应的时序例外(false path) 特定负边沿寄存器需要针对网络时钟设置特殊约束 这些配置保证了SSH
2025-06-11 14:03:33
1755
2
原创 Tessent SSN flow [2] BFD & BFM
BFD和BFM是一对串并转换器,用于降低数据传输速率并保证数据完整性,尤其在跨时钟域传输(CDC)中。CDC涉及信号从一个时钟域传输到另一个时钟域,可能引发亚稳态、数据丢失或数据不一致等问题。通过BFD降低数据速率后,仅需两级同步寄存器即可解决CDC问题。BFD还可用于提高总线时钟频率,通过减慢数据速率来优化时序收敛。BFM则用于将展宽的总线数据缩窄,配合BFD实现跨时钟域传输和内部总线时钟加速。此外,BFD和BFM的使用有助于将时钟域限制在单个物理块内,减少时钟树综合的复杂性,同时通过插入输出管道进一步优
2025-05-20 11:53:28
1192
原创 每次执行最大数量的仿真jobs
本文介绍了一种自动化任务管理和投递的方法,旨在减少手动监控任务状态的时间。首先,通过全局的Makefile创建完成标志文件(finish flag),以便在任务完成后自动生成标志文件,从而避免实时查看任务状态。其次,使用Perl脚本实现任务发现和投递,根据参数自动生成仿真环境,并通过检查完成标志文件来判断任务是否完成。脚本还支持并行任务管理,确保在资源限制下高效运行。这种方法不仅提高了任务管理的自动化程度,还减少了手动干预的需求,使开发者能够更专注于其他重要工作。
2025-05-15 10:03:06
290
原创 Tessent SSN flow [1] overview
本文探讨了DFT(Design for Testability)实现中的关键技术,特别是通过SSN(Scan Serial Network)和IJTAG网络优化测试流程。SSN通过在核心级别实现DFT设计,脱离芯片IO限制,简化了路由和时序清理,从而加速了DFT的实现。此外,SSN支持并行测试所有核心,显著缩短了测试时间。文章还详细介绍了SSN与IJTAG网络的结合使用,通过流式传输模式提高测试灵活性,并支持低引脚数测试(LPCT)。在高级主题中,讨论了片上比较(On-chip Compare)模式,该模式
2025-05-13 10:51:11
2545
原创 线性反馈移位寄存器在内建自测试中的应用
随着超大规模集成电路 (VLSI) 的持续发展,其复杂性也显著增加。这种复杂性的提升带来了诸多测试挑战,例如不断增长的晶体管数量和集成密度导致芯片引脚数量的增加,以及对更高级、更有效的测试方法的需求 1。传统的外部测试方法在面对这些挑战时逐渐显现出其局限性,尤其是在成本效益和测试覆盖率方面。内建自测试 (BIST) 技术应运而生,旨在应对这些日益严峻的测试挑战 1。BIST通过在芯片内部集成专门的测试电路,使得芯片能够对自身的功能进行测试,从而显著减少了对外部自动测试设备 (ATE) 的依赖 5。这种方法不
2025-04-24 15:22:35
1068
原创 Tessent Scan Stream Network (SSN) 在芯片设计DFT中的架构、实现原理及组成
1. Tessent SSN 简介现代片上系统 (SoC) 的复杂性日益增加,给面向测试的设计 (DFT) 带来了严峻的挑战。传统的 DFT 方法在面对不断增长的内核数量和日益缩小的特征尺寸时,其局限性日益凸显,导致测试应用出现瓶颈,测试成本也随之上升 1。为了克服这些限制,西门子 EDA 推出了 Tessent Scan Stream Network (SSN),这是一种先进的解决方案,旨在提供更高效、更具可扩展性的扫描测试方法 2。SSN 被定位为 Tessent TestKompress 中的一项革命
2025-04-15 11:54:36
4523
1
原创 Cadence Xcelium (xrun) 仿真工具多核特性调用与加速编译和仿真
1. 引言:理解 Xcelium 和多核仿真Cadence Xcelium 是一款由 Cadence 设计系统公司推出的第三代高性能逻辑仿真器 1。它基于多核和单核引擎的组合构建而成 2,以其在数字和混合信号仿真领域的创新和技术领先地位而闻名 5。Xcelium 支持包括 SystemVerilog、VHDL、SystemC 和 UVM 在内的行业标准 5。仿真技术经历了从解释执行到编译执行再到并行执行的演进,这反映了片上系统 (SoC) 验证日益增长的需求。Xcelium 通过并行化处理这些需求,代表了当
2025-04-09 12:01:09
2259
原创 DFT mode下hard phy STA Nopath
发现在shift mode吧 bypass func的lib也读入了;PHY SI SO在shift mode必须有timing的path;展示为No constrained path;同样发现 hard phy SI SO的出现 no path;优先查看Lib中在此mode是否存在 timing arc;shift cornor出现No Path的;重新读入lib, shift path 出现;其他非SI SO pin的no path;
2025-03-17 18:01:18
739
原创 DC coverage analyze
除此之外由于DDR的bscan可能是hard phy;bscan可能需要走的hard phy的特殊mode;这可能额外需要配置bscan mode让ijtag网络可以访问到DDR的PAD;2. 添加dft signal bscan_clamp_enable bscan_input_isolation_enable output_pad_disable。与bscan_clamp_enable类似bscan_input_isolation_enable force select_ijatg_input为1;
2025-03-10 19:14:22
548
原创 add_cell_constraint C/T/O/DX的区别
最后stable capture 也就是最后一拍capture的值与cell原来的值一致;stable capture的值与cell与cell原来的值相反;cell not Disturbed:是指单元的时钟,复位,置位都是off状态;表中使用a b表示不同的boolean值;
2024-07-30 10:38:15
1159
1
原创 How to Delay the capture clock pulse in capture cycle
在扫描测试期间,由于SE是一个全局大扇出异步信号,在一个测试周期内SE可能没有足够的时间传递到所有的scan cell,shift和capture的频率可能造成SE还未完成状态转变就来有效采样沿;
2024-03-25 14:41:49
1486
3
原创 wrapper cell & wrapper chain
参考:https://semiconshorts.com/2022/09/01/wrapper-chains/#:~:text=The%20sequential%20elements%20in%20the,in%20input%2Foutput%20wrapper%20
2023-12-08 14:26:48
3107
4
原创 openlava & perl,集群提交并等待任务结束后执行新任务 &打开新terminal执行任务
【代码】openlava & perl,集群提交并等待任务结束&打开新terminal执行任务。
2023-08-15 11:03:05
663
原创 Tessent Scan&ATPG appendix3 about dft signals
请求附加的静态,动态的DFT信号;也存在一些已经定义好的DFT信号可以用来控制电路;
2023-08-03 17:30:31
2923
3
原创 Tessent Scan&ATPG appendix2 deal with Pre-Existing chain
对于复用别的设计模块,或者使用第三方工具进行串链之后,设计中已经存在了扫描电路;如何做处理;
2023-08-02 16:52:29
985
原创 Tessent Mbist(5) 并行static Retention(静态保持)测试
PSRT和parallel retention test不同
2023-02-13 15:59:15
3543
1
原创 MBIST BAP(Bist Access Port)直接访问接口(1)
MBIST BAP(BIST Access Port)是在系统内部调用自测试的接口
2022-11-19 16:57:31
4181
1
原创 Tessent Mbist(2)Pattern Spec设置及Pattern产生
Tessent MBist test pattern的生成与仿真
2022-10-24 11:12:32
6498
3
原创 Tessent Mbist(1)Memory分组及DFTSpec编辑
DFTspec中 memoryInterface/data_bits_per_bypass_signal 属性用来指定组合到一个XOR tree中的数据输入信息的数量,此设置在为RAM创建bypass logic时十分有用,工具提供了一个灵活的区间,1对1到多对1;一些信息将你在报告DFTspec的时候才能看到,像 Memory的分组仅影响DFT的解决方案,但只能在创建之后才能看出结果,修改这些信息需要对DFTspec进大量的编辑,更简单的方法是直接改变输入的数据并重新创建DFTspec;
2022-10-22 14:46:25
8249
10
原创 Tessent scan&ATPG(9) simulation mismatch(debug向量仿真问题)
pattern simulation mismatch发生的原因 及debug方法
2022-09-06 10:51:25
8312
8
原创 DFT specification file & string
DFTSpecification的配置主要就是系的设计里面需要做什么,怎么做;然后tessent会根据文件或者string之中的信息 创建一系列的instruments 并将他们插入到设计中;上面的文件是加载tessent DFTspecification文件读入的;需要通过create_dft_specification;才能将配置信息存入变量中,方便之后进行修改和配置;...
2022-08-31 09:19:26
5713
4
原创 Tessent scan & ATPG(8) Debug low test coverage(低测试覆盖率的原因及debug方法)
如何利用工具debug测试覆盖率低的原因
2022-08-29 09:52:40
10594
8
原创 Tessent scan & ATPG(7) 设计规则检查 (DRC)
写在前面, DFT compiler 和Tessent 都有自己独立的DRC的检查, 可能在命名上有所重复,注意区别.Flat model的创建(不是fault model哦)这里的flat的意思 是 将设计中模块的接线打破,电路全部看成最基本的门电路组成;ATPG工具会使用verilog模型区创建自己的工具内部的设计模型;设计中的cell会转换成ATPG library中的标准单元;#使用analyze_control_signalscreate_flat_modelcheck_desi.
2022-05-01 20:31:56
14194
5
原创 Tessent scan&ATPG(6)测试向量配置 ,at-speed pattern的生成以及OCC的插入
Test pattern management 测试向量管理生成最佳的pattern#使用create_patterns#时会默认将所有的fault 类型加入到consider中;执行大量的设计分析和DRC;#创建所有必要的pattern 类型#监控pattern的生成(包括实时的coverage pattern count 以及执行时间等) 如果必要会修改参数#如果必要 自动运行top_up的方式##使用report_patterns#报告当前生成pattern的信息; 你可以展示所
2021-12-28 11:40:46
15031
9
原创 Tessent scan&ATPG (5) Additional test pattern types
Additional test pattern types附加的pattern的类型ATPG test pattern 的类型使用tessent shell 生成的pattern 大致分以下几种类型:1. basic Scan 对于 full-scan 的电路 生成的是basic scan的pattern2. clock Sequential 用于那些时序深度有限 存在no-scan latches /no-scan cell 的电路 在时序上: shift之后(或者说load之后)会有若干个cyc
2021-12-20 22:10:05
8391
7
原创 Tessent scan &ATPG (4) 额外的fault model‘
可测试性的几个指标test coverage检测到的fault 占所有可测fault 的百分比(DT +(PD * posedet_credit))/TEfault coverage检测到的fault 占所有test pattern设置测试的fault 的比重同等对待 untestable fault和 undetected fault(DT +(PD * posedet_credit))/FUATPG Effectiveness ATPG 的效率的衡量反应的是 ATPG tools 对于
2021-12-18 11:18:54
7467
1
原创 Tessent scan &ATPG (3) Fault 的分类
Fualt 的分类在使用 report_statistrics报告scan chain 的总结性的报告时,会出现每种fault的数量 以及对覆盖率的影响,TE(testable)Detect by implication (DI)隐含检测在scan chain 数据路径上的 faults被标记为 隐含可检测通过推算电路就知道这些点可以被测到,这些fault location是测试电路的一部分.扫描链的测试pattern (使用write_pattern 创建的)就可以检测到这些fualt;c
2021-12-14 22:21:24
9943
原创 MCMM 脚本编写
MCMM脚本MMmulti-mode 的脚本以最简单的两个mode为例, 一个func 一个test,肯定会分出来的两个mode;MM的脚本主要写什么:## 通过设置signal值,开启或者关闭mode# Enable DFT logic and OCC Controller:set_case_analysis 1 test_modeset_case_analysis 0 occ_bypassset_case_analysis 0 occ_reset# test mode 的时钟和
2021-12-04 19:04:07
3571
1
原创 Tessent scan & ATPG(2) ATPG basic flow
ATPG 的基本步骤DFT lib一般vendor会提供也可使用 tessent 的libcomp工具 将simulation lib转化为 DFT lib什么是 simulation lib ? 是仿真专用的库吗? 那仿真和综合 布局布线为什么要分开来?black boxes存在一些block 不需要做scan chain的 就可以定义为black box;#exampleadd_black_boxed -module core#改变black box 的输出行为add_black
2021-11-23 22:07:21
12790
9
Using Tcl With Synopsys Tools
2020-04-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅