VHDL复习笔记(三)

一、VHDL具体特点

  (1)支持系统级到门级电路的描述,既支持自底向上的设计也支持自顶向下的设计,同时也支持结构、行为和数据流三种形式的混合描述。
    (2)VHDL的设计单元的基本组成部分是实体entity和结构体(architecture)、实体包含设计系统单元的输入和输出端口信息,结构体描述设计单元的组成共和行为,便于各模块之间数据传输。利用单元&nbsp(Componet)、块(block)、过程(procedure)、函数(function)等语句,用结构化、层次化的描述方法,使复杂电路设计更简单。采用包的概念,便于标准设计文档资料的保存和广泛使用。
       (3)VHDL有常数、信号、变量三种数据对象,每一种数据对象都要指定数据类型。VHDL的数据类型丰富,有数值数据类型和逻辑数据类型,有位型和位向量型。VHDL既支持预定义的数据类型,又支持自定义的数据类型,其定义的数据类型具有明确的物理意义。VHDL是强类型语言。
  (4)数字系统有组合电路和时序电路,时序电路又分为同步和异步,电路的动作行为有串行和并行,VHDL常用语句分为并行语句和顺序语句,完全能够描述复杂的电路结构和行为状态。

二、VHDL的基本结构

  第一部分是程序包,程序包是用VHDL编写的共享文件,定义在设计结构体和实体中将用到的常数、数据类型、子程序和设计好的电路单元等,放在文件目录名称为IEEE的程序包中。
  第二部分是程序的实体,定义电路单元的输入输出引脚信号。程序实体名称任意,但是必须要跟VHDL程序的文件名相同。
  第三部分是程序的结构体,具体描述电路的内部结构和逻辑功能。结构体有三种描述方式,分别是行为描述方式、数据流(dataflow)描述方式和结构体描述方式,其中数据流描述方式又称为寄存器(RTL)描述方式。
端口信号输入/输出状态有以下几种:

  • IN——信号进入电路单元。
  • OUT——信号从电路单元输出。
  • INOUT——信号是双向的,既可以进入电路单元也可以从电路单元输出。
  • BUFFER——信号从电路单元输出,同时在电路单元内部可以使用该输出信号。

常用的端口信号的数据类型
  1)位(BIT)型:表示一位信号的值,可以取值0和1,放在单引号里面表示。
  2)位向量(BIT_VECTOR)型:表示一组位型信号值,在使用时必须标明位向量的宽度和位向量的排列顺序。
  3)标准逻辑位(STD_LOGIC)型:IEEE标准的逻辑类型。
  4)标准逻辑位向量(STD_LOGIC_VECTOR)型:IEEE标准的逻辑向量,表示一组标准逻辑位型信号值。
结构体
  结构体有三种描述方式,分别是行为描述方式、数据流描述方式和结构描述方式。
  结构体说明语句是对结构体中用到的数据对象的数据类型、元件和子程序加以说明。电路描述语句用并行语句来描述电路的各种功能,这些并行语句包括并行信号幅值语句、条件幅值语句、进程语句、元件例化语句和子程序调用语句等。

库名程序包名定义的内容
STDSTANDARD TEXTIO定义VHDL的数据类型,如BIT、BIT_VECTOR等;TEXT读写控制数据类型和子程序等
IEEESTD_LOGIC_1164定义STD_LOGIC、STD_LOGIC_VECTOR等
IEEESTD_LOGIC_ARITH定义有符号与无符号数据类型,基于这些数据类型的算术运算符
IEEESTD_LOGIC_signed定义STD_LOGIC与STD_LOGIC_VECTOR数据类型上有符号的算数运算
IEEESTD_LOGIC_unsigned定义STD_LOGIC、STD_LOGIC_VECTOR数据类型上无符号的算数运算

其中work库。work库是用户进行VHDL设计的当前目录,用于存放用户设计好的设计单元和程序包。在使用该库中的内容时不需要进行任何说明。
用户在用到标准程序包中的内容时,除了STANDARD程序包以外,都要在设计程序中加以说明。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值