硬件描述语言与数字逻辑电路设计VHDL:第1章 数字系统硬件设计概述

上传人:公**** 文档编号:568778039 上传时间:2024-07-26 格式:PPT 页数:19 大小:181.50KB
返回 下载 相关 举报
硬件描述语言与数字逻辑电路设计VHDL:第1章 数字系统硬件设计概述_第1页
第1页 / 共19页
硬件描述语言与数字逻辑电路设计VHDL:第1章 数字系统硬件设计概述_第2页
第2页 / 共19页
硬件描述语言与数字逻辑电路设计VHDL:第1章 数字系统硬件设计概述_第3页
第3页 / 共19页
硬件描述语言与数字逻辑电路设计VHDL:第1章 数字系统硬件设计概述_第4页
第4页 / 共19页
硬件描述语言与数字逻辑电路设计VHDL:第1章 数字系统硬件设计概述_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《硬件描述语言与数字逻辑电路设计VHDL:第1章 数字系统硬件设计概述》由会员分享,可在线阅读,更多相关《硬件描述语言与数字逻辑电路设计VHDL:第1章 数字系统硬件设计概述(19页珍藏版)》请在金锄头文库上搜索。

1、第第1 1章章数字系统硬件设计概述数字系统硬件设计概述VHDL11第第1 1章章 数字系统硬件设计概述数字系统硬件设计概述1.VHDL1.VHDL程序举例程序举例2.2.基于硬件描述语言的硬件电路设计方法基于硬件描述语言的硬件电路设计方法3.3.利用利用VHDLVHDL语言设计硬件电路的优点语言设计硬件电路的优点VHDL121.VHDL1.VHDL程序举例程序举例 VHDLVHDL的英文全名是的英文全名是VeryVeryHighHighSpeed Integrated Speed Integrated Circuit Hardware Description LanguageCircuit H

2、ardware Description Language,诞生于,诞生于19821982年。年。19871987年底,年底,VHDLVHDL被被IEEE(TheIEEE(The Institute of Institute of Electrical and Electronics Engineers) Electrical and Electronics Engineers) 和美国国防部和美国国防部确认为标准硬件描述语言。确认为标准硬件描述语言。 VerilogVerilog HDL HDL在在19951995年被年被IEEEIEEE确认为标准描述语言。确认为标准描述语言。 从从功功能能上

3、上讲讲,两两者者是是相相通通的的,只只是是在在语语法法上上有有些些区区别别。掌握了掌握了VHDLVHDL语言,理解语言,理解VerilogVerilog HDL HDL语言也不会十分费力。语言也不会十分费力。VHDL13基于基于VHDL的自顶向下设计方法的自顶向下设计方法VHDL14 数据选择器:数据选择器: 在数字系统中,经常要把多个通道的信号传递到在数字系统中,经常要把多个通道的信号传递到公共数据线上,因此,需要在地址码(选择控制信号)公共数据线上,因此,需要在地址码(选择控制信号)的控制下,从若干路输入数据中选择一路做为输出,的控制下,从若干路输入数据中选择一路做为输出,完成这一逻辑功能

4、的电路叫数据选择器,又叫多路选完成这一逻辑功能的电路叫数据选择器,又叫多路选择器、多路开关。其框图如下:择器、多路开关。其框图如下:D0Dm-1D0Dm-1为输入,为输入,A0An-1A0An-1为地址码。两个地址为地址码。两个地址码可选四个,四选一数据选择码可选四个,四选一数据选择器;三个地址码可选八个,八器;三个地址码可选八个,八选一数据选择器选一数据选择器 VHDL15例例: 2: 2选选1 1数据选择器的设计数据选择器的设计 图为个2选1的多路选择器逻辑图,a和b分别是两个数据输入端的端口名,s为通道选择控制信号输人端的端口名,y为输出端的端口名。其逻辑功能可表述为: 若s=0,则 y

