VHDL的基本元素.ppt

上传人:得****1 文档编号:74922441 上传时间:2023-03-01 格式:PPT 页数:54 大小:5.13MB
返回 下载 相关 举报
VHDL的基本元素.ppt_第1页
第1页 / 共54页
VHDL的基本元素.ppt_第2页
第2页 / 共54页
点击查看更多>>
资源描述

《VHDL的基本元素.ppt》由会员分享,可在线阅读,更多相关《VHDL的基本元素.ppt(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、VHDL的基本元素n1 标识符n2 数据对象n3 数据类型n4 操作符n5 端口模式VHDL的基本元素Fengzhuang_kaishiport(IN1:in;IN2:in;IN3:in;IN4:in;OUT4:out)Fengzhuang_jieshuGongneng_kaishisignal T1,T2;OUT4=T1 or T2;T2=IN3 and IN4;T1=IN1 and IN2;Gongneng_jieshu1、为了用起来像个函数的样子,不妨加个port关键词,把输入输出引脚象参数一样排列起来。2、很好地表达了4个输入引脚,1个输出引脚。3、提供给别人调用。1、内部功能实现的细

2、节2、T1、T2似乎有点奇怪,哪来的?3、那我们也规定先定义,后使用!Library IEEE;Use IEEE.STD_LOGIC_1164.ALL;ENTITY mux IS PORT(d0,d1,sel:in bit;q:out bit);END mux;Architecture dataflow of mux issignal tmp1,tmp2,tmp3:bit;Begintmp1=d0 and sel;tmp2=d1 and(not sel);tmp3=tmp1 or tmp2;q=tmp3;End dataflow;d0d1selq&1qd0d1selVHDLVHDL的基本元素的

3、基本元素VHDLVHDL的基本元素的基本元素n实体声明语法:实体声明语法:ENTITY 实实体名体名 IS 类类属参数属参数说说明明;端口端口说说明明;END 实体名;实体名;n举例:举例:nENTITY mux ISPORT(d0,d1,sel:IN BIT;q:OUT BIT);END mux;d0d1selqVHDLVHDL的基本元素的基本元素 ARCHITECTURE 结结构体名构体名 OF 实实体名体名 IS 定定义语义语句句内部信号,常数,数据内部信号,常数,数据类类型,函数等的定型,函数等的定义义;BEGIN 功能描述功能描述语语句句并行并行处处理理语语句句;END 结构体名结构

4、体名;实体名必须是所在设计实体的名字,结构体名由设计者定义,但当一个实体具有多个结构体时,结构体的取名不可重复。VHDL的基本元素的基本元素进程名进程名:PROCESS(敏感信号表敏感信号表)IS变量说明语句变量说明语句变量说明语句变量说明语句BEGIN 进程内逻辑语句进程内逻辑语句 END PROCESS 进程名进程名;process语句使用的类型、常量、变量、子程序声明、子程序体、属性声明等,但不能有信号声明*可有可无,区分不同进程VHDLVHDL的基本元素的基本元素n标识符规则是VHDL语言中符号书写的一般规则。不仅对电子系统设计工程师是一个约束,同时也为各种各样的EDA工具提供了标准的

5、书写规范。nVHDL语言有两个标准版:VHDL87版和VHDL93版。VHDL87版的标识符语法规则经过扩展后,形成了VHDL93版的标识符语法规则。n前一部分称为短标识符,扩展部分称为扩展标识符。VHDL93版含有短标识符和扩展标识符两部分。VHDLVHDL的基本元素的基本元素n 短标识符短标识符n在VHDL语言中使用的名字,如信号名、实体名、结构体名、变量名、各种进程标记、块标记等命名时,采用短标识符要遵守以下规则:n(1)必须以英文字母打头。n(2)字符可以是大小写的字符、数字(09)和下划线(_)。n(3)下划线前后都必须有英文字母或数字。n(4)短标识符不区分大小写。n一般地,对VH

6、DL的保留字:ENTITY,ARCHITECTURE,END,BUS,USE,WHEN,WAIT,IS在程序书写时,一般要求大写或黑体,使得程序易于阅读,易于检查错误。VHDLVHDL的基本元素的基本元素n下面是合法的标识符:nmulti_screens、Multi_screensnMulti_Screens、MULTI_SCREENSn下面的书写是不合法的:nillegal%name illegal-name illegal-namen命名规则举例:nSIGNAL sel:INTEGER;nSIGNAL PCI_BUS:STD_LOGIC_VECTOR(31 DOWNTO O);nSIGNA

7、L 8_BUS:.-数字开头,是错误的名字nSIGNAL PCI_BUS:.-是非法符号nSIGNAL PCI_BUS_:.-结尾不能用连字符VHDLVHDL的基本元素的基本元素n扩展标识符是VHDL93版增加的标识符书写规则:n(1)扩展标识符用反斜杠来定界。nmulti_screens,eda_centrol等都是合法的扩展标识符。n(2)允许包含图形符号、空格符。例如:mode A,$100,p%name等。n(3)反斜杠之间的字符可以用保留字。例如:buffer,entity,end等。n(4)扩展标识符的界定符两个斜杠之间可以用数字打头。如:100$,2chip,4screens等。

8、n(5)扩展标识符中允许多个下划线相连。例如:n Four_screens,TWO_Computer_sharptor等。n(6)扩展标识符区分大小写。例如:EDA 与eda不同。n(7)扩展标识符与短标识符不同。例如:COMPUTER 与Computer不同。VHDLVHDL的基本元素的基本元素n在VHDL语言中,凡是可以赋予一个值的客体叫对象。nVHDL对象包含有专门数据类型,主要有4个基本类型:常量(CONSTANT)、信号(SIGNAL)、变量(VARIABLE)和文件(FILES)。其中文件类型是VHDL93标准中新通过的。n信号和变量可以连续的赋予不同的值。n常量只在它被说明时赋值

9、,在整个器件工作期间值不变化。试图对常量多次赋值是错误的。n文件可以用参数向子程序传递数据,通过子程序对文件进行读和写操作。文件不可以通过赋值来更新文件的内容,文件参数没有模式。VHDLVHDL的基本元素的基本元素n对象说明的一般书写格式为:n对象类别 标识符表:子类型标识:=初值;n对象说明举例:nCONSTANT T1,T2:time:=30ns;-常量说明nVARIABLE SUM:read;-变量说明nSIGNAL CLOCK:bit;-信号说明VHDLVHDL的基本元素的基本元素n常量(constant)是设计者给实体中某一常量名赋予的固定值。一般地,常量赋值在程序开始前进行说明,数

10、据类型在实体说明语句中指明。常量说明的一般格式如下:nCONSTANT CONSTANT 常数名:数据类型常数名:数据类型:表达式;表达式;n根据上面的格式,举例如下:n8位寄存器宽度指定:nCONSTANTCONSTANT regw:integer:8;n设计实体的电源供电电压指定:nCONSTANTCONSTANT Vcc:real:5.0;n某一模块信号输入/输出的延迟时间:nCONSTANTCONSTANT DALY:time:100ns;VHDLVHDL的基本元素的基本元素n常量标识符、WIDTH,VCC,DALY,PBUS等在VHDL程序中多处有用,其值在运行中不变。若要改变常量值

11、,必须要改变设计,改变实体中的常量说明,然后重新编译。n常数所赋的值应和定义的数据类型一致;n常量必须在程序包、实体、结构体或进程的说明区域中对常量的标识符、类型、常量值进行指定。n定义在程序包中的常量由所在的实体或结构体调用。n定义在实体内的常量仅在实体内使用,定义在进程内的常量仅在进程内使用。VHDLVHDL的基本元素的基本元素n变量(variables)仅用在进程语句、函数语句、过程语句中的结构中使用,变量是一个局部量,变量的赋值立即生效,不产生赋值延时。变量书写的一般格式为:nVARIABLES VARIABLES 变量名:数据类型变量名:数据类型 约束条件约束条件:表达式;表达式;n

12、根据上述格式,举例如下:nVARIABLESVARIABLES result:std_logic:0;变量赋初值nVARIABLESVARIABLES x,y,z:integer;nVARIABLESVARIABLES count:integer range 0 TO 255:10;n变量不能加附加延时,如”after 10 ns”。VHDLVHDL的基本元素的基本元素n在VHDL语言中,变量的使用规则和限制范围说明如下:n变量赋值是直接非预设的。在某一时刻仅包含了一个值。n变量赋值和初始化赋值符号用“:”表示。n变量不能用于硬件连线和存储元件。n在仿真模型中,变量用于高层次建模。n在系统综合

13、时,变量用于计算,作为索引载体和数据暂存。n在进程中,变量的使用范围在进程之内。若将变量用于进程之外,必须将该值赋给一个相同类型的信号,即进程之间传递数据靠的是信号。VHDLVHDL的基本元素的基本元素n信号(signal)是电子电路内部硬件实体相互连接的抽象表示。信号通常在构造体、包集合和实体说明中使用,其一般书写格式为:nSIGNAL SIGNAL 信号名:数据类型、约束条件信号名:数据类型、约束条件:表达式;表达式;使用上述格式举例如下:nSIGNAL sys_clk:BIT:=SIGNAL sys_clk:BIT:=0 0;-系统时钟信号nSIGNAL count:bit_vector

14、(7 downto 0);-计数器宽度 VHDLVHDL的基本元素的基本元素n有关信号的使用规则说明如下:n“:=:=”表示对信号直接赋值,表示信号初始值不产生延时。n“=”表示代入赋值,是变量之间信号的传递,代入赋值法允许产生延时。例如:T1=T2;n在仿真中,初始化能保证信号设定在指定值上。对于存储元件的加电初始状态,应该设计复位或予置位机构,而不是通过信号指定初始化值来实现。n在EDA工具综合时,信号应在结构体中描述清楚。n在进程中,变量的使用范围在进程之内。若将变量用于进程之外,必须将该值赋给一个相同类型的信号,即进程之间传递数据靠的是信号。VHDLVHDL的基本元素的基本元素n声明的

15、形式与位置不同:信号在结构体中声明;变量在进程中声明。n赋值符号不同:count=“00000000”;n data:=“00000000”;n进程对信号敏感,对变量不敏感n作用域不同:信号可以是多个进程的全局信号;变量只在定义后的顺序域可见。VHDLVHDL的基本元素的基本元素客体客体信号信号变量变量代入符代入符=:操作操作过程过程由于信号代入语句是并行处理的,下一条语句执行时,仍使用原来的信号值。变量的赋值语句不是并行的,在执行下一条语句时,变量的值就为上一句新赋的值。举举例例PROCESS(A,B,C)BEGIN D=A;X=B+D;D=C;Y=B+D;END PROCESS;结果:结果

16、:X=B+C;Y=B+C;PROCESS(A,B C)VARIABLE D:STD_LOGIC;BEGIN D:=A;X=B+D;D:=C;Y=B+D;END PROCESS;结果:结果:X=B+A;Y=B+C;VHDLVHDL的基本元素的基本元素n可用函数调用的方法给对象赋初值。CONSTANT Bus_number:Integer:My_function(True,6);n如果在同一个对象说明语句中,对多个同一类型的对象指定初始值,则多个对象同时取得了这一指定值。n信号和变量的默认值。当信号和变量没有指定初始值或没有给信号变量赋值时,即信号和变量的值在对象说明语句中默认时,信号变量的取值称

17、为默认值。一般地,若变量、信号为数值型变量,则取初始值,默认值为0.VHDLVHDL的基本元素的基本元素nVHDL语言标准定义了10种标准的数据类型。为了方便设计,允许用户自定义数据类型。nVHDL语言程序是系统行为的描述、功能的说明和结构的组织,使用规范化语言,有着很强的约束性。不同的数据类型不能直接代入,相同的类型,位长不同也不能代入。EDA工具在编译、综合时会报告类型错。VHDLVHDL的基本元素的基本元素nVHDL语言标准所定义的标准数据类型n(1)整数类型(INTEGER TYPE)p36n(2)实数类型或浮点类型(REAL TYPE FLOATING TYPE)n(3)位类型(BI

18、T TYPE)std_logicstd_logicn(4)位矢量类型(BIT_VECTOR TYPE)std_logic_vectorstd_logic_vectorn(5)布尔类型(BOOLEAN TYPE)n(6)字符类型(CHARACTER TYPE)n(7)时间类型或物理类型(Time type physical type)n(8)错误类型(NOTE,WARNIING,ERROR,FAILURE TYPE)n(9)自然数、整数类型(NATURAL TYPE)n(10)字符串类型(TRING TYPE)VHDLVHDL的基本元素的基本元素n字符(CHARACTER)n字符在VHDL语言中

19、编程时用单引号括起来。A,a,B,b,都认为是不同的字符。nVHDL语言对大小写英文字母不敏感,但区分字符量中的大小写。字符1,2仅是符号。n字符包括AZ,az,09,空格及一些特殊字符。VHDLVHDL的基本元素的基本元素n字符串(STRING)n字符串是由双引号括起来的一个字符序列。例如“VHDL”,“STRING”,“MULTI_SCREEN COMPUTER”等。n字符串一般用于给位向量赋值、程序的提示、结果的说明等场合。n字符为单引号括起来的ASCII字符:n 例如1,A,F。n WR=1;n字符串为双引号括起来的图形字符序列。n例如:“PCI BUS interface”,n “T

20、his string constain an information”。n Bus=“01011100”;VHDLVHDL的基本元素的基本元素n整数(INTEGER)n在VHDL语言中,整数范围从(2311)到(2311),例如:128,5,12,。n在电子系统中,整数可以用进制来表示。n整数不能看作矢量,不能单独对某一位操作。n整数不能用于逻辑运算,只能用于算术运算。n对象的数据类型定义为整数时,范围应有约束。例如:nVARIABLE A:INTEGER RANGE 128 TO 128;n在电子系统设计过程中,整数可以用来抽象地表达总线的状态。n常用的整数常量的书写方式如下:n 2,10E

21、3;-十进制整数n 16#D2#;-十六进制整数n 2#10101010#;-二进制整数VHDLVHDL的基本元素的基本元素n布尔量(BOOLEAN)n布尔量是二值枚举量,每一个布尔量具有两个可能的值:“真”或者“假”。n布尔量没有数量多少的概念,不能进行算术运算,只能进行逻辑运算。n布尔量常用来表达信号的状态,或者总线上的控制权,仲裁情况,忙、闲状态等。n若某个客体被定义为布尔量,则EDA工具对设计进行仿真时,自动地对其赋值情况进行核查。VHDLVHDL的基本元素的基本元素n位(BIT)n位通常用来表示一个信号的值。n位通常用单引号来括号引其位的值。如:TYPE BIT IS(0,1);n位

22、的值0,1可以表示信号的状态;n位数据类型取值0和1;整数中的1和0表示数值,布尔量的值TRUE和FLASE没有数值含义,三者的意义不一样n位数据类型可以参与逻辑运算,结果任然为BIT。VHDLVHDL的基本元素的基本元素n位向量(BIT_VECTOR)n位矢量只是基于位矢量只是基于BIT数据类型的数组数据类型的数组n位矢量可以进行算术运算。位矢量可以进行算术运算。n位矢量通常用来表示总线状态。位矢量通常用来表示总线状态。n声明:声明:n SIGNAL b:BIT_VECTOR(3 DOWNTO 0);n位矢量常量是用位矢量常量是用双引号双引号括起来的一组位数据。括起来的一组位数据。如:如:B

23、”001100”-B表示二表示二进进制制 X”00BB”-X表示十六表示十六进进制制 O”3705”-O表示八表示八进进制制n在在VHDL语言中,实数范围为语言中,实数范围为1.0E38到到1.0E38。n实数有正负数,书写时一定要有小数点。实数有正负数,书写时一定要有小数点。n在有关文献中,实数类型也称为在有关文献中,实数类型也称为浮点类型浮点类型。但大多。但大多数数EDA工具不支持浮点运算,仅用于仿真,因为太工具不支持浮点运算,仅用于仿真,因为太复杂,电路规模难以承受。复杂,电路规模难以承受。n书写方式举例:书写方式举例:2.22,44.5E-4;-十进制浮点数十进制浮点数8#44.5E-

24、4;-八进制浮点数八进制浮点数VHDLVHDL的基本元素的基本元素VHDLVHDL的基本元素的基本元素n在VHDL程序设计中,不同类型的对象不能代入。对于某一数据类型的变量、信号、常量、文件赋值时,类型一定要一致,否则EDA工具进行综合、仿真等过程中不能通过。n为了进行不同类型的数据变换,可以有3种方法:n类型标记法n函数转换法n常数转换法。VHDLVHDL的基本元素的基本元素n用用类型标记类型标记法实现类型转换法实现类型转换n类型标记就是类型的名称。类型标记法仅适用于关系密切的标量类型之间的类型转换,即整数和实数的类型转换。若:nvariable i:integer;nvariable r:

25、real;n则有:ni:integer(r);nr:real(i);VHDLVHDL的基本元素的基本元素n用函数法进行数据类型转换,VHDL语言标准中的程序包提供的变换函数来完成这个工作。这些程序包有3种:nSTD_LOGIC_1164程序包定义的转换函数:n函数 TO_STDLOGICVECTORTO_STDLOGICVECTOR(A)-由位矢量 BIT_VECTOR 转换为 STD_LOGIC_VECTORn函数 TO_BITVECTORTO_BITVECTOR(A);-由标准逻辑矢量STD_LOGIC_VECTOR转换为BIT_VECTORn函数 TO_STDLOGICTO_STDLOG

26、IC(A);-由BIT转换为STD_LOGICn函数 TO_BITTO_BIT(A);-由标准逻辑STD_LOGIC转换BITVHDLVHDL的基本元素的基本元素nSTD_LOGIC_ARITH包集合定义的转换函数:n函数:CONV_STD_LOGIC_VECTOR(A,位长);-由INTEGER,SINGED,UNSIGNED转换成STD_LOGIC_VECTORn函数:CONV_INTEGER(A);-由SIGNED,UNSIGNED转换成INTEGERn STD_LOGIC_UNSIGNED包集合定义的转换函数:n USE IEEE.STD_LOGIC_UNSIGNED.ALL;-USE

27、 IEEE.STD_LOGIC_UNSIGNED.ALL;-增加声明增加声明n函数:CONV_INTEGER(A);-由STD_LOGIC_VECTOR转换成INTEGER VHDLVHDL的基本元素的基本元素n与BIT类型不同,VHDL93标准定义了STD_LOGIC 9种不同的值,增加了不定状态“X”、高阻状态“Z”。不定状态方便了系统仿真,高阻状态方便了双向总线的描述。nU-初始值nX X -不定,未知;不定,未知;nO O -0-0n1 1 -1-1nZ Z -高阻高阻nW-弱信号不定,未知nL-弱信号0nH-弱信号1n-不可能情况n使用时需要写出库说明语句和使用的包集合说明语句nUS

28、E IEEE.STD_LOGIC_1164.ALLUSE IEEE.STD_LOGIC_1164.ALLVHDLVHDL的基本元素的基本元素n建议库资源同时声明三个,会省很多事:nlibrary ieee;library ieee;nuse ieee.std_logic_1164.all;use ieee.std_logic_1164.all;nuse ieee.std_logic_arith.all;use ieee.std_logic_arith.all;nuse ieee.std_logic_unsigned.all;use ieee.std_logic_unsigned.all;nie

29、ee是库,std_logic_XXXX是程序包,all是项目名nstd_logic_arith程序包,它预先编译在ieee库中,是在std_logic_1164程序包的基础上扩展了三个数据类型unsigned、signed和small_int,并且定义了相关的算术运算符和数据类型转换函数。VHDLVHDL的基本元素的基本元素n为了提高VHDL语言设计程序的可读性,像其他高级语言那样,在每一程序行后可以增加注释。n注释从“-”符号开始,到该行末尾结束。n注释文字不产生硬件电路结构,不描述电路行为,在综合、仿真、验证过程中,EDA工具对注释行不进行处理。n举例:Trant=Frame&idle&i

30、rdy&devsel;-XXX -PCI总线数据传输译码逻辑之一。VHDL的基本元素n1 标识符n2 数据对象n3 数据类型n4 操作符n5 端口模式VHDLVHDL的基本元素的基本元素nVHDL语言的操作符有4种:n(1)逻辑运算符(LOGICAL)n(2)关系运算符(RELATIONAL)n(3)算术运算符(ARITHMETIC)n(4)并置运算(CONCATENATION)VHDLVHDL的基本元素的基本元素n在VHDL中,逻辑运算符有6种,列表如下:n(1)NOT取反n(2)AND与n(3)OR或n(4)NAND与非n(5)NOR或非n(6)XOR异或;n逻辑运算符左右无优先级,下面语

31、句的括号去掉后不同;nX=(a and b)or(not c and d);n逻辑运算符用于bit类型的逻辑操作以及条件组合。n关于逻辑运算符,在关于逻辑运算符,在VHDL程序设计中有如下程序设计中有如下规则:规则:(1)适用变量类型:)适用变量类型:STD_LOGIC、BIT等逻辑型数据、等逻辑型数据、STD_LOGIC_VECTOR及布尔型数据;及布尔型数据;(2)运算符的左边和右边,以及代入的信号的数据类型必运算符的左边和右边,以及代入的信号的数据类型必须是相同的须是相同的;(3)一个逻辑式中,先做括号里的运算,再做括号外运算;)一个逻辑式中,先做括号里的运算,再做括号外运算;(4)表达

