1 / 17

第六讲 VHDL 语言的数据类型及运算操作符

第六讲 VHDL 语言的数据类型及运算操作符. 主讲人:方跃春 长沙民政学院电子信息工程系. 复习--- VHDL 程序的结构. P30 例题-15 第一部分:库声明 LIBRARY STD; 第二部分:包集合声明 USE STD.STD_LOGIC.ALL; USE STD.STD_TTL.ALL;. 实体声明1 ENTITY inv IS PORT(a:IN BIT; b:OUT BIT); END inv;. 实体声明2 ENTITY and3 IS

dixie
Download Presentation

第六讲 VHDL 语言的数据类型及运算操作符

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第六讲 VHDL语言的数据类型及运算操作符 主讲人:方跃春 长沙民政学院电子信息工程系

  2. 复习---VHDL程序的结构 P30 例题-15 第一部分:库声明 LIBRARY STD; 第二部分:包集合声明 USE STD.STD_LOGIC.ALL; USE STD.STD_TTL.ALL;

  3. 实体声明1 ENTITY inv IS PORT(a:IN BIT; b:OUT BIT); END inv; 实体声明2 ENTITY and3 IS ORT(a1,a2,a3:IN BIT; o1:OUT BIT); END and3; 第三部分:实体声明

  4. 构造体描述1 ARCHITECTURE behave OF inv IS BEGIN b<=NOT(a)AFTER 5 ns; END behave; 构造体描述2 ARCHITECTURE behave OF and3 IS BEGIN o1<=a1 AND a2 AND a3 AFTER 5 ns; END behave; 第四部分:构造体描述

  5. 配置说明1 CONFIGURATION invcon OF inv IS FOR behave END FOR; END invcon; 配置说明2 CONFIGURATION and3con OF and3 IS FOR behave END FOR; END and3con; 第五部分:配置说明

  6. 新课内容 一、 VHDL语言的客体及其分类 二、VHDL语言的数据类型 三、VHDL语言的运算操作符

  7. 一、VHDL语言的客体及其分类(P33-34)1、客体的种类一、VHDL语言的客体及其分类(P33-34)1、客体的种类 客体-----可以赋予一个数值的对象(Object)。 1、变量(Variable) 用于暂时存放 运算的中间数据,属于局部量。如计数器的计数变量。 2、信号(Signal) 用于各模块之间传递数据(相当于连线,与端口类似,只是端口是外部的,而信号是内部的),属于全局量。 3、常数(Constant) 用于表示电路中固定的数值。如电源、地、时间等,既可做全局量,也可做局部量。。

  8. 2、客体的说明 客体在使用前必须进行说明,在哪里说明呢?又怎样说明呢?

  9. 3、客体说明举例 1、CONSTANT Vcc : REAL :=5.0; 2、CONSTANT DELAY : TIME :=100ns; 3、CONSTANT FBUS : BIT_VECTOR := “1101”; 4、SIGNAL GROUND : BIT := ‘0’; 5、SIGNAL X : INTEGER; 6、VARIABLE COUNT : INTEGER RANGE 0 TO 255:=10;

  10. 4、信号与变量的区别 (1)信号是全局量,而变量是局部量; (2)信号可生成实实在在的硬件连线,而变量只是存储运算中间数据; (3)信号的赋值符号是<=,而变量的赋值符号是:= ; (4)变量赋值立即生效,而信号赋值要等到进程结束或碰到WAIT语句才生效。

  11. 4、信号与变量的区别 例题:下面二个进程执行后输出结果有何不同? … PROCESS(A,B,C) VARIABLE D :STD_LOGIC_VECTOR (3 DOWNTO 0); BEGIN D:=A; X<=B+D; D:=C; Y<=B+D; END PROCESS; … … PROCESS(A,B,C,D) BEGIN D<=A; X<=B+D; D<=C; Y<=B+D; END PROCESS; …

  12. 二、VHDL语言的数据类型1、标准的数据类型 (1)整数(INTEGER):如+136,-457。 (2)实数(Real):如-1.0,+36.0。 (3)位(BIT):‘0’--表示逻辑0,‘1’—表示逻辑1。 (4)位矢量(BIT_VECTOR):位的数组形式,如 “0010”。 (5)布尔量(Boolean) (6)字符(Character) (7)字符串(String) (8)时间(Time) 注意:使用时不要作任何包集合的调用说明!

  13. 2、IEEE标准数据类型 标准位(STD_LOGIC):‘U’--初始值,‘X’--不定值, ‘0’--逻辑0,‘1’--逻辑1, ‘Z’—高阻,‘W’—弱信号不定, ‘L’--弱信号0,‘H’--弱信号1, ‘-’—不可能情况共九种取值。 标准位矢量(STD_LOGIC_VECTOR):标准位的数组形式。 注意:使用时要作调用包集合STD_LOGIC_1164的说明!

  14. 二、VHDL语言的数据类型3、数据类型的约束 (1)整数取值范围的约束 例: SINGAL a1 :INTEGER RANGE(0 TO 9 ); SINGAL a2 :INTEGER RANGE(32 DOWNTO 0 ); (2) 位矢量位宽度的约束 例: VARIABLE b1 :BIT_VECTOR(3 DOWNTO 0); VARIABLE b2 :BIT_VECTOR(0 TO 3); VARIABLE b3 :STD_LOGIC_VECTOR(0 DOWNTO 3); VARIABLE b4 :STD_LOGIC_VECTOR(3 TO 0);

  15. 三、VHDL语言的运算操作符 1、逻辑运算符 NOT,AND,OR,NAND,NOR,XOR 非 与 或 与非 或非 异或 2、算术运算符 +, -, *, / 3、关系运算符 =,/=,<,<=,>,>= 4、并置运算符 &

  16. 三、VHDL语言的运算操作符运算操作符使用注意事项:三、VHDL语言的运算操作符运算操作符使用注意事项: 1、运算操作符有优先级,不知优先级时尽量用(); 2、运算操作符左、右两边的操作数、代入的信号三者的数据类型必须相同(除&外); 3、对STD_LOGIC及STD_LOGIC_VECTOR数据类型进行无符号算术运算和关系运算必须调用STD_LOGIC_UNSIGNED包集合,进行有符号算术运算和关系运算必须调用STD_LOGIC_SIGNED包集合。

  17. 作业 P43例3-1中客体说明语句是哪一条,客体名是什么?是什么类型客体?在哪里被说明?数据类型是什么?约束条件是什么?有没有赋初值?

More Related