当前课程知识点:EDA技术与应用 >  第四章 VHDL语言概述 >  4.3 库和库声明 >  4.3.2 库和库声明 教学视频

返回《EDA技术与应用》慕课在线视频课程列表

4.3.2 库和库声明 教学视频在线视频

下一节:4.3.4库和库声明 讨论

返回《EDA技术与应用》慕课在线视频列表

4.3.2 库和库声明 教学视频课程教案、知识点、字幕

同学们好

本讲我们来学习

VHDL中的库和库的声明

VHDL语言中的库

Library是一些常用代码的集合

库的建立和应用

可以使我们编写的代码

结构更加简洁流畅,效率更高

首先,我们来看什么是库

再利用VHDL进行电路设计的时候

为了提高设计效率

并且使我们的设计

能够遵循某些统一的

语言标准或数据格式

有必要将一些经常使用的代码

存放到库中

以便于设计的重用和代码的共享

这些代码通常会以函数(FUNCTION)

过程(PROCESS)

或元件(COMPONENT)

等标准形式保存在程序包(PACKAGE)中

而这些程序包又分别存放在不同的库中

VHDL中常用的库主要有三个

ieee库、std库和work库

ieee库是VHDL设计中最常用的库

它包含了许多ieee标准的程序包

和其他一些支持工业标准的程序包

通常,对于FPGA和CPLD的开发来说

ieee库中的四个程序包就已经足够用了

这四个程序包分别是

std_logic_1164程序包

在这个程序包中定义了

std_logic等多值逻辑系统

第二个是std_logic_arith程序包

这个程序包主要定义了

sigend(有符号数)和

unsigend(无符号数)等数据类型

以及相关的算术运算和比较运算操作符

另外,这个程序包中

还包含许多用于数据类型转换的函数

可以实现不同数据类型之间的转换

第三个是std_logic_signed程序包

这个程序包内部包含一些函数

可以使std_logic_vector类型的数据

像signed(有符号数)类型的数据一样

很方便地进行运算操作

第四个是std_logic_unsigned程序包

这个程序包内部包含一些函数

可以使std_logic_vector类型的数据

像unsigned(无符号)类型的数据一样

进行运算操作

在这些程序包中

std_logic_1164程序包

是最重要和最常用的

大部分数字系统的设计

都要用到这个程序包

std库是VHDL设计环境的标准资源库

主要包括数据类型和输入输出文本等内容

std库中包含standard

和textio两个程序包

work库是当前工作库

用户当前设计的所有代码

都存放在work库中

在使用库之前

需要首先对库进行声明

经过声明之后

在设计中就可以调用库中的代码了

库声明的方式非常简单

主要是由LIBRARY语句和

USE语句来完成的

其中LIBRARY和USE

是VHDL语言中保留的关键字

用于进行库声明

和库中包含的程序包的声明

library_name

是需要声明的库的名称

package_name

是库中某个程序包的名称

package_parts是该程序包中

所包含的一些项目的名称

如果需要调用该程序包中的所有项目

就可以用“all”代替项目名

例如, LIBRARY ieee;

USE ieee.std_logic_1164.all;

上述两条语句就完成了对ieee库的声明

和对ieee库中

ieee.std_logic_1164程序包的声明

以及该程序包中所包含的全部项目的声明

在VHDL语言中,

用分号表示一个语句和声明的结束

当出现“--”时

表示后面的文字是对程序的注解

综上所述

库声明需要用到两条语句

分别用关键字LIBRARY和USE开头

第一条语句声明了设计中可以使用ieee库

第二条语句声明使用ieee库的

ieee.std_logic_1164程序包的所有项目

需要注意的是ieee库

是按照国际ieee组织

制定的工业标准进行编写的

是内容丰富的标准资源库

但是ieee库

并非符合VHDL标准的库

所以在使用前必须进行上述的声明

而std库和work库

是符合未VHDL标准的库

在VHDL代码中是默认可见的

因此在使用前无需作上述声明

在VHDL语言中

库就像是一种用来存储预先完成的程序包

数据类型和元件的“仓库”

库里的元素

可以帮助我们更有效的编写VHDL代码

因此,我们需要了解

