VHDL程序基本结构.ppt_第1页
VHDL程序基本结构.ppt_第2页
VHDL程序基本结构.ppt_第3页
VHDL程序基本结构.ppt_第4页
VHDL程序基本结构.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,图2.4 VHDL编程基本结构,2.2 VHDL程序基本结构,相对完整的VHDL程序通常是实体、结构、配置、软件包、2、(1)库、软件包使用说明:此设计主体将使用的库、打开或调用软件包。软件包包含每个设计模块共享的数据类型、常量和子程序等。库是专门存储预编译包的地方。(2)实体:用于描述设计的系统的外部接口信号,是可视部分。(3)结构:描述系统内部的结构和行为,用于建立输入和输出之间的关系,是不可见的部分。(4)建构描述陈述式:通常用于阶层式例证化特定设计实体或为实体选取特定结构。3,“图元”(ENTITY)是设计对象的曲面设计单位,具有此设计对象与外部电路的接口。规定设计单元的I/o接口

2、信号或针脚,并封装设计实体后传送到外部的通信接口。1实体语句结构实体说明单元的典型语句结构如下:实体实体名称IS GENERIC(一般表格);端口(端口表);END ENTITY实体名称;2.2.1实体,4,实体说明单元以 ENTITY ENTITY name IS 语句开头,然后是 end ENTITY ENTITY name;必须从门开始,结束。实体名称是设计者直接指定给设计实体的名称,可以在作为其他设计实体调用该设计实体时使用。中间方括号中的语句说明在某些情况下不是必需的。例如,通过创建VHDL模拟测试基准,可以省略方括号中的门。5,2“类属”(GENERIC)说明语句“类属”(GENE

3、RIC)参数是端口接口常数,通常作为某种说明放置在实体或块结构前面的说明部分。来源提供所显示环境的静态资讯频道,来源的值可以来自设计实体之外。一般描述的一般写入格式如下:GENERIC(常量名称;资料类型:设定;常数名称:资料类型:设定;6,库IEEEUSE IEEE。STD_LOGIC_1164。ALLentity and 2 is generic(risew:time :=1ns;fallw:time :=1ns);port(a1:in STD _ logic;A0:in STD _ logic;z0:out STD _ logic);end entity and 2;示例2.2 2输入和

4、语句的图元说明,一般说明中定义的参数RISEW为上宽度,FALLW为下宽度,每个为1 ns,这两个参数用于模拟模块设计。7、物理端口说明的典型写入格式如下:PORT(端口名称:端口模式数据类型;端口名:端口模式数据类型);端口名是设计者为实体的每个外部通道(系统插针)选择的名称,通常由几个字母字符组成。端口模式(端口方向)是指数据在这些通道中的流动方式。也就是说,定义接脚是输入还是输出。数据类型表示从端口流出的数据的表示形式。3端口说明,8,图2.5端口模式符号图,IEEE 1076标准包中定义的4种常见端口模式,每个端口模式的功能和符号见表2.1和图2.5。表2.1端口模式说明,9,PORT

5、(n0,n1,select:IN BIT;问:outbitbus:outbit _ vector(7 down to 0);示例2.3端口模式和数据类型定义,说明:n0,n1,select是输入插针,属于位类型。q是输出针脚,位类型。Bus是属于BIT_VECTOR的一组8位二进制总线。10,库IEEEuseieee . STD _ logic . 1164 . all;ENTITY mm IS PORT(n0,n1,select:in STD _ logic;问:outstd _ logicbus:out STD _ logic _ vector(7 down to 0);END ENTIT

6、Y mm;示例2.4端口模式和IEEE库数据类型定义。在此范例中,连接埠资料类型来自具有资料类型和函数描述的IEEE标准资源库。其中STD_LOGIC采用值 0 、 1 、 x 和 z 。因为使用了库,所以在实体说明前添加库说明语句。11,2.2.2结构,结构是设计实体的重要组成部分,结构具体实现了一个实体。结构不能单独存在,必须有一个接口说明,即一个实体。对于具有多个结构的本体,您必须使用建构陈述式指示要在模拟中使用的结构和结构。也就是说,对于合并后可以映射到硬件回路的设计实体,一个实体仅对应于一个结构体。如果回路中的实体表示一个设备符号,则核心层描述此符号的内部行为。12,ARCHITEC

7、TURE核心名称OF entity name IS说明语句-定义BEGIN功能说明语句(如内部信号、常量、数据类型、函数等)END ARCHITECTURE核心名称;1 .结构语句格式,13,ENTITY mux IS PORT(a0,a1:in bit;sel:in bit;sh:outbit);END mux;architecture data flow of mux is beginsh=(A0 and sel)or(not sel and a1);END dataflow;prod 2.5结构的说明,14,结构的说明语句是“信号”(SIGNAL)、“数据类型”(TYPE)、“常数”(C

8、ONSTANT)和“元件”(COMPONENT),将在结构的功能说明语句中使用在一个结构中描述和定义的数据类型、常量、组件、函数的数量和进程只能在此结构中使用,如果要在其他实体或结构中使用,则必须将其视为包。2结构说明门,15,3。功能说明叙述句说明设计个体的特定行为:(1)平行叙述句:平行叙述句一律在处理作业叙述句(PROCESS)之外,叙述句执行一律同时执行,不论其写入顺序为何。(2)顺序语句:顺序语句始终位于按顺序执行的进程语句(PROCESS)内部。结构可以包含多种类型的子结构说明,如BLOCK说明、PROCESS说明和SUNPROGRAMS(子程序)说明。16,块语句是由一系列并行执

9、行语句组成的组合体,这些并行执行语句构成结构的并行语句是一个或多个模块。进程语句定义用于将从外部获取的信号值或内部运算数据分配给其他信号的顺序语句模块。子程序调用语句用于调用设计的子程序。信号赋值语句将设计主体内的处理结果赋予定义的信号或边界面端口。元件实例语句提供了对其它设计实例的元件调用说明。17,使用BLOCK语句描述的格式为块标签:BLOCK BEGIN END BLOCK块标签。1) BLOCK块语句,18,ENTITY mux IS PORT (d0,D1,sel:IN BIT;问:outbit);END mux;architecture connect of mux is sig

10、nal tmp 1、tmp2、t MP3:bit;begin cale:block begin tmp 1=d0 and sel;Tmp 2=D1 and(非sel);Tmp3=tmp1 OR tmp22;Q=t MP3END BLOCK cale;END connect;示例2.6块语句实现的第二选择电路、19、进程描述格式如下:进程名称:进程(信号1,信号2,)。BEGIN END PROCESS进程名称;进程语句始终具有信号变量(敏感变量),仅当信号变量发生更改时,进程才会启动,以从上到下的顺序运行进程中的语句一次,然后返回到执行完成时启动的PROCESS语句。2)进程语句说明,20,实

11、体mu x2 is port (d0,D1,sel:in bit;问:outbit);END mux2;architecture connect of mux 2 is begin cale:process(d0,D1,sel) variable tmp 1,tmp2,t MP3:bit;begin tmp 1:=d0 and sel;Tmp 2:=D1 and(非sel);tmp 3:=tmp 1 or tmp 2;Q=t MP3 end process caleEND connect;示例2.7由进程语句实现的第二选择电路、21、子程序是在主程序调用它后,将处理结果返回到主序列。VHDL有两种类型:过程和函数。过程语句PROCEDURE过程名

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论