自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (9)
  • 收藏
  • 关注

原创 asynchronous(异步)、physically_exclusive(物理互斥)、logically_exclusive(逻辑互斥)的应用与对比

文档里关于异步、物理互斥、逻辑互斥的定义如下:如果两个或多个时钟能在设计里同时存在,但是没有相位关系,它们之间就是异步关系;如果两个或多个时钟在设计里能同时存在,但是有电路只选择其中一个时钟,它们之间就是逻辑互斥关系;如果两个或多个时钟互相之间不能在设计中同时存在,它们之间就是物理互斥关系。关于同时存在的理解是,如果在同一个设计对象(port/pin)上定义多个时钟,这些时钟就是不能同时存在,一次只能存在一个时钟。

2026-01-02 15:27:52 326

原创 同步器在逻辑综合中的cdc约束

为了在处理跨市终于得信号,需要使用同步器将信号与接收时钟域做同步处理。同步器又分为单比特同步器(single-bit)和多比特(multi-bit)同步器。

2025-12-02 23:14:17 276

原创 扫描测试原理

摘要:扫描测试是通过将触发器替换为扫描单元形成扫描链来控制内部节点状态和观测电路响应。测试过程包括:1)初始化并设置测试模式;2)通过移位操作加载测试向量和移出结果;3)在捕获阶段测量输出并记录响应。主要步骤为:强制扫描使能、输入测试数据、施加功能输入、测量输出、脉冲捕获时钟。通过比较测量值与期望值判断测试通过与否。该方法实现了对电路内部状态的有效控制和观测。

2025-11-09 21:21:48 613

原创 ATPG故障类型和测试策略

set_multiple_detection -guaranteed_atpg_detections <n>,这个命令指定了每个可测故障被规定要检测的次数,在完成初次检测的向量生成后,会继续生成向量来实现对故障的第2,3,4,...,n次检测。图示为多个向量检测到桥接故障的示例,蓝色故障为stuck-at-1,白色故障为bridge,当向量为010时可以检测到stuck-at-1的蓝色故障,当向量为011时,可以同时检测到stuck-at-1的蓝色故障点,和与蓝色故障点桥接的白色故障点。

2025-10-26 17:00:31 742

原创 为什么要进行测试,测试什么,怎么测试

测试是控制和观测的问题。控制:能不能用一个测试向量在目标点位(门输入、门输出、路径等)产生特定激励 (控制成特定值0/1)。观测:能不能观测到激励产生的影响。

2025-10-19 20:12:47 648

原创 vcs仿真debug思路

3> 存在phy的block是否读了phy的.v文件,是否读了phy的sdf;没有error的话,(波形上可以看出,如果反标上,放大后同一个reg的CK和Q的信号直接会有delay),如果反标上了,去报tarce到最开始出现问题的reg和后面reg之间的timing,是否存在时序违例,并且对比寄存器delay和sdf记录的delay是否一致。b.仿真出现0/1的mismatch(即expect0,sim1,或者expect1,sim0),需要和ATPG pattern对比,确定出现mismatch的位置。

2025-10-15 15:56:23 316

原创 综合中delay异常大问题解析

2)如果时钟在传播过程中clk的ideal属性没有传播到部分net,可以在设置时,set_ideal_network [get_object_name [all_fanout -from [get_object_name clk_source] -falt]]这样把clk source 的所有fanout抓出来设置为ideal)解决办法:1)如果在clk path上,综合过程中clk设为ideal network,2)set_max_fanout设置最大扇出值,让工具在综合过程中优化。

2025-04-11 17:08:02 288

原创 关于create_generated_clock分频选项-edges -edge_shift

表示取master clock cclk的第1,3,5个时钟沿作为gclk的第1,2,3个时钟沿。在master clock 基础上降低频率,例如create_generated_clock -name gclk -source [get_ports cclk] -master_clock [get_clocks cclk][get_pins top/gclk] -divide_by 2 ,gclk频率为cclk一半。edges 与edge_shift结合使用可以进行非整数分频。

2024-12-31 16:02:16 1055

原创 occ(on chip clock)基本结构

insert dft阶段进行drc检查时会通过trace时钟路径,检查clock到时钟源的路径是否被block,主要检查slow clock,如果trace到fast clock,说明OCC 插入步骤有问题。occ时钟结构主要用于DFT中的scan测试,包含(slow clock用于shift,slow capture,fast clock用于fast capture)测试。3.指定fast clock pin 用于插入OCC。1.存在或创建fast clock端口。

