自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 sdf内容小结

本文介绍了标准延时格式文件(SDF)的相关内容。SDF文件包含仿真所需的延迟时间和时序约束参数,主要分为逻辑门单元内部延迟(celldelay)和器件间互连延迟(wiredelay)。文章重点阐述了延迟值(delval)的指定规则:最多12个小括号,每个包含min/typ/max三个值;不同数量的delval值分别对应不同信号转换情况的延时值(如2个值对应上升/下降沿,3个值增加高阻态转换等)。最后通过示例说明SDF3.0支持部分转换延迟缺省的情况,反标工具将保留Verilog原有的对应延迟值。

2025-11-12 22:24:55 345

原创 DFT 设计中时钟沿对timing 影响以及解决办法

摘要:本文分析了DFT时钟沿设计的三方面问题。在scanchain内部,应采用先负沿后正沿的时钟顺序以避免数据丢失。跨时钟域时,为防止数据错误需插入LockupLatch,其类型取决于触发器边沿类型,其中正沿触发时需加低电平传输的LockupLatch。LockupLatch应靠近Domain1放置,以改善hold时间。文章还讨论了EDT与IO channel间的设计考虑,并指出scan模式下可牺牲setup时间来换取hold时间的改善。

2025-11-02 00:06:35 1074

原创 verilog阻塞赋值和非阻塞赋值的区别

Verilog中阻塞与非阻塞赋值的区别:非阻塞赋值(b<=a)在块结束时完成赋值,常用于时序逻辑;阻塞赋值(b=a)立即执行赋值。非阻塞案例中,b_reg和c_reg分别在时钟沿后更新;而阻塞赋值案例中,b和c会立即被赋值为a的值。设计时需注意选择正确的赋值方式以避免意外结果。

2025-10-25 23:14:34 293

原创 正则表达式匹配

2025-09-12 11:22:26 116

转载 vcs仿真中,Verilog 时序检查

本文介绍了Verilog中用于时序检查的6种系统任务($setup, $hold, $recovery, $removal, $width, $period)及其应用。主要内容包括:1) 通过全加器实例演示$setup和$hold的用法,分析时序违规原因及优化方法,如增加时钟周期、插入寄存器缓冲等;2) 解释异步复位信号所需的$recovery和$removal检查,说明其与同步时序的异同;3) 介绍$width和$period分别用于脉冲宽度和时钟周期检查的应用场景。文章通过具体实例展示了如何利用这些系统

2025-08-31 13:58:10 219 1

原创 set_max_delay 和set_min_delay 命令小结

本文讨论了时序约束中的关键问题:1)set_max_delay用于约束异步信号路径延时,相比set_clock_groups和set_false_path能提供更精确的路径约束;2)时序例外优先级规则,明确约束优先级高于宽泛约束,且优先级排序为:set_case_analysis > set_false_path > set_max_delay > set_multicycle_path;3)reset_path方法可取消max_delay约束;4)-ignore_clock_latenc

2025-08-12 17:21:00 638

原创 Tessent 一些命令小结

摘要:本文介绍了Tessent中MBIST相关问题的处理方法和设置技巧。主要内容包括:1)修改MBIST时钟频率的两种方法;2)MBIST仿真中go/done信号状态解读及不匹配时的解决方案(调整test_time_multiplier参数);3)使特定memory不插入MBIST的方法;4)OCC chain压缩原则:少量OCC bit可压缩到EDT中,若超过最长chain的75%则需单独成链。文章详细分析了go=1,done=0不匹配现象的产生原因及计算公式。

2025-06-27 17:31:20 523

原创 Set_path_margin 命令介绍

(2)-through|-rise_through|-fall_through <through_list>,指定timing path的through point。(1)from|-rise_from|-fall_from <from_list>,指定timing path的start point。(3)-to|-rise_to|-fall_to <to_list>,指定timing path的end point。(4)-rise|-fall,只设置终点信号是上升沿或下降沿的时序路径为时序调整的路径。

2025-06-19 16:00:11 537

转载 Determining the Fuse Box Size

BISR controller 采用高效压缩算法来最小化存储修复信息所需的 fuse box 数量。以下公式可用于估算该数值。如果实施了软修复方法,则不需要 fuse box。由于 fuse box 通常采用固定尺寸规格,该计算公式可帮助您选择合适的容量。

2025-06-19 15:32:20 104

原创 带sdf 的post sim 小结

