当前课程知识点:EDA技术与应用 > 第四章 VHDL语言概述 > 4.1 VHDL语言概述 > 4.1.2 VHDL语言概述 教学视频
同学们,大家好
本讲我们开始学习VHDL语言的知识
首先,我们先来了解一下
VHDL语言的基本概况
VHDL是一种硬件描述语言
设计者可以通过VHDL
对电路和系统的行为进行描述
基于这种描述
结合相应的eda软件工具
就可以得到所预期的实际电路和系统
VHDL的含义是VHSIC
Hardware Description Language
即VHSIC硬件描述语言
其中,VHSIC
是超高速集成电路的缩写
它是20世纪80年代
在美国国防部的资助下开展的一项研究
正是在这项研究中
形成了早期的VHDL语言
VHDL是IEEE
也就是美国电气电子工程师协会
指定为规范的第一种硬件描述语言
规范版本是IEEE 1076
后来
在1076版规划的基础上
又引入了多值系统
形成了目前使用的
IEEE 1164版本规范
VHDL之所以被广泛应用
其原因在于
它是一种标准化的语言
是与工具和工艺无关的
因此,可以很方便的进行移植和重用
VHDL语言
两个最直接的应用领域
就是可编程逻辑器件
和专用集成电路(ASIC)的设计与开发
其中,可编程逻辑器件
包括复杂可编程逻辑器件CPLD
和现场可编程门阵列FPGA
设计者完成一段VHDL代码的编写后
可以通过Altera
或Xilinx的可编程器件
来实现整个电路
或者把它提交给专业的生产厂商
用于ASIC的生产
这也是目前许多复杂的商用芯片
所采用的主要实现途径
还有一点需要强调的是
和常规的按顺序执行的计算机程序不同
VHDL语句必须是并发执行的
因此我们通常称之为VHDL代码
而不是程序
在VHDL中
只有在进程、函数或过程内部的语句
才是顺序执行的
前面讲到
通过EDA工具软件
对VHDL代码进行综合
可以在可编程器件中实现所需要的电路
下图是采用VHDL
进行设计和综合的流程
设计的第一个阶段是编写VHDL代码
并保存成一个扩展名为.vhd的文件
代码编写完成后进入综合阶段
首先是进行代码的编译
把寄存器传输级
即RTL级的VHDL代码
转换成门级网表
然后根据电路的工作速度
占用硬件资源大小等要求
对门级网表进行优化
在综合阶段
可以对设计进行仿真
如果在仿真中发现问题
还可以返回代码编写阶段进行修改
然后再重新进行综合
仿真通过后
EDA工具软件中的布局布线工具
可以在具体的CPLD
或FPGA器件上
对各种电路单元进行布局布线工作
或者生成ASIC掩膜文件
用于ASIC的生产
基于VHDL的电子设计自动化技术
离不开相关工具软件的支持
目前,有很多种EDA工具
支持采用VHDL进行电路的设计
综合、仿真和实现
主流的可编程器件生产厂商
会把使用VHDL进行电路设计
所需要的多种EDA工具
集成在一起
形成统一的开发平台
提供给用户
以便于进行针对本公司
可编程器件产品的开发
目前比较常用的是
Altera公司的QuartusII开发平台
和Xilinx公司的ISE开发平台
这些平台中
使用的综合工具和仿真工具
通常由专业的EDA厂商提供
而这些厂商
也推出一些具有标准接口的
专业的EDA设计工具
如,Synplicity公司的
综合工具Synplify
和Mentor Graphics公司的仿真工具
ModelSim等
正是在这些工具软件的帮助下
我们才能够利用VHDL语言
完成电子系统的设计与实现
硬件描述语言
是eda技术的重要组成部分
而VHDL又是目前使用最多的
硬件描述语言之一
VHDL语言具有很强的
电路描述和建模能力
能够从多个层次
对数字系统进行建模和描述
与功能强大的EDA软件工具相结合
极大的简化了硬件设计任务
提高了设计效率和可靠性
好,本讲到这里就结束了。
同学们再见!
-1.1 EDA技术概述
--1.1.3 EDA技术概述 单元测验
-2.1 可编程逻辑器件(PLD)概述
--2.1.3 可编程逻辑器件概述 单元测验
-2.2 CPLD的结构和原理
--2.2.3 CPLD的结构和原理 单元测验
-2.3 FPGA的结构和原理
--2.3.3 FPGA的结构和原理 单元测验
-2.4 FPGA和CPLD的选用
--2.4.3 FPGA和CPLD的选用 单元测验
-2.5 FPGA与CPLD的编程和配置
--2.5.3 FPGA与CPLD的编程与配置 单元测验
-3.1 QuartusII概述
--3.1.3 Quartus Ⅱ概述 单元测验
-3.2 新建工程
--3.2.3 新建工程 单元测验
-3.3 设计输入
--3.3.3 设计输入 单元测验
-3.4 设计编译
--3.4.3 设计编译 单元测验
-3.5 仿真验证
--3.5.3 仿真验证 单元测验
-3.6 器件编程
--3.6.4 器件编程 单元测验
-3.7层次化设计
--3.7.3 层次化设计 单元测验
-3.8 宏功能模块的使用
--3.8.3 宏功能模块的使用 单元测验
-4.1 VHDL语言概述
--4.1.3 VHDL语言概述 单元测验
-4.2 VHDL代码的结构
--4.2.3 VHDL代码的结构 单元测验
-4.3 库和库声明
--4.3.3 库和库声明 单元测验
-4.4 实体说明
--4.4.3 实体说明 单元测验
-4.5 结构体
--4.5.3 结构体 单元测验
-4.6 VHDL预定义数据类型
--4.6.3 VHDL预定义数据类型 单元测验
-4.7 常量、变量和信号
--4.7.3 常量、变量和信号 单元测验
-4.8 运算操作符和属性
--4.8.3 运算操作符和属性 单元测验
-4.9 IF语句和WAIT语句
--4.9.3 IF语句和WAIT语句 单元测验
-4.10 CASE语句
--4.10.3 CASE语句 单元测验
-4.11 LOOP循环语句
--4.11.3 LOOP循环语句 单元测验
-4.12 进程
--4.12.3 进程 单元测验
-4.13 条件信号赋值语句
--4.13.3 条件信号赋值语句 单元测验
-4.14 选择信号赋值语句
--4.14.3 选择信号赋值语句 单元测验
-4.15 元件例化语句
--4.15.3 元件例化语句 单元测验
-4.16 VHDL模块化设计
--4.16.3 VHDL模块化设计 单元测验
-5.1 设计方法概述
--5.1.3 设计方法概述 单元测验
-5.2 EDA综合设计案例(1)— 数字钟的设计
--5.2.2 EDA综合设计设计案例1— 数字钟的设计 教学视频
--5.2.3 EDA综合设计案例1 单元测验
-5.3 EDA综合设计案例(2)—16×16点阵控制器设计
--5.3.2 EDA综合设计案例2—16×16点阵控制器设计 教学视频
--5.3.3 EDA综合设计案例2 单元测验