




免费预览已结束,剩余103页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,第三章硬件描述语言(VHDL),3.1概述,3.3VHDL语言要素,3.2VHDL程序基本结构,3.4VHDL顺序语句(Sequential),3.5VHDL并发语句(Concurrent),3.6子程序(SUBPROGRAM),3.7库、程序包及其它,3.8VHDL描述风格,3.9基本逻辑电路设计,VHDL:VHSIC(VeryHighSpeedIntegratedCircuit)HardwareDescriptionLanguage,3.1概述,一、什么是VHDL?,二、VHDL的历史,80年代初由美国国防部在实施超高速集成电路(VHSIC)项目时开发的,完成于1983年。美军的电子设备采购都来自于私人企业,国防部经常要面对这样的风险:如果某种设备已大量装备部队,而其中某个零件的供应商却倒闭了,那该设备的再生产、维修和保养都会出问题。电子设备尤其是集成电路的内部结构较为复杂,通常难以找到替代品。美国国防部希望供应商能以某种形式留下产品的相关信息,以保证一旦其破产后其他厂商能迅速生产出替代品。同时考虑到知识产权问题,美国国防部要求供应商利用VHDL语言把自己生产的集成电路芯片的行为描述出来,例如加载什么激励后会有什么输出等。这样,其他厂商只要按照VHDL文档,设计出行为相同的芯片即可。,1987年由IEEE(InstituteofElectricalandElectronicsEngineers,国际电气电子工程师协会)批准为IEEE工业标准,称为IEEE1076-1987。各EDA公司相继推出支持VHDL标准的设计环境。1993年被更新为93标准,即IEEE1076-1993。进一步提高抽象描述层次,扩展系统描述能力。2001年完成VHDL-2001标准的制定。,VHDL标准,1、VHDL打破软、硬件的界限传统的数字系统设计分为:硬件设计(硬件设计人员)软件设计(软件设计人员)VHDL是电子系统设计者和EDA工具之间的界面。EDA工具及HDL的流行,使电子系统向集成化、大规模和高速度等方向发展。美国硅谷约有80%的ASIC和FPGA/CPLD已采用HDL进行设计。,三、VHDL的作用,2、VHDL与C、C+的比较:C、C+代替汇编等语言VHDL代替原理图、逻辑状态图等3、VHDL与电原理图描述的比较:VHDL具有较强的抽象描述能力,可进行系统行为级别的描述。描述简洁,效率高。VHDL描述与实现工艺无关。电原理图描述需给出完整、具体的电路结构图,不能进行抽象描述。描述繁杂,效率低。电原理图描述与实现工艺有关。,一个可置数的16位计数器的电原理图:,用VHDL描述的可置数16位计数器:,实体:端口说明,库,构造体:功能实现,1、VHDL具有强大的语言结构,系统硬件描述能力强、设计效率高;具有较高的抽象描述能力。2、VHDL语言可读性强,易于修改和发现错误。3、VHDL具有丰富的仿真语句和库函数,可对VHDL源代码进行早期功能仿真,有利于大系统的设计与验证。4、VHDL设计与硬件电路关系不大。5、VHDL设计不依赖于器件,与工艺无关。6、移植性好。7、VHDL体系符合TOP-DOWN和CE(并行工程)设计思想。8、VHDL设计效率高,产品上市时间快,成本低。9、易于ASIC实现。,四、VHDL语言特点,五、VHDL与其它硬件描述语言的比较,VHDL:具有较强的系统级抽象描述能力,适合行为级和RTL级的描述。设计者可不必了解电路细节,所作工作较少,效率高。但对综合器的要求高,不易控制底层电路的生成。IEEE标准,支持广泛。,行为级,RTL级,门电路级,RTL:RegisterTranslateLevel,ifsel=1thenoutc=a;elseoutc=b;endif;.,outc=(selanda)or(notselandb);,VerilogHDL:系统级抽象描述能力比VHDL稍差;门级开关电路描述方面比VHDL强。适合RTL级和门电路级的描述。设计者需要了解电路细节,所作工作较多。IEEE标准,支持广泛。,ABEL、PALASM、AHDL(AlteraHDL):系统级抽象描述能力差,一般作门级电路描述。要求设计者对电路细节有详细的了解。对综合器的性能要求低,易于控制电路资源。支持少。,VHDL主要用于描述数字系统的结构、行为、功能和接口。VHDL将一个设计(元件、电路、系统)分为:外部(可视部分:端口)内部(不可视部分:内部功能、算法),六、VHDL设计简述,外部与内部:,器件或子系统,ARCHITECTUREProcessProcess,ENTITY,SequentialProcess,CombinationalProcess,ports,ports,component,ports,ports,2选1选择器(复用器)的VHDL描述:,VHDL语言由保留关键字组成;一般,VHDL语言对字母大小写不敏感;例外:、“”所括的字符、字符串;每条VHDL语句由一个分号(;)结束;VHDL语言对空格不敏感,增加可读性;在“-”之后的是VHDL的注释语句;VHDL有以下描述风格:行为描述;数据流(寄存器传输RTL)描述;结构化描述;,七、VHDL语言的一些基本特点:,基本结构包括:实体(Entity)结构体(Architecture)配置(Configuration)库(Library)、程序包(Package),3.2VHDL程序基本结构,库、程序包,实体(Entity),结构体(Architecture),进程或其它并行结构,配置(Configuration),一、实体(说明)实体(说明):定义系统的输入输出端口语法:,ENTITY实体名ISGeneric(类属表);Port(端口表);END实体名;(1076-1987version)ENDENTITY实体名;(1076-1993version),1、类属说明(generic)类属说明:确定实体或组件中定义的局部常数。模块化设计时多用于不同层次模块之间信息的传递。可从外部改变内部电路结构和规模。类属说明必须放在端口说明之前。,Generic(常数名称:类型:=缺省值常数名称:类型:=缺省值);,generic(risewidth,fallwidth:time:=1ns;width:integer:=16);,类属常用于定义:实体端口的大小、设计实体的物理特性、总线宽度、元件例化的数量等。,例:entitymckisgeneric(width:integer:=16);port(add_bus:outstd_logic_vector(width-1downto0);endentitymck,注:数据类型time用于仿真模块的设计。综合器仅支持数据类型为整数的类属值。,例:2输入与门的实体描述entityand2isgeneric(risewidth:time:=1ns;fallwidth:time:=1ns);port(a1:instd_logic;a0:instd_logic;z0:outstd_loigc);endentityand2;,端口模式:in:输入型,此端口为只读型,即元件只读该信号的值。out:输出型,元件只把值写入该信号。inout:输入输出型,既可读也可赋值。buffer:缓冲型,与out相似,但可读。,Port(端口名称,端口名称:端口模式数据类型;端口名称,端口名称:端口模式数据类型);,2、端口声明,端口声明:确定输入、输出端口的数目和类型。,port(a1,a2:instd_logic;a0:bufferstd_logic;z0:outstd_logic;b:inoutstd_logic);,begina1=z0;a0=a1anda2;,out和buffer的区别:,buffer不是双向信号,只能是本元件中的信号,inout和buffer的区别:,指端口上流动的数据的表达格式。为预先定义好的数据类型。如:bit、bit_vector、integer、std_logic、std_logic_vector等。,3、数据类型:,entitynand2isport(a,b:inbit;z:outbit);endentitynand2;,entitym81isport(a:inbit_vector(7downto0);sel:inbit_vector(2downto0);b:outbit);endentitym81;,作用:定义系统(或模块)的行为、元件及内部的连接关系,即描述其逻辑功能。两个组成部分:对数据类型、常数、信号、子程序、元件等元素的说明部分。以各种不同的描述风格描述的系统的逻辑功能的实现部分。常用的描述风格有:行为描述、数据流描述、结构化描述。,二、结构体(architecture),一系列并行执行语句构成,顺序语句模块process,将处理的结果向定义的信号或端口进行赋值,调用一个已设计好的子程序,对其它设计实体作元件调用,并进行端口连接,注:定义语句中的常数、信号不能与实体中的端口同名。,architecture结构体名称of实体名称is说明语句;内部信号、常数、数据类型、子程序(函数、过程)、元件等的说明;begin功能描述语句;(并行方式工作)endarchitecture结构体名称;,结构体的语法:,例:结构体中错误的信号声明,例:一个完整描述(3bit计数器),3bit计数器的等效描述(out与buffer的区别):,实体与结构体的关系:,一个设计实体可有多个结构体,代表实体的多种实现方式。各个结构体的地位相同。,注:同一实体的结构体不能同名。,三、配置configuration,设计实体,结构体1,结构体2,结构体3,结构体n,。,一个设计实体的多种实现方式,配置:从某个实体的多种结构体描述方式中选择特定的一个。,configuration配置名of实体名isfor选配结构体名endfor;end配置名;,简单配置的语法:,libraryieee;useieee.std_logic_1164.all;entitynandisport(a:instd_logic;b:instd_logic;c:outstd_logic);endentitynand;architectureart1ofnandisbeginc=not(aandb);endarchitectureart1;architectureart2ofnandisbeginc=1when(a=0)and(b=0)else1when(a=0)and(b=1)else1when(a=1)and(b=0)else0when(a=1)and(b=1)else0;endarchitectureart2;,例:一个与非门不同实现方式的配置如下:,configurationfirstofnandisforart1;endfor;endfirst;-configurationsecondofnandis-forart2-endfor;-endsecond;,例:一个对计数器实现多种形式的配置如下:,程序包:已定义的常数、数据类型、元件调用说明、子程序的一个集合。目的:方便其他的VHDL实体或其他设计者对这些已经构建好的公共信息、资源的访问和共享。在设计大规模电路时,有些函数、数据类型和常量等常同时在几个元件中或几个数据中使用。例如,常量也许是系统的总线大小。函数也许是计算系统数据信息的检查和。如果课题管理要改变总线大小或者检查和的计算方法,最好只改变一处。这可以利用程序包来实现。如果每个设计者使用各项目共享的常量或函数,可以用use语句指定一个程序包,这样,一旦项目共享的程序包改变了,则所有设计都会更新。库:多个程序包构成库。,四、程序包、库,程序包说明的内容:常量说明;VHDL数据类型说明;元件说明;子程序说明;程序包的结构包括:程序包说明(包首)程序包主体(包体),包声明项可由以下语句组成:use语句(用来包括其它程序包);类型说明;子类型说明;常量说明;信号说明;子程序说明;元件说明。,package程序包名is包说明项end程序包名;,1、程序包说明(包首),语法:,例:程序包说明,usework.example.all;,包体说明项可含:use语句;子程序说明;子程序主体;类型说明;子类型说明;常量说明。,packagebody程序包名is包体说明项end程序包名;,2、程序包包体,程序包的内容:子程序的实现算法。包体语法:,程序包首与程序包体的关系:程序包体并非必须,只有在程序包中要说明子程序时,程序包体才是必须的。程序包首可以独立定义和使用。如下:,package程序包名is包说明项end程序包名;,packagebody程序包名is包体说明项end程序包名;,librarywork;usework.seven.all;entitydecoderisport(input:inbcd;drive:outsegments);enddecoder;architectureartofdecoderisbegin,packagesevenissubtypesegmentsisbit_vector(0to6);typebcdisrange0to9;endseven;,withinputselectdrive=B“1111110”when0,B“0110000”when1,B“1101101”when2,B“1111001”when3,B“0110011”when4,B“1011011”when5,B“1011111”when6,B“1110000”when7,B“1111111”when8,B“1111011”when9,B“0000000”whenothers;endarchitectureart;,a,b,c,d,e,f,g,3、库的种类VHDL库可分为5种:1)IEEE库定义了四个常用的程序包:std_logic_1164(std_logictypeslibrarystd;usestd.standard.all;,4、库及程序包的使用,库及程序包的说明总是放在实体单元前面;默认库及程序包可不作说明;用关健字library说明要使用的库,用关健字use说明要使用的库中的程序包;库及程序包的作用范围:仅限于所说明的设计实体;每一个设计实体都必须有自已完整的库及程序包说明语句。,库、程序包,实体(Entity),结构体(Architecture),进程或其它并行结构,配置(Configuration),库的使用语法:程序包的使用有两种常用格式:例:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.conv_integer;,library库名;,use库名程序包名项目名;use库名程序包名All;,2选1选择器,2选1的另一种描述,四类语言要素:数据对象(DataObject)数据类型(DataType)操作数(Operands)操作符(Operator),3.3VHDL语言要素,一、VHDL文字规则1、数字型文字1)整数文字:十进制整数如:5,678,156E2(=15600),45_234_287(=45234287)2)实数文字:带小数的十进制数如:23.34,2.0,44.99E-2(=0.4499)8_867_551.23_909(8867551.23909),3)以数制基数表示的文字格式:如:10#170#(=170)2#1111_1110#(=254)16#E#E1(=2#1110_0000#=224)或:(=14161=224)16#F.01#E+2(=(15+1/(1616)162=3841.00),基数#数字文字#E指数,4)物理量文字如:60s、100m、177mA注:整数可综合实现;实数一般不可综合实现;物理量不可综合实现;,2、字符串型文字按字符个数多少分为:字符:用单引号引起来的ASCII字符,可以是数值,也可以是符号或字母。如:A,*,Z字符串:用双引号引起来的一维字符数组,字符串分为:1)文字字符串:“文字”如:“ERROR”,“XXXXXXXX”,“ZZZZZZZZ”,“X”,“BOTHSANDQEQUALTOL”。,2)数位字符串:称为位矢量,代表二进制、八进制、十六进制的数组。其位矢量的长度为等值的二进制数的位数。格式:,基数符号“数值”,其中基数符号有三种:B:二进制基数符号。O:八进制基数符号,每一个八进制数代表一个3位的二进制数。X:十六进制基数符号,每一个十六进制数代表一个4位的二进制数。如:B“1_1101_1110”:二进制数数组,长度为9O“34”:八进制数数组,长度为6X“1AB”:十六进制数数组,长度为12,基本标识符的要求(87标准):由26个大小写英文字母、数字0-9及下划线“_”组成的字符串。以英文字母开头;不连续使用下划线“_”;不以下划线“_”结尾;,3、标识符定义常数、变量、信号、端口、子程序或参数的名字。,基本标识符中的英文字母不分大小写;VHDL的保留字不能作为标识符使用。,合法标识符,_Decoder_1、2FFT、Sig_#N、Not-Ack、ALL_RST_、data_BUS、return、entity,my_counter、Decoder_1、FFT、Sig_N、Not_Ack、State0、entity1,不合法标识符,扩展标识符(93标准):以反斜杠来界定,免去了87标准中基本标识符的一些限制。可以以数字打头,允许包含图形符号,允许使用VHDL保留字,区分字母大小写等。如:74LS163、Sig_#N、entity、ENTITY,4、下标名及下标段名下标名:用于指示数组型变量或信号的某一个元素格式:下标段名:用于指示数组型变量或信号的某一段元素格式:如:,标识符(表达式),标识符(表达式to/downto表达式),signalA,B,C:std_logic_vector(7downto0);SignalY:std_logic;Y=B(4);C(7downto4)=A(3downto0);C(3downto0)=A(7downto4);,二、数据对象三种对象:常量(Constant)变量(Variable)信号(Signal)三种对象的物理含义:常量代表数字电路中的电源、地、恒定逻辑值等常数;变量代表暂存某些值的载体,常用于描述算法;信号代表物理设计中的某一条硬件连接线,包括输入、输出端口。,三种对象的特点及说明场合:信号:全局量,用于architecture、package、entity。变量:局部量,用于process、function、procedure。常量:全局量,可用于上面两种场合。,1、常量说明常量说明:对某一个常量名赋予一个固定的值。格式:例:constantdata:bit_vector(3downto0):=“1010”;constantwidth:integer:=8;常量数据类型必须与表达式的数据类型一致。,constant常数名:数据类型:=表达式;,常量的可视性(作用范围):,库、程序包,实体(Entity),结构体1,进程1,结构体2,进程2,常量是全局量,其作用范围取决于常量被定义的位置。,2、变量说明变量是一个局部量,只能在进程和子程序中定义、使用。其作用范围仅限于定义了变量的进程和子程序中。格式:例:variablea,b:bit;variablecount:integerrange0to255:=10;变量的初值可用于仿真,但综合时被忽略。,variable变量名:数据类型约束条件:=表达式;,3、信号说明电子硬件系统运行的基本特性:各部分电路工作的并行特性;信号传输过程中的延时特性;多驱动源的总线特性;时序电路中触发器的记忆特性等。信号是电子系统内部硬件连接和硬件特性的抽象表示。用来描述硬件系统的基本特性。格式:,signal信号名:数据类型约束条件:表达式;,例:signala,b:bit;signalinit:integer:=-1;signals1:std_logic:=0;signals2:std_logic_vector(15downto0);注:a.综合时初值被忽略。b.信号是全局量。可在结构体、实体、程序包中定义和使用信号。c.在进程和子程序中只能使用信号,不能定义信号。,例:进程中信号与变量的使用,entityexisport();endex;architecturearch_exofexissignala,b:std_logic;beginprocess(a,b)variablec,d:std_logic;beginc:=a+b;d:=a-b;endprocess;endarch_ex;,信号与端口的区别:除没有方向说明外,信号与实体的“端口(PORT)”概念相似。端口是一种隐形的信号。entityexamisport(signala,b:instd_logic;signalc:outstd_logic);endexam;端口是一种有方向的信号。即输出端口不能读出数据,只能写入数据;输入端口不能写入数据,只能读出数据。信号本身无方向,可读可写。,三、VHDL数据类型VHDL是一种强数据类型语言。要求设计实体中的每一个常数、信号、变量、函数以及设定的各种参量都必须具有确定的数据类型,并且相同数据类型的量才能互相传递和作用。VHDL数据类型分为四大类:标量类型(SCALARTYPE);复合类型(COMPOSITETYPE);存取类型(ACCESSTYPE);文件类型(FILESTYPE),又分为:预定义数据类型、用户自定义数据类型1、VHDL的预定义数据类型1)布尔量(boolean)布尔量具有两种状态:false和true常用于逻辑函数,如相等(=)、比较()等中作逻辑比较。,如:bit值转化成boolean值:boolean_var:=(bit_var=1);,2)位(bit)bit表示一位的信号值。取值只能是0或13)位矢量(bit_vector)是基于bit数据类型的数组,使用位矢量必须注明位宽。4)字符(character)用单引号将字符括起来。,Signala:bit_vector(7downto0);,a=“00110010”;,Signala:bit;,a=0;,variablecharacter_var:character;.character_var:=A;,A不等于a,5)整数(integer)integer表示所有正的和负的整数。硬件实现时,利用32位的位矢量来表示。可实现的整数范围为:-(231)to(231-1)VHDL综合器要求对具体的整数作出范围限定,否则无法综合成硬件电路,或造成资源浪费。信号s的取值范围是0-15,可用4位二进制数表示,因此s将被综合成由四条信号线构成的信号。,如:signals:integerrange0to15;,6)自然数(natural)和正整数(positive)natural是integer的子类型,表示非负整数。positive是integer的子类型,表示正整数。它们在standard程序包中定义的源代码如下:,Subtypenaturalisintegerrange0tointegerhigh;subtypepositiveisintegerrange1tointegerhigh;,7)实数(REAL)或称浮点数取值范围:-1.0E38to+1.0E38实数类型仅能用于VHDL仿真器,一般综合器不支持。8)字符串(string)string是character类型的一个非限定数组。用双引号将一串字符括起来。如:,variablestring_var:string(1to7);string_var:=“Rosebud”;,9)时间(TIME)由整数和物理单位组成如:55ms,20ns10)错误等级(SEVERITY_LEVEL)仿真中用来指示系统的工作状态,共有四种:NOTE(注意)、WARNING(警告)、ERROR(出错)、FAILURE(失败),2、用户自定义类型用户自定义类型是VHDL语言的一大特色。可由用户定义的数据类型有:枚举类型、整数和实数类型、数组类型、记录类型、子类型,实现用户自定义数据类型:类型定义语句TYPE子类型定义语句SUBTYPE(1)TYPE语句格式:例:,type数据类型名is数据类型定义of基本数据类型;,typebyteisarray(7downto0)ofbit;variableaddend:byte;typeweekis(sun,mon,tue,wed,thu,fri,sat);,1)枚举类型枚举该类型的所有可能的值。格式:,type类型名称is(枚举文字,枚举文字);,如:typecoloris(blue,green,yellow,red);typemy_logicis(0,1,U,Z);variablehue:color;signalsig:my_logic;hue:=blue;sig=Z;,枚举类型的编码:综合器自动实现枚举类型元素的编码,一般将第一个枚举量(最左边)编码为0,以后的依次加1。编码用位矢量表示,位矢量的长度将取所需表达的所有枚举元素的最小值。,如:typecoloris(blue,green,yellow,red);编码为:blue=“00”;green=“01”;yellow=“10”;red=“11”;,2)整数类型用户定义的整数类型是标准包中整数类型的子范围。格式:3)数组类型数组:同类型元素的集合。VHDL支持多维数组。多维数组的声明:限定数组、非限定数组、属性:,type类型名称isrange整数范围;,例:typemy_integerisrange0to9;,typebyteisarray(7downto0)ofbit;typevectorisarray(3downto0)ofbyte;,(a)限定数组:其索引范围有一定的限制。(b)非限定数组:数组索引范围被定义成一个类型范围。,type数组名isarray(数组范围)of数据类型;,type数组名isarray(类型名称range)of数据类型;,typebyteisarray(7downto0)ofbit;,typebit_vectorisarray(integerrange)ofbit;variablemy_vector:bit_vector(5downto-5);,(c)属性:VHDL为多种类型定义了属性。语法如下:对象属性VHDL为数组预先定义的属性:leftrighthighlowlengthrangereverse_range,对应变量:variablemy_vector:bit_vector(5downto-5);各属性如下:my_vectorleft5my_vectorright-5my_vectorhigh5my_vectorlow-5my_vectorlength11my_vectorrange(5downto-5)my_vectorreverse_range(-5to5),4)记录类型记录是不同类型的名称域的集合。格式如下:访问记录体元素的方式:记录体名.元素名,type记录类型名isrecord元素名:数据类型名;元素名:数据类型名;endrecord;,例:constantlen:integer:=8;subtypebyte_vecisbit_vector(len-1downto0);typebyte_and_ixisrecordbyte:byte_vec;ix:integerrange0tolen;endrecord;signalx,y,z:byte_and_ix;signaldata:byte_vec;signalnum:integer;.x.byte=“11110000”;x.ix=2;data=x.byte;num=x.ix;z=x;,(2)子类型定义语句格式:子类型是已定义的类型或子类型的一个子集。注:子类型与基(父)类型具有相同的操作符和子程序。可以直接进行赋值操作。,subtype子类型名is基本数据range约束范围;,bit_vector类型定义如下:typebit_vectorisarray(naturalrange)ofbit;,如设计中只用16bit;可定义子类型如下:subtypemy_vectorisbit_vector(0to15);,subtypedigitsisintegerrange0to9;,3、IEEE预定义标准逻辑位与矢量1)std_logic类型由ieee库中的std_logic_1164程序包定义,为九值逻辑系统,如下:(U,X,0,1,Z,W,L,H,-)U:未初始化的,X:强未知的,0:强0,1:强1,Z:高阻态,W:弱未知的,L:弱0,H:弱1,-:忽略,由std_logic类型代替bit类型可以完成电子系统的精确模拟,并可实现常见的三态总线电路。,2)std_logic_vector类型由std_logic构成的数组。定义如下:typestd_logic_vectorisarray(naturalrange)ofstd_logic;赋值的原则:相同位宽,相同数据类型。例:signaldata:std_logic_vector(0to7);,4、其它预定义标准数据类型,Synopsys公司程序包STD_LOGIC_ARITH中:1)无符号型(UNSIGNED)定义如下:typeunsignedisarray(naturalrange)ofstd_logic;UNSIGNED(“1000”)=8最左位是最高位:variablevar:unsigned(0to10);var(0)是最高位signalsig:unsigned(5downto0);sig(5)是最高位,2)有符号型(SIGNED)定义如下:typesignedisarray(naturalrange)ofstd_logic;最高位为符号位,综合器认作补码。SIGNED(“0101”)=5,SIGNED(“1011”)=-5variablevar:signed(0to10);var(0)是符号位3)小整型(SMALL_INT):0TO1subtypesmall_intisintegerrange0to1;,5、数据类型转换VHDL是一种强类型语言,不同类型的数据对象必须经过类型转换,才能相互操作。1)类型转换函数方式通过调用类型转换函数,使相互操作的数据对象的类型一致,从而完成相互操作。,libraryieee;useieee.std_logic_1164.all;librarydataio;usedataio.std_logic_ops.all;entitycnt4isport(clk:instd_logic;p:bufferstd_logic_vector(3downto0);endentitycnt4;architecturebehvofcnt4isbeginprocess(clk)beginifclkeventandclk=1thenp=to_vector(to_integer(p)+1,4);endif;endprocess;endarchitecturebehv;,2)直接类型转换方式对相互间非常关联的数据类型(如整型、浮点型),可进行直接类型转换。格式:数据类型标识符(表达式)如:varia
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025四川乐山市沐川县人力资源服务中心招募高校毕业生见习人员1人考试模拟试题及答案解析
- 虚拟团队文化传播-洞察及研究
- 2023年度团队绩效评估总结报告
- 2025福建新华发行(集团)有限责任公司南平地区会计岗位招聘笔试模拟试题及答案解析
- (2025年标准)房屋合同协议解除协议书
- 2025上海大学附属嘉定实验学校实习教师招聘笔试参考题库附答案解析
- 2025年宣城市总工会招聘社会化工会工作者13名笔试参考题库附答案解析
- (2025年标准)防疫物资委托协议书
- (2025年标准)饭店 股东投资协议书
- 2025年尾矿综合利用行业当前发展现状及增长策略研究报告
- 华为SDBE领先模型:闭环战略管理的全面解析-2024-12-组织管理
- 2024版中式烧烤加盟经营合作协议书3篇
- 生物安全管理手册
- GB/T 11263-2024热轧H型钢和剖分T型钢
- 《刺络放血疗法》课件
- DB11-T 1894-2021 10kV及以下配电网设施配置技术规范
- 沪教深圳版八年级英语下册单词表
- 变岗调薪协议书模板
- 环境监测与污染源在线监控考核试卷
- 青贮饲料创业项目计划书
- 螺杆空压机微电脑控制器MAM-KY16S(B)型(中文液晶显示-200)
评论
0/150
提交评论