32、式中只有)表达式中只有“AND”、“OR”、“XOR”中的一种运中的一种运算符,则改变顺序不影响结果,括号可省略。算符,则改变顺序不影响结果,括号可省略。VHDLVHDL的基本元素的基本元素SIGNAL A,B,C:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL D,E,F,G :STD_LOGIC_VECTOR(1 DOWNTO 0);SIGNAL H,I,J,K :STD_LOGIC;SIGNAL L,M,O,P :BOOLEAN;A=B AND C;-B、C相与向相与向A赋值赋值,同属,同属4位位长长的位矢量的位矢量D=E OR F OR G;-两个操作符相同,不

33、需要括号两个操作符相同,不需要括号H=(I NAND J)NAND K;-不属于与、或、异或,所以需要括号不属于与、或、异或,所以需要括号L=(M XOR N)AND(O XOR P);-操作符不同,所以需括号操作符不同,所以需括号H=I AND J AND K;-都是与,可以不用括号都是与,可以不用括号H=I AND J OR K;-错误错误,操作符不同需要括号,操作符不同需要括号A=B AND E;-错误错误,位,位长长度不同度不同H=I OR L;-错误错误,数据,数据类类型不同型不同VHDLVHDL的基本元素的基本元素n在在VHDL93版中,增加了版中,增加了6种新的逻辑运算符:种新的

