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结构化描述法
  • 结构体的数据流描述

    数据流描述(dataflow description)是结构体描述方法之一,它描述了数据流程的运动路径、运动方向和运动结果。例如,同样是一个8位比较器采用数据流法编程,则如例1-7所示。

    【例1-7  用数据流描述法设计8位比较器

    LIBRARY IEEE;

    USE IEEE std_logic_1164.ALL;

    ENTITY comparator IS

    PORT (a,bIN std_logic_vector(7 downto 0);

               gout std_logic);

    END comparator;

    ARCHITECTURE dataflow OF  comp  IS

    BEGIN

      G <="1" when (a = b) else"0";

    END dataflow;

    上述程序设计的数据流程为:当a=b时,G=1;其余时间G=0。注意,数据流描述的句法与行为描述的句法是不一样的。

    cale—when:条件信号赋值语句。

    with—select—when:选择信号赋值语句。

    这两种语句是数据流描述法常用的语法,同样采用布尔方程,也可用数据流描述法,如例1-8所示。

    【例1-8  用布尔方程的数据流描述法设计的8位比较器

    LIBRARY IEEE;

    USE IEEE std_logic_1164.ALL;

    ENTITY comparator IS

    PORT (a,bIN std_logic_vector(7 downto 0);

                gout std_logic);

    END  comparator;

    ARCHITECTURE bool OF comparator IS

    BEGIN

      g<=not(a(0)xorb(0))

      and not(a(1)xorb(1))

      and not(a(2)xorb(2))

      and not(a(3)xorb(3))

      and not(a(4)xorb(4))

      and not(a(5)xorb(5))

      and not(a(6)xorb(6))

      and not(a(7)xorb(7));

    END bool;

    布尔方程的数据流描述法描述了信号的数据流的路径。这种描述法比例1-6的结构体复杂,因为例1-6的结构体描述与端口结构无关。只要abG就输出1,与ab的大小无关。而例1-7是一个8位比较器,布尔方程定义的端口尺寸为8位。

    数据流描述法采用并发信号赋值语句,而不是进程顺序语句。一个结构体可以有多重信号赋值语句,且语句可以并发执行。

     

     

     



      HDL|

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