我的verilog处女作,已通过ise仿真,过两天进行FPGA开发板仿真。暂时不给出原理图,过两天更新原理图,先准备考试O(∩_∩)O~【处女作,一天半查资料,半天敲写,两天调试,共八九次修改。】 1 module mu0(x1,x2,s,zero,overflow); 2 input [31:.....
分类:
其他好文 时间:
2014-12-17 14:16:32
阅读次数:
308
本文主要介绍verilog if(0),if(1)给verilog进行语法修正的功能。 ? verilog的语法太简单,一直是我们诟病的地方所在,想实现一个功能有的时候必须敲上大段功能重复的代码段,有的时候只是其中的某个参量发生变...
分类:
其他好文 时间:
2014-12-17 13:08:55
阅读次数:
170
Perl和Tcl是ic设计中最常用的两种脚本语言,在我学习perl之前完全的不知道他们到底是干什么的。在这里先总结一下Perl的作用: 1.用于生成Verilog代码 在写verilog时,经常遇到一些规律性强,编写又比较麻烦的代码,而这些恰恰又是可重用性比较强的。比如总线模块、FIR滤波器、I.....
分类:
其他好文 时间:
2014-12-16 19:04:43
阅读次数:
207
在调用DesignWare时候,通常会有dw01_add #(a_width,bwidth)这一类语法出现,当时很疑惑这是为什么,现在才查到它的出处。怀疑是不是自己基本功不够扎实。查到的用法如下1、module_name #( parameter1, parameter2) inst_name( p...
分类:
其他好文 时间:
2014-12-16 18:53:53
阅读次数:
218
综合时指定一下乘法器的类型,比如Wallace乘法器// synopsysdc_script_begin// set_implementationwall mult_u1// synopsysdc_script_endDW02_mult #(A_width,B_width) mult_u1(A,B,...
分类:
其他好文 时间:
2014-12-16 18:30:45
阅读次数:
740
1.中间变量和输出变量都要用reg类型暂存一下,输出必须用reg寄存2.对一个n'b(n>=2)的寄存器赋值时可以直接在声明时:reg [n-1:0] register=0; 在中间部分赋值时register[7:0]=0是不对的, 可以用register[7:0]=8'hff 来赋值。3.在宏定义...
分类:
其他好文 时间:
2014-12-16 18:28:52
阅读次数:
224
1 引言 每个设计者在进行Verilog建模时都会形成自己的设计风格,同一个电路设计,用Verilog描述可以写出许多逻辑上等价的模型,而大多数设计者考虑 的主要是代码书写上的方便和功能上是否正确,对设计的模型是否最优化结构却考虑甚少,这样不仅加重了逻辑综合的负担,影响综合效率,而且很可能会导致设计...
分类:
其他好文 时间:
2014-12-16 18:26:58
阅读次数:
246
今天同学给我说FIR滤波器的时序对不上,他说乘法器延迟太大,就用左移了,可是仿真时左移还是2周期才能移完,移位寄存器代码如下:always @(posedge clk)begin a <= {in[8:0],0}; out <=a;end 看见这段代码之后我立即认识到这是通过两个周期完成的事情,第一...
分类:
其他好文 时间:
2014-12-16 18:25:30
阅读次数:
171
1)所有综合工具都支持的结构:always,assign,begin,end,case,wire,tri,aupply0,supply1,reg,integer,default,for,function,and,nand,or,nor,xor,xnor,buf,not,bufif0,bufif1,n...
分类:
其他好文 时间:
2014-12-16 00:53:01
阅读次数:
415
实验室学长让我重新把verilog书看看,拿起以前的课本就看了起来。有些新的东西在这记下了。
关于阻塞和非阻塞赋值,记住八大原则:
1、时序电路建模时,用非阻塞赋值;
2、锁存器电路建模时,用非阻塞赋值;
3、用always块建立组合逻辑电路时,用阻塞赋值;
4、在同一个always块中建立时序和组合逻辑电路时,用非阻塞赋值;
5、在同一个always块中不要既用非阻塞赋值又用...
分类:
其他好文 时间:
2014-12-11 21:00:43
阅读次数:
210