第二、三个脉冲信号宽度均大于或等于4ns,所以均有效输出,第四个脉冲宽度为3ns,介于2ns和4ns之间,所以不能被有效输出,此时输出为不定态。惯性延迟考虑了电路中存在大量的分布电容,信号在电路中传输存在对电容充放电效应,当输入较小宽度的脉冲将会被滤除,即不允许所有宽度小于指定延迟的脉冲通过电路单元,那么能够让对应输出有变化的最小脉冲宽度即为惯性延迟,是所有的电子器件均存在的一种延迟特性,因此为了使器件对输入信号的变化产生响应,信号变化后要维持足够长的时间,在仿真过程中,该延迟用于模拟元件延迟。

2025-05-30 15:52:15 1265

原创 STA中的multi_cycle 和false_path详细讨论

通常,在最坏情况的慢速工艺角下,建立时间检查最难满足(裕量最小),而在最佳情况的快速工艺角下,保持时间检查最难满足(裕量最小)。setup_4是最严格的检查,通常,设计人员可以将从快时钟域到慢时钟域的数据路径指定为多周期路径。与从慢速时钟域到快速时钟域的路径不同,在从快速时钟域到慢速时钟域的路径中,多周期路径约束的一个好经验是使用 -start选项,然后再根据快速时钟调整建立时间和保持时间检查。默认的 15ns 处。-end 是多周期建立时间约束的默认值,-start 是多周期保持时间约束的默认值。

2025-05-05 23:18:03 702

转载 Tcl循环控制命令之for、foreach、while、break、continue

摘录链接:Tcl循环控制命令之for、foreach、while、break、continue_tcl for循环-优快云博客

2025-03-09 10:47:17 630

原创 Formality 小结

1. set verification_clock_gate_hold_mode collapse_all_cg_cells【解决clock gating问题】verification_clock_gate_hold_mode有几个选项可以选择,none/low/high/collapse_all_cg_cells。collapse_all_cg_cells,基于low,另外会考虑clkgate的输入输出端口为时钟信号。以上两点,在set_svf命令之前设置。

2025-03-06 10:47:34 591

原创 Wrapper chain 结构

dc 工具产生的scan wrapper 结构图

2025-03-05 16:31:03 159

原创 Tessent 工具实用命令小结

get_attribute_value_list [get_pins xx_CORE/u_xx_top/u_sram_wtsel_1_dft_mx/CI1] -name tie_value获取某个pin 的值,应该类似dc 工具get_attribute [get_pin *] case_value。

2025-02-26 10:41:29 634

原创 Verdi 操作小结

verdi -dbdir simv.daidir/ 打开仿真器数据库(database)文件夹,其中存放的是包含了编译信息的中间数据。2.有的时候fsdb波形文件太大,用verdi加载进来常常会卡崩掉,需要对波形文件进行分割,只观察我们想看的某一段,直接切分fsdb。3.选中波形或设计文件 L(shift + i) 重新加载波形或设计文件,在新一次仿真完成之后Roload即可。verdi -ssf xxx.fsdb 自动打开fsdb波形文件,或vf文件(virtual fsdb)

2025-02-10 14:04:25 1257

原创 【JTAG】1149.6协议总结

【JTAG】1149.6协议详解-优快云博客

2024-11-28 23:18:00 715

原创 Synopsys工具中命令中filter选项,all_fanout cmd

"is_hierarchical == ture/false" true表示例化的Hier cell,false表示leaf cell;"is_sequential == xxx/xxxx" true表示时序单元,dff/latch/ram,false表示组合逻辑单元;"is_register == xxx/xxxx" true表示dff,false表示非dff;这个命令的作用是查找各类对象所具备的属性,但并不是报告出某个对象所具备的属性;-quiet 安静的运行,不打印可能出现的warning。

2024-10-21 19:36:03 597

原创 mbist之sharebus知识小结

常规mbist设计插入的额外电路会对function时序收敛带来负面影响,而且会造成布线拥堵,给芯片性能和pd设计带来挑战。sharebus方案将controller放在关键模块外面,尽可能插入在非关键路径,通过interface复用功能bus总线实现对memory读写,用极其少的mbist电路实现对整个模块的测试。下图是一种sharebus设计示意图,memory cluster是关键模块,内部时序紧张,而interface的外侧路径则为非关键路径,时序较为放松,margin比较大。

2024-10-10 16:09:20 2663

原创 Core Wrapper cell以及wrapper chain 知识总结

背景: 对于traditional scan的capture过程来说,实际上分为三个步骤,分别是force PI,measure PO和pulse clock。在pattern shift in之后,电路中的所有寄存器都已经有了初值,但如果此时直接pulse clock去进行capture操作,由于primary input上没有force值,与primary input直接相连的那些寄存器将会capture进来一个x,同时primary input和寄存器之间的组合逻辑不可测,这不是我们所期望的。因此,在

2024-06-05 21:20:52 3475 1

原创 Mbist 测试中BAP介绍

