资源描述
<p>单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数字系统设计基础桂林电子科技大学多媒体课件中心,*,数字系统设计基础-桂林电子科技大学-多媒体课件中心,2026/11/7,数字系统设计基础桂林电子科技大学多媒体课件中心,Verilog部分,介绍Verilog HDL,内容包括:,Verilog应用,Verilog语言的构成元素,结构级描述及仿真,行为级描述及仿真,延时的特点及说明,介绍Verilog testbench,激励和控制和描述,结果的产生及验证,任务task及函数function,用户定义的基本单元(primitive),可综合的Verilog描述风格,数字系统设计基础桂林电子科技大学多媒体课件中心,第一讲Verilog HDL数字系统设计综述,Verilog概述,结构化设计方法,Verilog建模,数字系统设计基础桂林电子科技大学多媒体课件中心,硬件描述语言,HDL,:描述电路硬件及时序的一种编程语言,仿真器,:读入,HDL,并进行解释及执行的一种软件,抽象级,:描述风格的详细程度,如行为级和门级,ASIC,:专用集成电路(Application Specific Integrated Circuit),ASIC Vender,:芯片制造商,开发并提供单元库,自下而上的设计流程,:一种先构建底层单元,然后由底层单元构造更大的系统的设计方法。,自顶向下的设计流程,:一种设计方法,先用高抽象级构造系统,然后再设计下层单元,RTL级,:寄存器传输级(Register Transfer Level),用于设计的可综合的一种抽象级,Tcl,:Tool command Language,向交互程序输入命令的描述语言,术语定义(terms and definitions),数字系统设计基础桂林电子科技大学多媒体课件中心,Verilog HDL是在1983年由GDA(GateWay Design Automation)公司的Phil Moorby所创。Phi Moorby后来成为Verilog-XL的主要设计者和Cadence公司的第一个合伙人。,在19841985年间,Moorby设计出了第一个Verilog-XL的仿真器。,1986年,Moorby提出了用于快速门级仿真的XL算法。,1990年,Cadence公司收购了GDA公司,1991年,Cadence公司公开发表Verilog语言,成立了OVI(Open Verilog International)组织来负责Verilog HDL语言的发展。,1995年制定了Verilog HDL的IEEE标准,即IEEE1364。,2005年制定了verilog HDL的IEEE新标准,又称Systemverilog V3.1标准.,1.Verilog的历史,1.1 Verilog 概述,数字系统设计基础桂林电子科技大学多媒体课件中心,2.Verilog与VHDL,两者的区别:,VHDL侧重于系统级描述,从而更多的为系统级设计人员所采用,Verilog侧重于电路级描述,从而更多的为电路级设计人员所采用,目前,设计者使用Verilog和VHDL的情况,美国:Verilog:80%,VHDL:20%,台湾:Verilog:50%,VHDL:50%,中国的微电子设计公司,90%以上采用Verilog,对于从事FPGA开发设计者,掌握Verilog或VHDL都可以,对于ASIC设计者,必须掌握Verilog,掌握VHDL。,数字系统设计基础桂林电子科技大学多媒体课件中心,3.Verilog HDL与 C语言,虽然Verilog的某些语法与C语言接近,但存在本质上的区别,Verilog是一种硬件语言,最终是为了产生实际的硬件电路或对硬件电路进行仿真,C语言是一种软件语言,是控制硬件来实现某些功能,利用Verilog编程时,要时刻记得Verilog是硬件语言,要时刻将Verilog与硬件电路对应起来,SystemVerilog and SystemC:面向SOC,数字系统设计基础桂林电子科技大学多媒体课件中心,4.Verilog的用途,Verilog的主要应用包括:,ASIC和FPGA工程师编写可综合的RTL代码,高抽象级系统仿真进行系统结构开发,测试工程师用于编写各种层次的测试程序,用于ASIC和FPGA单元或更高层次的模块的模型开发,数字系统设计基础桂林电子科技大学多媒体课件中心,1.数字IC设计层次与verilog描述,抽象层次,时序单位,基本单元,电路的功能描述,系统级,数据处理,进程及通信,自然语言描述或者相互通信的进程,算法级,运算步,运算的控制,行为有限状态机、数据流图、控制流图,寄存器变换级(RTL),时钟周期,寄存器、运算、变换,布尔方程、二元决策图、有限状态机,逻辑门级,延时,逻辑门、器件(晶体管),原理图,电路级,物理时间,晶体管、R,L,C等,电压、电流的微分方程,物理(版图)级,几何图形,前端,后端,1.2 结构化设计方法,数字系统设计基础桂林电子科技大学多媒体课件中心,Verilog既是一种行为描述的语言也是一种结构描述语言。Verilog模型可以是实际电路的不同层次的抽象,一般分为四个抽象级:,系统说明/,行为级,-设计文档/,算术描述,RTL/功能级,-Verilog,门级/结构级,-Verilog,版图/物理级,-几何图形,行为综合,综合前仿真,逻辑综合,综合后仿真,版图,数字系统设计基础桂林电子科技大学多媒体课件中心,Verilog设计在抽象级上需要进行折衷,系统说明/行为级,-设计文档/算术描述,RTL/功能级,-Verilog,门级/结构级,-Verilog,版图/物理级,-几何图形,详细程度,低,高,输入/仿真速度,高,低,一个设计可以用任何层次来表示,当设计从上而下进行时,该设计就逐步接近物理实现,在表示上就更少了一些抽象。但一个设计所需的细节会随着它在层次中的下降而增加。细节不充分会造成不精确的结果,过多的细节则会使该层次的设计复杂。,数字系统设计基础桂林电子科技大学多媒体课件中心,Verilog 可以在3个抽象级上建模,n+,n+,S,G,D,+,版图级,电路级,逻辑门级,RTL级,系统级和算法级,行为描述,(Behavior),数据流描述(Data Flow),结构描述,(Structure),混合描述,|,+,+,行为级,用功能块之间的数据流对系统进行描述,在需要时在函数块之间进行调度赋值。,RTL级/功能级,用功能块内部或功能块之间的数据流和控制信号描述系统,基于一个已定义的时钟的周期来定义系统模型,结构级/门级,用基本单元(primitive)或低层元件(component)的连接来描述系统以得到更高的精确性,特别是时序方面。,在综合时用特定工艺和低层元件将RTL描述映射到门级网表,数字系统设计基础桂林电子科技大学多媒体课件中心,抽象级(Levels of Abstraction)描述选取,设计工程师在不同的设计阶段采用不同的抽象级,首先在行为级描述各功能块,以降低描述难度,提高仿真速度。,在综合前将各功能模块进行RTL级描述。,用于综合的库中的大多数单元采用结构级描述。在本教程中的结构级描述部分将对结构级(门级)描述进行更详细的说明。,Verilog还有一定的晶体管级描述能力及算法级描述能力,数字系统设计基础桂林电子科技大学多媒体课件中心,2.自顶向下(Top-Down)的结构化设计方法,一个系统由总设计师先进行系统描述,将系统划分为若干模块,编写模块模型(一般为行为级),仿真验证后,再把这些模块分配给下一层的设计师,由他们完成模块的具体设计,而总设计师负责各模块的接口定义,顶层模块,子模块1,子模块2,子模块3,基本单元,基本单元,基本单元,基本单元,基本单元,基本单元,数字系统设计基础桂林电子科技大学多媒体课件中心,(1).相对独立、功能单一的模块结构,结构化设计的基本思想是将系统设计成由多个相对独立、功能单一的模块组成的结构。由于模块之间相对独立,每一模块就可以单独地被理解、编写、测试、排错和修改,从而可以有效防止错误在模块之间的扩散,提高系统的质量。,(2).“块内联系大,块间联系小”的模块性能标准,模块内部联系要大,模块之间联系要小,这是结构化设计中衡量模块相对独立性能的标准。事实上,块内联系和块间联系是同一个事物的两个方面。若把联系密切的成分组织在同一模块中,块内系统高了,块间联系自然就少了。,(3).采用模块结构图的描述方式,结构化设计方法使用的描述方式是模块结构图,即以图形的方式来表达。,结构化设计方法特点:,数字系统设计基础桂林电子科技大学多媒体课件中心,(1)分割后最底层的逻辑块应适合用逻辑语言进行表达。,如果利用逻辑图作最底层模块输入方法,需要分解到门,触发器和宏模块一级;用HDL行为描述语言则可以分解到算法一级。,(2)考虑共享模块。,在设计中,往往会出现一些功能相似的逻辑模块,相似的功能应该设计成共享的基本模块,象子程序一样由高层逻辑块调用。这样可以减少需要设计的模块数目、改善设计的结构化特性。,(3)接口信号线最少。,复杂的接口信号容易引起设计错误,并且给布线带来困难。以交互信号的最少的地方为边界划分模块,用最少的信号线进行信号和数据的交换为最佳的方法。,模块划分原则:,数字系统设计基础桂林电子科技大学多媒体课件中心,(4)结构均称。,同层次的模块之间,在资源和IO分配上,不出现悬殊的差异,没有明显的结构和性能上的瓶颈。,(5)通用性好,易于移植。,模块的划分和设计应满足通用性要求,模块设计应考虑移植的问题。一个好的设计模型块应该可以在其它设计中使用,并且容易升级和移植;另外,在设计中应尽可能避免使用与器件有关的特性,即设计具有可移植性。,数字系统设计基础桂林电子科技大学多媒体课件中心,1.3 Verilog 建模,现在我们将层次建模的概念和verilog联系起来。verilog使用模块,(module),的概念来代表一个基本的功能块。模块通过接口(,输入和输出,)被高层的模块调用,但隐藏了内部的实现细节。这样就使得设计者可以方便地对某个模块进行修改,而不影响设计的其他部分。,线。,线是器件管脚之间的物理连线;,Verilog中用变量wire,器件。,等同于模块的概念。Verilog中用module,Verilog HDL的建模实际上就是如何使用HDL语言对数字电路的两种基本要素的特性及相互之间的关系进行描述的过程。,在数字电路设计中,数字电路可简单归纳为两种要素:线和器件。,数字系统设计基础桂林电子科技大学多媒体课件中心,verilog中,模块声明由关键字,module,开始,关键字,endmoduIe,则必须出现在模块定义的结尾。每个模块必须具有一个,模块名,,由它惟一地标识这个模块。模块的端口列表则描述这个模块的输入和输出端口。,Module,(模块端口列表),.,模块内容,.,endmoduIe,简单的例子(数据流方式),module,HalfAdder(A,B,Sum,Carry);,input A,B;,output Sum,Carry;,assign#2 Sum=AB;,assign#5 Carry=A&B,;,endmodule,Module定义了一个模块或一个器件,对模块的描述是任意的,可以是,行为描述,、,数据流描述,或,结构描述,数字系统设计基础桂林电子科技大学多媒体课件中心,顶层模块,子模块1,子模块2,子模块3,基本单元,基本单元,基本单元,基本单元,基本单元,基本单元,module top(A,B,C,D,);,Second_1();,Second_2();,Second_3();,endmodule,module second_1();,Third_1();,Third_2();,endmodule,module second_2();,Third_3();,Third_4();,endmodule,module second_3();,Third_5();,Third_6();,endmodule,module Third_1();,.,endmodule,module Third_2();,.,endmodule,module Third_3();,.,endmodule,module Third_4();,.,endmodule,module Third_5();,.,endmodule,module Third_6();,.,endmodule,数字系统设计基础桂林电子科技大学多媒体课件中心,例设计一个4位二进制脉动进位计数器,T,触发器,tff0,q,T,触发器,tff1,q,T,触发器,tff2,q,T,触发器,tff2,q,q0,q1,q2,q3,clock,reset,D,触发器,D_FF,q,clock,d,reset,q,T触发器,4位二进制脉动进位计数器由4个T触发器构成,而很一个T触发器可由一个D触发器和一个非门构成,数字系统设计基础桂林电子科技大学多媒体课件中心,脉动进位计数器,T触发器,tff0,T触发器,tff1,T触发器,tff2,T触发器,tff3,D_FF,非门,D_FF,非门,D_FF,非门,D_FF,非门,module,ripple_carry_counter(q,clk,reset);,output,3:0 q;,input,clk,reset;,T_FF,tff0(q0,clk,reset);,T_FF,tff1(q1,q0,reset);,T_FF,tff2(q2,q1,reset);,T_FF,tff3(q3,q2,reset);,endmodule,T,触发器,tff0,q,T,触发器,tff1,q,T,触发器,tff2,q,T,触发器,tff2,q,q0,q1,q2,q3,clock,reset,数字系统设计基础桂林电子科技大学多媒体课件中心,D,触发器,D_FF,q,clock,d,reset,q,T触发器,module,T_FF(q,clk,reset);,output,q;,input,clk,reset;,wire,d;,D_FF,dff0(q,d,clk,reset);,not,n1(d,q);,endmodule,数字系统设计基础桂林电子科技大学多媒体课件中心,module,D_FF(q,d,clk,reset);,output,q;,input,d,clk,reset;,reg,q;,always,(posedge reset or negedge clk),if,(reset)q=1b0;else q=d;,endmodule,数字系统设计基础桂林电子科技大学多媒体课件中心,数字系统设计基础桂林电子科技大学多媒体课件中心,演讲完毕,谢谢听讲,!,再见,see you again,3rew,2026/11/7,数字系统设计基础桂林电子科技大学多媒体课件中心,</p>
展开阅读全文