在设计中有哪些“仓库”是经常用到的

以及这些“仓库”里都有哪些东西

如果要使用库里的元素

就必须在设计中

首先打开这个“仓库”的大门

这就是库声明的功能

好,本讲到这里就结束了

同学们,再见!

EDA技术与应用课程列表:

第一章 EDA技术概述

-1.1 EDA技术概述

--1.1.1 EDA技术概述 导学

--1.1.2 EDA技术概述 教学视频

--1.1.3 EDA技术概述 单元测验

--1.1.4 EDA技术概述 讨论

第二章 可编程逻辑器件概述

-2.1 可编程逻辑器件(PLD)概述

--2.1.1 可编程逻辑器件 导学

--2.1.2 可编程逻辑器件概述 教学视频

--2.1.3 可编程逻辑器件概述 单元测验

--2.1.4 可编程逻辑器件概述 讨论

-2.2 CPLD的结构和原理

--2.2.1 CPLD结构和原理 导学

--2.2.2 CPLD的结构和原理 教学视频

--2.2.3 CPLD的结构和原理 单元测验

--2.2.4 CPLD的结构和原理 讨论

-2.3 FPGA的结构和原理

--2.3.1 FPGA的结构和原理 导学

--2.3.2 FPGA的结构和原理 教学视频

--2.3.3 FPGA的结构和原理 单元测验

--2.3.4 FPGA的结构和原理 讨论

-2.4 FPGA和CPLD的选用

--2.4.1 FPGA和CPLD的选用 导学

--2.4.2 FPGA和CPLD的选用 教学视频

--2.4.3 FPGA和CPLD的选用 单元测验

--2.4.4 FPGA和CPLD的选用 讨论

-2.5 FPGA与CPLD的编程和配置

--2.5.1 FPGA与CPLD的编程与配置 导学

--2.5.2 FPGA与CPLD的编程与配置 教学视频

--2.5.3 FPGA与CPLD的编程与配置 单元测验

--2.5.4 FPGA与CPLD的编程与配置 讨论

第三章 EDA开发平台——QuartusII应用

-3.1 QuartusII概述

--3.1.1 Quartus Ⅱ概述 导学

--3.1.2 Quartus Ⅱ概述 教学视频

--3.1.3 Quartus Ⅱ概述 单元测验

--3.1.4 Quartus Ⅱ概述 讨论

-3.2 新建工程

--3.2.1 新建工程 导学

--3.2.2 新建工程 教学视频

--3.2.3 新建工程 单元测验

-3.3 设计输入

--3.3.1 设计输入 导学

--3.3.2 设计输入 教学视频

--3.3.3 设计输入 单元测验

--3.3.4 设计输入 讨论

-3.4 设计编译

--3.4.1 设计编译 导学

--3.4.2 设计编译 教学视频

--3.4.3 设计编译 单元测验

--3.4.4 设计编译 讨论

-3.5 仿真验证

--3.5.1 仿真验证 导学

--3.5.2 仿真验证 教学视频

--3.5.3 仿真验证 单元测验

--3.5.4 仿真验证 讨论

-3.6 器件编程

--3.6.1 器件编程 导学

--3.6.2 器件编程1 教学视频

--3.6.3 器件编程2 教学视频

--3.6.4 器件编程 单元测验

--3.6.5 器件编程 讨论

-3.7层次化设计

--3.7.1 层次化设计 导学

--3.7.2 层次化设计 教学视频

--3.7.3 层次化设计 单元测验

--3.7.4 层次化设计 讨论

-3.8 宏功能模块的使用

--3.8.1 宏功能模块的使用 导学

--3.8.2 宏功能模块的使用 教学视频

--3.8.3 宏功能模块的使用 单元测验

--3.8.4 宏功能模块的使用 讨论

第四章 VHDL语言概述

-4.1 VHDL语言概述

--4.1.1 VHDL概述 导学

--4.1.2 VHDL语言概述 教学视频

--4.1.3 VHDL语言概述 单元测验

--4.1.4 VHDL概述 讨论

-4.2 VHDL代码的结构

--4.2.1 VHDL代码的结构 导学

--4.2.2 VHDL代码的结构 教学视频