sequencer的时钟,sys_clock的频率,应该和ijtag_tck相当,频率较低,确保生成的控制信号能够以正确的顺序到达MBIST Controller;(2) 通过BAP的直接访问接口(Direct Access Interface)来直接控制MBIST Controller,完成对MBIST Controller的初始化、配置和启动,完成对Memory的测试,而BAP的直接访问接口(Direct Access Interface)的信号来自Function的系统信号。

2024-05-10 20:39:03 1348

原创 在PT里分析时序时report_timing 常用选项总结:

用report_timing -nworst X -to $end会报告到$end最差的X条path,与max_path不同的是nworst会把相同startpoint/endpoint pair,不同路径的path也算进去。-max_paths 报出指定数量的相同end point的path timing情况,比如说:-max_paths 10就是报出10条最差的相同end point上的path timing情况。其他选项还有in_to_reg,reg_to_out和in_to_out。

2024-05-09 11:05:16 5514

原创 MemoryBist 测试中Memory分组控制方法总结

该方法将A/B及A/C/D下的所有sram类型的Memory设置了相同的partitioning group 属性。MemoryBist的主要测试原理:Test controller是MemoryBist的控制器,在接到测试指令后,产生相应的测试信号,Pattern 生成电路根据测试指令产生测试 pattern 对 memory 进行测试,输出数据通过比较器与期望结果进行对比,将对比结果反馈给controller,controller再输出Memory的测试结果。那么物理位置的远近该如何衡量呢?

2024-05-05 20:59:48 2135

转载 STA概念之Propagation delay、slew、skew和latency

理想的时钟树(ideal clock tree)假设时钟源具有无限驱动(infinite drive)能力,也就是说,时钟可以无延迟地驱动无限多的单元。例如,如果时钟树有500个端点(endpoints),并且Skew为50ps,则表示最长时钟路径和最短时钟路径之间的时间差为50ps。在时钟树综合之后指定clock uncertainty时,不包括skew,只包括jitter,因为此时时钟树有实际的走线,可以计算出实际的skew。实际上,没有理想的时钟,也就是说,所有的时钟都具有jitter。

2024-03-27 16:21:52 3353

原创 JTAG 电路原理图,Boundary scan 测试以及主要指令操作总结

这两个状态是暂停状态,比如说我们要通过32bit的总线从一个48长度的扫描链中读出相应管脚的状态,我们需要读两次才能将48bit的扫描链状态读出来,先经过32个TCK时钟读出高32bit的状态,然后转到Pause-DR状态等待总线读响应,响应完成后再进入Shift-DR经过16个TCK时钟读出低16bit数据。边界扫描寄存器被选中,并且处于Scan_Shifting的模式下 (下图是Boundary Scan cell:的数据通路): Chain的通路被选通,完成必要的测试Data Shift过程。

2024-03-24 17:20:13 6305

原创 使用tessent 工具插scan, 修改scan cell串chain次序的方法

人为无法干预,如果想精细化到哪个cell需要在哪个cell之后,则需要用到以下的方法。因为scan family本身特性要求不同family不能放在一条chain,所以出来了两条chain。使用这种方法指定的cell次序可以与其他cell融合成一条chain,效果更优。这种方法与scan family是互斥的,所以需要删除之前的chain分配方案。4.通过scan family控制cell串chain次序。5.通过scan segment控制cell串chain次序。

2024-03-21 14:34:20 1168

原创 scandef文件和scan reorder介绍

因此,scandef就可以作为中间桥梁来为scan reorder和scan repartition的操作传递这些约束信息,后端工具不需要理解复杂的dft约束,只需要遵循scandef的描述来进行优化操作就可以了。scandef文件中并不会包含design中所有的scan cell,只包含了design中可以被reorder和repartition的scan cell的信息,不能优化的scan cell会被忽略。,例如已经插好dft的core,不带BIST就表示默认每个scan cell是1bit的。

2024-03-18 20:10:37 5021 1

转载 数字后端RC corner 对timing的影响

IC 后端 corner 介绍_rcbest对应ff-优快云博客

2024-03-10 00:03:24 791

原创 clock waveform 解释及tessent testprocfile 小结

1. sdc 里面create_clock 的波形的顺序只能是先 rise接着是fall, 然后波形时间数值是增加的。因此,假如说我要定义一个时钟为0-5为低电平,5-10为高电平的波形。2. tessent atpg 工具中。

2024-03-06 16:37:14 637

转载 低功耗设计基础—Isolation Cell

什么是Isolation Cell?低功耗设计基础—Isolation Cell-电子发烧友网

2023-12-20 21:38:24 262

转载 vim 中快速递增或生成一列数字技巧

https://zhuanlan.zhihu.com/p/597167871

