VHDL小知识

FPGA知识
CPLD知识
Verilog知识
VHDL入门与概述
  • 什么是VHDL?
  • HDL语言的种类
  • VHDL程序的实体
       VHDL实体的组成
         类型说明
         端口说明
         实体说明
  • VHDL程序的结构体
        结构体命名
        信号定义

         VHDL属性
        VHDL进程

        VHDL标识符
        VHDL数字
        VHDL常量
        VHDL变量
        VHDL信号

        VHDL数据类型
         VHDL std_logic
        VHDL布尔量类型
         VHDL整形
        VHDL位类型
        VHDL位矢量类型
        VHDL位串
        VHDL实数类型
        VHDL数据类型转换

        VHDL操作符
        VHDL关系操作符
        VHDL逻辑操作符
        VHDL算术操作符
        VHDL并置操作符

        VHDL库
        VHDL程序包

       VHDL语句
       VHDL并行描述语句
       VHDL并发信号赋值语句
       VHDL条件信号赋值语句
       VHDL选择信号赋值语句

       VHDL顺序描述语句
       VHDL赋值语句
       VHDL IF
       VHDL CASE

       VHDL程序
        vhdl D触发器
        vhdl表决器
        vhdl乘法器
        vhdl地址译码
        vhdl二分频
        vhdl二选一
        vhdl非门
        vhdl分频器
        vhdl计数器
        vhdl寄存器
        vhdl加法器
        vhdl减法器
        vhdl七段数码管译码器
        vhdl三态总线收发驱动器
        vhdl四选一
        vhdl同步D触发器
        vhdl伪随机码m序列发生器
        vhdl移位寄存器

     VHDL行为描述法
     VHDL数据流描述法
     VHDL结构化描述法
  • 端口说明

    端口说明是对设计实体与外部接口的描述,是设计实体和外部环境动态通信的通道,其功能对应于电路图符号的一个引脚。实体说明中的每一个I/O信号被称为一个端口,一个端口就是一个数据对象。端口可以被赋值,也可以当作变量用在逻辑表达式中。定义实体的一组端口称作端口说明(port declaration)。

    端口说明的组织结构必须有一个名称、一个通信模式和一个数据类型。端口说明的一般格式为:

    Port(端口名,端口名:  模式  数据类型名

      ;

       ;

          端口名,端口名:  模式  数据类型名);

    1.端口名

    端口名是赋于每个外部引脚的名称,名称的含义要明确,如D开头的端口名表示数据,A开头的端口名表示地址等。端口名通常用几个英文字母或一个英文字母加数字表示。下面是合法的端口名:

    CLKRESETA0D3

    2.模式

    模式用来说明数据、信号通过该端口的传输方向。端口模式有inoutbufferinout

    1)输入(in

    输入仅允许数据流入端口。输入信号的驱动源由外部向该设计实体内进行。输入模式主要用于时钟输入、控制输入(如LoadResetEnableCLK)和单向的数据输入,如地址信号(address)。不用的输入一般接地,以免浮动引入干扰噪声。

    2)输出(out

    输出仅允许数据流从实体内部输出。端口的驱动源是由被设计的实体内部进行的。输出模式不能用于被设计实体的内部反馈,因为输出端口在实体内不能看作可读的。输出模式常用于计数输出、单向数据输出、设计实体产生的控制其他实体的信号等。一般而言,不用的输出端口不能接地,避免造成输出高电平时烧毁被设计实体。

    3)缓冲(buffer

    缓冲模式的端口与输出模式的端口类似,只是缓冲模式允许内部引用该端口的信号。缓冲端口既能用于输出,也能用于反馈。

    缓冲端口的驱动源可以是:

    =      设计实体的内部信号源;

    =      其他实体的缓冲端口。

    缓冲不允许多重驱动,不与其他实体的双向端口和输出端口相连。

    内部反馈的实现方法有:

    =      建立缓冲模式端口;

    =      建立设计实体的内部节点。

    缓冲模式用于在实体内部建立一个可读的输出端口,例如计数器输出,计数器的现态被用来决定计数器的次态。实体既需要输出,又需要反馈,这时设计端口模式应为缓冲    模式。

    4)双向模式(inout

    双向模式可以代替输入模式、输出模式和缓冲模式。

    在设计实体的数据流中,有些数据是双向的,数据可以流入该设计实体,也有数据从设计实体流出,这时需要将端口模式设计为双向端口。

    双向模式的端口允许引入内部反馈,所以双向模式端口还可以作为缓冲模式用。由上述分析可见,双向端口是一个完备的端口模式。

    一般而言,输入信号把端口指派成输入模式,输出信号把端口指派成输出模式,而双向数据信号,如计算机的PCI总线的地址/数据复用总线、DMA控制器数据总线,都选用端口双向模式。这一良好的设计习惯,使得从端口名称、端口模式就可一目了然地知道信号的用途、性质、来源和去向,十分方便。对一个大型设计任务,大家应协同工作,从而不至于引起歧义。

    3.数据类型(types

    数据类型端口说明除了定义端口标识名称、端口定义外,还要标明出入端口的数据类型。VHDL语言的IEEE 1706/93标准规定,EDA综合工具支持的数据类型为布尔型(boolean)、位型(bit)、位矢量型(bit-vector)和整数型(integer)。

    IEEE std_logic_1164所约定的、由EDA工具支持和提供的数据类型为标准逻辑(standard logic)类型。标准逻辑类型也分为布尔型、位型、位矢量型和整数型。为了使EDA工具的仿真、综合软件能够处理这些逻辑类型,这些标准库必须在实体中声明或在USE语句中调用。

     

     

     



      HDL|

    Copyright © 2005-2008 All Rights Reserved
    ARM开发板网 版权所有