34、逻辑运算符:nSLL逻辑左移逻辑左移nSRL逻辑右移逻辑右移nSLA算术左移算术左移nSRA算术右移算术右移nROL逻辑循环左移逻辑循环左移nROR逻辑循环右移逻辑循环右移移空的位补零移空的位由最初首位补移出的位依次填补移空的位VHDLVHDL的基本元素的基本元素n“1001001”SLL 1“0010010”n“1001001”SRL 1“0100100”n“1001001”SLA 1“0010011”n“1001001”SRA 1“1100100”n“1001001”ROL 1 “0010011”n“1001001”ROR 1 “1100100”VHDLVHDL的基本元素的基本元素VHDL

35、VHDL的基本元素的基本元素n关系运算符是两个对象在比较运算时,将两个操作数比较的结果表示出来所使用的符号,列表如下:n-等于n/-不等于n-小于n-小于等于n-大于n-大于等于VHDLVHDL的基本元素的基本元素n两个对象进行比较时,数据类型一定要相同。n(等于)和/(不等于)适用于所有数据类型的对象之间的比较。n大于、小于、大于等于、小于等于适用于整数、实数位、位矢量、数组类型的比较。n=符号有两种含义:代入符和小于等于符,要根据上下文判断。n两个位矢量类型的对象比较时,自左至右,按位比较。VHDLVHDL的基本元素的基本元素nVHDL算术运算符的例表如下:n(1)-加运算n(2)-减运算

