您好,欢迎访问三七文档
硬件描述语言VHDL语义、语法和结构济南大学控制学院成谢锋VHDL的历史有数十种硬件描述语言(如VHDL,VerilogHDL,HardwireC,CSP,SDL,Esterel),目前应用较广的是VHDL和VerilogHDL两种硬件描述语言。1980美国制定VHSIC(VeryHighSpeedIntegratedCircuits)计划。1983IBM、TI和Intermetrics联合开发语言和仿真工具(VHDL)主要考虑自顶向下的设计和工艺进步引起的系统升级。1987美国国防部(DOD)要求所有数字电路用VHDL描述,并决定F-22战斗机项目采用VHDL,发布IEEE1076-1987。1993发布IEEE1076-1993。1996基于IEEE1076-1993的仿真和综合工具问世。IEEE1076.3使用综合工具的程序包标准。IEEE1076.4(VITAL):ASIC和FPGA建库。1997发布IEEE1076.1即同时能够描述数字和模拟集成电路的VHDL语言标准(VHDL-AMS)。EDA技术从某种意义上说:学习一种通过软件的方法来高效地完成硬件设计的计算机技术__------VHDL•文字说明的系统的功能——系统逻辑描述(算法)——图、VHDL语言(用一套计算机能处理的语言来描述设计结果和设计要求)。•——选PLD器件——开发系统下载(——SOC(系统级芯片)VHDL设计过程举例从设计、编程、仿真到下载电路题目:四人表决器•要求:四人(用A、B、C、D表示),A为权威人士,其一人意见示为两票,其余每人意见均为一票,当三票以上时结果为通过,否则为不通过。四人(用A、B、C、D表示),A为权威人士,其一人意见示为两票,其余每人意见均为一票,当三票以上时结果为通过,否则为不通过。ABCDYY=AB+AC+AD+BCDy=(aANDb)OR(aANDC)OR(aANDd)OR(bANDcANDd);y=(aANDb)OR(aANDC)OR(aANDd)OR(bANDcANDd);ARCHITECTUREaOFszqIS--结构说明BEGIN--功能描述ENDa;ENTITYszqis--实体说明PORT(--端口信号说明a:INStd_Logic;b:INStd_Logic;c:INStd_Logic;d:INStd_Logic;y:OUTStd_Logic);ENDszq;LIBRARYIEEE;--库说明USEIEEE.STD_LOGIC_1164.ALL;ABCDYENTITYent1IS}...BEGIN}...ENDENTITYent1;CONFIGURATIONcfg1OFent1IS}...ENDCONFIGURATIONcfg1;PACKAGEpkg1IS}...NEDPACKAGEpkg1PACKAGEBODYpkg1IS}...ENDPACKAGEBODYpkg1;ARCHITCTUREarch3OFent1IS}...ARCHITCTUREarch3OFent1IS}...ARCHITECTUREarch2OFent1IS}...ARCHITECTUREarch1OFent1IS}...BEGIN}...ENDARCHITECTUREarch1;公用设计数据初级设计单元次级设计单元VHDL的设计单元VHDL的设计单元初级设计单元实体(ENTITY)实体(ENTITY)是设计的基本模块和设计的初级单元,在分层次设计中,顶层有顶级实体,含在顶级实体中的较低层次的描述为低级实体。靠配置把顶层实体和底层实体连接起来。在电路图设计中实体即电路符号(Symbol),符号规定了电路的符号名、接口和数据类型。由连线(或信号)将符号互连建立设计所需的电路图,互连线生成的网表,在设计实现之前一直是设计验证的仿真模型,并在设计验证后,由网表向(PCB和ASIC)布线工具提供所需的连接信息和层信息下面是传统设计中用R-S触发器符号的例子(右边是符号图,左边是VHDL的设计描述):ENTITIES与符号对应RSFFSetQBQReset•实体语句用关键词ENTITY开头,实体名rsff是描述的符号名,在结束实体语句的ENDrsff;之间,实体语句可以用关键词BEGIN把实体语句分成两部分:即BEGIN之前是实体说明,BEGIN之后是实体语句。•在ENTITY语句的实体说明部分,常用PORT付语描述实体对外界连接的端口(数目、方向和数据类型),实体rsff有四个端口,IN模式是Set/Reset,输出Q/QB是BUFFER(缓冲)模式,都为BIT类型。•实体说明中还可说明数据类型、子程序和常量等数据信息,实体语句常用于描述设计经常用到的判断和检查信息。对rsff实体写一段VHDL描述,即:ENTITYrsffISPORT(set,reset:INBIT;q.qb:BUFFERBIT);ENDrsff;数据类型逻辑信号p94BIT类型0,1BooleanFALSE,TRUEStd_logicX,0,1,Z,W,L,H,_,p98数值信号Integer-2147483648to214783647POSITIVE0to2147483647NATURAL1to2147483647UNSIGNED(相似Stdlogic)Real-1。7E38to1.7E38次级设计单元结构体(architecture)1实体的结构体描述实体的行为功能,一个实体可以有多个结体,一种可能为行为描述,另一种可能为结构描述。rsff符号下的线路图描述rsff网表,与线路图对应VHDLArchitectures叫结构体。结构体相对实体而言并以行为、数据流和结构的多种方式描述实体。实体rsff结构化描述的结构体如下:ARCHITECTUREnetlistOFrsffISBEGINCOMPONENTnand2U1:nand2PORT(a,b:INBIT;PORTMAP(set,qb,q);c:OUTBIT);U2:nand2ENDCOMPONENT;PORTMAP(reset,q,qb);ENDnetlist;实体rsff的线路图如下:U1U2SetResetqqb关键字ARCHITECTURE做结构体的开头,结构体名netlist,描述rsff实体的结构体netlist。ARCHITECTURE和BEGIN之间是结构体说明区,BEGIN和END之间是结构体语句区。结构体说明区描述COMPONENT副句和局部信号,结构体语句中用的具体元件(上例是nand2)均应在结构体说明中说明接口,以便将描述的信息通知给编辑器。结构体语句区用并行语句(赋值语句和进程语句)以行为功能、数据流和结构方式描述设计。下面将介绍实体rsff和实体compare的三种结构体:次级设计单元结构体(architecture)2次级设计单元结构体(architecture)3实体rsff行为化描述的行为功能结构体如下:ARCHITECTUREbehaveOFrsffISBEGINq=NOT(qbANDset)AFTER2ns;qb=NOT(qANDreset)AFTER2ns;ENDbehave;实体rsff行为化描述的数据流结构体如下:ARCHITECTUREsequentialOFrsffISBEGINPROCESS(set,reset)BEGINIFset=‘1’ANDreset=‘0’THENELSIFset=‘0’ANDreset=‘0’q=‘0’AFTER2ns;q=‘1’AFTER2ns;qb=‘1’AFTER4ns;qb=‘1’AFTER2ns;ELSIFset=‘0’ANDreset=‘1’THENENDIF;q=‘1’AFTER4ns;ENDPROCESS;qb=‘0’AFTER2ns;ENDsequential;U1U2SetResetqqb例•书上86页VHDL运算符VHDL操作符操作左操作数右操作数结果类型VHDL操作符操作左操作数右操作数结果类型算术(乘)操作*/modrem乘法除法求模求余任意整数或浮点数相同类型任意整数或浮点数相同类型任意整数相同类型任意整数相同类型相同类型相同类型相同类型相同类型关系算符=/===相等不等小于小于等于大于大于等于任意类型任意类型任意类型任意类型任意的标任意的标量或离散量或离散数组类型数组类型布尔型布尔型布尔型布尔型布尔型布尔型单目(符号)+算符-正号负号任意数字任意数字类型类型任意数字任意数字类型类型相同类型相同类型其它**abs指数绝对值任意整数整数或浮点数任意数字任意数字类型类型同左操作数相同数字类型加算符+-&加法减法连接任意数字类型相同类型任意数字类型相同类型任意数组相同数组类型类型任意数组类型元素类型元素类型任意数组类型元素类型元素类型相同类型相同类型相同数组类型相同数组类型相同数组类型任意数组类型逻辑算符notandnandnorxorxnor逻辑NOT逻辑AND逻辑NAND逻辑NOR逻辑XOR逻辑XNOR比特型、布尔型或BIT_VETCTOR型同左操作数移位算符sllsrlsla逻辑左移逻辑右移算术左移比特型或布尔型整数一维数组同左操作数移位算符srarolror算术右移循环左移循环右移比特型或布尔型整数一维数组同左操作数主要参考文献1)“BehavioralSynthesis”DavidW.Knapp1996byPrenticeHallInc.2)“SynthesisandOptimizationofDigitalCircuits”GiovanniDeMicheli1994byMcgraw-Hill,Inc.3)“PerformanceandFaultModelingWithVHDL”LoelM.Schoen,editor1992byPrenticeHall.Inc.4)“VHDL”FirstEditionDouglasL.Perry1991byMcGrawHillCo.5)“VHDL”SecondEditionDouglasL.Perry1994byMcGrawHillCo.6)“AGuidetoVHDLSyntax”J.Bhasker1995byAT&TandPrenticeHallInc.7)“DigitalDesignwithVerilogHDL”EliezerSternheim,RajvirSinghYatinTrivedi1990byInterpretiveSystemPub.ByAutomataPubCompany8)“TheVerilogHardwareDescriptionLanguage”ThirdEditionDonaldE.Thomas&PhilipR.Moorby1996byKluwerAcademicPublishers.9)“HDLChipDesign”DouglasJ.Smith1996byDoonePublications,10)李德新,周祖成《高层次综合》电子技术应用第24卷1998.2p4-811)“中国集成电路大全[专用集成电路与集成系统设计自动化方法]”(1997年国防工业出版社出版,周祖成)12)“VHDL电子设计的硬件描述语言”(1995年学苑出版社出版,周祖成)。13)“数字系统设计自动化”(1996年清华大学出版社出版,薛宏熙、边计年、苏明)。14)“复杂数字电路与系统的VerilogHDL设计技术”(1998年北京航空航天大学出版社夏宇闻)
本文标题:VHDL
链接地址:https://www.777doc.com/doc-3396484 .html