随笔分类 - digital ic design
ASIC
摘要: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模块下面各个层的所有信号//启动和停止转...
阅读全文
摘要:下面是我觉比较有用的资料仿真是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直
阅读全文
摘要:简单说一下个人理解(就六个字):“扩大、相乘、缩小”。做乘法运算,采用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)缩
阅读全文
摘要:CSD编码常常被用于乘法运算中,CSD编码大大减少了乘法器的面积。如在FIR滤波器中,运用CSD编码体现了巨大的作用,大大减少乘法器的个数。用CSD编码可以有效减少乘积项的数量,从而降低了乘法器单元实现的硬件复杂度。经典CSD编码方法:二进制编码从最低的有效位开始,用来取代所有大于或等于2的1序列,可得到CSD代码。这种经典CSD编码是独一无二的,而且另一特性就是最终表达式在两个,而且且另一特性就是最终表达式在两个位之间至少有一个0。最佳CSD编码:(1)二进制编码从最低的有效位开始,用来取代所有大于或等于2的1序列;此外还需要用取代1011。(2)从最高有效位开始,用011代替。举例:271
阅读全文
摘要:文章来于《ic设计流程与使用工具介绍》a.通用型数字Asic(从上到下)在验证算法时一般使用C语言或者verilog来对系统算法进行建模,使用行为级描述来对算法功能的正确与否进行仿真。一般比较常用的方法是使用C语言在Matlab软件环境下进行算法验证。算法验证完成之后,需要进行的工作就是将算法转化为对应的行为级或者寄存器传输级描述,并且对其进行功能仿真验证。在该阶段可以使用的工具有很多,常用的有Active—HDL、Mentor的Modelsim系列软件和QuestaSim系列(前者使用三个核进行仿真,后者使用一个核,因此后者可以对不同语言环境下的描述进行混合仿真)。完成功能仿真之后需要进行的
阅读全文
摘要:文章来于《ic设计流程与实用工具介绍》Fpga的设计流程与数字Asic的设计流程比较类似,也需要功能仿真、综合、布局布线的过程,但是由于FPGA是针对特定用途通用芯片,所以在布局布线完成之后就可以直接将所做的设计代码直接下载到FPGA硬体中去了。在进行针对FPGA的设计时,首先要做的就时利用工具对需要实现的算法进行功能验证,在这里可以使用的软件很多,比如Active—HDL、Mentor的Modelsim系列软件和QuestaSim系列软件,或者使用FPGA厂商所提供的专用软件,比如Altera的Quarters与Xilinx的ISE都可以实现供更仿真,其中在FPGA厂商所提供的软件中都提供了
阅读全文
摘要:1.This approach allows completely transparent mixed language, mixed-level, and mixed cycle-event simulations. It also lays the foundation for mixed signal simulations.2.External Interface: (1) VHDL: VHPI,OMI (2) Verilog: PLI, VPI, OMI3. After elaboration, Single executable code stream, Affirma NC Si
阅读全文
摘要:提高设计频率之基本功:流水线设计(pipeline Design) 第一、什么是流水线 流水线设计就是将组合逻辑系统地分割,并在各个部分(分级)之间插入寄存器,并暂存中间数据的方法。目的是将一个大操作分解成若干的小操作,每一步小操作的时间较小,所以能提高频率,各小操作能并行执行,所以能提高数据吞吐率(提高处理速度)。% k$ y0 q5 D/ G* ^ SoC Vista -- 开源IP通吃岛" m" O g' L. s( l: P. o; ~ 第二、什么时候用流水线设计7 l( h; A$ T6 O1 Z# M6 ]3 X 使用流水线一般是时序比较紧张,对电路工作
阅读全文
摘要:我们知道,由于NC-Verilog使用了Native Compile Code 的技术来加强电路模拟的效率,因此在进行模拟时必须经过compile(ncvlog 命令)以及elaborate(ncelab命令)的步骤。编译之后,针对每一个HDL设计单元会产生中间表达。接着elaborate命令会建立整个电路的结构,产生可以用来模拟的资料。最后使用ncsim命令来进行模拟。 三命令模式 命令如下: ncvlog -f run.f ncealb tb -access wrc ncsim tb -gui第一个命令中,run.f是整个的RTL代码的列表,值得注意的是,我们需要把tb文件放在首位,这样可
阅读全文
摘要:Ncverilog使用。2010-05-27 16:31(转);本人不用c的软件。在NC自带的帮助Cadence NC-Verilog Simulator Help中都可以找到。以下整理自网络,有点乱 :(ncverilog是shell版的,nclaunch是以图形界面为基础的,二者调用相同内核;ncverilog的执行有三步模式和单步模式,在nclaunch中对应multiple step和single stepncverilog的三步模式为:ncvlog(编译) ncelab(建立snapshot文件) ncsim(对snapshot文件进行仿真)基于shell的ncverilog操作(尤
阅读全文

浙公网安备 33010602011771号