2023-11-03 15:15:11 3455

转载 vi的时候一行特别长,一行内显示不下,怎么办

直接在vi的命令模式中输入:set wrap。如果想取消,就输入:set nowrap。

2023-10-09 15:22:10 812

原创 gvim 操作小结

上句统计hello world 在全文出现的次数。

2023-08-03 17:02:20 193

转载 UPF 学习

理论上讲,只要net 跨越不同电压驱动的power domain 就需要插入level shifter cell, 但是如果一根信号是从高电压区域到低电压区域,且『高低电压差』在低电压区cell 可忍受范围内,则可以省去该level shifter cell. 但是通常从低电压到高电压,则一定要插入level shifter,否则可能由于电压低于load cell 翻转电压导致功能错误,而且会由于管子不能完全关断会造成持续短路电流。要对某一个区域的电压进行关断功能,要用到powerswitch进行控制。

2023-07-20 15:40:07 771

原创 Linux 命令小结

2.du 命令是英语单词 disk useage 的缩写,它是以默认千字节大小显示文件、文件夹等磁盘使用情况。4.ifconfig 查看ip地址:输出内容中,eth0是网卡名,du -h :以人类可读的格式显示所有目录和子目录的磁盘使用情况。du -s :仅显示总计,只列出最后加总的值。du -a :显示所有文件的磁盘使用情况。启动这个进程的用户和它启动的时间(u)查看系统中属于自己的进程(x)显示其他用户启动的进程(a)方便阅读的形式来显示结果。inet后面的IP地址。就是服务器的IP地址。

2023-07-18 17:22:22 193 1

原创 VCC、 VDD、VEE、VSS

Vcc和Vdd是器件的电源端。在“场效应”即COMS元件中,VDD乃CMOS的漏极引脚,VSS乃CMOS的源极引脚, 这是元件引脚符号,它没有“VCC”的名称,你的问题包含3个符号,VCC / VDD /VSS, 这显然是电路符号。VCC:C=circuit 表示电路的意思, 即接入电路的电压, D=device 表示器件的意思, 即器件内部的工作电压,在普通的电子电路中,一般Vcc>Vdd!1、对于数字电路来说,VCC是电路的供电电压,VDD是芯片的工作电压(通常Vcc>Vdd),VSS是接地点。

2023-07-12 16:59:48 1527 1

原创 Linux tar gzip gunzip命令

中通常比较常用的是 tar 命令,zip 和 rar 命令则是 Windows 中比较常用.-f : --file=ARCHIVE 使用档案文件或设备,这个选项通常是必选的。1. # 压缩文件 file1 和目录 dir2 到 test.tar.gz。2. # 解压 test.tar.gz(将 c 换成 x 即可)-c : --create 创建一个新的归档(压缩包)-v : --verbose 详细的列出处理的文件。-z : 使用 gzip 来压缩和解压文件。-x : 从压缩包中解出文件。

2023-06-27 11:24:34 596 1

原创 grep 和lminus命令常用选项总结

q:静默模式,不输出任何信息,当我们只关心有没有匹配到,却不关心匹配到什么内容时,我们可以使用此命令,然后,使用”echo $?-Cx:在输出的时候包含结果所在行之前和之后的指定行数,这里指之前和之后的x行,C:context。-Bx:在输出的时候包含结果所在行之前的指定行数,这里指之前的x行,B:before。-Ax:在输出的时候包含结果所在行之后的指定行数,这里指之后的x行,A:after。-c:统计匹配到的行数,注意,是匹配到的总行数,不是匹配到的次数。-e:实现多个选项的匹配,逻辑or关系。

2023-05-31 08:47:14 392

转载 set_clock_groups -physically_exclusive, -logically_exclusive区别

logically_exclusive代表两个clock group在逻辑上相互排斥,比如两个clock经过MUX选择器。工具分析SI时,采用 infinite window(信号全部翻转),而不是看具体的timing window,较为悲观。physically_exclusive代表两个clock group在物理意义上相互排斥,比如在一个source pin上定义了两个时钟。版权声明:本文为优快云博主「Tao_ZT」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

2023-04-23 11:05:04 1656

转载 TestBench基本写法与语法详解

原文链接:https://blog.youkuaiyun.com/weixin_39269366/article/details/120742707。//通常无输入无输出。使用 initial 或 always 语句产生激励。• 将产生的激励加入到被测试模块中并观察其响应;`timescale 仿真单位/仿真精度。逻辑设计中输出对应 wire 型。逻辑设计中输入对应 reg 型。• 将输出响应与期望值相比较。• 产生模拟激励(波形);一个完整的测试文件其结构为。

2023-04-19 17:33:08 248

空空如也

空空如也

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

TA关注的人

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