36、n(3)*-乘运算n(4)/-除运算n(5)MOD -求模运算n(6)REM -取余运算n(7)-正n(8)-负n(9)*-指数运算n(10)ABS -取绝对值VHDLVHDL的基本元素的基本元素n+,-(正负)操作,即一元运算,可以是整数,实数,物理量;n+,-(加减)运算符的适用范围可以是整数、实数。而且对于加、减运算的两个操作数必须类型相同;n*,/(乘除)法的操作数可以同为整数和实数,物理量乘或除以整数仍为物理量,物理量除以相同的物理量,商为整数或实数;nMOD,REM(求模、取余)运算的操作数必须是同一整数类型的数据;n加、减、乘能综合为电路,其余运算综合成电路很困难,或者是完全不可

37、能的。VHDLVHDL的基本元素的基本元素1)加减运算VARIABLE a,b,c,d,e,f:INTEGER RANGE 0 TO 255;a:=b+c;d:=e-f;2)混合运算SIGNAL a,b:INTEGER RANGE-8 TO 7;SIGNAL c:INTEGER RANGE 0 TO 15;SIGNAL d:INTEGER RANGE 0 TO 3;a=ABS(b);c=2*d;VHDLVHDL的基本元素的基本元素n在VHDL程序设计中,并置运算符“”用于位的连接。并置运算符的使用规则如下:n并置运算符可用于位的连接,形成位矢量。n并置运算符可连接两个位矢量构成更大的位矢量。n