2024-08-30 16:40:39 1799

原创 移除时钟/阻止时钟传播的几个思路

三种处理方法产生影响存在区别,第一种和第二种类似,阻止clkB时钟信号通过mux,传播到clkO,但是clkB仍然存在。第三种remove_clock,移除clkB的时钟属性,其所在的clock port/pin不再具有时钟属性,clkO也不能接收到clkBx信号。1.如果clk在mux输出端,可以将case值(clk_en)设为0。例:如下图的clk mux,阻止clkB。1.case值设为0。

2024-06-18 16:00:07 933

原创 generated clocks whose master pins are driven by multiple clocks

选择一个外边时钟作为phy/pma/clk的master clock,指定phy/pma/clk作为phy/pma/Clko的master clock。原因:phy的lib库中存在的generate clock(Clko),其时钟信号来自于pma内的maseter pin(phy/pma/clk),但是外部定义了三个时钟源(Clk1,Clk2,Clk3)同时经过master pin传到内部的pma clk(Clko),因此工具会检查出pma clk被多个时钟驱动的情况。

2024-05-21 10:14:32 845

原创 Expanding clock 与时钟关系设置

如果部分不同频时钟之间是异步关系,但是没有设异步的时候,pt工具会默认为同步关系,check_timing出现上述报告。时钟之间存在交互路径,需要做时序检查,工具会把周期扩展到所有时钟周期的最小公倍数,这个最小公倍数作为common period,称为base period。将两组时钟设为逻辑互斥关系;存在两组时钟为异步关系,但不希望layout时之间距离太远,可以使用 set_max_delay进行约束。

2024-05-17 14:21:53 773

原创 逻辑综合改善时序的几个思路

或:禁用HVT、RVT的cell,例:set_dont_use [get_lib_cells scc40nef_hdc40_hvt_ffg_v1p21_-40c_ccs/*]3.分析时序报告,对部分延时较大的cell禁用,set_dont_use [get_lib_cell cell_name]例:使用 set_multi_vth_constraint command指定使用lvt cell占所有cell的比例。2.使用set_critical_range command提高工具对设计的整体优化程度。

2024-05-11 11:16:57 1029 1

原创 WGL与STIL解析

总结:WGL指定扫描链的状态,向量序列位数不与扫描链单元数一致,通过多个循环的操作, 使用scan vector将扫描链单元转化成指定的scanstate,不是直接将scanstate shift in扫描链(或者说需要先根据scanstate转化成需要的向量,再执行shift in操作)。O表示输出,I表示输入。定义了名字为gen_tp1的timeplate,周期为40ns,调用这个timeplate时,channel ijtag为输入端口,在0ns状态为D,20ns状态为S,40ns状态为D。

2024-03-28 10:53:58 4181 1

原创 set_clock_restriction命令在AC scan pattern中的功能解析

如图,可以看到在lauch clock中只有两种组合(clk11,clk12)和(clk21,clk22),capture clock也是如此,也就是不兼容的时钟不能同时出现在lauch clock中,也不能同时出现在capture clock中。但是lauch clock与capture clock可以不兼容。在生成pattern时,仅根据pattern的时钟需要启动时钟,不考虑时钟兼容性,会出现多个触发时钟,也就是在launch过程中、capture过程中以及两者之间都会出现不兼容时钟同时触发的情况。

2024-03-25 18:23:16 1238

原创 command: get_cell与get_attribute

例3:get_cells -hier -filter”ref_name==AND2V1 && full_name=~*and*”例2:get_attribute [get_cells utop/cane/and] ref_name。例2:get_cells -hier -filter”full_name=~ *clk_gate*”例4:get_cells -hier -filter”is_memory_cell == true”查询utop/cane/and这个单元的ref_name。

2024-03-22 15:24:31 2458 1

chapter7_ex.pdf

chapter7_ex.pdf

2022-06-16

chapter3_ex.pdf

chapter3_ex.pdf

2022-06-16

chapter4_ex.pdf

chapter4_ex.pdf

2022-06-16

chapter10_ex.pdf

chapter10_ex.pdf

2022-06-16

chapter5_ex.pdf

chapter5_ex.pdf

2022-06-16

chapter1_ex.pdf

chapter1_ex.pdf

2022-06-16

chapter12_ex.pdf

chapter12_ex.pdf

2022-06-16

chapter11_ex.pdf

chapter11_ex.pdf

2022-06-16

chapter6_ex.pdf

chapter6_ex.pdf

2022-06-16

空空如也

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

TA关注的人

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