书签 分享 收藏 举报 版权申诉 / 26
上传文档赚钱

类型第三章硬件描述语言VHDL课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:3859132
  • 上传时间:2022-10-19
  • 格式:PPT
  • 页数:26
  • 大小:99.87KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第三章硬件描述语言VHDL课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    第三 硬件 描述 语言 VHDL 课件
    资源描述:

    1、 组合电路设计 时序逻辑电路设计 一个完整的VHDL语言程序包括五部分:(1)实体(entity):用于描述设计电路的外部输入、输出接口信号;(2)结构体(architecture):用于描述电路内部的结构和行为;(3)程序包(package):用于存放各设计模块能共享的数据类型、常量和子程序;(4)配置(configuration):用于从库中选取所需单元,组成系统设计的不同版本;(5)库(library):用于存放已经编译的实体、结构体、程序包和配置。多路选择器是典型的组合电路。2选1多路选择器的电路模型或元件图如图所示,例3-1是其VHDL的完整表述,即可使用VHDL综合器直接综合出实现

    2、既定功能的逻辑电路,对应的逻辑电路如图和波形图如下所示,因而可以认为是多路选择器的内部结构。selabqT_mux2inst8lp m _ a n d 0instlp m _ a n d 0inst1lp m _ o r0inst2lp m _ in v 0inst3V C CaIN P U TV C CsIN P U TV C CbIN P U TyO U T P U T例3-1library ieee;-库的使用说明use ieee.std_logic_1164.all;entity T_mux2 is -实体说明;Port(a,b,sel:in bit;q:out bit);-端口说明,

    3、用以描述器件的输入、输end end T_mux2;出引脚;architecture rtl of T_mux2 is -结构体说明;begin process(sel,a,b)-进程语句;begin if sel=0 then -if语句;q=a;else q=b;end if;end process;end rtl;例3-2library ieee;-库的使用说明use ieee.std_logic_1164.all;entity T_mux2 is -实体说明;Port(a,b,sel:in bit;q:out bit);-端口说明,用以描述器件的输入、输end end T_mux2;出

    4、引脚;architecture rtl of T_mux2 is -结构体说明;signal d,e:bit;begind=a and(not sel);e=b and sel;y=d or e;end rtl;例3-3 library ieee;-库的使用说明 use ieee.std_logic_1164.all;entity T_mux2 is -实体说明;Port(a,b,sel:bit;q:out bit);-端口说明,用以描述器件end end T_mux2;出引脚;architecture rtl of T_mux2 is -结构体说明;begin y=a when sel=0

    5、else b;end rtl;注意:电路的功能是可以唯一的;但是其电路的结构方式不是唯一的,它决定于综合器的基本元件库的来源、优化方向和约束的选择、以及目标器件(如FPGA)的结构特点等。库的说明:库是经过编译后的数据的集合,它存放包集合定义、实体定义、构造体定义和配置定义。它的目的是:(1)提高设计效率,而且多组多人可以同时工作;(2)便于使设计遵循某些统一的语言标准或数据格式;(3)可以利用已有的设计成果。库的功能类似于DOS操作系统的目录,库中存放设计的数据。在VHDL语言中,库的说明总是放在设计单元的最前面:LIBRARY 库名;这样,在设计单元内的语言就可以使用库中的数据。由此可见,

    6、库的好处在于使设计者可以共享已经编译过的设计结果。在VHDL语言中可以存在多个不同的库,而且库与库之间是独立的,不能互相嵌套。库的种类有五种:IEEE库、STD库、ASIC 矢量库、用户定义的库和WORK库;(1)IEEE库:IEEE中有一个“STD_LOGIC_1164”的包集合,它是IEEE正式认可的标准库(2)STD库:VHDL的标准库,在库中存放有”standard“的 包集合是VHDL的标准配置;(3)ASIC库:在VHDL中,为了进行门级的仿真,各公司提供了面向ASIC的逻辑门库。该库中存放有与逻辑门一一对应的实体。(4)WORK库:现行作业库,在使用时不需加以说明;(5)用户定义

    7、库:使用时需要加以说明。一、库的使用:(1)库的说明:五种库除了WORK库和标准库以外,其他的库在使用时均需要加以说明,第一个语句是:LIBRARY 库名,表明是使用的哪一个库,另外需要说明用的是库中的哪个包集合以及项目名,第二句的使用格式如下:LIBRARY 库名.包集合名.项目名;例如 library ieee;use ieee.std_logic_1164.all;(2)库说明作用范围:从实体的说明开始到该实体所属的结构体为止,整个设计都可以对库的资源进行调用。当一个VHDL源程序出现两个以上的实体时,每一实体的前面都需要有自己完整的库的使用说明语句。二、实体说明:实体描述的是电路器件的

    8、端口构成和信号属性,书写格式如下:entity 实体名 is;generic(类属表);-可没有;port(端口名,端口名.:方向 端口数据类型;端口名,端口名.:方向 端口数据类型);End 实体名;1.generic 提供静态参数或是数据宽度等静态特征,说明设计实体内、外通信的参数;必须放在实体端口说 明之前,用于指定参数。其书写格式如下:generic(常量名:数据类型:设定值);例如:generic(m:time:=1 ns)2.端口说明:端口说明是对基本设计实体(单元)与外部接口的描述,也可是说是对外部引脚信号的名称,数据类型和输入输出方向的描述,其一般书写格式如下:port(端口名

    9、,端口名.:方向 端口数据类型;端口名,端口名.:方向 端口数据类型);1)端口名:赋予每个外部引脚的名称;2)端口方向:用来定义外部的引脚是输入还是输出。表示方向的说明符及其含义如下所示:Out和buffer的区别:(1)out不可以在构造体内部使用,buffer可以;(2)当一个构造体用buffer 说明输出端口时,与其相连的另一个构造体的端口也需要用buffer来说明。3.端口的输出类型:VHDL语言中共有10种数据类型。例如:bit,bit_vector4.实体名:由于实体名表达的是设计电路的功能,最好根据相应的功能来来确定。注意:不应用数字或中文名字来定义实体名,也不应用与EDA工具

    10、库中已定义好的元件名作为实体名,例如or2等,而且不能用数字起头的实体名。三、结构体 结构体对输入、输出关系可以用三种方式进行描述,即行为描述(数学模型描述),寄存器传输描述(数据流描述),结构描述(逻辑器件连接描述)。结构体的书写格式如下:architecture 结构体名 of 实体名 is 定义语句;begin 功能描述语句;end 结构体名;“定义语句”包括在结构体中,用以说明和定义数据对象、数据类型、元件调用声明等。但“定义语句”不是必须的,“功能描述语句”则不同,结构体中必须给出相应的电路功能描述语句,可以是并行语句、顺序语句或它们的混合。四、程序包(package):为了共享函数

    11、(function)、过程(procedure)元件(component)等,设计师为使用者提供了一些公共的资源,放在程序包里。还可以自己定义程序包。程序包的说明格式如P28所示。五、配置(configuration)配置语句描述层与层之间的连接关系以及实体与结构体之间的连接关系。我们可以利用配置语句说明为这个实体指定一个结构体。书写格式如下:configuration 配置名 of 实体名 is 语句说明;end 配置名;在VHDL中凡是可以赋予一个值的对象都称为客体,客体主要包括以下三种:信号、常数和变量(signal、constant、variable)。在电子电路的设计中,这三类客体都

    12、有一定的物理含义:信号对应地代表某一条硬件连接线,常数相应地代表数字电路中的电源和地,变量的对应关系不是很直接,通常是一些暂存量的载体。常数是一个固定的值,定义语句:constant:常量名:数据类型:=表达式 例如:constant Vcc:real:=5.0 V;常数一旦赋值以后就不能改变,他不像信号和变量,可以任意带入不同的值;而且常数所赋的值必须和定义的数据类型一致。变量:变量的只能在进程语句、过程语句和函数语句中使用,它是一个局部量,它的作用相当于是作为临时的数据存储单元,是中间媒介,在实际的硬件电路中不存在,而且变量的赋值是立即生效的。变量的语句格式如下:variable 变量名:

    13、数据类型 约束条件:=表达式 例如 variable count:integer range 0 to 25;变量的赋值如下 变量名:=表达式;变量不能产生任何的延时。例如 temp1,temp2,temp3都是变量,那么下式产生延时的方法是不合法的:temp3:=temp1+temp2 after 10 ns;信号:信号表达电子电路内部的实际硬件接线,它除了没有数据流动方向的说明,和“端口”的概念几乎一致,是全局 变量通常在结构体、包集合和实体说明中使用。语句格式如下:signal 信号名:数据类型 约束条件:=表达式;例如:signal ground bit:=1;信号的赋值语句 信号名=

    14、表达式;信号带入时可以附加延时;程序如3-2所示信号和变量的异同主要有以下几点:(1)赋值符号不同 信号和变量可以相互赋值;(2)使用的场合不同;(3)仿真的赋值时间不同。在仿真时信号和变量的赋值时间是不相同的,如在一个进程语句中,变量是立即赋值的,而信号的赋值是在变量执行完才赋值的。例如:1 PROCESS(A,B,C,D)BEGIN D=A;X=B+D;D=C;Y=B+D;END PROCESS;2 PROCESS(A,B,C,D)BEGIN D:=A;X:=B+D;D:=C;Y:=B+D;END PROCESS;执行结果:1X=B+C ;Y=B+C;2 X=B+A ;Y=B+C;D触发器

    15、的VHDL描述:library ieee;use ieee.std_logic_1164.all;entity dff1 is port(clk:in std_logic;d:in std_logic;q:out std_logic);end dff1;architecture bhv of dff1 is signal q1:std_logic;begin process(clk,q1)begin if clkevent and clk=1 then q1=q;end if;q=q1;end process;end bhv;STD_LOGIC的数据类型定义:TYPE STD-LOGIC IS(U,X,0,1,Z,W,L,H,_);U-未初始化数据;X-表示强未知数据;0-表示强逻辑0;1-表示逻辑强1;Z-表示高阻态;W-表示弱未知;L-表示弱逻辑0;H-表示弱逻辑1;_-表示忽略;

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第三章硬件描述语言VHDL课件.ppt
    链接地址:https://www.163wenku.com/p-3859132.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库