资源描述
n n教学内容教学内容数据对象、数据类型、运算符和表达式数据对象、数据类型、运算符和表达式常用顺序语句、并行语句常用顺序语句、并行语句VHDLVHDL常用的库、程序包常用的库、程序包n n教学重点教学重点数据对象、数据类型、运算符和表达式数据对象、数据类型、运算符和表达式常用顺序语句、并行语句常用顺序语句、并行语句本节教学内容及重点本节教学内容及重点1 1VHDL标识符n n基本标识符由字母、数字和下划线组成基本标识符由字母、数字和下划线组成n n第一个字符必须是字母第一个字符必须是字母n n最后一个字符不能是下划线最后一个字符不能是下划线n n不允许连续不允许连续2 2个下划线个下划线n n保留字(关键字)不能用于标识符保留字(关键字)不能用于标识符n n大小写等效大小写等效3.3 数据对象、数据类型、数据对象、数据类型、运算符和表达式运算符和表达式2 2VHDL标识符n n有效的标识符有效的标识符A_h_1 show_new_state COUNTER_A decode3_8 countern n非法的标识符非法的标识符A%h_1 show-new-state COUNTER_ T_ _1 3_8decoder IS DOWNTO3.3 数据对象、数据类型、数据对象、数据类型、运算符和表达式运算符和表达式3 33.3.1 数据对象数据对象VHDL语言数据对象语言数据对象n常量(常量(CONSTANT)n变量(变量(VARIABLE)n信号(信号(SIGNAL)4 4n常量(Constant)固定值,不能在程序中被改变固定值,不能在程序中被改变增强程序的可读性,便于修改程序增强程序的可读性,便于修改程序在综合后,连接到电源和地在综合后,连接到电源和地可在可在LibraryLibrary、EntityEntity、ArchitectureArchitecture、ProcessProcess中进行定义,其有效范围也相应限定中进行定义,其有效范围也相应限定n常数的描述格式:常数的描述格式:CONSTANT 常量名:数据类型:常量名:数据类型:=表达式表达式如:Constant data_bus_width:integer:=8;3.3.1 数据对象数据对象5 5n变量(Variable)临时数据,没有物理意义临时数据,没有物理意义只能在只能在ProcessProcess和和FunctionFunction中定义,并只在其中定义,并只在其内部有效内部有效要使其全局有效,先转换为要使其全局有效,先转换为SignalSignal一旦赋值,立即生效一旦赋值,立即生效n变量的描述格式:变量的描述格式:VARIABLE 变量名:数据类型变量名:数据类型:=表达式表达式 如:variable result:std_logic:=0;3.3.1 数据对象数据对象6 6n信号(Signals)代表连线,代表连线,PortPort也是一种信号也是一种信号没有方向性,可给它赋值,也可当作输入没有方向性,可给它赋值,也可当作输入在在EntityEntity中和中和ArchitectureArchitecture中定义中定义设定的初始值只是在仿真开始设定了一个起始设定的初始值只是在仿真开始设定了一个起始值,在综合时没有用。值,在综合时没有用。n信号的描述格式:SIGNAL 信号名:数据类型:=初始值signal count:bit_vector(3 downto 0):=“0011”;3.3.1 数据对象数据对象7 7 信号赋值语句格式信号赋值语句格式 目标信号名目标信号名=表达式表达式;q=count;irq=0;aa=dx1;bb=dx2;s1=s2 AFTER 10ns 3.3.1 数据对象数据对象8 8信号与变量的区别信号与变量的区别n信号赋值可以有延迟时间,变量赋值无时间延迟信号赋值可以有延迟时间,变量赋值无时间延迟n信信号号除除当当前前值值外外还还有有许许多多相相关关值值,如如历历史史信信息息等等,变变量量只有当前值只有当前值n进程对信号敏感,对变量不敏感进程对信号敏感,对变量不敏感n信信号号可可以以是是多多个个进进程程的的全全局局信信号号,但但变变量量只只在在定定义义它它之之后的顺序域可见后的顺序域可见n信号可以看作硬件的一根连线,但变量无此对应关系信号可以看作硬件的一根连线,但变量无此对应关系n赋值的形式不同;声明的位置不同赋值的形式不同;声明的位置不同9 9信号与变量的区别信号与变量的区别architecture rtl of start is signal count:integer range 0 to 7;begin process(clk)begin if(clkevent and clk=1)then count=count+1;if(count=0)then carryout=1;else carryout=0;end if;end if;end process;end rtl;architecture rtl of start is begin process(clk)variable count:integer range 0 to 7;begin if(clkevent and clk=1)then count:=count+1;if(count=0)then carryout=1;else carryout=0;end if;end if;end process;end rtl;1010nVHDL标准数据类型标准数据类型nIEEE标准数据类型标准数据类型n用户自定义数据类型用户自定义数据类型3.3.2 数据类型数据类型1111数据类型数据类型含义整数(integer)整数,32位,-2 147 483 647 2 147 483 646实数(real)浮点数,-1.0e+38 +1.0e+38 位(bit)逻辑“0”或“1”位矢量(bit_vector)位矢量布尔量(boolean)逻辑“假”或逻辑“真”字符(character)ASCII字符时间(time)时间单位(fs,ps,ns,us,ms,sec,min,hr)错误等级NOTE,WARNING,ERROR,FAILURE自然数,正整数整数的子集字符串(string)字符矢量VHDL标准数据类型1212VHDL标准数据类型1、整数(、整数(INTEGER)范围:-2147483547-2147483646,用range限定数的范围,如:variable a:integer range 0 to 9;2、实数(、实数(REAL)范围:-1.0E38-1.0E38(仿真器中可用,综合器不支持)书写时一定要有小数。如:1.0 8#43.6#e+43、位(、位(BIT)数字系统中,信号经常用位的值表示,位的值 用带单引号的1和0来表示。1313VHDL标准数据类型4、位矢量(、位矢量(BIT_VECTOR)位矢量是用双引号括起来的一组位数据 如:“010101”5、布尔量(、布尔量(BOOLEAN)只有“真”和“假”两个状态,可以进行关系运算6、字符(、字符(CHARACTER)字符量通常用单引号括起来,对大小写敏感。A与 a不 同。明 确 说 明 1是 字 符 时:CHARACTER(1)1414VHDL标准数据类型7、字符串(、字符串(STRING)字符串是双引号括起来的由字母、数字或、字符串是双引号括起来的由字母、数字或、%、$组成的一串字符。区分大小写。组成的一串字符。区分大小写。如:如:“laksdklakld”“1010101010”8、时间(、时间(TIME)时间的单位:时间的单位:fs,ps,ns,ms,sec,min,hr 例:例:10 ns 整数数值和单位之间应有空格整数数值和单位之间应有空格1515VHDL标准数据类型9、错误等级(、错误等级(SEVERITY LEVEL)在VHDL仿真器中,错误等级用来表示系统的状态,共有4种:NOTE(注意)、ERROR(错误)、FAILURE(失败)、WARNING(警告)10、自然数、自然数(NATURAL)正整数(正整数(POSITIVE)自自然然数数是是整整数数的的一一个个子子类类型型,包包括括0和和正正整整数数;正整数也是整数的一个子类型。正整数也是整数的一个子类型。1616IEEE标准数据类型 在IEEE库的程序包std_logic_1164中定义了两个非常重要的数据类型:1、标准逻辑位、标准逻辑位(std_logic)取值:0,1,Z,X,W,L,H等9种 注意:使用时必须大写,若用小写z表示取值 高阻是错误的,必须用大写Z。2、标准逻辑矢量、标准逻辑矢量(Std_logic_vector)标准一维数组,数组中每个元素的数据类型均为标准逻辑位类型。EntityEntity eqcomp4eqcomp4 is isPortPort(a,b:(a,b:inin std_logic_vector(3 downto 0);std_logic_vector(3 downto 0);equal:out std_logic equal:out std_logic ););EndEnd eqcomp4eqcomp4;1717IEEE标准数据类型 注 意:1 1、在使用、在使用“std_logic”“std_logic”和和“std_logic_vector”“std_logic_vector”时,时,在程序中必须声明库及程序包说明语句,即在程序中必须声明库及程序包说明语句,即LIBRARY IEEELIBRARY IEEE和和std_logic_1164.ALLstd_logic_1164.ALL这两句在程这两句在程序中必不可少。序中必不可少。2 2、std_logic std_logic有多个取值,与标准数据类型有多个取值,与标准数据类型bitbit不同,在编程时应注意考虑全所有情况。不同,在编程时应注意考虑全所有情况。1818VHDL运算符n逻辑运算符ANDAND、OROR、NANDNAND、NORNOR、XORXOR、NOTNOTn关系运算符=、/=/=、=n算术运算符+、-、*、/n并置(连接)运算符&3.3.3 VHDL运算符与表达式运算符与表达式1919类类 型型操作符操作符功功 能能操作数数据类型操作数数据类型算术运算符算术运算符+加加 整数整数 减减 整数整数&并置并置 一维数组一维数组*乘乘 整数和实数整数和实数(包括浮点数包括浮点数)/除除 整数和实数整数和实数(包括浮点数包括浮点数)MOD取模取模 整数整数REM取余取余 整数整数SLL逻辑左移逻辑左移 BIT或布尔型一维数组或布尔型一维数组SRL逻辑右移逻辑右移 BIT或布尔型一维数组或布尔型一维数组SLA算术左移算术左移 BIT或布尔型一维数组或布尔型一维数组SRA算术右移算术右移BIT或布尔型一维数组或布尔型一维数组ROL逻辑循环左移逻辑循环左移BIT或布尔型一维数组或布尔型一维数组ROR逻辑循环右移逻辑循环右移BIT或布尔型一维数组或布尔型一维数组*乘方乘方整数整数ABS取绝对值取绝对值整数整数2020类类 型型操作符操作符功功 能能操作数数据类型操作数数据类型关系运算符关系运算符=等于等于任何数据类型任何数据类型/=/=不等于不等于任何数据类型任何数据类型 大于大于枚举与整数类型,及对应的一维数组枚举与整数类型,及对应的一维数组=大于等于大于等于枚举与整数类型,及对应的一维数组枚举与整数类型,及对应的一维数组逻辑运算符逻辑运算符AND与与BIT,BOOLEAN,STD_LOGICOR或或BIT,BOOLEAN,STD_LOGICNAND与非与非BIT,BOOLEAN,STD_LOGICNOR或非或非BIT,BOOLEAN,STD_LOGICXOR异或异或BIT,BOOLEAN,STD_LOGICXNOR异或非异或非BIT,BOOLEAN,STD_LOGICNOT非非BIT,BOOLEAN,STD_LOGIC并置运算符并置运算符&连接位连接位BIT,BOOLEAN,STD_LOGIC2121运算符优先级运算符优先级 运算符运算符优先级优先级NOT,ABS,*最高优先级最高优先级REM,MOD,/,*(负号负号),+(正号正号)&,+SRL,ROR,ROL,SRA,SLA,SLL,SRL=,/=,=XNOR,XOR,NOR,NAND,OR,AND最低优先级最低优先级3.3.3 VHDL运算符与表达式运算符与表达式2222n注意:注意:在在C语言中逻辑运算有左右优先级顺序的规定,语言中逻辑运算有左右优先级顺序的规定,而在而在VHDL语言中,左右没有优先级差别。需加括号表语言中,左右没有优先级差别。需加括号表示优先级。示优先级。如:X=a AND b OR c;-错误 X=(a AND b)OR c;-正确n但若一个逻辑表达式中只有但若一个逻辑表达式中只有“AND”,”OR”,”XOR”运运算符,那么改变运算顺序将不会导致逻辑的改变。此时,算符,那么改变运算顺序将不会导致逻辑的改变。此时,括号可以省略。括号可以省略。逻辑运算符的使用逻辑运算符的使用 如:如:x=aANDbANDcANDd;x=aORbORcORd;x=aXORbXORc;2323n注意:而在VHDL语言中,关系运算符=也用于信号的赋值,要根据上下文判断符号=是用于赋值还是小于等于。关系运算符的使用关系运算符的使用architecture rtl of start is signal count:integer range 0 to 7;begin process(clk)begin if(clkevent and clk=1)then count=count+1;if(count=0)then carryout=1;else carryout=0;end if;end if;end process;end rtl;2424并置运算符“”用于位的连接。n并置运算可用于位的连接,形成位矢量;n并置运算符可用于矢量的连接,形成新的矢量;n并置运算可用于位和矢量的连接,形成新的矢量SIGNAL a,b:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL q:STD_LOGIC_VECTOR(7 DOWNTO 0);q ab;并置运算符的使用并置运算符的使用SIGNAL a,b,c,d:STD_LOGIC;SIGNAL q :STD_LOGIC_VECTOR(3 DOWNTO 0);q abcd;2525表达式表达式表达式表达式 VHDL语言中的表达式与其他高级程序设计语言非常相似,同样是由运算符将基本元素连接起来的式子。一个表达式,需要有两个要素:运算符和基本元素。基本元素包括对象名、文字、函数调用等的表达式。例如:ab,b(6)b(5)b(4),(AB)*B+(A REM B),7 REM(2)等。3.3.3 VHDL运算符与表达式运算符与表达式26263.3.4 基本顺序描述语句基本顺序描述语句顺序语句:顺序语句:每一条顺序语句的执行顺序都和它们的书每一条顺序语句的执行顺序都和它们的书写顺序基本一致。只能出现在进程和子程序中。写顺序基本一致。只能出现在进程和子程序中。常用顺序语句常用顺序语句n赋值语句赋值语句nIF 语句语句nCASE 语句语句(针对本门课程及教材列出的常用顺序语句)(针对本门课程及教材列出的常用顺序语句)27273.3.4 基本顺序描述语句基本顺序描述语句1.赋值语句赋值语句信号赋值语句信号赋值语句 格式:目的信号量=信号量表达式 例:a=b;注意注意:n限定在进程、函数过程等顺序区域使用n进程结束时起作用n与小于等于的关系操作符的差别n赋值符号两边的变量及表达式的数据类型和长度必须保持一致28283.3.4 基本顺序描述语句基本顺序描述语句1.赋值语句赋值语句变量赋值语句变量赋值语句 格式:目的变量:=表达式例:c:=a+b;D:=3;注意注意:n限定在进程、函数、过程等顺序区域使用n变量赋值无延时特性,立即生效n变量值具有局部性n赋值符号两边的变量及表达式的数据类型和长度必须保持一致29293.3.4 基本顺序描述语句基本顺序描述语句2.IF语句语句格式一格式一 IF IF 条件条件条件条件 THEN THEN 顺序执行语句顺序执行语句 END IF;例:例:IF(a=1)THEN c=b;END IF;30303.3.4 基本顺序描述语句基本顺序描述语句2.IF语句语句n格式二 IF IF 条件条件条件条件 THEN THEN 顺序执行语句顺序执行语句 ELSE 顺序执行语句顺序执行语句 END IF;ARCHITECTURE rtl OF mux2 ISBEGINPROCESS(a,b,sel)BEGINIF(sel=1)THENc=a;ELSEc 顺序处理语句顺序处理语句;ENDCASE;其中其中WHEN的条件表达式可以有的条件表达式可以有4种形式种形式:nWHEN 值值=顺序处理语句顺序处理语句;nWHEN 值值|值值|值值|值值=顺序处理语句顺序处理语句;nWHEN 值值 TO 值值=顺序处理语句顺序处理语句;nWHEN OTHERS=顺序处理语句顺序处理语句;LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux4 ISPORT(a,b,i0,i1,i2,i3:IN STD_LOGIC;q:OUT STD_LOGIC);END mux4;ARCHITECTURE mux4_behave OF mux4 IS SIGNAL sel:INTEGER RANGE 0 TO 3;BEGINPROCESS(a,b,i0,i1,i2,i3)BEGIN sel=0;IF(a=1)THENsel=sel+1;END IF;IF(b=1)THEN sel qqqq=i3;END CASE;END PROCESS;END mux4_behave;sel=0;IF(a=1)THENsel=sel+1;END IF;IF(b=1)THEN sel qqqq=i3;END CASE;33333.3.5 基本并行描述语句基本并行描述语句并行语句:并行语句:位于Process外面,同时执行,不分位置的先后顺序常用并行语句常用并行语句n进程语句进程语句n并行信号赋值语句并行信号赋值语句n端口说明语句端口说明语句(针对本门课程及教材列出的常用并行语句)(针对本门课程及教材列出的常用并行语句)34341.进程语句进程语句 在在一一个个结结构构体体中中多多个个PROCESS语语句句可可以以同同时时并并行的执行,该语句有如下特点行的执行,该语句有如下特点:n可可以以和和其其它它进进程程语语句句同同时时执执行行,并并可可以以存存取取构构造造体体和和实体中所定义的信号实体中所定义的信号n进程中的所有语句都按照顺序执行进程中的所有语句都按照顺序执行n为启动进程,在进程中必须包含敏感信号表为启动进程,在进程中必须包含敏感信号表n进程之间的通信是通过信号量来实现的进程之间的通信是通过信号量来实现的3.3.5 基本并行描述语句基本并行描述语句35351.进程语句进程语句 格式:格式:进程名:PROCESS 敏感信号表 变量说明语句;BEGIN 顺序处理语句;END PROCESS 进程名;3.3.5 基本并行描述语句基本并行描述语句Architecture behavioral of eqcomp4 isbegincomp:process(a,b)beginif a=b then equal=1;elseequal=0;endif;endprocess comp;end behavioral;36362.并行信号赋值语句并行信号赋值语句简单信号赋值语句简单信号赋值语句条件信号赋值语句条件信号赋值语句选择信号赋值语句选择信号赋值语句3.3.5 基本并行描述语句基本并行描述语句37372.并行信号赋值语句并行信号赋值语句 简单信号赋值语句简单信号赋值语句格式格式格式格式:目的信号量目的信号量目的信号量目的信号量=信号量表达式信号量表达式信号量表达式信号量表达式例例:a=b;q=c+d;信信号号赋赋值值语语句句在在进进程程中中使使用用是是顺顺序序语语句句,但但是是在在进进程外即在结构体中使用时为并发语句。程外即在结构体中使用时为并发语句。3.3.5 基本并行描述语句基本并行描述语句38382.并行信号赋值语句并行信号赋值语句条件信号赋值语句条件信号赋值语句 格式格式格式格式:目的信号量目的信号量目的信号量目的信号量=表达式表达式表达式表达式1 1 WHENWHEN 条件条件条件条件1 1 ELSEELSE 表达式表达式2 WHEN 条件条件2 ELSE 表达式表达式3 WHEN 条件条件3 ELSE :表达式表达式n;3.3.5 基本并行描述语句基本并行描述语句Signal a,b,c,d:std_logic;Signal w,x,y,z:std_logic;f=w when a=1 else x when b=1 else y when c=1 else z when d=1 else 0;39392.并行信号赋值语句并行信号赋值语句选择信号赋值语句选择信号赋值语句 格式格式格式格式:WITHWITH 选择表达式选择表达式选择表达式选择表达式 SELECTSELECT 赋值目标信号赋值目标信号=表达式表达式1 WHEN 条件条件1,表达式表达式2 WHEN 条件条件2,:表达式表达式n WHEN 条件条件n;3.3.5 基本并行描述语句基本并行描述语句Signal s:std_logic_vector(1 downto 0);Signal a,b,c,d,f:std_logic;With s select f=a when“00”,b when“01”,c when“10”,d when“11”,X when others;40402.并行信号赋值语句并行信号赋值语句注意:注意:n条件信号赋值语句When-else语句条件语句可以是一个简单的表达式n选择信号赋值语句With-select-when则不能采用表达式作为条件如:a=“0000”when state=idle and state=1 else “0001”when state=idle and state=0 else b when state=running and state=1 else a;3.3.5 基本并行描述语句基本并行描述语句41413.端口说明语句端口说明语句 PORTPORT端口说明语句用于设计实体和外部端口说明语句用于设计实体和外部电路的接口通道说明,包含对每一个接口通电路的接口通道说明,包含对每一个接口通道的名称、模式和数据类型的说明。道的名称、模式和数据类型的说明。3.3.5 基本并行描述语句基本并行描述语句端口说明的一般格式为:端口说明的一般格式为:PORT(端口名(端口名,端口名,端口名:端口模式:端口模式数据类型;数据类型;端口名端口名,端口名,端口名:端口模式:端口模式数据类型);数据类型);4242几种语句的比较几种语句的比较语句With-select-whenWhen-elseIf-elseCase-when选择条件一个信号的不同值,互斥多个信号多种组合,不必互斥多个信号多种组合,不必互斥一个信号的不同值,互斥语句属性并行并行顺序顺序用途编码、译码、多路选择器优先编码器,地址译码器优先编码器,地址译码器编码、译码、多路选择器状态机4343在利用在利用VHDL进行工程设计中,预先定义好的数据类进行工程设计中,预先定义好的数据类型、子程序等设计单元的集合体型、子程序等设计单元的集合体(程序包程序包),或预先设计好的,或预先设计好的各种设计实体各种设计实体(元件库程序包元件库程序包)等信息汇集在一个或几个库中等信息汇集在一个或几个库中以供调用。可以把库看成是一种用来存储预先完成的程序以供调用。可以把库看成是一种用来存储预先完成的程序包和数据集合体的仓库。包和数据集合体的仓库。库库(LIBRARY)的语句格式如下:的语句格式如下:LIBRARY库名;库名;这一语句即相当于为其后的设计实体打开了以此库名这一语句即相当于为其后的设计实体打开了以此库名命名的库,以便设计实体可以利用其中的程序包。如语句命名的库,以便设计实体可以利用其中的程序包。如语句“LIBRARYIEEE;”表示打开表示打开IEEE库。库。3.4 VHDL的库和包的库和包库库(LIBRARY)4444常用库常用库IEEE库库IEEE库是库是VHDL设计中最为常见的库,设计中最为常见的库,它包含有它包含有IEEE标标准的程序包和其他一些支持工业标准的程序包。准的程序包和其他一些支持工业标准的程序包。IEEE库中的库中的标准程序包主要包括标准程序包主要包括STD_LOGIC_1164,NUMERIC_BIT和和NUMERIC_STD等程序包。另外还包含了等程序包。另外还包含了Synopsys 公司的公司的STD_LOGIC_ARITH、STD_LOGIC_SIGNED和和STD_LOGIC_UNSIGNED程序包。程序包。其中的其中的STD_LOGIC_1164是最重要的最常用的程序包,是最重要的最常用的程序包,大部分基于数字系统设计的程大部分基于数字系统设计的程序包都是以此程序包中设定的标准为基础的。序包都是以此程序包中设定的标准为基础的。3.4 VHDL的库和包的库和包4545常用库常用库IEEE库库另外,在另外,在IEEEIEEE库库中符合中符合IEEEIEEE标准的程序包并非符合标准的程序包并非符合VHDLVHDL语言标准,如语言标准,如STD_LOGIC_1164STD_LOGIC_1164程序包。因此在使程序包。因此在使用用VHDLVHDL设计实体的前面设计实体的前面必须以显式表达出来。必须以显式表达出来。例例:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;3.4 VHDL的库和包的库和包4646程序包程序包(PACKAGE)为了使已定义的常数、数据类型、元件调用说明以为了使已定义的常数、数据类型、元件调用说明以及子程序能被更多的及子程序能被更多的VHDL设计实体访问和共享,可以将设计实体访问和共享,可以将它们收集在一个它们收集在一个VHDL程序包中。多个程序包可以并入一程序包中。多个程序包可以并入一个个VHDL库中,使之适用于更一般的访问和调用范围。这库中,使之适用于更一般的访问和调用范围。这一点对于大系统开发,多个或多组开发人员并行工作显得一点对于大系统开发,多个或多组开发人员并行工作显得尤为重要。尤为重要。3.4 VHDL的库和包的库和包4747常用程序包常用程序包STD_LOGIC_1164程序包程序包它是它是IEEE库中最常用的程序包,库中最常用的程序包,是是IEEE的标准程序包。的标准程序包。其中包含了一些数据类型、子类型和函数的定义,这些定其中包含了一些数据类型、子类型和函数的定义,这些定义将义将VHDL扩展为一个能描述多值逻辑扩展为一个能描述多值逻辑(即除具有即除具有“0”和和“1”以外还有其他的逻辑量,如高阻态以外还有其他的逻辑量,如高阻态“Z”、不定态不定态“X”等等)的硬件描述语言,很好地满足了实际数字系统的设计需求。的硬件描述语言,很好地满足了实际数字系统的设计需求。该程序包中用得最多和最广的是该程序包中用得最多和最广的是定义了满足工业标准的定义了满足工业标准的两个数据类型两个数据类型STD_LOGIC和和STD_LOGIC_VECTOR,它们非常适合于它们非常适合于FPGA/CPLD器件中多值逻辑设计结构。器件中多值逻辑设计结构。3.4 VHDL的库和包的库和包4848常用程序包常用程序包STANDARD程序包程序包 这个程序包是这个程序包是STD库中的预编译程序包。定义了许库中的预编译程序包。定义了许多基本的数据类型、子类型和函数。它是多基本的数据类型、子类型和函数。它是VHDL标准程标准程序包,实际应用中已隐性地打开了,故在设计单元的开序包,实际应用中已隐性地打开了,故在设计单元的开头头不必再用不必再用USE语句另作声明。语句另作声明。3.4 VHDL的库和包的库和包4949本节内容本节内容数据对象、数据类型、运算符和表达式数据对象、数据类型、运算符和表达式常用顺序语句、并行语句常用顺序语句、并行语句VHDLVHDL常用的库、程序包常用的库、程序包重点掌握重点掌握数据对象、数据类型、运算符和表达式数据对象、数据类型、运算符和表达式常用顺序语句、并行语句常用顺序语句、并行语句课时小结课时小结5050docin/sanshengshiyuandoc88/sanshenglu 更多精品资源请访问更多精品资源请访问
展开阅读全文