设计中心 电子设计自动化技术 教师:李平教授(博导) Email: pli@uestc.edu.cn Tel: 83201794 2005年 5月 设计中心 电子设计自动化技术 第二章 VHDL程序的基本结构 设计中心 本章要点 ? 对VHDL程序的宏观结构有一个明确 的概念性认识; ? 认识实体、构造体的基本格式 ? 理解实体、构造体在VHDL程序中的 基本功能 ? 能够尝试编写简单的VHDL程序。 设计中心 VHDL程序组成部分及其功能 设计中心 VHDL程序组成部分 ●实体用于描述所设计的系统的外部接口信号; ●构造体 用于描述系统内部的结构和行为; ●配置用于从库中选取不同单元(器件)来组成系 统设计的不同版本; ●包集合 存放各设计模块都能共享的数据类型、常 数和子程序等; ●库 存放已经编译了的实体、构造体、包集合和配 置。库可由系统工程师生成或由ASIC芯片商提供, 以便在设计中共享。 设计中心 基本设计单元的构成 实体和构造体两部分组成了 VHDL的基本设计单元 : ?实体部分规定设计单元的输入输出接口信号和引脚; ?构造体部分定义设计单元的具体构造或功能(行为)。 VHDL描述的总体结构 设计中心 VHDL程序的基本构成格式 设计中心 VHDL程序的基本构成格式说明 ●实体说明和构造体说明合在一起构成是 VHDL 的基本设计单元。 ●而基本设计单元配上库说明即构成 VHDL基本 格式。 ●建议:初学者首先使用 IEEE库, IEEE.STD_Logic_1164包。初学者所调用的资 源一般不会超出 IEEE.STD_Logic_1164包的范 围,而且所有的 VHDL编译工具都带有 IEEE库, IEEE.STD_Logic_1164包。 设计中心 实体的结构 ENTITY 实体名 IS [类属参数说明]; [端口说明]; END 实体名; 在 VHDL中,实体说明单元是一个独立的完整的语言模块 。 实体说明单元必须按照上述结构来编写,即: 实体说明单 元应以语句 “ENTITY 实体名 IS ”开始,以语句 “END 实体 名; ”结束。 设计中心 【例 2-1】 二选一选择器的实体说明 ENTITY mux IS -- 实体说明开始 GENERIC (m: TIME := 1 ns); -- 类属参数说明 PORT (d0, d1, sel : IN BIT; q : OUT BIT); -- 端口说明 END mux; -- 实体结束 设计中心 构造体的结构 ARCHTECTURE 构造体名 OF 实体名 IS [定义语句]; --内部信号,常数,数据类型,函数等的定义 BEGIN [并行处理语句] ; END 构造体名; 一个完整的构造体由两个基本层次组成: 1) 对数据类型,常数,信号,子程序和元件等元素的说明部分。 2) 描述实体逻辑行为的,以各种不同的描述风格表示的功能描述语 句。 设计中心 【例 2-2】二选一选择器的构造体说明 设计中心 ARCHITECTURE connect OF mux IS -- 构造体定义 BEGIN -- 构造体开始标记 PROCESS (d0, d1, sel) -- 进程 VARIABLE tmp1, tmp2, tmp3: BIT; -- 变量的声明 BEGIN -- 进程开始标记 tmp1 := d0 AND sel; -- 变量赋值语句 tmp2 := d1 AND (NOT sel); -- 变量赋值语句 tmp3 := tmp1 OR tmp2; -- 变量赋值语句 q <= tmp3; -- 信号赋值语句 END PROCESS; -- 进程结束 END connect; -- 构造体结束 【例 2-2】二选一选择器的构造体说明(续) 设计中心 设计中心 设计中心 设计中心 ENTITY test IS PORT ( input_pin_name : IN bit; output_pin_name : OUT bit); END test; ARCHITECTURE test_body OF test IS BEGIN output_pin_name <= input_pin_name; END test_body; Key Word VHDL Format Logic This two must be the same I/O port define section Logic Behavior define section Suggestion:the same as the save TEST.VHD file 设计中心 设计中心 设计中心 作业