数字系统设计基础_第1页
数字系统设计基础_第2页
数字系统设计基础_第3页
数字系统设计基础_第4页
数字系统设计基础_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字系统设计根底主讲:谢跃雷〔讲师〕Verilog部分引见VerilogHDL,内容包括:Verilog运用Verilog言语的构成元素构造级描画及仿真行为级描画及仿真延时的特点及阐明引见Verilogtestbench鼓励和控制和描画结果的产生及验证义务task及函数function用户定义的根本单元(primitive)可综合的Verilog描画风格第一讲VerilogHDL数字系统设计综述Verilog概述构造化设计方法Verilog建模硬件描画言语HDL:描画电路硬件及时序的一种编程言语仿真器:读入HDL并进展解释及执行的一种软件笼统级:描画风格的详细程度,如行为级和门级ASIC:公用集成电路(ApplicationSpecificIntegratedCircuit)ASICVender:芯片制造商,开发并提供单元库自下而上的设计流程:一种先构建底层单元,然后由底层单元构造更大的系统的设计方法。自顶向下的设计流程:一种设计方法,先用高笼统级构造系统,然后再设计下层单元RTL级:存放器传输级(RegisterTransferLevel),用于设计的可综合的一种笼统级Tcl:ToolcommandLanguage,向交互程序输入命令的描画言语术语定义(termsanddefinitions)VerilogHDL是在1983年由GDA(GateWayDesignAutomation)公司的PhilMoorby所创。PhiMoorby后来成为Verilog-XL的主要设计者和Cadence公司的第一个合伙人。在1984~1985年间,Moorby设计出了第一个Verilog-XL的仿真器。1986年,Moorby提出了用于快速门级仿真的XL算法。1990年,Cadence公司收买了GDA公司1991年,Cadence公司公开发表Verilog言语,成立了OVI(OpenVerilogInternational)组织来担任VerilogHDL言语的开展。1995年制定了VerilogHDL的IEEE规范,即IEEE4。2005年制定了verilogHDL的IEEE新规范,又称SystemverilogV3.1规范.1.Verilog的历史1.1Verilog概述2.Verilog与VHDL两者的区别:VHDL偏重于系统级描画,从而更多的为系统级设计人员所采用Verilog偏重于电路级描画,从而更多的为电路级设计人员所采用目前,设计者运用Verilog和VHDL的情况美国:Verilog:80%,VHDL:20%台湾:Verilog:50%,VHDL:50%中国的微电子设计公司,90%以上采用Verilog,对于从事FPGA开发设计者,掌握Verilog或VHDL都可以,对于ASIC设计者,必需掌握Verilog,掌握VHDL。3.VerilogHDL与C言语虽然Verilog的某些语法与C言语接近,但存在本质上的区别Verilog是一种硬件言语,最终是为了产生实践的硬件电路或对硬件电路进展仿真C言语是一种软件言语,是控制硬件来实现某些功能利用Verilog编程时,要时辰记得Verilog是硬件言语,要时辰将Verilog与硬件电路对应起来SystemVerilogandSystemC:面向SOC4.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+SGD+幅员级电路级逻辑门级RTL级系统级和算法级行为描画(Behavior)数据流描画(DataFlow)构造描画〔Structure)混合描画||++行为级用功能块之间的数据流对系统进展描画在需求时在函数块之间进展调度赋值。RTL级/功能级用功能块内部或功能块之间的数据流和控制信号描画系统基于一个已定义的时钟的周期来定义系统模型构造级/门级用根本单元(primitive)或低层元件(component)的衔接来描画系统以得到更高的准确性,特别是时序方面。在综合时用特定工艺和低层元件将RTL描画映射到门级网表笼统级(LevelsofAbstraction)描画选取设计工程师在不同的设计阶段采用不同的笼统级首先在行为级描画各功能块,以降低描画难度,提高仿真速度。在综合前将各功能模块进展RTL级描画。用于综合的库中的大多数单元采用构造级描画。在本教程中的构造级描画部分将对构造级(门级)描画进展更详细的阐明。Verilog还有一定的晶体管级描画才干及算法级描画才干2.自顶向下〔Top-Down)的构造化设计方法一个系统由总设计师先进展系统描画,将系统划分为假设干模块,编写模块模型(普通为行为级),仿真验证后,再把这些模块分配给下一层的设计师,由他们完成模块的详细设计,而总设计师担任各模块的接口定义顶层模块子模块1子模块2子模块3根本单元根本单元根本单元根本单元根本单元根本单元(1).相对独立、功能单一的模块构造构造化设计的根本思想是将系统设计成由多个相对独立、功能单一的模块组成的构造。由于模块之间相对独立,每一模块就可以单独地被了解、编写、测试、排错和修正,从而可以有效防止错误在模块之间的分散,提高系统的质量。(2).“块内联络大,块间联络小〞的模块性能规范模块内部联络要大,模块之间联络要小,这是构造化设计中衡量模块相对独立性能的规范。现实上,块内联络和块间联络是同一个事物的两个方面。假设把联络亲密的成分组织在同一模块中,块内系统高了,块间联络自然就少了。(3).采用模块构造图的描画方式构造化设计方法运用的描画方式是模块构造图,即以图形的方式来表达。构造化设计方法特点:(1)分割后最底层的逻辑块应适宜用逻辑言语进展表达。假设利用逻辑图作最底层模块输入方法,需求分解到门,触发器和宏模块一级;用HDL行为描画言语那么可以分解到算法一级。(2)思索共享模块。在设计中,往往会出现一些功能类似的逻辑模块,类似的功能应该设计成共享的根本模块,象子程序一样由高层逻辑块调用。这样可以减少需求设计的模块数目、改善设计的构造化特性。(3)接口信号线最少。复杂的接口信号容易引起设计错误,并且给布线带来困难。以交互信号的最少的地方为边境划分模块,用最少的信号线进展信号和数据的交换为最正确的方法。模块划分原那么:(4)构造均称。同层次的模块之间,在资源和I/O分配上,不出现悬殊的差别,没有明显的构造和性能上的瓶颈。(5)通用性好,易于移植。模块的划分和设计应满足通用性要求,模块设计应思索移植的问题。一个好的设计模型块应该可以在其它设计中运用,并且容易晋级和移植;另外,在设计中应尽能够防止运用与器件有关的特性,即设计具有可移植性。1.3Verilog建模如今我们将层次建模的概念和verilog联络起来。verilog运用模块(module)的概念来代表一个根本的功能块。模块经过接口(输入和输出)被高层的模块调用,但隐藏了内部的实现细节。这样就使得设计者可以方便地对某个模块进展修正,而不影响设计的其他部分。线。线是器件管脚之间的物理连线;Verilog中用变量wire器件。等同于模块的概念。Verilog中用moduleVerilogHDL的建模实践上就是如何运用HDL言语对数字电路的两种根本要素的特性及相互之间的关系进展描画的过程。在数字电路设计中,数字电路可简单归纳为两种要素:线和器件。verilog中,模块声明由关键字module开场,关键字endmoduIe那么必需出如今模块定义的结尾。每个模块必需具有一个模块名,由它独一地标识这个模块。模块的端口列表那么描画这个模块的输入和输出端口。Module<模块名>(模块端口列表〕…………..<模块内容>…………….endmoduIe简单的例子〔数据流方式〕 moduleHalfAdder(A,B,Sum,Carry);inputA,B;outputSum,Carry;assign#2Sum=A^B;assign#5Carry=A&B;endmoduleModule定义了一个模块或一个器件,对模块的描画是恣意的,可以是行为描画、数据流描画或构造描画顶层模块子模块1子模块2子模块3根本单元根本单元根本单元根本单元根本单元根本单元moduletop(A,B,,C,D,…);Second_1(……);Second_2(……);Second_3(……);endmodulemodulesecond_1(…);Third_1(……);Third_2(……);endmodulemodulesecond_2(…);Third_3(……);Third_4(……);endmodulemodulesecond_3(…);Third_5(……);Third_6(……);endmodulemoduleThird_1(…);…………..endmodulemoduleThird_2(…);…………..endmodulemoduleThird_3(…);…………..endmodulemoduleThird_4(…);…………..endmodulemoduleThird_5(…);…………..endmodulemoduleThird_6(…);…………..endmodule例设计一个4位二进制脉动进位计数器T’触发器tff0qT’触发器tff1qT’触发器tff2qT’触发器tff2qq0q1q2q3clockresetD触发器D_FFqclockdresetqT’触发器4位二进制脉动进位计数器由4个T‘触发器构成,而很一个T’触发器可由一个D触发器和一个非门构成脉动进位计数器T’触发器tff0T’触发器tff1T’触发器tff2T’触发器tff3D_FF非门D_FF非门D_FF非门D_FF非门moduleripple_carry_counter(q,clk,reset);

output[3:0]q;

inputclk,reset;

T_FFtff0(q[0],clk,reset);

T_FFtff1(q[1],q[0],reset);

T_FFtff2(q[2],q[1],reset);

T_FFtff3(q[3],q[2],reset);

endmoduleT’触发器tff0qT’触发器tff1qT’触发器tff2qT’触发器tff2qq0q1q2q3clockresetD触发器D_FFqclock

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论