版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第5章 VDHL程序设计介绍,2,硬件描述语言(HDL)是用来描述硬件电路的功能、信号连接关系及时序关系的语言,也是一种用形式化方法来描述数字电路和设计数字系统的语言。常用的硬件描述语言有ABEL、AHDL、VHDL、Verilog HDL、System-Verilog和System C等等。,VHDL -Very high speed integrated circuit Hardware Description Language,超高速集成电路(VHSIC)硬件描述语言 美国国防部在80年代初研究VHSIC计划时组织开发的,并成功用于军方的设计项目. 2.IEEE 标准: IEEE S
2、td 1076-1987 (called VHDL 1987) IEEE Std 1076-1993 (called VHDL 1993),由于当时工业界的迫切需要,IEEE标准化委员会于1987年将其确定为标准硬件描述语言,1993年,又对此标准作了进一步修定.,3,(1)行为描述能力强 描述简单、方便 (2)丰富的仿真语句和函数库 可在高层次上进行仿真模拟 (3)支持大规模设计的分解和已有设计的再利用功能 实体、程序包、设计库等是并行工作和设计分解的基础 (4)EDA工具支持它的综合、仿真和优化 系统级、算法级、RTL级、逻辑级、开关级等 (5)对设计描述具有相对独立性 与具体的工艺技术和
3、硬件结构无关 (6)良好的可扩展性 可轻易改变设计的规模和结构,3. VHDL语言特点,4,VHDL:行为级描述 描述层次高,适宜电路高级建模,设计工作量小 综合过程:行为级RTL级门电路级 VerilogHDL:RTL级描述 描述层次低,适宜描述门级电路,设计工作量大 综合过程:RTL级门电路级 ABEL-HDL: RTL级描述 描述层次和综合过程同Verilog 多用在小规模的PLD 设计中,如GAL等 在全定制集成电路设计中不如VHDL、Verilog-HDL使用普遍,4.常用的三种硬件描述语言的比较,5,5.1 VHDL程序的基本结构,6,library ieee; use ieee.
4、std_logic_1164.all; use ieee.std_logic_unsigned.all; entity counter10 is port(en,reset,clk:in std_logic; q:buffer std_logic_vector(3 downto 0); co:out std_logic); end counter10; architecture behav of counter10 is begin process(clk,reset,en) begin if reset=1 then q=0000; elsif clkevent and clk=1 then
5、 if en=1 then if q1001 then q=q+1; else q=0000; end if; end if; end if; end process; co=1 when q=1001 else 0; end behav;,7,在VHDL设计中,实体是其最基本的结构。 实体类似于原理图中的一个部件符号,并不描述设计的具体功能,只定义了该设计所需的全部输入/输出信号。 对系统进行分层设计时,各层的设计模块都可作为实体。 顶层的系统模块是顶级实体,低层次的设计模块是低级实体。 描述时,高级实体可将低一级实体当作元件来调用。,5.1.1 实体(Entity),8,【程序5.1.1】
6、 ENTITY mux21a IS PORT( a, b : IN BIT ; s : IN BIT; y : OUT BIT) ; END ENTITY mux21a ;,实体说明的格式:,参数说明部分;,ENTITY IS 端口说明部分; END ENTITY ;,实体说明以“ENTITY IS” 开始,至 END ENTITY ” 结束。,9,其中:,ENTITY mux21a IS PORT( a, b : IN BIT; s : IN BIT; y : OUT BIT); END ENTITY mux21a ;,(2)端口模式:说明信号的方向,有以下几种模式: IN 输入信号; OU
7、T 输出信号; INOUT 双向信号; BUFFER 输出信号,但可在内部反馈使用(缓冲); BUFFER是INOUT的子集,但作输入用时,信号不是由外部驱动,而是从输出反馈得到。,参数说明主要为设计实体指定参数,如端口宽度等;,端口说明描述的是设计实体和外部的接口,具体说就是对端口名称、端口模式和端口数据类型进行说明。,(1)端口名称:输入输出信号的名称,在实体中必须是唯一的。,10,(3)端口数据类型:端口信号的数据类型 明确地指定和严格地定义端口信号的数据类型是VHDL的重要特点, 即所谓的强数据类型,这是学习VHDL应特别注意之处,ENTITY mux21a IS PORT ( a,
8、b : IN BIT; s : IN BIT; y : OUT BIT ); END ENTITY mux21a ;,VHDL中常见的数据类型有以下几种: BIT 位类型,取值0、l BIT_VECTOR 位向量类型,是BIT的组合 STD_LOGIC 工业标准的逻辑位类型,取值0、1、X、Z等 STD_LOGIC_VECTOR 工业标准的逻辑位向量类型,是STD_ LOGIC的组合 INTEGER 整数类型,可用作循环的指针或常数 BOOLEAN 布尔类型,取值FALSE、TRUE,11,例:用VHDL描述图5.1.2所示实体,d15:0是16位输入总线; clk、reset、oe是输入信号
9、; q115:O是16位三态输出总线; q215:0是16位双向总线; int是输出信号,并反馈到内部使用; opt是三态输出信号。,12,Example 的实体说明如下: 【程序5.1.2】 ENTITY example IS END example;,PORT ( d: IN STD_ LOGIC_VECTOR (15 DOWNTO 0); clk, reset, oe: IN STD_LOGIC; q1: OUT STD_LOGIC_VECTOR (15 DOWNTO 0); q2: INOUT STD_LOGIC_VECTOR(15 DOWNTO 0); int: BUFFER STD
10、_LOGIC; opt: OUT STD_LOGIC );,13,5.1.2 结构体(Architecture ),1.结构体的概念 结构体描述的是实体内部的逻辑功能。,【程序5.1.3】 ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b; END ARCHITECTURE one;,14,结构体说明部分;,(1)OF后的实体名应与实体说明中的实体名一致,结构体的基本格式:,(2)功能描述语句是结构体中的主要部分,用于描述所实现实体的 功能,功能描述语句可包括四种不同类型的并行语句:,(3)说明语句是对结构体的功能描述语句中
11、将要用到的信号、数据 类型、常数、元件、函数和过程等加以说明,进程语句,信号赋值语句,子程序调用语句,元件例化语句,ARCHITECTURE OF IS,END ARCHITECTURE ;,BEGIN,【程序5.1.3】 ARCHITECTURE one OF mux21a IS BEGIN y = a WHEN s = 0 ELSE b; END ARCHITECTURE one;,15,2.结构体的描述方式,(1)行为描述方式:Behavior 对设计实体的数学模型的描述,其抽象程度最高。 类似于高级编程语言,无需知道电路的具体结构。 优点是只需描述输入与输出的行为,不关注具体的电路实现
12、。,(2)数据流描述方式:Dataflow(也称寄存器传输级描述) 从信号到信号的数据流动的路径形式进行描述。 设计人员对设计实体的功能实现要有一定的了解,有时还需对电路的具体结构有清楚的认识。 优点是易于进行逻辑综合,综合效率较高。,在VHDL中,允许设计人员采用不同的描述风格来进行设计实体中结构体的书写,结构体的描述方式通常有三种:,16,(3)结构描述方式:Structural 指在多层次的设计中,通过调用库中的元件或是已设计好的模块来完成实体功能的描述。 结构描述方式只表示元件(或模块)和元件(或模块)之间的互连,就像网表一样。 优点是可以将已有的设计成果用到当前的设计中去,因而大大提
13、高设计效率,对于可分解的大型设计,结构描述方式是首选方案。,另外也可以使用上述三种描述方式的组合来进行结构体的描述,即混合描述方式。,17,【程序5.1.4】 ENTITY rsf IS PORT (set, reset:IN BIT; q,qb :BUFFER BIT); END rsf;,下面以 RS 触发器为例说明三种描述方式的使用方法,R-S触发器的实体描述:,18,【程序5.1.5】 ARCHITECTURE rs_behav OF rsf IS BEGIN PROCESS(set, reset) - - 进程 VARIABLE last_state: BIT; - - 给输出q一个
14、状态变量定义 BEGIN IF set = 1 AND reset = 1 THEN Last_state : = last_state; ELSIF set = 0 AND reset = 1 THEN Last_state : = 1; ELSIF set = 1 AND reset = 0 THEN Last_state : = 0; END IF; q = last_state; - - 给输出信号赋值 qb = NOT (last_state); END PROCESS; END rs_behav;,行为描述方式:,进程,敏感信号表,19,进程语句PROCESS: PROCESS(set, reset) 括号中的set, reset信号称为敏感信号,是该进程的激活条件,注意: 进程中的语句是顺序语句,它们之间不是并行关系,执 行时是按书写的先后次序顺序执行的。 行为描述方式描述的是与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026及未来5年中国十孔枕数据监测研究报告
- 2026事业单位工勤技能-广西-广西仓库管理员三级(高级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-广东-广东机械热加工一级(高级技师)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-广东-广东公路养护工二级(技师)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-山西-山西水工监测工五级(初级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-山东-山东园林绿化工三级(高级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-天津-天津军工电子设备制造工四级(中级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-四川-四川印刷工四级(中级工)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-吉林-吉林园林绿化工二级(技师)历年参考题库含答案详解3套试卷
- 2026事业单位工勤技能-云南-云南图书资料员五级(初级工)历年参考题库含答案详解3套试卷
- 2026年家庭健康指导员体重管理指导测试题含答案
- 2026年高级经济师《农业经济》考试真题及答案
- 2026年甘肃省嘉峪关市招聘辅助岗位工作人员40人笔试参考题库及答案详解
- 2026年秋季开学:高中开学第一课为梦想而战
- 《危化品“一件事”全链条重点工作任务分工清单》知识培训
- 顶棚修复施工方案范本
- TSG21-2025固定式压力容器安全技术(送审稿)
- 睿治数据治理平台 技术白皮书
- 幼儿园教职工岗位安全培训
- 2024建筑用轻质外墙条板
- 六年级下册字帖笔顺
评论
0/150
提交评论