摘要: initial$dumpfile("myfile.dmp");//仿真信息转存到myfile.dmp文件initial$dumpvar;//没有指定变量范围,将所有的信号都转存initial$dumpvar(1,top);//转存模块实例top中的变量 //1表示层次的等级,只转存top下第一层信号 //只转存top模块中的变量,不转存top调用的模块中的信号initial$dumpvar(2,top.m1);//转存top.m1模块下两层的信号initial$dumpvar(0,top.m1);//0表示转存top.m1模块下面各个层的所有信号//启动和停止转... 阅读全文
posted @ 2013-08-09 22:59 sccdlyc 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 下面是我觉比较有用的资料仿真是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 @ 2013-08-08 17:52 sccdlyc 阅读(1461) 评论(0) 推荐(1) 编辑
摘要: 最近在看关于指纹显示和提取的相关知识。 指纹识别系统框图:预处理就涉及到图像增强技术。图像增强是一类基本的图像处理技术。图像增强可以划分为空域增强和频域增强两类。空域增强是指直接对像素域处理。频域增强是在图像的变域内对图像进行处理,在经过反变换就可以得到增强的图像了。空间域图像增强一般分4类:(1)直接灰度变换(2)灰度线性变换增强(3)直方图均衡化(4)直方图规定化直接灰度变换:我的理解就是将图像的灰度级范围变换到期望的范围。比如将图像灰度级在70-150,变为0-250。用MATLAB函数imadjust(I,[70/250;150/250],[0,1])实现。通过将图像的灰度范围加宽,将 阅读全文
posted @ 2012-10-04 22:02 sccdlyc 阅读(848) 评论(0) 推荐(0) 编辑
摘要: 简单说一下个人理解(就六个字):“扩大、相乘、缩小”。做乘法运算,采用CSD编码方式,减少对器件资源的耗用。在这里提一下扩大多少倍,没有固定的值。举例:a=0.8500,计算g=a*h(1)扩大128,k=128*a=128*0.8500=108.800=128-16-4+0.5+0.25+0.0625=(100(-1)0(-1)00.1101)CSD(2)相乘g1=(h<<7)-((h<<2)<<2)-(h<<2)+{h[7],h[7:1]}+{h[7],h[7],h[7:2]}+{h[7],h[7],h[7],h[7],h[7:4]}(3)缩 阅读全文
posted @ 2012-09-23 20:59 sccdlyc 阅读(735) 评论(0) 推荐(0) 编辑
摘要: CSD编码常常被用于乘法运算中,CSD编码大大减少了乘法器的面积。如在FIR滤波器中,运用CSD编码体现了巨大的作用,大大减少乘法器的个数。用CSD编码可以有效减少乘积项的数量,从而降低了乘法器单元实现的硬件复杂度。经典CSD编码方法:二进制编码从最低的有效位开始,用来取代所有大于或等于2的1序列,可得到CSD代码。这种经典CSD编码是独一无二的,而且另一特性就是最终表达式在两个,而且且另一特性就是最终表达式在两个位之间至少有一个0。最佳CSD编码:(1)二进制编码从最低的有效位开始,用来取代所有大于或等于2的1序列;此外还需要用取代1011。(2)从最高有效位开始,用011代替。举例:271 阅读全文
posted @ 2012-09-23 19:32 sccdlyc 阅读(1978) 评论(0) 推荐(0) 编辑
摘要: 文章来于《ic设计流程与使用工具介绍》a.通用型数字Asic(从上到下)在验证算法时一般使用C语言或者verilog来对系统算法进行建模,使用行为级描述来对算法功能的正确与否进行仿真。一般比较常用的方法是使用C语言在Matlab软件环境下进行算法验证。算法验证完成之后,需要进行的工作就是将算法转化为对应的行为级或者寄存器传输级描述,并且对其进行功能仿真验证。在该阶段可以使用的工具有很多,常用的有Active—HDL、Mentor的Modelsim系列软件和QuestaSim系列(前者使用三个核进行仿真,后者使用一个核,因此后者可以对不同语言环境下的描述进行混合仿真)。完成功能仿真之后需要进行的 阅读全文
posted @ 2012-09-01 18:55 sccdlyc 阅读(2472) 评论(0) 推荐(0) 编辑
摘要: 文章来于《ic设计流程与实用工具介绍》Fpga的设计流程与数字Asic的设计流程比较类似,也需要功能仿真、综合、布局布线的过程,但是由于FPGA是针对特定用途通用芯片,所以在布局布线完成之后就可以直接将所做的设计代码直接下载到FPGA硬体中去了。在进行针对FPGA的设计时,首先要做的就时利用工具对需要实现的算法进行功能验证,在这里可以使用的软件很多,比如Active—HDL、Mentor的Modelsim系列软件和QuestaSim系列软件,或者使用FPGA厂商所提供的专用软件,比如Altera的Quarters与Xilinx的ISE都可以实现供更仿真,其中在FPGA厂商所提供的软件中都提供了 阅读全文
posted @ 2012-09-01 18:52 sccdlyc 阅读(388) 评论(0) 推荐(0) 编辑
摘要: ModelSim功能仿真,综合仿真,时序仿真之前玩fpga时一直用modelsim仿真,现在玩ASIC老师要求用NC了。在这里我就简单的总结一下modelsim的用法功能仿真,就是在理想状态下(不考虑延迟),验证电路的功能是否符合设计的要求。功能仿真需要:1.TestBench或者其他形式的输入激励2.设计代码(HDL源程序)值得一提的是,可以在ModelSim直接编写TestBench,使用View->Source->Show language templates.综合后仿真(门级仿真),实际上就是将对综合后的门级网表进行仿真,只考虑门延迟,而没有加入时延文件。在功能仿真之后检验 阅读全文
posted @ 2012-08-13 22:18 sccdlyc 阅读(1854) 评论(0) 推荐(0) 编辑
摘要: 频谱泄露对于频率为fin的正弦序列,它的频谱应该只是在fin处有离散谱。但是,在利用DFT求它的频谱做了截短,结果使信号的频谱不只是在fin处有离散谱,而是在以fin为中心的频带范围内都有谱线出现,它们可以理解为是从fin频率上“泄露”出去的,这种现象称 为频谱“泄露”。 在实际问题中遇到的离散时间序列x(n)通常是无限长序列,因而处理这个序列的时候需要将它截短。截短相当于将序列乘以窗函数w(n)。因此,x(n)截矩后的频谱不同于它以前的频谱。 为了减小频谱“泄露”的影响,往往在FFT处理中采用加权技术,典型的加权序列有Hanning、Blackman、Gaussian等窗序列。此外,增加.. 阅读全文
posted @ 2012-08-13 22:16 sccdlyc 阅读(906) 评论(0) 推荐(0) 编辑
摘要: 对一个时域信号进行傅里叶变换,就可以得到信号的频谱,信号的频谱由两部分构成:幅度谱和相位谱。这个关系倒还是简单。那么,什么是功率谱呢?什么又是能量谱呢?功率谱或能量谱与信号的频谱有什么关系呢?要区分功率谱和能量谱,首先要清楚两种不同类型的信号:功率信号和能量信号。我们从一个具体的物理系统来引出能量信号和功率信号的概念。已知阻值为R的电阻上的电压和电流分别为v(t)和i(t),则此电信号的瞬时功率为:p(t) = v2(t)/R = i2(t)R。将上面的概念做一个抽象,对信号x(t)定义其瞬时功率为|f (t)|2,在时间间隔(-T/2T/2)内的能量为:E=int(|f (t)|2 ,-T/ 阅读全文
posted @ 2012-08-13 22:13 sccdlyc 阅读(2214) 评论(0) 推荐(0) 编辑