--4.2.3 VHDL代码的结构 单元测验

--4.2.4 VHDL代码的结构 讨论

-4.3 库和库声明

--4.3.1 库和库声明 导学

--4.3.2 库和库声明 教学视频

--4.3.3 库和库声明 单元测验

--4.3.4库和库声明 讨论

-4.4 实体说明

--4.4.1 实体说明 导学

--4.4.2 实体说明 教学视频

--4.4.3 实体说明 单元测验

--4.4.4 实体说明 讨论

-4.5 结构体

--4.5.1 结构体 导学

--4.5.2 结构体 教学视频

--4.5.3 结构体 单元测验

--4.5.3 结构体 讨论

-4.6 VHDL预定义数据类型

--4.6.1 VHDL预定义数据类型 导学

--4.6.2 VHDL预定义数据类型 教学视频

--4.6.3 VHDL预定义数据类型 单元测验

--4.6.4 VHDL预定义数据类型 讨论

-4.7 常量、变量和信号

--4.7.1 常量、变量和信号 导学

--4.7.2 常量、变量和信号 教学视频

--4.7.3 常量、变量和信号 单元测验

--4.7.4 常量、变量和信号 讨论

-4.8 运算操作符和属性

--4.8.1 运算操作符和属性 导学

--4.8.2 运算操作符和属性 教学视频

--4.8.3 运算操作符和属性 单元测验

--4.8.4 运算操作符和属性 讨论

-4.9 IF语句和WAIT语句

--4.9.1 IF语句和WAIT语句 导学

--4.9.2 IF语句和WAIT语句 教学视频

--4.9.3 IF语句和WAIT语句 单元测验

--4.9.4 IF语句和WAIT语句 讨论

-4.10 CASE语句

--4.10.1 CASE语句 导学

--4.10.2 CASE语句 教学视频

--4.10.3 CASE语句 单元测验

--4.10.4 CASE语句 讨论

-4.11 LOOP循环语句

--4.11.1 LOOP循环语句 导学

--4.11.2 LOOP循环语句 教学视频

--4.11.3 LOOP循环语句 单元测验

--4.11.4 LOOP循环语句 讨论

-4.12 进程

--4.12.1 进程 导学

--4.12.2 进程 教学视频

--4.12.3 进程 单元测验

--4.12.4 进程 讨论

-4.13 条件信号赋值语句

--4.13.1 条件信号赋值语句 导学

--4.13.2 条件信号赋值语句 教学视频

--4.13.3 条件信号赋值语句 单元测验

-4.14 选择信号赋值语句

--4.14.1 选择信号赋值语句 导学

--4.14.2 选择信号赋值语句 教学视频

--4.14.3 选择信号赋值语句 单元测验

-4.15 元件例化语句

--4.15.1 元件例化语句 导学

--4.15.2 元件例化语句 教学视频

--4.15.3 元件例化语句 单元测验

--4.15.4 元件例化语句 讨论

-4.16 VHDL模块化设计

--4.16.1 VHDL模块化设计

--4.16.2 VHDL模块化设计 教学视频

--4.16.3 VHDL模块化设计 单元测验

--4.16.4 VHDL模块化设计 讨论

第五章 设计方法概述

-5.1 设计方法概述

--5.1.1 设计方法概述 导学

--5.1.2 设计方法概述 教学视频

--5.1.3 设计方法概述 单元测验

--5.1.4 设计方法概述 讨论

-5.2 EDA综合设计案例(1)— 数字钟的设计

--5.2.1 EDA综合设计案例1 导学

--5.2.2 EDA综合设计设计案例1— 数字钟的设计 教学视频

--5.2.3 EDA综合设计案例1 单元测验

--5.2.4 EDA综合设计案例1 讨论

-5.3 EDA综合设计案例(2)—16×16点阵控制器设计

--5.3.1 EDA综合设计案例2 导学

--5.3.2 EDA综合设计案例2—16×16点阵控制器设计 教学视频

--5.3.3 EDA综合设计案例2 单元测验

--5.3.4 EDA综合设计案例2 讨论

思政教育

-国产EDA技术如何突破?

4.3.2 库和库声明 教学视频笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。