下载

1下载券

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 VHDL语言基础

VHDL语言基础.pdf

VHDL语言基础

繼續隨緣
2012-07-26 0人阅读 举报 0 0 暂无简介

简介:本文档为《VHDL语言基础pdf》,可适用于人文社科领域

第章VHDL语言基础概述硬件描述语言(hardwaredescriptionlanguageHDL)是电子系统硬件行为描述、结构描述、数据流描述的语言。目前利用硬件描述语言可以进行数字电子系统的设计。随着研究的深入利用硬件描述语言进行模拟电子系统设计或混合电子系统设计也正在探索中。国外硬件描述语言种类很多有的从Pascal发展而来也有一些从C语言发展而来。有些HDL成为IEEE标准但大部分是企业标准。VHDL来源于美国军方其他的硬件描述语言则多来源于民间公司。可谓百家争鸣百花齐放。这些不同的语言传播到国内同样也引起了不同的影响。在我国比较有影响的有两种硬件描述语言:VHDL语言和VerilogHDL语言。这两种语言已成为IEEE标准语言。电子设计自动化(electronicdesignautomationEDA)技术的理论基础、设计工具、设计器件应是这样的关系:设计师用硬件描述语言HDL描绘出硬件的结构或硬件的行为再用设计工具将这些描述综合映射成与半导体工艺有关的硬件配置文件半导体器件FPGA则是这些硬件配置文件的载体。当这些FPGA器件加载、配置上不同的文件时这个器件便具有了相应的功能。在这一系列的设计、综合、仿真、验证、配置的过程中现代电子设计理论和现代电子设计方法贯穿于其中。以HDL语言表达设计意图以FPGA作为硬件实现载体以计算机为设计开发工具以EDA软件为开发环境的现代电子设计方法日趋成熟。在这里笔者认为要振兴我国电子产业需要各相关专业的人士共同努力。HDL语言的语法语义学研究与半导体工艺相关联的编译映射关系的研究深亚微米半导体工艺与EDA设计工具的仿真、验证及方法的研究这需要半导体专家和操作系统专家共同努力以便能开发出更加先进的EDA工具软件。软件、硬件协同开发缩短了电子设计周期加速了电子产品更新换代的步伐。毫不夸张地说EDA工程是电子产业的心脏起搏器是电子产业飞速发展的原动力。本书从应用的角度向国内广大读者介绍VHDL编程技术让大家掌握HDL编程了解FPGA结构学会使用EDA工具为集成电路前端设计打下基础。硬件描述语言的诞生VHDL语言的英文全名是VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage即超高速集成电路硬件描述语言。HDL发展的技术源头是:在HDL形成发展之前已有了许多程序设计语言如汇编、C、Pascal、Fortran、Prolog等。这些语言运行VHDL程序设计教程··在不同硬件平台和不同的操作环境中它们适合于描述过程和算法不适合作硬件描述。CAD的出现使人们可以利用计算机进行建筑、服装等行业的辅助设计电子辅助设计也同步发展起来。在从CAD工具到EDA工具的进化过程中电子设计工具的人机界面能力越来越高。在利用EDA工具进行电子设计时逻辑图、分立电子原件作为整个越来越复杂的电子系统的设计已不适应。任何一种EDA工具都需要一种硬件描述语言来作为EDA工具的工作语言。这些众多的EDA工具软件开发者各自推出了自己的HDL语言。HDL发展的社会根源是:美国国防部电子系统项目有众多的承包公司由于各公司技术路线不一致许多产品不兼容他们使用各自的设计语言使得甲公司的设计不能被乙公司重复利用造成了信息交换困难和维护困难。美国政府为了降低开发费用避免重复设计国防部为他们的超高速集成电路提供了一种硬件描述语言以期望VHDL功能强大、严格、可读性好。政府要求各公司的合同都用它来描述以避免产生歧义。由政府牵头VHDL工作小组于年月成立提出了一个满足电子设计各种要求的能够作为工业标准的HDL。年第季度由IBM公司、TI公司、Intermetrics公司签约组成开发小组工作任务是提出语言版本和开发软件环境。年IEEE标准化组织开始工作讨论VHDL语言标准历时一年有余于年月通过标准审查并宣布实施即IEEESTDLRM。年VHDL重新修订形成了新的标准即IEEESTDLRM。从此以后美国国防部实施新的技术标准要求电子系统开发商的合同文件一律采用VHDL文档。即第一个官方VHDL标准得到推广、实施和普及。HDL语言的种类HDL语言在国外有上百种。高等学校、科研单位、EDA公司都有自己的HDL语言。现选择较有影响的作简要介绍。Candence公司是一家著名的EDA公司财力雄厚。该公司的VerilogHDL于年由GateWayDesignAutomatic公司的PhilMoorby首创。他在年间成功设计了VerilogXL仿真器于年提出了快速门级仿真的XL算法使VerilogHDL语言变得更加丰富和完善从而受到了EDA工具设计公司的青睐。年Candence公司购买了GDA公司VerilogHDL语言从此变为Candence公司的“私有财产”成为Candence公司的EDA设计环境上的硬件描述语言。经过Candence公司的努力VerilogHDL于年成为IEEE标准也是民间公司第一个硬件描述语言标准即VerilogHDL。由于VerilogHDL语言从C语言发展来所以有C语言基础的设计人员能够较快入门。ALTERA公司是一家半导体器件公司其CPLD器件在世界市场上占主导地位。这家公司不仅是硬件生产厂商也是EDA工具开发商它的EDA工具MAXplusII、Quartus由于人机界面友好、易于使用、性能优良而受到FPGA、CPLD器件设计人员的欢迎。运行在MAXplusII环境下的VHDL语言具有C语言设计风格好学好用因此被众多用户使用。HDL语言来自不同地方由不同语言演变而来为了各平台之间相互转换又推出了第章VHDL语言基础··EDIF(ElectronicDesignInterchangeFormat)。它不是一种语言而是用于不同数据格式的EDA工具之间的交换设计数据。VHDL语言上机操作条件VHDL语言描述能力强覆盖面广抽象能力强所以用VHDL语言作为硬件模型建模很合适。设计者的原始描述是非常简练的硬件描述经过EDA工具综合处理最终生成付诸生产的电路描述或版图参数描述的工艺文件。整个过程通过EDA工具自动完成大大减轻了设计人员的工作强度提高了设计质量减少了出错机会。VHDL语言可读性好。VHDL既能被人容易读懂又能被计算机识别作为技术人员编写的源文件它既是计算机程序、技术文档和技术人员硬件信息交流的文件又是签约双方的合同文件。VHDL语言中的设计实体(designentity)、程序包(package)、设计库(library)为设计人员重复利用他人的设计提供了技术手段。重复利用他人的IP模块和软核(softcore)是VHDL的特色许多设计不必个个都从头再来而是只要在更高层次上把IP模块利用起来就能达到事半功倍的效果。VHDL语言可以在多种EDA工具设计环境中运行。硬件平台是工作站或高档微机。高档微机的配置应该具有:高分彩显英寸以上分辨率×或更高硬盘GB以上内存MB以上CPUIntel兼容CPU光驱倍速以上操作系统WindowsXX开发工具MAXplusII或QuartusIICandence、Menter、ALTERA等公司的EDA工具均支持VHDL语言环境。关于VHDL语言的上机实验在第章中将作详细介绍。VHDL程序的实体VHDL程序包含实体(entity)、结构体(architecture)、配置(configuration)、包集合(package)、库(library)个部分。简单的实体是由实体和结构体两部分组成的。实体用于描述设计系统的外部接口信号结构体用于描述系统的行为、系统数据的流程或者系统组织结构形式。设计实体是VHDL程序的基本单元是电子系统的抽象。简单的实体可以是一个与门电路(ANDGate)复杂的实体可以是一个微处理器或一个数字电子系统。实体由实体说明和结构体说明两部分组成。例是计数器程序结构模板。由这个抽象的程序可以归纳出VHDL程序的基本结构。VHDL程序设计教程··【例】计数器程序结构模板LIBRARYIEEEUSEieeestdlogicallENTITYentitynameISPORT(SIGNALdatainputname:ININTEGERRANGETOcountvalueSIGNALclkinputname:INSTDLOGIC实体SIGNALclminputname:INSTDLOGICSIGNALenainputname:INSTDLOGICSIGNALldinputname:INSTDLOGICSIGNALcountoutputname:OUTINTEGERRANGETOCountvalue)ENDentitynameARCHITECTUREcounterOFentitynameISSIGNALcountsignalname:INTEGERRANGETOcountvalueBEGINPROCESS(clkinputname,clrninputname)敏感变量表BEGINIFclrninputname=''THENcountsignalname<=ELSIF(clkinputname'EVENTANDclkinputname='')THENIFldinputname=''THEN结构体countsignalname<=datainputname进程ELSEIFenainputname=''THENcountsignalname<=countsignalnameELSEcountsignalname<=countsignalnameENDIFENDIFENDIFENDPROCESScountoutputname<=countsignalnameENDcounter由例可以看出VHDL程序由两部分组成:第部分为实体说明第部分为结构体。VHDL程序结构更抽象、更基本、更简练的表示如图所示。设计实体用关键字ENTITY来标识结构体由ARCHITECTURE来标识。系统设计中的实体提供该设计系统的公共信息结构体定义了各个模块内的操作特性。一个设计实体端口说明第章VHDL语言基础··必须包含一个结构体或含有多个结构体。一个电子系统的设计模型如图所示。VHDL程序设计教程··VHDL程序结构实体描述结构体描述.行为描述法.数据流描述法.结构化描述法结构体间通信设计实体结构体…结构体n图VHDL程序基础图VHDL程序设计系统模型实体的组成实体由实体名、类型表、端口表、实体说明部分和实体语句部分组成。根据IEEE标准实体组织的一般格式为:ENTITY实体名ISGENERIC(类型表)可选项PORT(端口表)必需项实体说明部分可选项BEGIN实体语句部分ENDENTITY实体名根据上述实体说明的一般书写格式编写一个VHDL程序设计的实体说明如例所示。【例】add实体说明部分LIBRARYieeeUSEieeestdlogicallENTITYaddISPORT(b:instdlogicvector(downto)a:instdlogicvector(downto)Ci:instdlogicSum:outstdlogicvector(downto)Co:outstdlogic)ENDadd由实体说明部分画出add实体的外部接口图如图所示。实体说明以“ENTITY实体名IS”开始以“END实体名”结束。大写字母或黑体字都是VHDL关键字。EDA工具对VHDL语言的大小写字母不加区分。实体说明主要描述一些参数的类型。参数的类型说明必须放在端口说明之前这是第章VHDL语言基础··VHDL标准所规定的。CiASUMaddBCo图实体add位加法器外部接口在层次化系统设计中实体说明是整个系统的输入输出(IO)。在一个器件级的设计中实体说明是一个芯片的输入输出(IO)。实体说明在VHDL程序设计中描述一个元件或一个模块与设计系统的其余部分(其余元件、模块)之间的连接关系可以看作一个电路图的符号。因为在一张电路图中某个元件在图中与其他元件的连接关系是明显直观的如图所示。类型说明(可选)类型说明是实体说明中的可选项放在端口说明之前其一般书写格式为:GENERICCONSTANT名字表:IN子类型标识:=静态表达式,…举例:GENERIC(m:TIME:=ns)这个参数说明是指在VHDL程序中构造体内的参数m的值为ns。类型说明和端口说明是实体说明的组成部分用于说明设计实体和外部通信的通道。利用外部通信通道参数的类型说明为设计实体提供信息。参数的类型用来规定端口的大小、IO引脚的指派、实体中子元件的数目和实体的定时特性等信息。端口说明端口说明是对设计实体与外部接口的描述是设计实体和外部环境动态通信的通道其功能对应于电路图符号的一个引脚。实体说明中的每一个IO信号被称为一个端口一个端口就是一个数据对象。端口可以被赋值也可以当作变量用在逻辑表达式中。定义实体的一组端口称作端口说明(portdeclaration)。端口说明的组织结构必须有一个名称、一个通信模式和一个数据类型。端口说明的一般格式为:Port(端口名端口名:模式数据类型名…VHDL程序设计教程··端口名,端口名:模式数据类型名)....端口名端口名端口名端口名端口名是赋于每个外部引脚的名称名称的含义要明确如D开头的端口名表示数据A开头的端口名表示地址等。端口名通常用几个英文字母或一个英文字母加数字表示。下面是合法的端口名:CLKRESETAD....模式模式模式模式模式用来说明数据、信号通过该端口的传输方向。端口模式有in、out、buffer、inout。()输入(in)输入仅允许数据流入端口。输入信号的驱动源由外部向该设计实体内进行。输入模式主要用于时钟输入、控制输入(如Load、Reset、Enable、CLK)和单向的数据输入如地址信号(address)。不用的输入一般接地以免浮动引入干扰噪声。()输出(out)输出仅允许数据流从实体内部输出。端口的驱动源是由被设计的实体内部进行的。输出模式不能用于被设计实体的内部反馈因为输出端口在实体内不能看作可读的。输出模式常用于计数输出、单向数据输出、设计实体产生的控制其他实体的信号等。一般而言不用的输出端口不能接地避免造成输出高电平时烧毁被设计实体。()缓冲(buffer)缓冲模式的端口与输出模式的端口类似只是缓冲模式允许内部引用该端口的信号。缓冲端口既能用于输出也能用于反馈。缓冲端口的驱动源可以是:�设计实体的内部信号源�其他实体的缓冲端口。缓冲不允许多重驱动不与其他实体的双向端口和输出端口相连。内部反馈的实现方法有:�建立缓冲模式端口�建立设计实体的内部节点。缓冲模式用于在实体内部建立一个可读的输出端口例如计数器输出计数器的现态被用来决定计数器的次态。实体既需要输出又需要反馈这时设计端口模式应为缓冲模式。()双向模式(inout)双向模式可以代替输入模式、输出模式和缓冲模式。在设计实体的数据流中有些数据是双向的数据可以流入该设计实体也有数据从设计实体流出这时需要将端口模式设计为双向端口。双向模式的端口允许引入内部反馈所以双向模式端口还可以作为缓冲模式用。由上述分析可见双向端口是一个完备的端口模式。一般而言输入信号把端口指派成输入模式输出信号把端口指派成输出模式而双第章VHDL语言基础··向数据信号如计算机的PCI总线的地址数据复用总线、DMA控制器数据总线都选用端口双向模式。这一良好的设计习惯使得从端口名称、端口模式就可一目了然地知道信号的用途、性质、来源和去向十分方便。对一个大型设计任务大家应协同工作从而不至于引起歧义。....数据类型数据类型数据类型数据类型((((types))))数据类型端口说明除了定义端口标识名称、端口定义外还要标明出入端口的数据类型。VHDL语言的IEEE标准规定EDA综合工具支持的数据类型为布尔型(boolean)、位型(bit)、位矢量型(bitvector)和整数型(integer)。由IEEEstdlogic所约定的、由EDA工具支持和提供的数据类型为标准逻辑(standardlogic)类型。标准逻辑类型也分为布尔型、位型、位矢量型和整数型。为了使EDA工具的仿真、综合软件能够处理这些逻辑类型这些标准库必须在实体中声明或在USE语句中调用。实体说明部分在实体结构的一般格式中含有实体说明语句它是每一设计实体接口的共同部分。由实体说明的一般书写格式知道含有实体说明部分的组织应放在端口说明下面说明部分定义的项目是实体接口中的公共信息。实体说明语句是并行语句如并行断言语句、并行过程调用语句和被动进程语句。这些语句必须是被动语句其中不包含信号赋值。含有实体说明部分的程序如例所示。【例】含有实体说明部分的实体LIBRARYieeeUSEieeestdlogicallUSEworkmy-pkgall设mypkg包含work类型说明EntityLatchISPort(dxIN:word设mypkg对该设计实体可见端口说明部分dyOUT:wordLoad,clk:INbit)CONSTANTsetup:time:=ns参数类型部分Useworktimingpkgall设mypkg包括chicktiming过程BEGIN实体语句部分Checktiming(setup,dxin,load,clk)ENDLatchVHDL程序的结构体结构体具体指明了该设计实体的行为定义了该设计实体的功能规定了该设计实体VHDL程序设计教程··的数据流程指派了实体中内部元件的连接关系。用VHDL语言描述结构体有种方法:()行为描述法:采用进程语句顺序描述被称设计实体的行为。()数据流描述法:采用进程语句顺序描述数据流在控制流作用下被加工、处理、存储的全过程。()结构描述法:采用并行处理语句描述设计实体内的结构组织和元件互连关系。()采用多个进程(process)、多个模块(blocks)、多个子程序(subprograms)的子结构方式。结构体的一般书写格式为:ARCHITECTURE结构体名OF实体名IS定义语句,内部信号,常数,数据类型,函数定义BEGIN并行处理语句进程语句…END结构体名一个结构体的组织结构从“ARCHITECTURE结构体名OF实体名IS”开始到“END结构体名”结束。结构体命名结构体名称由设计者自由命名是结构体的惟一名称。OF后面的实体名称表明该结构体属于哪个设计实体有些设计实体中可能含有多个结构体。这些结构体的命名可以从不同侧面反映结构体的特色让人一目了然。例如:ARCHITECTUREbehacvioralOFmuxIS用结构体行为命名ARCHITECTUREdataflowOFmuxIS用结构体的数据流命名ARCHITECTUREstructuralOFmuxIS用结构体的组织结构命名ARCHITECTUREboolOFmuxIS用结构体的数学表达方式命名ARCHITECTURElatchOFmuxIS用结构体的功能来定义上述几个结构体都属于设计实体mux每个结构体有着不同的名称使得阅读VHDL程序的人能直接从结构体的描述方式了解功能定义电路行为。因为用VHDL写的文档不仅是EDA工具编译的源程序而且最初主要是项目开发文档供开发商、项目承包人阅读的。这就是硬件描述语言与一般软件语言不同的地方之一。信号定义由结构体的一般书写格式知道结构体名称后面是信号定义位于关键字ARCHITECTURE和BEGIN之间用于对结构内部使用的信号、常数、数据类型、函数进行定义。特别需要注意的是这是结构体内部而不是实体内部因为实体中可能有几个第章VHDL语言基础··结构体。另外实体说明中定义IO信号为外部信号而结构体定义的信号为内部信号。这两点区别一定要弄清楚。结构体的信号定义和实体的端口说明一样应有信号名称和数据类型定义但不需要定义信号模式不用说明信号方向因为是结构体内部连接用信号如例所示。【例】结构体的信号定义方法ARCHITECTUREstructuralOFmuxISSIGNALab::::bit信号不必注明模式IN、OUTSIGNALx::::stdlogicvector(to)…BEGIN…ENDstructural并行处理语句是结构体描述的主要语句。并行处理语句表明若一个结构体的描述用的是结构描述方式则并行语句表达了结构体的内部元件之间的互连关系。这些语句是并行的各个语句之间没有顺序关系。若一个结构体是用进程语句来描述的并且这个结构体含有多个进程则各进程之间是并行的。但必须声明每个进程内部的语句是有顺序的不是并行的。若一个结构体用模块化结构描述则各模块间是并行的而模块内部视描述方式而定。并行处理语句如例所示。【例】用并行语句描述的结构体LIBRARYieeeUSEieeestdlogicallENTITYmuxISPORT(dod:INBitSel:INBitG:OUTBit)ENDMUXARCHITECTUREdataflowOFmuxISBEGINg=(DANDsel)OR(NOTselANDD)ENDdataflow该程序的等效逻辑电路图如图所示。mux实体的真值表如表所示。SELDGDmux图mux实体的等效逻辑电路图VHDL程序设计教程··表mux实体的真值表SELDDGxxDxxD结构体的行为描述法所谓结构体的行为描述(behavioraldescriptions)即对设计实体按算法的路径来描述。行为描述在EDA工程中称为高层次描述或高级描述原因有以下两点:()实体的行为描述是一种抽象描述而不是某一个器件对电子设计而言是高层次的概括是整体设计功能的定义所以称为高层次描述。()从计算机领域而言行为描述和高级编程语言类似所以计算机业内人士通常称之为高级描述。当用顺序执行结构体的行为描述时设计工程师可为实体定义一组状态时序机制不需要互连表无须关注实体的电路组织和门级实现这些完全由EDA工具综合生成设计工程师只需注意正确的实体行为、准确的函数模型和精确的输出结果。例为比较器的行为描述。【例】结构体的行为描述LIBRARYIEEEUSEIEEEstdlogicALLENTITYcomparatorISPORT(a,b:INstdlogicvector(downto)g:outstdlogic)ENDcomparatorARCHITECTUREbehavioralOFcomparatorBEGINComp:PROCESS(a,b)BEGINIFa=bTHENG<=''ELSEG<=''ENDIFENDprocesscompENDbehavioral实体的结构体采用一个简单的算法描述了实体行为定义了实体的功能。输入位数a和b若a=b则实体输出G=若a≠b则实体输出G=。输出取决于输入条件。进程标志comp是进程顺序执行的开始ENDprocesscomp是进程的结束。第章VHDL语言基础··保留字process(ab)中a、b为敏感表即a、b每变化一次就有一个比较结果输出。实体输出是动态的G值时刻代表着a、b的比较结果。结构体的数据流描述法数据流描述(dataflowdescription)是结构体描述方法之一它描述了数据流程的运动路径、运动方向和运动结果。例如同样是一个位比较器采用数据流法编程则如例所示。【例】用数据流描述法设计位比较器LIBRARYIEEEUSEIEEEstdlogicALLENTITYcomparatorISPORT(a,b:INstdlogicvector(downto)g:outstdlogic)ENDcomparatorARCHITECTUREdataflowOFcompISBEGING<=""when(a=b)else""ENDdataflow上述程序设计的数据流程为:当a=b时G=其余时间G=。注意数据流描述的句法与行为描述的句法是不一样的。calewhen:条件信号赋值语句。withselectwhen:选择信号赋值语句。这两种语句是数据流描述法常用的语法同样采用布尔方程也可用数据流描述法如例所示。【例】用布尔方程的数据流描述法设计的位比较器LIBRARYIEEEUSEIEEEstdlogicALLENTITYcomparatorISPORT(a,b:INstdlogicvector(downto)g:outstdlogic)ENDcomparatorARCHITECTUREboolOFcomparatorISBEGINg<=not(a()xorb())andnot(a()xorb())andnot(a()xorb())andnot(a()xorb())andnot(a()xorb())VHDL程序设计教程··andnot(a()xorb())andnot(a()xorb())andnot(a()xorb())ENDbool布尔方程的数据流描述法描述了信号的数据流的路径。这种描述法比例的结构体复杂因为例的结构体描述与端口结构无关。只要a=bG就输出与a、b的大小无关。而例是一个位比较器布尔方程定义的端口尺寸为位。数据流描述法采用并发信号赋值语句而不是进程顺序语句。一个结构体可以有多重信号赋值语句且语句可以并发执行。结构体的结构化描述法图是一个位比较器的逻辑电路图其对应的结构化描述(structuraldescription)程序如例所示。AX()BAX()B...GandAB……BX()图位比较器的逻辑电路图【例】位比较器的结构化描述法LIBRARYIEEEUSEIEEEstdlogicALLENTITYcomparatorISPORT(a,b:instdlogicvector(downto)g:outstdlogic)ENDcomparatorUSEworkgatespkgALL第章VHDL语言基础··ARCHITECTUREstructuralOFcomparatorISsignalx:stdlogic(TO)BEGINu:xnorPORTMAP(a(),b(),x())u:xnorPORTMAP(a(),b(),x())u:xnorPORTMAP(a(),b(),x())u:xnorPORTMAP(a(),b(),x())u:xnorPORTMAP(a(),b(),x())u:xnorPORTMAP(a(),b(),x())u:xnorPORTMAP(a(),b(),x())u:xnorPORTMAP(a(),b(),x())u:xnorPORTMAP(x(),x(),x(),x(),x(),x(),x(),x(),x(),g)ENDstructural在结构体中设计任务的程序包内定义了一个输入与门(and)和一个二异或非门(xnor)。把该程序包编译到库中可通过USE从句来调用这些元件并从work库中的gatespkg程序包里获取标准化元件。结构化描述通常用于层次式设计。在位比较器的实体设计中实体说明仅说明了该实体的IO关系而设计中采用的标准元件输入与门and和二输入异或非门xnor是标准元件。它的输入关系也就是and与xnor的实体说明是用USE从句的方式从库中调用的。对于一个复杂的电子系统可以分解成许多子系统子系统再分解成模块。多层次设计可以使设计多人协作并行同时进行。多层次设计的每个层次都可以作为一个元件再构成一个模块或构成一个系统每个元件可以分别仿真然后再整体调试。结构化描述不仅是一个设计方法而且是一种设计思想是大型电子系统设计高层主管人员必须掌握的。除了一个常规的门电路其标准化后作为一个元件放在库中调用用户自己定义的特殊功能的元件也可以放在库中以方便调用。这个过程称为标准化有的资料中称为例化。尤其需要声明的是元件标准化不仅仅是常规门电路这和标准化元件的含义不一样。即任何一个用户设计的实体无论功能多么复杂复杂到一个数字系统如一个CPU还是多么简单简单到一个门电路如一个倒相器都可以标准化成一个元件。现在在EDA工程中工程师们把复杂的模块程序称为软核(softcore或IPcore)调试仿真通过的集成电路版图称为硬核而把简单的通用模块称为元件。小结本章介绍了VHDL语言产生的背景、VHDL语言的种类、VHDL语言的开发环境、VHDL语言标准的制订过程以及VHDL语言在EDA工程中的地位和作用。VHDL程序设计教程··VHDL程序由实体和结构体组成。实体说明含有类型说明和端口说明它在VHDL程序设计中描述一个元件或一个模块与设计系统的其余部分(其余元件、模块)之间的连接关系。结构体描述有种方法:行为描述法、数据流描述法和结构化描述法。结构体的行为描述即指对设计实体的描述按算法的路径来描述。行为描述在EDA工程中称为高层次描述或高级描述。数据流描述是结构体描述方法之一它描述了数据流的运动路径、运动方向及运动结果。结构化描述法适用于层次化设计对于一个复杂的电子系统可以分解成许多子系统子系统再分解成模块。多层次设计可以使设计多人协作并行同时进行。多层次设计的每个层次都可以作为一个元件再构成一个模块或构成一个系统。每个元件可以分别仿真然后再整体调试。结构化描述不仅是一个设计方法而且是一种设计思想。习题.什么是VHDL?简述VHDL的发展史。.简述VHDL设计实体的结构。.用结构体的种描述法设计一个位计数器。

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/16

VHDL语言基础

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利