VHDL语言基础-程序的其它构件

目录

块:

格式:

块——example:

函数:

格式:

函数——example:

过程:

格式:

函数和过程的异同点:

程序包:

格式:

Example 定义程序包:

Example 使用程序包:

程序包——TEXTIO程序包


块:

块 (BLOCK ) 是VHDL中的 种划分机制 中的 一种划分机制,它允许设计者将一个模块划分成数个区域

格式:

注意:BLOCK方式的划分结构只是形式上的,在综合后硬件结构的逻辑层次不会增加,跟元件例化是不同的

块——example:


函数:

在VHDL中有多种函数形式,包括用户自定义的函数和库中现成的具有专用功能的预定义函数

格式:

注意:参数表可以使信号或常数 参数表需要放在关键字CONSTANT 或SIGNAL之后如果没有特别说明,默认为常数

函数——example:


过程:

过程(PROCEDURE)与函数一样,也有两部分组成,过程首和过程体

格式:

过程参数表中的参数需要IN OUT INOUT定义其工作模式

如果 一个过程是在进程中调用,且这个进程已列出敏感参数表,则不能在此过程中使用WAIT语句


函数和过程的异同点:

  • 两者都可用于数值计算、类型转换、或有关设计中的描述;
  • 两者里面都必须是顺序语句,并且不能说明信号
  • 过程参数表一般要定义参量的流向模式,如果没有指定,默认为IN
  • 过程中可以有WAIT语句(但综合器一般不支持), 函数中能不能
  • 过程有多个返回值,函数只有一个返回值;

程序包:

程序包 (PACKAGE PACKAGE )是 种使已定义的常数 是 一种使已定义的常数 、数据类型 、函数、过程等能被其他设计共享的一种数据结构

格式:

Example 定义程序包:

Example 使用程序包:

程序包——TEXTIO程序包

猜你喜欢

转载自blog.csdn.net/weixin_50932441/article/details/128940834