- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 关于DFT中几点的理解
在芯片设计的各个阶段都需要考虑芯片的质量检测,其中DFT就是用于检查芯片在生产制造过程中的质量检测而准备的。一颗芯片要能正常的工作最基本的条件就是搭建电路的每一个元器件都是能正常工作的,DFT就是用来检测芯片内部元器件是否正常工作的一种手段。该方法的核心思想是给芯片的输入注入特定的激励,通过观察输出是否和目标输出一致来判定芯片的生产制造是否存在缺陷,而目标输出是依据芯片内部特定的逻辑运算获得的,这就是常说的测试pattern。
2024-10-07 10:47:43 970
原创 CORDIC算法笔记整理
CORDIC算法有两种模式,分别为旋转模式和向量模式。而在数字硬件实现混频处理时,CORDIC算法是比较好的方法,使用的是CORDIC的旋转模式,只需通过移位操作和加法就可以实现频谱搬移的乘法操作。
2024-09-28 16:39:13 592
原创 数字基带之相移键控PSK
相移1键控是指用载波的相移位变化来传递信号,不改变载波的幅度和频率,可用下面的公式表示。是载波的幅度,是载波的角频率,是载波的瞬时相位,是载波的初始相位。如果需要调制的信号为1bit的二进制数,则k=0和1两种情况,表示0相位,表示相位。k的取值范围是0,1,2,……,M-1,M为2的n次幂,n为非零整数,表示输入码元的bit数,对应的PSK为MPSK。如果输入码元为1bit,则对应2PSK,如果输入码元为2bit,则对应为4PSK,以此类推。又可以理解为将等分成M个等份,每个等份的。
2024-09-21 14:33:20 957
原创 RTL设计中中$signed函数的使用
这次在进行lint检查时,出现了关于$signed函数的使用警告,基于此点,给自己把$signed的应用整理记录在此。在硬件中,都是二进制数,但是在实际的使用中经常使用的是有符号数,就是一个数是有正负之分。verilog语言给我们提供了方便设计者的有符号数处理的函数$signed,这也依赖于我们的编译器能识别并正确的解释该函数。该函数存在以下几方面的使用和注意事项。
2024-09-12 19:55:21 320
原创 perl的学习记录——仿真regression
之前只知道有这个强大语言的存在,但一直侥幸自己应该不会用到它,所以一直没有开始学习。然而人生这么长,怎就确定自己不会用到呢?这次要搭建一个可以自动跑完所有case并且打印每个case的pass信息到指定的文件中。从而减轻手动跑仿真,手动查看log信息的重复无效低质量的操作。下面简单记录下自己的思路并贴出自己的代码,方便自己以后使用和修正。
2024-09-07 15:19:09 1024
原创 makefile在IC设计中的使用笔记
在makefile的使用过程中,存在变量的定义和使用。首先,关于变量的定义包括了环境变量的定义和普通变量的定义,也包括了从makefile执行命令行输入的变量。变量的定义方式有几种下面只给出其中一种。一般来说makefile在执行过程中会自动加载环境变量,如果在某些情况下不能自动加载识别,可以通过变量定义的方式实现。在makefile文件中定义普通变量如果makefile的命令行输入了variable的值,则会用命令行的值代替makefile文件中定义的值。
2024-08-03 08:27:10 1087
原创 SDF学习笔记整理
SDF文件是标准延时文件,该文件由于其扩展名为.sdf即filename.sdf故被常叫做SDF文件。该文件是综合吐出的文件,也可以来自于静态时序分析(STA),前者称为pre_sdf文件,后者称为post_sdf。两者主要用于门级网表仿真,尽可能真实的模拟电路延时进行功能仿真,pre_gatesim仿真用pre_sdf文件,post_gatesim仿真用post_sdf文件。pre_sdf文件只包含cell的延时信息,而post_sdf既包含了cell的延时,也包含了线延时。
2024-07-17 20:26:46 773
原创 spyglass进行CDC检查和RDC检查
不管有多少个时钟域,完备的流程应该包含CDC检查,尤其有多个时钟域时,即使所有的时钟都来自于一个时钟源。CDC检查不仅检查跨时钟的信号是否满足setup和hold的时序要求,同时也检查时序约束的完备性(包括是否有漏掉的约束、错误的约束)。这个工具的作用是检查出不符合时序约束的设计,而工作的重点是根据检查报告确认设计无问题,关键点在理解时序的setup和hold。spyglass进行CDC检查网上已经有很多详细的介绍了,下面把参考的链接贴出来,方便后续查阅。
2024-07-15 20:44:23 917
转载 SPI硬件设计、协议、速率全解析(转载)
该文章在自己搜索SPI速率相关内容时,觉得不错,故转载到自己的博客,方便后续自己的查找和学习。该博客原链接:https://blog.csdn.net/qq_21794157/article/details/124858320该博客属于。
2024-07-09 07:53:38 790
原创 EFUSE中redundancy program/read的理解
现在有空,整理下前段时间关于efuse中redundancy program/read模式的理解,下面以TEF22ULP128X32HD18_PURM这款芯片为例,进行笔记整理,如有侵权或不妥之处,请时告知并及时处理。
2024-07-06 16:55:24 701
原创 数字IIR滤波器的设计简介
在生活中,广义的滤波器也是无处不在,环境中存在很多人类能听到的声音,但是我们在聆听时会听见对我们自己来说关键的声音,滤除弱化我们不关心的声音,这其实就可以算是广义的一种滤波过程。滤波就是选取留下我们需要的,滤除弱化我们不需要的。在信号处理领域,滤波器是一个避不开的话题。对于模拟信号的处理有模拟滤波器,对于数字信号的处理有数字滤波器。在数字滤波器中,IIR(无限冲激响应)数字滤波器是一大类,还有一大类是FIR(有限冲激响应)数字滤波器。数字滤波器的系统函数可表述如下所示。如果。
2024-07-06 11:49:07 1097
原创 数字端做数模混仿的入门简介
在数模芯片的研发过程中,作为研发项目中的数字部分设计,数模混仿是加大设计可靠性的重要过程,用于确保模拟到数字的信号的时序能正确的被采样,确保数字部分的输入正确,为芯片的功能正确保驾护航。这里的数模混仿是指将数字的设计文件和模拟的设计文件进行联合仿真,仿真的顶层是整个芯片的顶层。(当然模拟工程师在设计时也会带着数字的设计文件进行仿真,但模拟工程师和数字工程师进行混仿是有区别的。)这里从数字工程师的角度出发,记录一下部分数模混仿的基础本分。下面从纯数字设计仿真出发过渡到数模混仿上,这样理解框架就清晰明了了。
2024-03-27 08:26:10 2333 2
原创 STA静态时序检查笔记整理
============读取link db文件=============PrimeTime的userguide可以参看如下网站(2019版)#=======读取spef文件============#====读取sdc文件============#=====设置变量=============#=======读取网表文件=========#=========设置参数========#========设置条件=========
2024-03-27 07:27:33 1084
原创 芯片回片后功耗测试
(1)PR后的功耗仿真case要和测试时使用的case一致,两者出来的功耗数据才具有可比较性;(2)测试时使用的温度、电压尽量和PR后的功耗仿真(后面简称“仿真”)使用的电压、温度保持一致,这里对功耗影响最大的可能是电压,如仿真时使用25°C,而实测时在20°C,可能这对功耗结果影响不大;但是如果仿真使用的是1.2V的电压,而测试时芯片电路的实际电压为1.1V,这个不一致对功耗的影响会很大。
2024-02-24 18:49:39 1678
原创 otp控制设计注意事项
包含otp的芯片,用户在使用时otp的场景如下:芯片上电,然后把otp中存储的参数自动读出放到相应寄存器中,这些寄存器有可能只包含了芯片的出厂信息,但也有包含芯片的控制信息或者计算参数等信息。芯片的控制信息或者计算参数同样重要,这些参数能决定芯片的性能或成败,比如芯片内部的时钟校准参数,烧写到otp的时钟校准参数是针对该片芯片的最佳时钟性能参数,如果读出的时钟校准参数是错误的,则会导致时钟不是最佳,可能会导致芯片的性能下降,无法满足需求从而被淘汰;8 需考虑到otp不能被正常烧写,是否可由外部命令烧写;
2024-01-30 20:59:58 724
原创 IC设计中的形式验证formality
在所有的IC设计中,想要最终成功的设计者都不会放弃做形式验证,且至少需要两次形式验证,第一次是RTL和综合后的网表的比对,第二次是综合后的网表和PR后的网表的比对。3 明白ref文件和imp文件的底层表达,ref文件是RTL的代码文件,而imp文件是用具体器件表示的网表,因此两者之间需要读入具体的器件的db文件,软件才能明白文件具体想表达的以思。1 参考文件,就是那个被定义为永远正确的文件,这里用ref来表示,这里的ref文件就是RTL设计文件;步骤3: 读入综合后的优化文件。步骤2:读入相应的db文件。
2024-01-14 09:58:03 1706
原创 低功耗设计之UPF编写
UPF从不通用到现在的通用,主要经历了以下三个阶段:CPF->UPF1.0->UPF2.0,发展到现在已经更多的版本,发展历史可以参看以下链接,但其中具体的时间节点可能还需要进一步确认,但不影响我们使用UPF。注:由于不同版本,UPF版本不同,语法有点差异,但我们在实际使用时选择UPF版本应该根据我们使用的工具来确定,即使用的UPF版本很新,若工具不能识别,也是无用功。
2023-08-17 21:20:28 2432
原创 spyglass之功耗分析
用于功耗分析的软件除了ptpx外,spyglass也可以。ptpx的功耗分析是基于netlist(网表)进行的,一般用于分析综合后的pre功耗和P&R后的post功耗,但这已经是项目进行到比较后期了,如果后期发现功耗数据与我们目标功耗相差较大,则意味着需要功耗优化,这时有可能会将项目计划节点延迟。如果在前期designer可以获得设计模块的功耗数据,可提早优化功耗,spyglass则为designer提供了一个很好的手段去评估功耗,从而提前优化功耗。
2023-08-08 21:15:47 4366 5
原创 pre/post gate sim 仿真笔记
同时也建议做门级仿真的人员最好是验证人员,因为门级仿真的环境是在功能仿真的环境上进行修改得到的,验证的人员更熟悉验证环境,同时需要门级功耗数据时已经进行到研发时间紧迫的阶段,这样能减少门级仿真所花费的时间,提升功耗决策效率,而且验证人员也更熟悉每支case如何确认波形的正确性,避免功耗的输入波形有误,造成决策失误,从而影响项目进程。(3)门级网表的波形需要核对,比较的除了相应的标志信号,还需要比较数据,如最终输出的数据、输入到ram的数据作为每次门级网表波形正确的判断标准;
2023-06-23 19:08:34 2804
原创 ptpx功耗分析——分析功耗报告
pre netlist和post netlist会存在在同样的hierarchy中同样的instance的部分cell一样,即使门级仿真不带任何时序(也就是和rtl仿真一样,为理想状态下的仿真),ptpx跑功耗时也不带任何时序反标,输入输出的波形变化相同,同一个cell的pre和post的功耗也会存在差异,因为相同cell的输入状态(如input_net_transition)和输出状态(output_load)不一样,这里可以参见前面提到的三种power的计算和lib中的功耗相关的表查看。
2023-05-03 19:06:35 5296 4
原创 PTPX功耗分析笔记——跑出功耗报告
(5)进行功耗分析。从芯片设计到芯片量产的过程中功耗分析是必不可少的环节,在流片前进行功耗分析可以大致估计芯片在各应用场景中的功耗,可以提前做好功耗的优化,达到我们的预期功耗目标。功耗分析分为综合后的功耗分析(简称pre功耗分析)和PR后的功耗分析(简称post功耗分析)。post的功耗分析用的网表是经过布局布线、插入时钟树等相关操作后的网表和sdf文件跑出波形文件(这里用的是fsdb波形文件)来进行功耗分析,且在PR过程中可能会引入新的库文件,在post功耗分析时需要将新的库文件加入功耗分析的库里面。
2023-04-06 08:31:59 8121 11
原创 数字IC设计工程师需要清楚的signoff点
作为一名数字IC设计工程师,虽然核心工作是设计,但其他相关工作亦很重要,亦需要了解。下面简单的给出从设计开始到流片前的多个步骤使用的工具和相关的signoff点。阶段0:准备好相应的版本控制工具和文档存储共享工具版本控制工具:GIT,输入为RTL代码文档资料存储共享工具:SVN,输入为RTL的设计相关文档阶段1:RTL设计文档编写阶段使用的工具:基本的办公软件输入为算法文档、算法程序、协议等输出为RTL设计文档,模块操作流程和约束等文档注:一般情况下先是对算法或者协议之类的进
2022-03-08 10:21:30 4238 2
原创 AMBA 2.0之AHB学习笔记
1 学习AHB的简单记录AHB协议已经有较多人学习总结了,在学习过程中参考的网址如下所示:总线协议 -- AMBA总线(一) - love小酒窝 - 博客园 (cnblogs.com)AHB总线_bleauchat的博客-CSDN博客_ahb总线AHB—SRAMC项目(结构图,核心代码、Testbench架构)_Mr.翟的博客-CSDN博客_sramcAHB总线_bleauchat的博客-CSDN博客_ahb总线AMBA AHB总线 - BH5HSV - 博客园 (cnblogs.c
2021-12-12 13:46:01 3163 2
原创 IC设计过程中笔记简记
写在前面:在IC设计的过程中,只要出现问题就没有小问题,全部需要严肃认真对待,绝不能马虎了事,需要找到问题的根源并予以解决掉,并总结经验教训。有错误和问题并不可怕,可怕的是问题没有真正被解决,并未吸取经验教训,以后还犯同样的错误。目录设计IP过程中的总结计IP过程中的总结IP是组成整个系统的重要部分,如果能做到每个IP在设计时处于最有状态,则有利于整个系统的PPA。在IP设计过程中的记录:1 在设计过程中使用到ROM但还没有生成ROM的.v文件时,自己可以用table的形式编写一个,
2021-12-11 19:24:41 808
原创 Verilog中的case(1‘b1)
在用Verilog设计RTL代码时用到case(1'b1)的时候不多,因此遇见时就会很迷惑。下面转载一个链接,里面有解说,但需要说的是“一次输入只有一个1”这点可能不太准确,因为优先级编码更注重的是优先级,如链接中的第一张图中的优先级编码表和下面的仿真图。秋招手撕代码:verilog实现常规8-3编码器和优先级8-3编码器_IC媛的博客-CSDN博客_8-3优先编码器verilog上图中,简单的写了一个三输入的编码器,d0是具有最高优先级的,其次是d1,再次是d2。只要d0为1‘b0时,输出
2021-12-01 22:05:55 3387
原创 Verdi的简单使用命令笔记
1 通过flist查看代码结构verdi -f 包含工程的file的list的文件(如flist.f) -top 工程的top-name &注1:“&”的作用——允许在后台运行,即在命令之行窗口使用了ctrl+c后打开的verdi窗口也不会关闭注2:“-top 工程的top-name”的作用——这样打开后工程目录结构是清晰干净的注3:flist.f里的保存的都是各个工程文件的路径,可以是绝对路径,也可以是相对路径(写相对路径时一定要确定写对)2 在verdi的波形文件中添
2021-11-27 11:36:15 16820
HFSS15 X86 材料设置
2016-09-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人