VHDL(电子科技大学)课件.ppt
文本预览下载声明
硬件描述语言VHDL 1 概述 1.1 什么是VHDL(HDL)? VHDL: VHSIC (Very High Speed Integrated Circuit) Hardware Description Language VHDL设计简述 2选1选择器的VHDL描述: 2 VHDL程序基本结构 基本结构包括: 库(Library) 程序包(Package) 实体(Entity) 结构体(Architecture) 配置(Configuration) 结构单元说明 n VHDL 设计单元 - 库:用来调用电路模型所需共享资源数据 – 实体 ? 用来定义电路模型的外观图,亦即器件的符号 – 构造体 ? 用来定义电路模型的功能,亦即器件内部电路图 – 配置 ? 用来联系构造体和实体 – 包 ? 可以由VHDL电路模型引用的信息的汇集,亦即库 ? 由包声明和包体两个部分构成 例:一个a,b输入,q输出的二与门的实体定义:ENTITY and2 IS PORT(a,b: IN std_logic; q: OUT std_logic);END and2; 说明 n 结构体的关键点 – 相当于:电路 – 描述模型的功能和时序 – 必须与一个 ENTITY相关联 – ENTITY 可以有多个结构体 结构体声明格式 ARCHITECTURE 结构体名 OFentity名 IS --构造体声明段 (所列并非全部) signal temp : integer := 1; -- 信号声明 constant load : boolean := true; -- 常数声明 type states is ( S1, S2, S3, S4) ; -- 类型声明 -- 元件声明 -- 子类型声明,等等 BEGIN 进程语句 并行信号赋值 元件例示语句 END 构造体名 ; (1076-1987 版) END ARCHITECTURE 构造体_标识符 ; (1076-1993 版) VHDL 运算符 运算符重载的使用 ENTITY overload IS END overload; ARCHITECTURE example OF overload IS BEGIN adder_body:PROCESS (a, b) BEGIN END PROCESS adder_body; END example; 4 VHDL的常用语句 VHDL语句主要分为两大类: 顺序(Sequential)描述语句 并行(Concurrent)描述语句 4.1 VHDL顺序语句 顺序语句:语句的执行顺序与书写顺序一致,只 能出现在进程与子程序中。 常用的顺序描述语句: 赋值语句; if语句;case语句; 4.1 赋值语句 赋值语句所表达的数据对象是:信号和变量 语法格式 变量 := 表达式; -- 变量赋值 信号 = 表达式; -- 信号赋值 要求:表达式的值必须与对象的类型、宽度 一致。 例:一位赋值 temp(7) = ‘1’; or temp(7) := ‘1’; 位片赋值 temp (7 downto 4) = “1010”; 一位:单引号 ( ‘ ) 多位:双引号 ( “ ) 3、如果有 wait 语句,则不允许有敏感信号表。 5.2 并行信号赋值语句 包括三种形式: 简单信号赋值; 条件信号赋值; 选择信号赋值。 特点:1、赋值目标必须都是信号。 2、每条赋值语句相当于一条缩写的进程语句, 且语句中的所有输入信号都被隐性地列入此 过程的敏感信号表中。 3、任何输入信号的变化都将启动相关并行语句 的赋值操作。 等效: 不等效: 条件信号赋值语句与进程中的多选择 if 语句等价: 选择信号赋值语句与进程中的 case 语句等价: 5.3 元件声明与元件例化语句 元件声明与例化语句属于结构化建模
显示全部