摘要: 仿真是IC设计不可或缺的重要步骤,仿真后一般需要记录下波形文件,用于做详细分析和研究。说一下几种波形文件WLF(Wave Log File)、VCD(Value Change Dump)文件,fsdb(Fast Signal DataBase)文件、shm、vpd:对于WLF波形日志文件,只要我们使用过modelsim,应该都很熟。WLF(Wave Log File) 是Mentor Graphics 公司Modelsim支持的波形文件。但我们在波形窗口观察波形时,仿真结束时都会生成一个*.wlf的文件(默认是vsim.wlf)。我们下次就可以通过通过modelsim直接打开这个保存下来的波形 阅读全文
posted @ 2012-11-14 11:43 宙斯黄 阅读(26978) 评论(0) 推荐(1)
摘要: 转载,比较结果不一定正确,比较设计不一定科学.以下3个文件依次是用python、awk和perl写的脚本,做同一件事情:diff.sh f1 f2f1和f2每一行的第一个字段(以空格分割)为key,如果f2某一行的key在f1中不存在,则输出f2该行。比如:a.dat的内容是1 a2 ab.dat的内容是1 b3 b那么diff.sh a.dat b.dat则输出3 b代码:#!/usr/bin/pythonimport sysif len(sys.argv) != 3:print "Usage: " + sys.argv[0] + "file1 file2&qu 阅读全文
posted @ 2012-10-25 15:51 宙斯黄 阅读(3339) 评论(0) 推荐(0)
摘要: 本文写给自己看,很乱,不建议外人阅读!1,使用Perl建立一个新文件:open (FILE, ">new_file");注意,>不能少,否则无法建立成功。2,perl编程语言中所有自带关键词,一律使用小写字母。 阅读全文
posted @ 2012-08-22 14:12 宙斯黄 阅读(311) 评论(0) 推荐(0)
摘要: 最近编写一个perl脚本时候,编译出现了Global symbol "" requires explicit package name at ""的错误,后发现是由于使用use strict;造成,那么问题解决方法应该有两个:一,使用use strict; ,修改其他代码,如下:1,首先,检查你是不是用了use strict;2,如果用了use strict; 则,请在每个变量前加my将其声明为本地变量;3,进行完前两步后,重新编译,此时问题解决。二,去掉use strict;语法的严格检查,重新编译,问题应该解决了。题外话:何时使用use strict 阅读全文
posted @ 2012-08-21 16:35 宙斯黄 阅读(11594) 评论(0) 推荐(0)
摘要: 标题brian的Perl问题之万能指南纲要阅读这份指南并保持明智的头脑描述我的调试哲学我相信三件事情:这不是个人问题别老想着是你的代码。你可能觉得自己是个艺术家,但实际上就算是经验丰富的大师也会写出很多垃圾。每个人的代码都是垃圾,我的也是你的也是。要学着 去喜欢它。当你碰到问题的时候,你应该想:“噢,我写的垃圾代码出了点问题。”这说明你不再去责怪 Perl。不应该变成个人性的问题。忘记你以前怎么做的。如果不是你做事的方法有点问题,你也不会来读这个。这并不是坏事,只是到了该有点长进的时间。我们都经历过的。个人责任感如果你的代码出了问题那仅仅是——你的问题。你应该尽最大的力量自己解决。记住,每个人 阅读全文
posted @ 2012-08-21 12:26 宙斯黄 阅读(435) 评论(0) 推荐(0)
摘要: Signoff是IC设计中的一个重要的概念,他指的是成功完成IC设计的所有检查的一个标志。在ASCI设计中,有以下两次sign-off。1. 前仿真(功能仿真)在设计的电路进入布局布线前应检查其功能是否符合设计要求,这一仿真验证称之为第一次sign-off。2.后仿真(时序仿真)设计经过布局布线之后,使用EDA工具进行寄生参数提取,形成精确的post-layout电路网表,对此网表做时序仿真,来检查时序行为是否符合要求,这一过程称之为第二次sign-off。之后就可以进入foundry流片生产了。Sign-off分析做的是否完整和完备对IC产品的质量是至关重要的,若在这个阶段查找到问题并加以修 阅读全文
posted @ 2012-08-15 10:35 宙斯黄 阅读(19699) 评论(0) 推荐(0)
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2012-08-15 10:34 宙斯黄 阅读(113) 评论(0) 推荐(0)
摘要: #script for Design Compiler # Language : TCL # Usage : # 1) make sure the lib in the current directory # 2) if you have the file .synopsys_dc.setup, # set synopsys_dc_setup_file 1, # if not, set synopsys_dc_setup_file 0 # 3) change Step 3 : Variables to what you want # Especially : top module name,. 阅读全文
posted @ 2012-08-10 14:52 宙斯黄 阅读(11354) 评论(0) 推荐(1)
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2012-08-09 15:44 宙斯黄 阅读(111) 评论(0) 推荐(0)
摘要: 最近看RISC CPU设计,发现里面的设计有Latch,以前记得总是说最好不要用Latch,所以就有点怀疑,于是查了一些资料,发现虽然Latch有一定的缺点,但是既然它存在,就肯定就有优点,原来它占用面积更小,运行速度更快,所以有时会用在CPU设计,但是在普通设计中,还是不提倡的,既然提到了Latch,那就不能不说说和它相关的几个其它概念:触发器、寄存器。锁存器(latch):我听过的最多的就是它是电平触发的,呵呵。锁存器是电平触发的存储单元,数据存储的动作取决于输入时钟(或者使能)信号的电平值,当锁存器处于使能状态时,输出才会随着数据输入发生变化。(简单地说,它有两个输入,分别是一个有效信号 阅读全文
posted @ 2012-08-09 15:42 宙斯黄 阅读(2083) 评论(0) 推荐(0)