5、=a; 若s=1,则 y=bLIBRARYIEEE;-库使用说明。USEIEEE.STD_LOGIC_1164.ALL;-程序包使用说明。ENTITYmux21IS-器件mux21的外部PORTPORT(a,b:INSTD_LOGIC;-接口信号说明,相当于器件的引脚,s:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDENTITYmux21;-这一部分称为实体。ARCHITECTUREoneOFmux21-IS器件mux21的内部BEGIN-工作逻辑描述,即y=aWHENs=0ELSE-为实体描述的器件bWHENs=1;ENDARCHITECTUREone-功能结构,称为结构体

6、。VHDL16n从上例文件的描述层次上来看,选择器逻辑功能的从上例文件的描述层次上来看,选择器逻辑功能的VHDLVHDL描述使用了三个层次:描述使用了三个层次:n(1)(1)库库(LIBRARY)(LIBRARY)说明说明 它它包包含含了了描描述述器器件件的的输输入入、输输出出端端口口数数据据类类型型中中将将要要用用到到的的IEEEIEEE的的标标准准库库中中的的STD_LOGIC_1164STD_LOGIC_1164程序包。程序包。n(2)(2)实体(实体(ENTITYENTITY)说明)说明 实体的电路意义相当于器件,在电路原理图上相当于元件符号。实体是一个完整实体的电路意义相当于器件,在

7、电路原理图上相当于元件符号。实体是一个完整的、独立的语言模块,它描述了的、独立的语言模块,它描述了mux21mux21接口信息,定义了器件接口信息,定义了器件mux21mux21端口引脚端口引脚a a、b b、s s、y y的输入输出性质和数据类型,它利用的输入输出性质和数据类型,它利用PORTPORT语句说明了语句说明了mux21mux21的外部引脚工作方式。的外部引脚工作方式。PORTPORT所描述的就相当于电路器件的外部引脚。所描述的就相当于电路器件的外部引脚。ININ对端口引脚对端口引脚a a和和b b作了信号流向的方向作了信号流向的方向说明,它规定了信号必须由外部通过端口引脚说明,它

8、规定了信号必须由外部通过端口引脚a a、b b流进所描述的器件内部;而流进所描述的器件内部;而OUTOUT则规则规定了器件内部的信号需通过端口引脚定了器件内部的信号需通过端口引脚y y向外输出。向外输出。 同同时时指指明明了了端端口口a a、b b、s s和和y y信信号号的的数数据据类类型型是是符符合合IEEEIEEE标标准准的的STD_LOGIC_1164STD_LOGIC_1164程程序包中的位数据类型。序包中的位数据类型。n(3)(3)结构体结构体(ARCHITECTURE)(ARCHITECTURE)说明说明 这这一一层层次次描描述述了了mux21mux21内内部部的的逻逻辑辑功功能

9、能,在在电电路路上上相相当当于于器器件件的的内内部部电电路路结结构构。此此例例的的逻逻辑辑描描述述十十分分简简洁洁,它它并并没没有有将将选选择择器器内内部部逻逻辑辑门门的的连连接接方方式式表表达达出出来来,而而是是将将此此选选择择器器看看成成一一个个黑黑盒盒,以以类类似似于于计计算算机机高高级级语语言言的的表表达达方方式式描描述述了了它它的的外外部部逻逻辑辑行行为为。符符号号“=”=”信信号号赋赋值值符符,是是信信号号传传递递的的意意思思,“y y = = a”a”表表示示将将a a获获得得的的信信号号赋赋给给( (传入传入)y)y输出端。输出端。VHDL17ENTITYmuxIS-实体名mu

10、xPORT(d0,d1,sel:INBIT;-端口名d1,d0,sel.方向in.数据类型bit.q:OUTBIT);-端口名q.方向out.数据类型bit.ENDmux;-实体说明结束。以上为实体说明。ARCHITECTUREconnectOFmuxIS-实体mux的结构体名叫connectBEGIN-以下为结构体connect的描述。calc:PROCESS(d0,d1,sel)-是一个process(进程),三个敏感量。VARIABLEtmp1,tmp2,trmp3:BIT;-定义三个变量。BEGINtmp1:=d0ANDse1;tmp2:=d1AND(NOTse1);tmp3:=tmp

11、1ORtmp2;q=tmp3;ENDPROCESS;-process(进程)结束ENDconnect;-结构体connect结束图图13返回本章首页返回本章首页VHDL182.2.基于硬件描述语言的硬件电路设计方法基于硬件描述语言的硬件电路设计方法 HDL的设计一般采用的是自顶向下的设计方法,即从系统总体要求出发,自上至下地逐步将设计内容细化,最后完成系统硬件的整体设计。 第一层进行行为描述,并不真正考虑实际的操作和算法用什么方法来实现,主要考虑系统的结构及其工作过程是否能达到系统设计规格书的要求。 第二层是寄存器传输描述,把行为描述的HDL语言程序改写为能综合的HDL语言程序。 第三层是逻辑

12、综合,将能综合的HDL语言程序转换成用基本逻辑元件表示的文件。由自动布线程序转换成相应的ASIC芯片的制造工艺,作出ASIC芯片;或转换成FPGA的编程码,利用FPGA完成硬件电路设计。 VHDL19 每一层都进行仿真检查,有利于尽早发现设计中存在的问题,大大缩短系统硬件的设计周期。 可大量采用ASIC芯片。 降低硬件电路设计难度。 形成的主要文件是用HDL语言编写的源程序,资料量小,便于保存、可继承性好、阅读方便。优点:VHDL1103.3.利用利用VHDLVHDL语言设计硬件电路的优点语言设计硬件电路的优点 VHDLVHDL具有功能强大的语言结构,可用明确的代码描述复具有功能强大的语言结构

13、,可用明确的代码描述复杂的控制逻辑设计,并且具有多层次的设计描述功能,支持设杂的控制逻辑设计,并且具有多层次的设计描述功能,支持设计库和可重复使用的元件的生成,是一种设计、仿真和综合的计库和可重复使用的元件的生成,是一种设计、仿真和综合的标准硬件描述语言。标准硬件描述语言。 VHDLVHDL语言可读性强,易于修改和发现错误。与大多数高语言可读性强,易于修改和发现错误。与大多数高级软件语言一样,级软件语言一样,HDLHDL一般都提供很强的类型校验。比如需要一般都提供很强的类型校验。比如需要4 4 bitbit宽的信号类型的元件不能与宽的信号类型的元件不能与3 3或或5bit5bit宽的信号元件相

14、连接。宽的信号元件相连接。在编译在编译HDLHDL描述时,类型不匹配会导致出错。若一个变量的范描述时,类型不匹配会导致出错。若一个变量的范围定义为围定义为1 1到到1515,对该变量赋以,对该变量赋以0 0值将会导致出错。类型使用错值将会导致出错。类型使用错误是描述中的主要错误,类型校验可以检测出误是描述中的主要错误,类型校验可以检测出HDLHDL描述中的这描述中的这类错误,甚至在设计生成以前就会发现,从而尽可能减少对设类错误,甚至在设计生成以前就会发现,从而尽可能减少对设计日程计划的影响。计日程计划的影响。 VHDL116 可以使用仿真器对可以使用仿真器对VHDLVHDL源代码进行功能仿真。

15、对于大型设计,采用源代码进行功能仿真。对于大型设计,采用VHDLVHDL仿真软件对其进行仿真可以节省时间,在设计的早期阶段就可以检仿真软件对其进行仿真可以节省时间,在设计的早期阶段就可以检测到设计中的错误,从而予以修正。因为大型设计的综合、优化、配置测到设计中的错误,从而予以修正。因为大型设计的综合、优化、配置往往要花费几个小时,综合之前对源代码仿真,可以大大减少设计重复往往要花费几个小时,综合之前对源代码仿真,可以大大减少设计重复和修正错误的次数和时间。另外,较高层上的设计仿真,只要在门级实和修正错误的次数和时间。另外,较高层上的设计仿真,只要在门级实现之前,允许对结构和设计进行检验。现之前

16、,允许对结构和设计进行检验。 VHDLVHDL允许设计者不依赖于器件。同一个设计描述,可以采用多种不允许设计者不依赖于器件。同一个设计描述,可以采用多种不同器件结构来实现其功能。若需对设计进行资源利用和性能方面的优化,同器件结构来实现其功能。若需对设计进行资源利用和性能方面的优化,也并不是要求设计者非常熟悉器件的结构,从而可以集中精力从事设计也并不是要求设计者非常熟悉器件的结构,从而可以集中精力从事设计构思。构思。 HDLHDL描述实现了设计与工艺无关。描述实现了设计与工艺无关。HDLHDL描述比网表或原理描述更易读,描述比网表或原理描述更易读,更易于理解。因为初始更易于理解。因为初始HDLH

17、DL设计描述是与工艺无关的,在以后的设计中我设计描述是与工艺无关的,在以后的设计中我们可以通过对其重用生成另一不同工艺下的设计,而不必从初始工艺转们可以通过对其重用生成另一不同工艺下的设计,而不必从初始工艺转换过来。换过来。 VHDL117 可移植性。因为可移植性。因为VHDLVHDL语言是一个标准语言,语言是一个标准语言,VHDLVHDL的设计描述可的设计描述可以被不同的以被不同的EDAEDA工具支持,可以从一个仿真工具移植到另一个仿真工工具支持,可以从一个仿真工具移植到另一个仿真工具,从一个综合工具移植到另一个综合工具,从一个工作平台移植具,从一个综合工具移植到另一个综合工具,从一个工作平

18、台移植到另一到另一 个工作平台来执行。个工作平台来执行。 上市时间快,成本低。上市时间快,成本低。VHDLVHDL语言描述快捷,修改方便。可编程语言描述快捷,修改方便。可编程逻辑器件的应用则将产品设计的前期风险投资降至最低,而且设计逻辑器件的应用则将产品设计的前期风险投资降至最低,而且设计复制速度快,简便易行。复制速度快,简便易行。VHDLVHDL和可编程逻辑的结合作为一种强有力和可编程逻辑的结合作为一种强有力的设计方式,为设计者的产品上市带来创纪录的速度,同时节省了的设计方式,为设计者的产品上市带来创纪录的速度,同时节省了人力,可以将技术人员从繁琐的电路描述中解放出来。人力,可以将技术人员从

19、繁琐的电路描述中解放出来。 ASICASIC移植。如果移植。如果VHDLVHDL语言设计被综合到语言设计被综合到FPGAFPGA中,则可以使设计中,则可以使设计的产品以最快的速度上市。当产量达到相当数量时,采用的产品以最快的速度上市。当产量达到相当数量时,采用VHDLVHDL很容很容易转成易转成ASICASIC设计,仅需更换不同的库重新进行综合。另外,由于工设计,仅需更换不同的库重新进行综合。另外,由于工艺技术的改进,需要采用更先进的工艺时,仍可采用原来的艺技术的改进,需要采用更先进的工艺时,仍可采用原来的VHDLVHDL代代码。码。VHDL118 编写编写VHDLVHDL语言的代码与编写其他

20、计算机程序语言的代码有很大的不语言的代码与编写其他计算机程序语言的代码有很大的不同,必须清醒地认识到同,必须清醒地认识到VHDLVHDL是硬件编程语言,编写的是硬件编程语言,编写的VHDLVHDL代码必须能够代码必须能够综合到可用可编程器件实现。如果懂得综合到可用可编程器件实现。如果懂得EDAEDA工具中仿真软件和综合软件的工具中仿真软件和综合软件的大致工作过程,将有助于编写优秀的大致工作过程,将有助于编写优秀的VHDLVHDL代码。代码。 VHDLVHDL可以满足设计进程中的多种需求。可以满足设计进程中的多种需求。 首先,它允许对设计进行结构化描述,也就是可以将一个设计分成首先,它允许对设计进行结构化描述,也就是可以将一个设计分成多个不同的功能块及其间的相互连接关系来考虑。多个不同的功能块及其间的相互连接关系来考虑。 其次,它允许使用易读的程序设计语言形式来规定设计功能。其次,它允许使用易读的程序设计语言形式来规定设计功能。 再次,它可以在一个设计投入生产以前对其进行仿真。再次,它可以在一个设计投入生产以前对其进行仿真。 所以用户可以方便地比较不同的设计并测试其正确性,从而省略了所以用户可以方便地比较不同的设计并测试其正确性,从而省略了生成硬件原形这一耗时耗力的过程。生成硬件原形这一耗时耗力的过程。VHDL119

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号