嵌入式技术概述_硬件描述语言VHDL介绍.ppt_第1页
嵌入式技术概述_硬件描述语言VHDL介绍.ppt_第2页
嵌入式技术概述_硬件描述语言VHDL介绍.ppt_第3页
嵌入式技术概述_硬件描述语言VHDL介绍.ppt_第4页
嵌入式技术概述_硬件描述语言VHDL介绍.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、2020/7/6,嵌入式技术概述 硬件描述语言VHDL介绍,刘兰军,2020/7/6,2,HDL语言的种类,HDL语言有上百种:各高等学校、科研院所、EDA公司均有各自的 HDL语言 VHDL:Very High Speed Integrated Circuit Hardware Description Language,超高速集成电路硬件描述语言, IBM公司、TI公司等合作开发,IEEE标准 Verilog HDL:GDA公司开发,Candence公司将其推成IEEE标准, 具有C语言的风格 AHDL:ALTERA公司开发,具有C语言的风格,2020/7/6,3,VHDL语言的程序结构,实

2、体名要与程序文件名一致,2020/7/6,4,VHDL语言的程序结构,GENERIC类属说明语句 类属:不同于常数,常数只能在设计实体内部赋值,类属的值可以由设计实体外部提供。 通过类属参量轻松改变设计实体的内部电路结构和规模。,综合器支持的数据类型为整型INTEGER,2020/7/6,5,VHDL语言的程序结构,PORT端口说明语句 PORT端口:是对一个设计实体界面的说明,即实体的I/O接口,定义了接口的I/O模式和数据类型。,VHDL语言中只有数据类型相同的端口信号才能相互作用 BIT BIT_VECTOR STD_LOGIC STD_LOGIC_VECTOR,IN、OUT、BUFFE

3、R、INOUT,2020/7/6,6,VHDL语言的程序结构,LIBRARY库 IEEE库:包含IEEE标准程序包和一些工业标准的程序包,IEEE库中程序包并不全符合VHDL标准,需要使用USE语句声明 STD库:包含STANDARD和textio两个标准程序包,STD库符合VHDL标准,无需USE语句声明 WORK库:用户的VHDL设计的当前工作库,不必声明 VITAL库:VHDL仿真器使用,平常很少使用该库 用户自定义库:用户自定义设计的库,用于源码继承,需要USE语句声明,2020/7/6,7,VHDL语言的程序结构,LIBRARY库 调用库的语句格式:,2020/7/6,8,VHDL语

4、言的语言要素,VHDL的文字规则:数字型文字、字符串、标识符、下标名、段名 数据对象:信号、变量、常量 数据类型:布尔数据类型、位数据类型、位矢量数据类型、字符数据类型、整数数据类型、自然数和正整数数据类型、实数数据类型、字符串数据类型、时间数据类型、错误等级数据类型 标准逻辑数据类型、标准逻辑矢量数据类型 操作符:逻辑操作符、关系操作符、符号操作符、算术操作符,2020/7/6,9,VHDL语言的语言要素,信号:SIGNAL 1)信号的赋值是有延迟的,信号用于不同进程之间信息的 传递,类似于电路连接的导线; 2)信号具有全局特性,在实体中定义的信号,对应的结构 体均可见,在进程和子程序中不能

5、定义信号。 3)信号的初始值仅在VHDL的行为仿真中有效。,2020/7/6,10,VHDL语言的语言要素,变量:VARIABLE 1)变量的赋值是没有延迟的; 2)变量是局部的,可以在结构体、进程、子程序中定义, 但只能在进程和子程序中使用。 3)变量的初始值在综合过程中会忽略。,2020/7/6,11,VHDL语言的语言要素,常量(常数):CONSTANT 1)常量的值在程序中不可修改; 2)常量可以在实体、结构体、程序包、块、进程、子程序 中定义。 3)常量的可视性取决于其定义的位置。,2020/7/6,12,VHDL语言的语句,顺序语句:顺序语句用于进程和子程序中, 仿真执行:顺序语句

