




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VHDL的结构以及实体介绍(P25),本课要了解的问题,VHDL的基本结构 什么是实体?实体语句的结构 端口说明语句的格式、使用方法以及硬件模型; INOUT与BUFFER有何异同? 几种典型数据类型BIT、BIT_VECTOR、INTEGER、STD_LOGIC、STD_LOGIC_VECTOR的使用方法。 什么是类属说明语句?如何使用?,复习:集成电路EDA的设计流程,系统划分,HDL或原理图输入,编译,综合,适配,时序仿真,MaxPlus II 设计流程,STEP1:建立 工作库文件夹,STEP2:输入设计项目 原理图/VHDL文本代码,STEP3:存盘,注意 原理图/文本取名,STEP4:将设计项 目设置成Project,STEP5:选 择目标器件,STEP11: 硬件测试,STEP9:引脚 锁定并编译,STEP8:仿真测 试和波形分析,STEP7:建立仿 真波形文件,STEP6: 启动编译,STEP10:编程 下载/配置,原理图输入与HDL输入的比较,原理图输入,HDL输入,直观,编译效率高,工作量大,不适合大规模电路,移植性差,可以进行行为描述,不必深入电路细节,容易修改,移植性好,适合大规模电路,一、VHDL语言,全名:Very-High-Speed Integrated Circuit HardwareDescription Language 诞生:1982年 1987年,IEEE公布第一个标准版本(87版) 1993年,IEEE公布标准的1076-1993版本,二、一个VHDL程序,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY voter IS PORT( a, b, c : IN STD_LOGIC; x : BUFFER STD_LOGIC; y : OUT STD_LOGIC ) ; END ENTITY voter ; ARCHITECTURE one OF voter IS BEGIN x = (a AND b) OR (b AND c) OR (c AND a); y=NOT x; END ARCHITECTURE one ;,三人表决器的VHDL描述,实体,结构体,库,实体对应模型,结构体对应模型,VHDL程序的基本结构(P24-25):,VHDL是一种硬件描述语言,因此很多语言要素中都有对应的硬件模型。,VHDL程序最完整的组成:,实体,结构体,配置,VHDL各部分对应的硬件模型:,预先定义的数据类型、子程序、元件等,库,. . USE IEEE.STD_LOGIC_UNSIGNED.ALL; . . ARCHITECTURE three OF voter IS SIGNAL t: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN t1) ELSE 0; y=NOT x; END ARCHITECTURE three ;,ARCHITECTURE one OF voter IS BEGIN x = (a AND b) OR (b AND c) OR (c AND a); y=NOT x; END ARCHITECTURE one ;,ARCHITECTURE two OF voter IS SIGNAL t: STD_LOGIC_VECTOR(2 DOWNTO 0); BEGIN t=a ,三、库语句简介(P30-33),在利用VHDL进行工程设计时,为了提高效率,常常将一些有用的信息或资料汇集在库中,以供随时调用。 一些预先定义好的数据类型、子程序等设计单元先放到程序包,而程序包存放在库中。,库,程序包,数据类型、子程序,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; 格式:LIBRARY 库名; USE 库名. 程序包名. 项目名; 第一句是打开IEEE库;第二句是使用IEEE库中STD_LOGIC_1164程序包的所有内容。 如果项目名是ALL,表明开放库中指定程序包内的所有内容。,库语句解释(P30-33):,三、实体语句(P25-28),ENTITY 实体名称 IS GENERIC(类属表); PORT(端口表); END 实体名;,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY voter IS PORT( a, b, c : IN STD_LOGIC; x : BUFFER STD_LOGIC; y : OUT STD_LOGIC ) ;,端口说明语句,类属说明语句,端口说明语句,voter实体对应模型,注意,ENTITY、IS、END为保留字,不可以更改。 接在ENTITY后面的voter为实体的名称。 实体名必须与END后面的实体名称必须一致,同时它们也必须与文件名称一致。,HDL是硬件描述语言, 因此每一个语句都能找到所描述的对应的硬件对象。 实体表示的是硬件电路的外部,主要表示硬件电路与外部的联系情况,把硬件电路看作一个黑箱,而不涉及硬件电路内部的具体情况。,voter实体对应模型,四、端口说明语句(P28),PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT ) ;,格式如下: PORT(端口名:工作模式 数据类型; 端口名:工作模式 数据类型); 端口说明语句描述了硬件的引脚情况。工作模 式说明了引脚上数据的流动方向和使用情况,数 据类型说明了引脚上数据的类别,数据类型关 系到数据的取值和能进行哪些操作。,端口的工作模式及硬件模型,数据类型(P39-42),a, b : IN BIT ; 数据类型决定了数据的表示、取值范围以及能进行的操作。,VHDL中的预定义数据类型包括:,整数类型 (INTEGER) 实数类型 (REAL) 位类型 (BIT) 位矢量类型 (BIT_VECTOR) 布尔类型 (BOOLEAN),字符类 (CHARACTER) 时间类型 (TIME) 错误类型 自然数类型 (NATRUAL) 字符串类型 (STRING),数据类型的范围,IEEE预定义标准逻辑位和矢量(P41-42),1.标准逻辑位(STD_LOGIC)数据类型 STD_LOGIC型数据有如下9种不同的值: U、X、0、1、Z、W、L、H、- 在使用STD_LOGIC时,要打开IEEE 库中相应的程序包: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;,2. 标准逻辑矢量(STD_LOGIC_VECTOR)数据类型 STD_LOGIC_VECTOR是数组,数组中每个元素的数据类型都是标准逻辑位STD_LOGIC。 只有同位宽、同数据类型的矢量之间才能进行赋值。 在使用STD_LOGIC_VECTOR时,要打开IEEE 库中相应的程序包: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;,典型端口的定义和硬件模型,位类型端口:端口由一根导线组成,导线上传递1或0的高低电平。 如en: IN BIT;,位矢量类型端口:端口由一组导线组成,导线的数量由位矢量的位数决定,导线上传递1或0的高低电平。TO与DOWNTO关键字表示从高位到低位在导线上的排列方向。 如 data: IN BIT_VECTOR(2 DOWNTO 0); 定义一个输入端口data, 端口上流动的信号是一个3位的矢量,最上一位是最高位data(2),最下一位是最低位data(0)。 data: IN BIT_VECTOR(0 TO 2); 定义一个输入端口data, 端口上流动的信号是一个3位的矢量,最上一位是最低位data(0),最下一位是最高位data(2)。,整数类型端口:端口由一组传递二进制信号的的导线组成,利用多个二进制信号来表示一个整数数值的信号。 如counter: IN INTEGER RANGE 0 TO 5; 定义一个输入端口counter,取值范围05,可用3位二进制数表示,因此counter被综合成3条信号线构成的总线形式。,标准逻辑位类型端口:端口由一根导线组成,导线上传递标准逻辑定义的电平信号。 如clk: IN STD_LOGIC ;,标准逻辑位矢量类型端口:端口由一组导线组成,矢量的位数决定了导线的数量,导线上标准逻辑定义的电平信号。 如data_out: OUT STD_LOGIC_VECTOR(0 to 7) ;,data_out,data_out,07,定义一个输出端口data_out,端口上流动的信号是一个8位的标准逻辑矢量,最上一位是最低位data_out(0),最下一位是最高位data_out(7)。,练习1,请用VHDL语句表示下列端口。 定义一个位类型的输入端口a。 定义一个标准位矢量类型的双向端口b,位宽为8位,高位在上。,a: IN BIT;,b: INOUT STD_LOGIC_VECTOR(7 DOWNTO 0);,请解释下列VHDL语句,并写出硬件模型。 c: OUT STD_LOGIC_VECTOR (0 TO 7); d: BUFFER INTEGER range 0 TO 9;,c是标准逻辑矢量类型的8位输出端口,低位在上。,d是整数类型的缓冲输出端口。,四、类属说明语句(P28),类属说明语句定义了一个类属参量,该参量为一种界面常数,可以通过改变该参量的数值来改变电路规模。 类属说明语句的一般格式: GENERIC(常数名:数据类型 :设定值;常数名:数据类型:设定值);,类属说明语句表示的硬件模型,ENTITY votern IS GENERIC( n: INTEGER); PORT(a: IN STD_LOGIC_VECTOR(n-1 DOWNTO 0); c: OUT STD_LOGIC); END votern;,ENTITY votern IS GENERIC( n: INTEGER:=17); PORT(a: IN BIT_vector(n-1 DOWNTO 0); c: OUT BIT); END votern; ARCHITECTURE behav OF votern IS BEGIN PROCESS(a) VARIABLE int: INTEGER RANGE 0 TO n; BEGIN int :=0; FOR i IN aLENGTH-1 DOWNTO 0 LOOP IF a(i)=0 THEN int:=int+1; END IF; END LOOP; IF (int(n+1)/2) THEN c=1; ELSE c=0; END IF; END PROCESS; END behav;,类属说明语句举例,【例1 】,ENTITY andn IS GENERIC( n: INTEGER); PORT(a: IN BIT(n-1 DOWNTO 0); c: OUT BIT); END andn; ARCHITECTURE behav OF andn IS BEGIN PROCESS(a) VARIABLE int: BIT; BEGIN int :=1; FOR i In aLENGTH-1 DOWNTO 0 LOOP IF a(i)=0 THEN int:=0; END IF; END LOOP; c=int; END PROCESS; END andn;,(下一页),n-10,P27【例2-3 】,ENTITY exn_behav IS PORT(d1, d2, d3, d4, d5, d6, d7: IN STD_LOGIC; q1, q2: OUT STD_LOGIC); END exn_behav; ARCHITECTURE exn_behav OF exn IS COMPONENT andn GENERIC (n: INTEGER); PORT(a: IN BIT_VECTOR(n-1 DOWNTO 0); c: OUT BIT); END COMPONENT; BEGIN u1: andn GENERIC MAP (n=2); PORT MAP (a(0)=d1, a(1)=d2, c=q1); u2: andn GENERIC MAP (n=5); PORT MAP (a(0)=d3, a(1)=d4, a(2)=d5, a(3)=d6, a(4)=d7, c=q2); END exn_behav;,-为类属参量n赋值2,-为类属参量n赋值5,-结构体中要使用元件andn,P27【例2-4 】,实体语句举例:,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY notgate IS PORT( a:IN STD_LOGIC; f:OUT STD_LOGIC ); END notgate; ARCHITECTURE notgate_ archi OF notgate IS BEGIN f=NOT a; END notgate_ arch;,【反向器】,ENTITY cnt4_1 IS PORT( clk: IN BIT; q: BUFFER INTEGER RANGE 15 TO 0); END cnt4_1; ARCHITECTURE behave OF cnt4_1 IS BEGIN PROCESS(clk) BEGIN IF (clkEVENT AND clk=1) THEN q=q+1; END IF; END PROCESS; END behave;,【四位加法计数器】,P145【例5-34 双向总线缓冲器】,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY tri_bigate IS PORT(a, b: INOUT STD_LOGIC_VECTOR(7 DOWNTO 0); en: IN STD_LOGIC;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 口腔前台知识培训课件
- 桥梁施工安全培训
- 培训路上对知识的渴望课件
- 培训财务知识的通知课件
- 迪士尼公司战略分析
- 口才知识培训总结
- 2025年中小学营养餐配送服务及食品安全监督合作协议
- 2025年度生态旅游区土方运输与生态景观维护专项合同
- 2025年仓储物流租赁合同面积调整及仓储服务升级协议
- 2025年公立幼儿园食堂节能优化与环保校园工程合同
- 矿用圆环链简介
- 水利工程安全事故案例分析
- 《新入职护士培训大纲》
- 《现代酒店管理与数字化运营》高职完整全套教学课件
- 叶类药材鉴定番泻叶讲解
- 药物制剂生产(高级)课件 5-11 清场管理
- 2025安徽安庆高新投资控股限公司二期招聘8人高频重点提升(共500题)附带答案详解
- 妇女保健工作计划
- 《胸腔引流管的护理》课件
- 2024-2025学年江苏省苏州市星海实验中学高一(上)期中考试物理试卷(含答案)
- 招标代理机构遴选投标方案(技术标)
评论
0/150
提交评论