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 CASE

    VHDL CASE 语 句

    在 VHDL 中 , CASE 语句是另外一种形式的条件控制语句 , 它与 IF 语句一样可以用来描述具有控制功能的数字电路。一般来说 , CASE 语句是根据表达式的值来从不同的顺序处理语句序列中选取其中的 一 组语句来进行操作 , 它常常用来描述总线、编码器、译码器或者 数据选择器等数字逻辑电路的具体功能 O

    也许有人会问 : CASE 语句的描述功能实际上采用 IF 语句也能够实现 , 那么 VHDL 为 什么要提出一个新的 CASE 语句呢 ? 实际上 , 虽然 CASE 语句和 IF 语句都是通过条件的判断来决定需要执行程序中的哪些语句 , 但是由于 CASE 语句中条件表达式的值与所要执行的顺序处理语句的对应关系十分明显 , 因此 CASE 语句的可读性要比 IF 语句强得多。

    一般来说 , CASE 语句的语法结构如下所示 :

    CASE < 条件表达式 > IS

    WHEN < 条件表达式的取值 1> = > < 顺序处理语句 1 > ;

    WHEN < 条件表达式的取值 2> = > < 顺序处理语句 2>;

    WHEN < 条件表达式的取值 n-l> => < 顺序处理语句 n-l>;

    WHEN OTHERS = > < 顺序处理语句 n>;

    END CASE;

    当程序执行到 CASE 语句时 , 如果条件表达式的计算值与取值 1 相同 , 那么程序就去执行 CASE 语句中的顺序处理语句 1 ; 如果条件表达式的计算值与取值 2 相同 , 那么程序就去 执行 CASE 语句中的顺序处理语句 2; 依此类推 , 如果条件表达式的计算值与取值 n-l 相同 , 那么程序就去执行 CASE 语句中的顺序处理语句 n - 1; 如果条件表达式的计算值与前 面 n-l 个取值都不相同 , 那么程序就去执行 CASE 语句中的顺序处理语句 n.

    通常情况下 , CASE 语句中的 WHEN 子句具有 5 种不同的书写格式。因此 , 在编 写 VHDL 程序的过程中 , 设计人员可以根据设计的需要来选择采用哪一种书写格式。在 CASE语句与中 , WHEN 子句的 5 种书写格式如下所示 :

    1) WHEN 取值 = > < 顺序处理语句 >;

    2) WHEN 取值 | 取值 | … | 取值 = > < 顺序处理语句 > ;

    3) WHEN 取值 TO 取值 = > < 顺序处理语句 >;

    4) WHEN 取值 DOWNTO 取值 = > < 顺序处理语句 > ;

    5) WHEN OTHERS = > < 顺序处理语句 > ;

    在编写 VHDL 程序的过程中 , 设计人员使用 CASE 语句时需要注意以下几个方面 :

    1) 条件表达式的所有取值必须在 WHEN 子句中被列举出来。

    2) WHEN 子句中的取值必须在条件表达式的取值范围之内。

    3)不同的WHEN子句中不允许出现相同条件表达式 的取值 0

    4)WHEN子句中可以采用保留字OTHERS来表示所有具有相同操作的取值。

    5) WHEN 子句可以任意颠倒次序而不会影响描述的逻辑功能。

    6) 含有保留字 OTHERS 的 WHEN 子句必须放在 CASE 语句的最后面。

    7) 含有保留字 OTHERS 的 WHEN 子句在 CASE 语句中只能出现一次。



      HDL|

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