VHDL程序的基本结构

纵饮孤独 提交于 2019-12-03 05:19:48

(1)LIBRARY和PACHAGE的声明部分

      作用:库(Library)是用于存放预先编译好的程序(package),程序包中定义了数据集合体、逻辑操作和元件等。主要是声明在设计或实体中将用到的常数,数据类型,元件及子系统等。

     使用格式:LIBRARY  库名;

         USE   库名.程序包名.ALL;

例如:      LIBRARY IEEE;

               USE IEEE.STD_LOGIC_1164.ALL;

     (2)ENTITY定义

      作用:定义本设计的输入/出端口,即定义电路的外观,即I/O接口的类型和数量使用格式:

     格式:

              ENTITY     实体名     IS

             port(     端口名 : 端口模式   数据类型;

       ........

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

    )

    END 实体名;

例:     

ENTITY MUX41A IS
PORT (A,B,C,D,s0,s1,s2,s3 :IN STD_LOGIC;
Y : OUT STD_LOGIC);
END ENTITY MUX41A;

(3)ARCHITECTURE定义

    作用:定义实体的实现。即电路的具体描述,说明电路执行什么动作或实现功能。

使用格式:

 ARCHITECTURE   结构体名    of    实体名     IS

begin       

     描述语句;

end    结构体名;

例如:

ARCHITECTURE BHV OF MUX41A IS
SIGNAL S:STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
S <= s3 & s2 & s1 & s0 ;
Y<=A WHEN S="1110" ELSE
B WHEN S="1101" ELSE
C WHEN S="1011" ELSE
D WHEN S="0111" ELSE
‘1’;
END BHV;

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!