38、位的连接,可以用并置符连接法,也可用集合体连接法。举例如下:nDATA_C=D0&D1&D2&D3;nDATA_C=(D0,D1,D2,D3);n集合体连接法不可用于向量的连接。VHDLVHDL的基本元素的基本元素n在VHDL程序设计中,逻辑运算、关系运算、算术运算、并置运算优先级是不相同的,各种运算的操作不可能放在一个程序语句中,所以把各种运算符排成统一的优先顺序表意义不明显。n其次,VHDL语言的结构化描述,在综合过程中,程序是并行的,没有先后顺序之分,写在不同程序行的硬件描述程序同时并行工作。nVHDL语言程序设计者不要理解程序是逐行执行,运算是有先后顺序的,这样是不利于VHDL程序的设

39、计。n运算符的优先顺序仅在同一行的情况下来讨论的,不同行的程序是同时的。VHDLVHDL的基本元素的基本元素n输入(Input):clk、reset、en、addr等n输出(Output):输出信号,不能内部引用n双向(Inout):可代替所有其它模式,用于设计双向总线n缓冲(Buffer):与Output类似,但允许该管脚名作为一些逻辑的输入信号VHDL的基本元素nEntitytest1isnport(a:instd_logic;nb,c:outstd_logicn);endtest1;narchitectureaoftest1isnbeginnb=not(a);nc=b;-Errorc=b;-Errornenda;nEntitytest2isport(a:instd_logic;b:bufferstd_logic;c:outstd_logic);endtest2;architectureaoftest2isbeginb=not(a);c=b;c=b;enda;VHDL的基本元素n请检索 SN74LS10 器件手册n完成以下要求:给出该器件的外形照片;给出该器件的封装图,并注明齐引脚编号;给出每个引脚的功能说明;请使用VHDL给出完整描述该器件功能的代码实体名称请定义为XHnnnn,其中nnnn为自己的学号。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