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结构化描述法
  • VHDL信号

    VHDL 信号

    信号是指在设计实体之间动态交换数据的一种手段 , 采用信号对象可以把设计实体连接在一起形成模块。在 VHDL 中 , 信号的应用十分广泛 , 它可以在程序的很多区域进行说明 , 并且可以具有任何数据类型的值。同样 , 作为一种硬件描述语言中的对象 , 信号在硬件电路 设计中具有一定的物理意义 , 它通常用来代表硬件电路中的一条硬件连接线。

    在 VHDL 程序中 , 信号能够实现各个模块之间的通信 , 因此使用信号能够使设计人员容易地编写出模块化的 VHDL 程序 , 也因此能够实现 VHDL 所提倡的模块化设计思想。例如 , 前面提到变量只能在其所定义的进程语句、过程语句以及函数语句中使用 , 而设计中常常需要在它们之间进行通信 , 这时候只能采用信号来完成。

    在 VHDL 中 , 信号说明的语法结构为 :

    SIGNAL 信号名 [ , 信号名… ] : 数据类型 [ : = 表达式 ];

    下面是几个信号说明的小例子。

    SIGNAL clk: bit: = '0';

    SIGNAL reset: bit: = '1';

    SIGNAL data_ bus: bit_ vector (7 DOWN TO 0) : ="00000000";

    SIGNAL addr bus: bit _ vector (7 DOWNTO 0);

    同样 , 在信号说明中 , 可以对它赋予初始值 , 也可以不赋初始值。如果在信号说明中没 有指定初始值 , 那么认为它取默认值 , 即该数据类型的最左值或者是最小值。

    通常 , 如果信号说明中对信号赋了初始值 , 那么这个初始值对于仿真来说是有用的 , 但是它对于综合来说意义不大 , 其原因是信号说明中设定的初始值与实际器件加电时的初始状态并不一定能够保持一致。至于实际器件加电时的初始状态 , 设计人员要参考与该器件有关 的手册。这里可以给出这样一个原则 ; 如果需要对 VHDL 程序进行仿真操作 , 那么可以给信号赋予初始值 ; 如果不需要对 VHDL 程序进行仿真操作 , 那么就不要给信号赋予初始值了 , 这样上电时器件会自动将上电初始值赋给该信号。

    与变量一样 , 信号的值也是能够被改变的 , 它可以在 VHDL 程序中被连续地赋值。

    VHDL 中信号值的改变是通过信号赋值语句来完成的。信号赋值语句的语法结构为:

    目标信号 <= 表达式 ;

    不难看出 , 信号赋值语句使用的符号与信号初始化的符号是完全不同的 : 前者采用符号 ":=" 来进行信号赋值操作 ; 而后者则采用符号 "<= " 来进行信号的初始化操作。对于信 号赋值语句来说 , 赋值符号两边的目标信号和表达式的数据类型和长度必须保持一致 , 否则编译将会出现错误。



      HDL|

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