6、的执行是顺序的 综合后:顺序语句的执行是并行的 并行语句:并行语句用于结构体中, 并行语句的执行是同步的、并行执行的,与书写 顺序无关,2020/7/6,13,VHDL语言的语句,顺序语句: 赋值语句 IF语句 CASE语句 LOOP语句 NEXT语句 EXIT语句 WAIT语句(WAIT UNTIL) 子程序调用语句,2020/7/6,14,VHDL语言的语句,赋值语句 信号赋值:信号赋值有延迟,发生在进程结束时; 信号具有全局性 变量赋值:变量赋值无延迟,是一种延迟为零的赋值 行为,变量具有局部性 同一进程中,同一信号有多个赋值源时,信号获得最 后一个赋值源的值; 同一信号不允许在多个进程

7、中赋值。,2020/7/6,15,VHDL语言的语句,IF语句,2020/7/6,16,VHDL语言的语句,CASE语句,2020/7/6,17,VHDL语言的语句,WAIT UNTIL语句,2020/7/6,18,VHDL语言的语句,子程序调用语句 过程:PROCEDURE,通过参数返回值,返回语句必须无条件 函数:FUNCTION,参量只能是输入,返回一个指定数据类型的值,返回语句必须有条件,2020/7/6,19,VHDL语言的语句,2020/7/6,20,VHDL语言的语句,子程序调用语句,名字关联法 位置关联法,2020/7/6,21,VHDL语言的语句,并行语句: 信号赋值语句 过

8、程调用语句 并行信号赋值语句 进程语句 块语句 元件例化语句 生成语句,2020/7/6,22,VHDL语言的语句,并行信号赋值语句 条件型并行信号赋值语句 选择型并行信号赋值语句,2020/7/6,23,VHDL语言的语句,进程语句 进程语句是VHDL中使用最频繁的语句; 具有并行执行和顺序执行的双重性; 进程语句的工作方式可以是组合逻辑,也可以是时序逻辑;,2020/7/6,24,VHDL语言的语句,进程语句,定义局部量:数据类型、常量、 变量、属性、子程序 不能定义信号、共享变量,赋值语句、进程启动语句、子程序调用语句、IF语句、CASE语句,敏感信号为输入信号 敏感信号发生变化时“启动

9、”或“激活”进程,2020/7/6,25,VHDL语言的语句,块语句 块语句是一种将并行语句进行组合的方法,目的是改善语句的可读性和结构性,对电路功能无影响。,结构体中说明部分可说明的对象都可在BLOCK的说明部分进行说明 BLOCK中定义的数据类型、数据对象、子程序等都是局部的,只适用于当前BLOCK,2020/7/6,26,VHDL语言的语句,元件例化语句 元件例化是VHDL设计实体实现自上而下层次设计的途径; 元件例化:1)将底层的设计实体定义为一个元件;2)利用元件例化语句将定义的元件与当前设计实体中的指定端口连接:为当前设计实体引入一个低一级的设计层次。,2020/7/6,27,VH

10、DL语言的语句,元件例化语句,名字关联方式 位置关联方式,放在当前设计实 体的结构体的说 明部分,2020/7/6,28,VHDL语言的语句,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY s_dff IS PORT( din, clk : IN STD_LOGIC; qout: OUT STD_LOGIC ); END ENTITY s_dff ; ARCHITECTURE s_dff_behave OF s_

11、dff IS SIGNAL qout_buf : STD_LOGIC ; BEGIN qout = qout_buf; aa: PROCESS(clk) BEGIN IF clkevent and clk=1 THEN qout_buf = din; END IF; END PROCESS aa; END ARCHITECTURE s_dff_behave;,LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY top IS PORT( din1, din2, clk1,clk2 : IN STD_LOGIC; qout1, qout2 : OUT STD_LOGIC ); END ENTITY top ; ARCHITECTURE top_behave OF top IS COMPONENT s_dff IS PORT( din, clk : IN STD_LOGIC; qout: OUT STD_LOGIC ); END COMPONENT; BEGIN u1: s_dff PORT MAP(din1,clk1,qout1); u2: s_dff POR

温馨提示

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

最新文档

评论

0/150

提交评论