IC设计
Space_Maxi
知识---进步的阶梯!
展开
-
Verilog中`timescale设置与覆盖问题
对于每个文件中的内容如下:(如test0.v)设置不同的时间精度,用来查看仿真结果,是否有方波发出。test2.v 定义的为 `timescale 1ns/100ps。第一个数值代表仿真的时间单位是1ns;第二个数值代表的时间精度1ps.test1.v 定义的为 `timescale 1ns/10ps。`timescale 1ns/1ps(仿真时间单位/精度。tb.v 定义的时间为 `timescale 1ns/1ps。仿真结果:可以看出最小的时间精度都可以达到1ps。test0.v 没对其定义。原创 2023-03-31 20:53:33 · 3072 阅读 · 0 评论 -
DFT 与扫描链
DFT测试:验证芯片生成中的晶圆或者生成过程等造成的物理缺陷,DFT测试在CP阶段进行测试。注:CP(chip probe)在wafer level进行的芯片测试,此时的测试可以检测在晶圆和工艺生产过程中的良率,将bad die筛掉,从而降低后续的封装及测试成本。在数字设计中,通过IC工具插入 DFT 逻辑,比如 Scan Chain(寄存器)、Boundary Scan(IO)、MBist(片上存储器)、等,然后利用 ATPG、Boundary Scan 、MBist工具产生测试向量,仿真验证测试向量。原创 2023-03-25 11:15:04 · 955 阅读 · 0 评论 -
xrun编译报错 *E,DUPUNI,选项-allowredefinition
但是,多个lib 中可能,会对同一个cell都有primitive的定义,而且定义是完全相同的。此时,xrun会报错,提示 *E, DUPUNI,在不同的文件中重复定义。但是需要注意的是:这几个cell中的定义必须一致才行,要不然就和你的设计初衷不一样了。后编译的选项,可能会会覆盖前面的代码,造成仿真出现问题时,不容易定位原因。因为lib cell设计人员,不应该随便修改,所以可以使用该选项来解决问题。如果是verilog block代码,在导入时,就应该确保代码的唯一性,防止代码块的错用。原创 2023-03-20 19:08:27 · 704 阅读 · 0 评论 -
1)vim提示 press enter or type command 2)报错:E576: viminfo: Missing ‘>‘ in line
在Linux系统中,使用gvim。以前使用gvim工作正常,但是最近却同时出现了以下两个问题:1)gvim打开文件,会提示:press enter or type command; 只有键盘输入后,才打开文件;2)同时,还会报错提示:E576: viminfo: Missing ‘>‘ in line经过,查询发现是 .viminfo的问题,该文件保存了各种有用但非关键状态信息的元数据,如果该文件出现问题或损害,就会出现以上的问题。解决办法:删除该文件:rm ~/.viminfo注:删除该文件不会对原创 2023-03-09 14:53:42 · 876 阅读 · 0 评论 -
多时钟--RTL前仿真,仿真工具误采样问题
在数字设计中,会遇到处理多个时钟的问题(如下面的a_clk、apb_clk),虽然在综合时,会将处于同一个时钟域的clock放在一个group中,保证了时序的同步性。但是,在RTL前仿中,仿真工具不会对其进行识别,会认为多个时钟处于不同的时钟域,从而会出现采样位置不对的现象。这是因为仿真工具,对不同的时钟域之间的信号分析后,判定为此处可以采样到高电平,所以位置3处a_cs拉高。在设计仿真阶段,一定要注意该问题,不然会造成仿真结果与实际设计出现误差,或者RTL仿真与后仿真结果不一致,浪费时间去排查问题。原创 2022-11-14 08:12:08 · 446 阅读 · 0 评论 -
简易配置:vim添加systemverilog语法高亮
在工作中,需要添加systemverilog语法支持:(Lniux环境下)三个目录(里面都有相应的支持语法的vim配置文件)。2)在用户目录下(~/),ls -a 查看找到。1)所需要语法支持包:自己可去其它网站下载,如果没有,自己建立一个。原创 2022-11-10 11:05:51 · 954 阅读 · 0 评论 -
复位策略:同步复位与异步复位
从而确保了该时钟和reset作用下的逻辑电路的启动工作的一致性,避免因为复位和时钟的关系异步,造成的启动不一致(例如:错位一个时钟周期。注意:1.1)可以看出使用同步复位时,需要保证在复位时,需要有时钟的存在而且需要大于时钟周期,否则复位信号无法被捕获到该逻辑中。2)对复位信号的脉冲宽度有要求,必须大于指定的时钟周期,且很难保证复位信号到达各个寄存器的时序;在IC设计种,复位策略分为同步复位和异步复位两种设计,根据不同的设计,会采用不同的复位方式。这样方式,是在异步复位中,为了避免时序问题,必然要使用的。原创 2022-10-25 11:14:28 · 2469 阅读 · 1 评论 -
bin文件转化为8bit指令数据输出,用于8051内核仿真
数字IC设计中,有时需要进行内核仿真,需要协助软件人员进行代码调试。软件人员会将其写的开发代码,生成hex或者bin文件用于数字IC环境仿真。当然在IC开发中,会有很多脚本辅助完成这些操作。这里,描述一下不需要脚本,简单的bin代码转化为8bit指令数据的方法。这样就可以将bin文件转化为了,8bit一行的文件了,用于给sram、rom、MTP等存储器测试使用。原创 2022-10-21 12:16:53 · 376 阅读 · 2 评论