VHDL设计方法.ppt
合集下载
VHDL范例PPT课件
第7章 VHDL设计应用实例
B4:IN STD_LOGIC_VECTOR(3 DOWNTO 0); S4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CO4:OUT STD_LOGIC); END COMPONENT ADDER4B; SIGNAL SC:STD_LOGIC; --4位加法器的进位标志 BEGIN U1:ADDER4B --例化(安装)一个4位二进制加法器U1 PORT MAP(C4=>C8,A4=>A8(3 DOWNTO 0),
7.3 1秒计时电路的设计 外部输入的频率为1KHz,要求产生一个1S的时钟信号
1Kz ( 1/1000 秒) 10分频 (1/100秒) 10分频 (1/10秒) 10分频 1秒
CLK(1KHz)
10 clk001 10 clk01 10
分
分
分
频
频
频
clk1s
第7章 VHDL设计应用实例
(1)10分频的VHDL语言描述
第7章 VHDL设计应用实例
BEGIN A5<='0'& A4;
--将4位加数矢量扩为5位,为进位提供空间 B5<='0'& B4;
--将4位被加数矢量扩为5位,为进位提供空间 S5<=A5+B5+C4 ; S4<=S5(3 DOWNTO 0);
CO4<=S5(4); END ARCHITECTURE ART;
END ENTITY ADDER8B; ARCHITECTURE ART OF ADDER8B IS COMPONENT ADDER4B IS
--对要调用的元件ADDER4B的界面端口进行定义 PORT(C4:IN STD_LOGIC;
B4:IN STD_LOGIC_VECTOR(3 DOWNTO 0); S4:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); CO4:OUT STD_LOGIC); END COMPONENT ADDER4B; SIGNAL SC:STD_LOGIC; --4位加法器的进位标志 BEGIN U1:ADDER4B --例化(安装)一个4位二进制加法器U1 PORT MAP(C4=>C8,A4=>A8(3 DOWNTO 0),
7.3 1秒计时电路的设计 外部输入的频率为1KHz,要求产生一个1S的时钟信号
1Kz ( 1/1000 秒) 10分频 (1/100秒) 10分频 (1/10秒) 10分频 1秒
CLK(1KHz)
10 clk001 10 clk01 10
分
分
分
频
频
频
clk1s
第7章 VHDL设计应用实例
(1)10分频的VHDL语言描述
第7章 VHDL设计应用实例
BEGIN A5<='0'& A4;
--将4位加数矢量扩为5位,为进位提供空间 B5<='0'& B4;
--将4位被加数矢量扩为5位,为进位提供空间 S5<=A5+B5+C4 ; S4<=S5(3 DOWNTO 0);
CO4<=S5(4); END ARCHITECTURE ART;
END ENTITY ADDER8B; ARCHITECTURE ART OF ADDER8B IS COMPONENT ADDER4B IS
--对要调用的元件ADDER4B的界面端口进行定义 PORT(C4:IN STD_LOGIC;
VHDL设计方法.ppt
数据对象—常数
指在设计中不会变的值 改善代码可读性,便于代码修改 必须在程序包、实体、构造体或进程的说明区 域加以说明,是全局量 一般要赋一初始值 保留字——CONSTANT 例: CONSTANT Width : Integer :=8;
定义顺序语句模块,用以将 从外部获得的信号值,或内部的运 算数据向其它的信号进行赋值。 将设计实体内的处理结果 向定义的信号或界面端口进行赋 值 用以调用过程或函数,并 将获得的结果赋值于信号
对其它的设计实体作元件 调用说明,并将此元件的端口与 其它的元件、信号或高层次实体 的界面端口进行连接。
元件例化语句
VHDL的设计单元
VHDL的设计单元
Entity(实体) 用来说明模型的外部输入输出特征 Architecture(构造体) 用来定义模型的内容和功能 每一个构造体必须有一个实体与它相对应,所 以两者一般成对出现
实体
类似一个“黑盒”,实体描述了“黑盒”的输 入输出口
黑盒
rst q[7:0] d[7:0] co clk
clk int as
构造体
用来描述实体的内部结构和逻辑功能 必须和实体(ENTITY)相联系 一个实体(ENTITY)可以有多个构造体 构造体的运行是并发的 构造体描述方式包括: —行为描述 —结构描述 —混合描述
结构体基本结构
ARCHITECTURE <architecture_name> OF <entity_name> IS
练习一
编写包含以下内容的实体代码 端口 D 为12 为 12位双向总线 端口 A为12位输出总线 端口 INT 是1位输出 端口 AS 是一位输出同时被用作内部反馈
VHDL语言进行集成电路设计PPT课件
IC 代工厂 fountry
集成电路设计 的工业实现
IP 设计公司
Chipless
2. 无晶圆厂的ASIC公司(Fabless) 3. 制造代工业(Fountry) 4. IP设计业(chipless) 5. 设计代工业(design fou第n3d2r页y/)共35页
1 多项目晶圆的概念 (1)MPW服务业务的社会需求 (2)MPW服务业务的宗旨、作用 (3)MPW服务的发展状况 (4)MPW现状与存在的问题 2 多项目晶圆的实施过程 (1)开发多项目晶圆计划的目的 (2)MPW技术 (3)NRE的概念 (4)MPW服务体系建立的条件 (5)MPW计划对设计资源的整合
• 高层次综合流程
高层次综合范畴
第15页/共35页
设计仿真
• 仿真(emulation),利用计算机硬件平台,EDA工程设计环境, 搭建虚拟的设计系统,在计算机上进行波形分析,时序分析, 功能验证的过程称为仿真。
• EDA工具的不完备,设计项目的修改,描述文件的错误等原因, 都使设计项目需要仿真、验证。
第6章 用VHDL语言进行集成 电路设计
现代电子设计方法
第1页/共35页
概论
本章阐述在VHDL程序设计完成之后,怎样进行处理,才能完成集成电路设计的过 程。 • 计算机的应用促进了新学科的诞生。 • EDA 工程就是以计算机为工作平台,以EDA 软件工具为开发环境,以硬件描述语言为 设计语言,以可编程器件为实验载体,以ASIC、SOC芯片为设计目标,以电子系统设计 为应用方向电子产品自动化设计过程。 • 现代电子设计方法是现代电子设计的基础,是电子线路原理设计,电子系统整机设计, 集成电路芯片设计的方法学。 • 现代电子设计方法的研究目标主要是怎样用VHDL语言设计超大规模专用集成电路 (ASIC),怎样对一片超大规模集成电路进行功能划分,VHDL语言描述、逻辑综合、 仿真分析、形式验证、设计实现是现代电子设计方法要解决的主要问题。
EDA技术及应用 第四章 VHDL设计初步PPT课件
3
4.1 多路选择器的VHDL描述
1. 2选1多路选择器的示意图和真值表
a 0y b1
s
当s=0时,y=a 当s=1时,y=b
absy ax0a xb1b
4
4.1 多路选择器的VHDL描述
2. 2选1多路选择器实现-原理图形输入法
01
10
a0
yy==ab
01
0b
5
4.1 多路选择器的VHDL描述
yasbs
19
4.1 多路选择器的VHDL描述
6. 各种表达式的比较---条件赋值表达式
y <= a WHEN s1=‘0’ ELSE b;
赋值目标 <= 表达式 WHEN 赋值条件 ELSE 表达式 WHEN 赋值条件 ELSE 表达式 WHEN 赋值条件 ELSE 表达式 ;
20
4.1 多路选择器的VHDL描述
14
_ 4.1 多路选择器的VHDL描述 4. 思考 y = ab + c
思考1:画出真值表
abcy
xx11
0 x 0 _0
1b0b 15
_ 4.1 多路选择器的VHDL描述 4. 思考 y = ab + c
思考2:使用原理图方式实现上式功能
16
_ 4.1 多路选择器的VHDL描述 4. 思考 y = ab + c
描述结构体的关键词。
功能描述语句:并行语句,顺序语句
并行语句:WHEN_ELSE,逻辑操作赋值
顺序语句:IF_THEN_ELSE
13
4.1 多路选择器的VHDL描述
3. 相关语句结构和语法-文件名称 文件名称建议和实体名称相同 使用VHDL语句编写:后缀是.vhd 使用Verilog HDL语句编写:后缀是.v 使用原理图输入设计:后缀是.gdf
4.1 多路选择器的VHDL描述
1. 2选1多路选择器的示意图和真值表
a 0y b1
s
当s=0时,y=a 当s=1时,y=b
absy ax0a xb1b
4
4.1 多路选择器的VHDL描述
2. 2选1多路选择器实现-原理图形输入法
01
10
a0
yy==ab
01
0b
5
4.1 多路选择器的VHDL描述
yasbs
19
4.1 多路选择器的VHDL描述
6. 各种表达式的比较---条件赋值表达式
y <= a WHEN s1=‘0’ ELSE b;
赋值目标 <= 表达式 WHEN 赋值条件 ELSE 表达式 WHEN 赋值条件 ELSE 表达式 WHEN 赋值条件 ELSE 表达式 ;
20
4.1 多路选择器的VHDL描述
14
_ 4.1 多路选择器的VHDL描述 4. 思考 y = ab + c
思考1:画出真值表
abcy
xx11
0 x 0 _0
1b0b 15
_ 4.1 多路选择器的VHDL描述 4. 思考 y = ab + c
思考2:使用原理图方式实现上式功能
16
_ 4.1 多路选择器的VHDL描述 4. 思考 y = ab + c
描述结构体的关键词。
功能描述语句:并行语句,顺序语句
并行语句:WHEN_ELSE,逻辑操作赋值
顺序语句:IF_THEN_ELSE
13
4.1 多路选择器的VHDL描述
3. 相关语句结构和语法-文件名称 文件名称建议和实体名称相同 使用VHDL语句编写:后缀是.vhd 使用Verilog HDL语句编写:后缀是.v 使用原理图输入设计:后缀是.gdf
《VHDL电路设计》课件
VHDL在通信系统中 的应用
介绍VHDL在通信系统中的应用, 如协议解析和信道编码。
VHDL在嵌入式系统 中的应用
了解VHDL在嵌入式系统中的应 用,如控制逻辑和外设接口。
第八章:VHDL工具介绍
1 VHDL设计工具
介绍常用的VHDL设计工具,如Xilinx ISE和 Altera Quartus。
第五章:VHDL综合
1 VHDL综合的基本原理
了解VHDL综合的基本原理,以及综合对电路
介绍VHDL综合的流程和常用的综合技术,帮助优化电路设计。
3 综合后的回路分析和测试
学习如何分析和测试经过综合的电路,确保其功能和性能的正确性。
第六章:VHDL实现
VHDL实现的方法和流程
实体和体系结构
学习VHDL中的实体和体系结构的概念,理解电 路建模的核心原理。
信号和变量
了解VHDL中信号和变量的概念,以及它们在电 路设计中的不同作用。
第三章:VHDL建模
VHDL建模方法
介绍VHDL建模的不同方法,并 提供适用于不同场景的建模技 巧。
单元建模
学习如何使用VHDL进行单元级 建模,以便复用和模块化电路 设计。
《VHDL电路设计》PPT课件
# VHDL电路设计 PPT课件 ## 第一章:简介 - 什么是VHDL电路设计 - 为什么需要学习VHDL - VHDL的起源和发展历程
第二章:基础语法
VHDL的语法结构
了解VHDL的语法结构和基本元素,为电路设计 打下坚实的基础。
数据类型和常量
掌握VHDL中的数据类型和常量的使用,以及它 们在电路设计中的应用。
总结
1 VHDL电路设计的关键技术和应用
总结VHDL电路设计中的关键技术和应用,以 帮助学习者加深理解。
第基本逻辑电路的VHDL设计PPT课件
y: OUT STD_LOGIC_VECTOR(2 downto 0));
END;
ARCHITECTURE one OF encoder8_3 IS
BEGIN
第10页/共99页
5.1 组合逻辑电路设计
5.1.2 编码器设计
1. 8线-3线编码器的VHDL描述
when “00000001”=>y<=“000”; -- 接上页
BEGIN
y1<=a and b;
--构成与门
y2<=a or b;
--构成或门
y3<= not a ;
--构成非门
y4<=a nand b;
--构成与非门
y5<=a nor b;
第-7-页构/共成9异9页或 门
5.1 组合逻辑电路设计
5.1.2 编码器设计 在数字系统中,常常需要将某信息变换为某
5.1 组合逻辑电路设计
5.1.4 加法器设计
图5.9 4位二进制全加器的RTL电路图
z: out std_logic_vector(3 downto 0));
end ;
architecture str of decode_24 is
Begin
with a select
z<="0001" when 路设计
5.1.3 译码器设计 1. 2线- 4线译码器
图5.7 2线-4线译码器的仿真波形图
第18页/共99页
5.1 组合逻辑电路设计
5.1.3 译码器设计
2. 7段数码显示译码器设计
7段数码显示译码电路是一个组合逻辑 电路,通常的小规模专用集成IC,如74系列 或4000系列的器件只能作十进制BCD码译 码,然而数字系统中的数据处理和运算都是 2进制的,所以输出表达都是16进制的,为 了满足16进制数的译码显示,最方便的方法 就是利用译码程序在FPGA/CPLD中来实现。
VHDL与数字电路设计PPT课件-第一章VHDL程序的基本结构
END eqcomp4;
ARCHITECTURE dataflow OF eqcomp4 IS BEGIN
equal <= ‘1’ WHEN a=b ELSE ‘0’; END dataflow;
VHDL 对大小写不敏感
每行;结尾 关键字END后 跟实体名
关键字BEGIN
关键字END后 跟构造体名
8
VHDL与数字电路设计
1
h
目录
一 基本结构 二 库和程序包 三 实体 四 结构体 五 配置
2
h
1、基本结构
如图代表的是一个芯片的内部俯视图,下面范例 介绍如何使用VHDL程序设计该芯片电路。
Pin48
Pin7
3
h
LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; USE IEEE.std_logic_arith.ALL; USE IEEE.std_logic_unsigned.ALL;
h
2、库和程序包
LIBRARY(库)是用于存放预先编译好的设计单元(实体 说明、结构体、配置说明、程序包说明和程序包体等)。
PACKAGE (程序包)中定义了基本的常数,数据类型,元 件及子程序等。
作用:
声明在实体和结构体定义中将用到的数据类型、元件 或子程序等。
声明格式:
LIBRARY <库名>; USE <库名>.<程序包名>.ALL; USE <库名>.<程序包名>.<程序包中的项目>;
LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; USE IEEE.std_logic_arith.ALL; USE IEEE.std_logic_unsigned.ALL;
ARCHITECTURE dataflow OF eqcomp4 IS BEGIN
equal <= ‘1’ WHEN a=b ELSE ‘0’; END dataflow;
VHDL 对大小写不敏感
每行;结尾 关键字END后 跟实体名
关键字BEGIN
关键字END后 跟构造体名
8
VHDL与数字电路设计
1
h
目录
一 基本结构 二 库和程序包 三 实体 四 结构体 五 配置
2
h
1、基本结构
如图代表的是一个芯片的内部俯视图,下面范例 介绍如何使用VHDL程序设计该芯片电路。
Pin48
Pin7
3
h
LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; USE IEEE.std_logic_arith.ALL; USE IEEE.std_logic_unsigned.ALL;
h
2、库和程序包
LIBRARY(库)是用于存放预先编译好的设计单元(实体 说明、结构体、配置说明、程序包说明和程序包体等)。
PACKAGE (程序包)中定义了基本的常数,数据类型,元 件及子程序等。
作用:
声明在实体和结构体定义中将用到的数据类型、元件 或子程序等。
声明格式:
LIBRARY <库名>; USE <库名>.<程序包名>.ALL; USE <库名>.<程序包名>.<程序包中的项目>;
LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; USE IEEE.std_logic_arith.ALL; USE IEEE.std_logic_unsigned.ALL;
VHDL电路设计.ppt
LPM函 数应用
完成数字电子 技术课程基本 电路的设计
培养学生严谨、 务实、创新和
团结协作的精神
VHDL电路设计说课稿
二、课程特色—教学理念
产品开发
基
企业文化
于
E
技术资料的检索能力
认真严谨
基
于
D A 技 术 的 能 力
EDA器件的选配能力 仿真和开发工具的使用能力 基本电路配置及设计能力
电路的测试与分析能力
突注 出重 职职 业业 能素 力养
EDA技术与VHDL实用教程
FPGA/CPLD 芯片
ASIC、SOC 芯片
一、课程的设置—课程的性质
传统电路设计流程
1、实践性
焊接安装
调试
2、技术性 3、专业性
EDA设计流程
编程下载至芯片
EDA技术与VHDL实用教程
一、课程的设置—课程的性质
代表电子设计技术和应 用技术的发展方向
已经广泛应用于社会的 各个领域
一、课程的设置—课程的性质
VHDL电路设计(EDA技术)即电子设计自动化技术以计算机为工作平 台,以EDA软件工具为开发环境,以硬件描述语言VHDL为设计语言,以 可编程器件FPGA/CPLD为实验载体,以ASIC、SOC芯片为目标器件,以 电子系统设计为应用方向的电子产品自动化设计过程。
QUARTUSⅡ 等软件和 VHDL等源程 序
30岁以下10%
副高以上68%
30-45岁70%
学历结构:均为本科以上学历,6名教师具有研究生学历,占30%。 双师结构:教师“双师” 100%。
VHDL电路设计说课稿
三、教学团队与教学资源—教材分析
曾经使用的理论教材 正在使用的理论教材
《VHDL程序设计基础》课件
语法格式
library library_name; use library_name.packag e_name.item;
库的使用
在程序中引用库中的函 数、过程、数据类型等 。
示例
library IEEE; use IEEE.STD_LOGIC_116 4.ALL;
程序包(Package)
01 程序包描述
并行赋值语句
同时对多个信号进行赋值操作。
生成语句
用于生成多个相似的电路结构, 如多路选择器、译码器等。
04 VHDL设计方法
自顶向下设计方法
总词
从整体到局部的设计方法
详细描述
自顶向下设计方法是一种从整体到局部的设计方法,首先确定系统的整体结构 和功能,然后逐步细化各个模块的设计,最终完成整个系统的设计。这种方法 有助于提高设计的层次性和模块化,便于设计和调试。
状态机设计
总结词
通过实例演示如何使用VHDL设计状态机。
详细描述
介绍状态机的基本概念和设计方法,包括状态图的绘制、状 态转移的实现等。通过具体的VHDL代码实现一个有限状态机 ,并解释代码中的各个部分。
06 VHDL仿真与验证
仿真工具与流程
仿真工具
ModelSim、Vivado Simulation等常用的 VHDL仿真工具,支持多种仿真算法和精度 。
02 语法格式
03 包的内容
04 包的使用
05 示例
程序包是库的子集,用于 组织相关的函数、过程、 数据类型等。
package package_name is
在包中声明函数、过程、 数据类型等。
在其他程序中引用包中的 内容。
package logic_operators is function AND (A, B: in std_logic) return std_logic; function OR (A, B: in std_logic) return std_logic; end logic_operators;
用VHDL语言设计基本逻辑电路PPT课件
第41页/共124页
3.3.1 1、Clock Signals Clock Signals and Clear Si gn al s 任何时序电路都以时钟信号为驱动信号,时序电路只是在时钟信号的边沿到来时,其状态才发
生改变。因此,时钟信号通常是描述时序电路的程序执行的条件。另外,时序电路也总是以时钟进程 形式来进行描述的,其描述方式一般有两种:
第10页/共124页
BEGIN
din<=d3&d2&d1&d0; --&为并置运算符
PROCESS(din)
BEGIN CASE din IS
--abcdefg,输出的7段码
WHEN “0000”=> dout<= “1111110”; --显示0 WHEN "0001"=> dout<= "0110000"; --显示1
WHEN "0010"=> dout<= "1101101"; --显示2
WHEN "0011"=> dout<= "1111001"; --显示3
WHEN "0100"=> dout<= "0110011"; --显示4
WHEN "0101"=> dout<= "1011011"; --显示5 WHEN "0110"=> dout<= "1011111"; --显示6
第43页/共124页
f.e. 1
第44页/共124页
2)用进程中的WAIT ON语句等待时钟 在这种情况下,描述时序电路的进程将没有敏感信号,而是用
3.3.1 1、Clock Signals Clock Signals and Clear Si gn al s 任何时序电路都以时钟信号为驱动信号,时序电路只是在时钟信号的边沿到来时,其状态才发
生改变。因此,时钟信号通常是描述时序电路的程序执行的条件。另外,时序电路也总是以时钟进程 形式来进行描述的,其描述方式一般有两种:
第10页/共124页
BEGIN
din<=d3&d2&d1&d0; --&为并置运算符
PROCESS(din)
BEGIN CASE din IS
--abcdefg,输出的7段码
WHEN “0000”=> dout<= “1111110”; --显示0 WHEN "0001"=> dout<= "0110000"; --显示1
WHEN "0010"=> dout<= "1101101"; --显示2
WHEN "0011"=> dout<= "1111001"; --显示3
WHEN "0100"=> dout<= "0110011"; --显示4
WHEN "0101"=> dout<= "1011011"; --显示5 WHEN "0110"=> dout<= "1011111"; --显示6
第43页/共124页
f.e. 1
第44页/共124页
2)用进程中的WAIT ON语句等待时钟 在这种情况下,描述时序电路的进程将没有敏感信号,而是用
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PORTS
端口(PORT)是实体的一部分 – PORT 类似于器件的管脚,主要用于信号的传输 – PORT 一般有 Name, Mode, 和 Type 端口说明格式 PORT ([SIGNAL] Name:Mode Type [BUS] [:=表达式 ] ,… )
端口模式
Entity
IN: 数据只能从端口流入实体 OUT: 数据只能从端口流出实体 INOUT: 数据从端口流入或流出实体 BUFFER: 数据从端口流出实体,同时可被 内部反馈
VHDL M o d el
VHDL T estB en ch
S im u la tio n C o m p iler
S im u la tio n M o d el VHDL S im u la tio n
T est V ecto rs
W a v efo rm
T ex t O u tp u t
第二部分
S y n th esis C o m p iler
T im in g A n a ly sis
N etlist
P la ce/R o u te
T ex t O u tp u t S im u la tio n W a v efo rm T est V ecto rs
典 型 的 仿 真 流 程
VHDL L ib ra ry
VHDL设计方法
—用VHDL语言实现可编程数字系统设计
VHDL设计方法
VHDL概述
VHDL的设计单元
VHDL的基本语法结构
第一部分
VHDL 概述
VHDL的含义
VHSIC (Very High Speed Integrated Circuit) Hardware Description Language
实体举例
ENTITY black_box IS Generic ( constant width : integer := 7;); PORT ( 关键字 clk, rst: IN std_logic; d: 类属参量 IN std_logic_vector(width DOWNTO 0); 端口定义 q: OUT std_logic_vector(width DOWNTO 0); co: OUT std_logic); 黑盒 END black_box;
端口模式端口数 据类型 实体结束
rst d[7:0] clk
q[7:0] co
Generic
类属参量 一种端口界面常数,用来规定端口的大小、 实体中子元件的数目等 与常数不同,常数只能从内部赋值而类属参量 可以由实体外部赋值 数据类型通常取Integer或Time 综合器仅支持数据类型为整数的类属值。
相关术语
HDL—用来建立硬件电路模型的程序语言 行为描述模型— 用输入/输出响应来描述器件的模型 结构描述模型— 用更低层次的器件的互连来描述器 件的模型 寄存器传输级(RTL)—用于综合的一种行为描述模型 综合(Synthesis)—将HDL转换为电路并对该电路进行 一定的优化 RTL Synthesis —将硬件的RTL模型转化为某种优化的 特殊的门级电路来具体实现
VHDL特点
与其他的硬件描述语言相比,VHDL具有更强的行为描述能 力 VHDL丰富的仿真语句和库函数,使得在设计的早期就能查 验设计系统的功能可行性,随时可对设计进行仿真模拟 VHDL语句的行为描述能力和程序结构决定了他具有支持大 规模设计的分解和已有设计的再利用功能 对于用VHDL完成的一个确定的设计,可以利用EDA工具进 行逻辑综合和优化,并自动的把VHDL描述设计转变成门级 网表 VHDL对设计的描述具有相对独立性,设计者可以不懂硬件 的结构,也不必管理最终设计实现的目标器件是什么,而进 行独立的设计
VHDL历史
1982年, 诞生于美国国防部赞助的VHSIC项目 1987年底,VHDL被IEEE和美国国防部确认为标
准硬件描述语言 ,即IEEE-1076(简称87版)
1993年,IEEE对VHDL进行了修订,公布了新版
本的VHDL,即IEEE标准的1076-1993(1164)版本
1996年,IEEE-1076.3成为VHDL综合标准
数据类型
枚举类型:用户定义的数据类型 例: TYPE traffic_light IS (red, yellow,green ) TYPE int IS RANGE 0 TO 100 signal a : traffic_light ; 数组类型:分一维数组和二维数组,限定性和非限定性数组 例: TYPE Bit_Vector IS ARRAY (Natural RANGE<>) OF Bit; TYPE Word IS ARRARY (31 downto 0) OF Bit; SUBTYPE:子类型,一般用来对其父类型加以限制 例: SUBTYPE Std_Logic IS resolved Std_Ulogic TIME:时间类型,范围和整型一样,表达时要包括数值和 单位两部分。单位包括:fs、ps、ns、us、ms、sec、min、 hr。一般用于仿真,对于逻辑综合来说意义不大。
VHDL的设计单元
VHDL的设计单元
Entity(实体) 用来说明模型的外部输入输出特征 Architecture(构造体) 用来定义模型的内容和功能 每一个构造体必须有一个实体与它相对应,所 以两者一般成对出现
实体
类似一个“黑盒”,实体描述了“黑盒”的输 入输] co clk
数据类型
BIT :位类型,其值只能为 ‘0’或 '1‘ BIT_VECTOR :位矢量类型,是基于BIT数据类型的数组。 使用位矢量必须注明宽度,即数组中的元素个数和排列。 BOOLEAN:布尔类型,其值可为 ‘TRUE’或‘FALSE’ INTEGER:整型,范围为-214783647到214783647(232-1), 综合时,要对范围加以限制。常用于循环语句的循环次数、 常量、数学函数或模式仿真 Natural:自然数类型,整型的子类型,含零和正整数 Positive:正整数类型,整型的子类型,含非零和非负整数 REAL:浮点类型,范围为:-1.0E38到1.0E38很多综合器 不支持该类型,仅能在仿真器中使用。
VHDL与其他HDL比较
VHDL
—“告诉我你想要电路做什么,我给你提供能 实现这个功能的硬件电路”
—和VHDL类似 —“告诉我你想要什么样的电路,我给你提供 这样的电路”
Verilog
ABEL、AHDL
典 型 的 综 合 流 程
VHDL L ib ra ry
VHDL M o d el
T ech n o lo g y L ib ra ry