- 1、本文档共112页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3 VHDL语言;HDL----Hardware Description Language
一种用于描述数字电路的功能或行为的语言。目的是提为电路设计效率,缩短设计周期,减小设计成本,可在芯片制造前进行有效的仿真和错误检测。 ; VHDL是美国国防部在20世纪80年代初为实现其高速集成电路硬件VHSIC计划提出的描述语言;
IEEE从1986年开始致力于VHDL标准化工作,融合了其它ASIC芯片制造商开发的硬件描述语言的优点,于93年形成了标准版本(IEEE.std_1164)。
1995年,我国国家技术监督局推荐VHDL做为电子设计自动化硬件描述语言的国家标准。; 覆盖面广,系统硬件描述能力强,是一个多层次的硬件描述语言;
VHDL语言具有良好的可读性,既可以被计算机接受,也容易被人们所理解;
VHDL语言可以与工艺无关编程;
VHDL语言已做为一种IEEE的工业标准,便于使用、交流和推广。
;3.1.1 标识符(Identifiers);例如:ABS, ACCESS,AFTER,ALL,AND,ARCHITECTURE,ARRAY,ATTRIBUTE,BEGIN,BODY,BUFFER,BUS,CASE ,COMPONENT,CONSTANT,DISCONNECT,DOWNTO,ELSE,ELSIF,END,ENTITY,EXIT,FILE,FOR,FUNCTION,GENERIC,GROUP,IF,INPURE,IN,INOUT,IS,LABEL,LIBRARY,LINKAGE,LOOP,MAP,MOD,NAND,NEW,NEXT,NOR ,NOT,NULL,OF,ON,OPEN ,OR ,OTHERS,OUT,PACKAGE,POUT,PROCEDURE ,PROCESS,PURE,RANGE ,RECODE,REM,REPORT,RETURN,ROL,ROR,SELECT,SHARED,SIGNAL,SLA,SLL,SRA,SUBTYPE,THEN,TRANSPORT,TO,TYPE ,UNAFFECTED,UNITS,UNTIL,USE,VARIABLE,WAIT,WHEN,WHILE,WITH,XOR ,XNOR ;3.1.2 数据对象(Date Objects);Variable 变量名:数据类型 :=初始值;;Signal 信号名: 数据类型 :=初始值;3.1.2 数据类型; 整数:(Integer)
取值范围 -(231-1) ~(231-1),可用32位有符号的二进制数表示
variable a:integer range -63 to 63
在实际应用中,VHDL仿真器将Integer做为有符号数处理,而VHDL综合器将Integer做为无符号数处理;
要求用RANGE子句为所定义的数限定范围,以便根据范围来决定表示此信号或变量的二进制数的位数。 ; 实数:(Real)
取值范围 -1.0E38 ~+1.0E38,仅用于仿真不可综合
1.0 --十进制浮点数
8#43.6#e+4 --八进制浮点数
43.6E-4 --十进??浮点数; IEEE预定义标准逻辑位与矢量;枚举:type states is (idle,decision,read,write);
type boolean is (false,true);
type bit is (‘0’,‘1’);;3.1.3 数据类型转换; 在“STD_LOGIC_1164”、“STD_LOGIC_ARITH”和 “STD_LOGIC_UNSIGNED”的程序包中提供的数据类型变换函数。; 属性; 运算符;并置操作符 ?; 运算符优先级别; 移位运算符的左边为一维数组,其类型必须是BIT或BOOLEAN,右边必须是整数移位次数为整数的绝对值。;取余运算(a REM b)的符号与a相同,其绝对值小于b的绝对值。
例如:(-5)REM 2=(-1) 5 REM 2=(1)
;3.2 VHDL基本结构;LIBRARY IEEE; -- 库、程序包的说明调用
USE IEEE.Std_Logic_1164.ALL;
文档评论(0)