VHDL描述逻辑门电路.ppt
《VHDL描述逻辑门电路.ppt》由会员分享,可在线阅读,更多相关《VHDL描述逻辑门电路.ppt(31页珍藏版)》请在装配图网上搜索。
,VHDL描述逻辑门电路,(一)库和程序包,库和程序包用来描述和保留元件、类型说明函数、子程序等,以便在其它设计中可以随时引用这些信息,提高设计效率。,库(LIBRARY)库是经编译后的数据的集合,它存放包集合定义、实体定义、结构定义和配置定义,(一)库和程序包,USE语句指明库中的程序包。一旦说明了库和程序包,整个设计实体都可以进入访问或调用,但其作用范围仅限于所说明的设计实体。USE语句的使用将使所说明的程序包对本设计实体部分或全部开放。,库语句的格式为:LIBRARY库名;,(一)库和程序包,USE语句有以下两种常用的格式:USE库名.程序包名.项目名;USE库名.程序包名.ALL;第一种语句格式的作用是向本设计实体开放指定库中的特定程序包内的所选定的项目。第二种语句格式的作用是向本设计实体开放指定库中的特定程序包内的所有内容。,(二)库和程序包,例如:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_1164.STD_ULOGIC;此例中,第一个USE语句表明打开IEEE库中的STD_LOGIC_1164程序包,并使程序包中的所有公共资源对本语句后面的VHDL设计实体程序全部开放,关键词ALL代表程序包中的所有资源。第二个USE语句开放了程序包STD_LOGIC_1164中的STD_ULOGIC数据类型。STD_ULOGIC:可枚举数据类型,(一)库和程序包,VHDL中的库大致可归纳为5种:,IEEE库。常用的资源库。IEEE库包含经过IEEE正式认可的STD_LOGIC_1164包集合和某些公司提供的一些包集合,如STD_LOGIC_ARITH(算术运算库)、STD_LOGIC_UNSIGNED等。STD库。VHDL的标准库。库中存放有称为“standard”的标准包集合,其中定义了多种常用的数据类型,均不加说明可直接引用。STD库中还包含有称为“textio”的包集合。在使用“textio”包集合中的数据时,应先说明库和包集合名,然后才可使用该包集合中的数据。ASIC矢量库。在VHDL语言中,为了进行门级仿真,各公司可提供面向ASIC的逻辑门库。在该库中存放着与逻辑门一一对应的实体。为了使用面向ASIC的库,对库进行说明是必要的。,(一)库和程序包,WORK库。WORK库是现行作业库。设计者所描述的VHDL语句不需要任何说明,将都存放在WORK库中。WORK库对所有设计都是隐含可见的,因此在使用该库时无需进行任何说明。用户定义库。用户定义库简称用户库,是由用户自己创建并定义的库。设计者可以把自己经常使用的非标准(一般是自己开发的)包集合和实体等汇集成在一起定义成一个库,作为对VHDL标准库的补充。用户定义库在使用时同样要首先进行说明。上述5类库中,除了STD库和WORK库之外的其它库均为资源库。资源库是存放常规元件和标准模块的库,使用时需预先说明。,(二)库和程序包,LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;,(二)VHDL的实体(Entity),ENTITYISPORT(端口名:端口类别信号类型;端口名:端口类别信号类型);END;,注意:实体应以语句“ENTITY实体名IS”开始,语句“ENDENTITY实体名;”结束。,实体名:对实体的命名,要求实体名必须与存盘文件名相同。,(二)VHDL的实体(Entity),ENTITYadderISPORT(a,b,cin:INBIT;s,co:OUTBIT);ENDadder;,(二)VHDL的实体(Entity),端口说明描述端口的名称、模式和数据类型。端口:实体的每一个输入、输出信号称为端口,对应于硬件电路图或芯片的一个引脚。,端口说明,端口名称:对端口的命名,是端口的标识符。端口模式:说明端口信号的流动方向。,ENTITYISPORT(端口名:端口类别信号类型;端口名:端口类别信号类型);END;,其中端口名是设计者为实体的每一个对外通道所取的名字,通常为英文字母加数字,名字的定义有一定的惯例,如Clk表示时钟,D开头的端口名表示数据,A开头的端口名表示地址。ClkDataAddress,端口类别是指这些通道上的数据流动的方式,如输入或输出等。端口模式有以下几种类型:,端口的五种模式,输入模式(IN)输出模式(OUT)双向模式(INOUT)缓冲模式(BUFFER),端口的五种模式,1输入(IN)允许信号进入实体,主要用于时钟输入、控制输入(如load、reset、enable、clk)和单向的数据输入(如地址数据信号address)等。,端口的五种模式,2输出(OUT)输出模式只允许信号离开实体,常用于计数输出、单向数据输出、被设计实体产生的控制其他实体的信号等。注意:输出模式不能用于被设计实体的内部反馈,因为输出端口在实体内不能看做是可读的。,端口的五种模式,3双向模式(INOUT)双向模式允许信号双向传输(既可以进入实体,也可以离开实体),双向模式端口允许引入内部反馈。,端口的五种模式,4缓冲(BUFFER)缓冲模式允许信号输出到实体外部,但同时也可以在实体内部引用该端口的信号。缓冲端口既能用于输出也能用于反馈。缓冲模式用于在实体内部建立一个可读的输出端口,例如计数器输出、计数器的现态用来决定计数器的次态。,端口的五种模式,端口模式可用下图说明,图中方框代表一个设计实体或模块。,Out与Buffer的区别,OUT,BUFFER,缓冲(Buffer)与Output类似,但允许该管脚名作为一些逻辑的输入信号,(三)结构体,结构体描述了基本设计单元(实体)的结构、行为、元件及内部连接关系,也就是说它定义了设计实体的功能,规定了设计实体的数据流程,制定了实体内部元件的连接关系。,结构体对其基本设计单元的输入和输出关系可用以下三种方式进行描述,即行为描述(基本设计单元的数学模型描述)、寄存器传输描述(数据流描述)和结构描述(逻辑元件连接描述)。,(三)结构体,结构体是对实体功能的具体描述,因此它一定要跟在实体的后面。,结构体格式:ARCHITECTUREOFIS结构体说明部分;BEGIN;END结构体名;,(三)结构体,ENTITYnand2ISPORT(a,b:INBIT;p:OUTBIT);ENDnand2;ARCHITECTUREbehaveOFnand2ISBEGINp=anandb;ENDbehave;,(三)结构体,ENTITYnor2ISPORT(a,b:INBIT;p:OUTBIT);ENDnand2;ARCHITECTUREbehaveOFnor2ISBEGINpyyyyy=X;ENDCASE;ENDPROCESS;ENDdataflow;,aby000011101110,例:采用行为描述方式设计的异或门(依据逻辑表达式)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYxor2_v1ISPORT(a,b:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDxor2_v1;ARCHITECTUREbehaveOFxor2_v1ISBEGINy=aXORb;ENDbehave;,例:采用数据流描述方式设计的异或门(依据真值表)LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYxor2_v2ISPORT(a,b:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDxor2_v2;ARCHITECTUREdataflowOFxor2_v2ISBEGINPROCESS(a,b)VARIABLEcomb:STD_LOGIC_VECTOR(1DOWNTO0);BEGINcomb:=a,三态门,三态门真值表,lVHDL语言描述:libraryieee;useieee.std_logic_1164.all;entitytri_gateisport(din,en:instd_logic;dout:outstd_logic);endtri_gate;architecturebehaveoftri_gateisbeginprocess(din,en)begin,if(en=1)thendout=din;elsedout=Z;endif;endprocess;endbehave;,- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL 描述 逻辑 门电路
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文