欢迎来到天天文库
浏览记录
ID:57011931
大小:765.50 KB
页数:88页
时间:2020-07-26
《VHDL语言的数据类型及运算课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章VHDL语言的数据类型及运算操作符9/9/20211本章内容VHDL语言的客体及其分类信号变量常量文件VHDL语言的数据类型标准的数据类型用户自定义数据类型VHDL语言的运算操作符逻辑运算符算术运算符关系运算符9/9/202123.1VHDL语言的客体及其分类在VHDL语言中可以赋予一个值的对象,称为客体(数据对象),也即可以存放信息的容器。客体类别:信号(Signal)变量(Variable)常数(Constant)文件(File)9/9/20213VHDL语言三类客体的含义和说明场合block9/9/20214电
2、子电路设计中,信号、变量、常数、文件四类客体的物理含义:信号对应物理设计中的某一条硬件连接线;常数对应数字电路中的电源和地等;变量的对应关系不太直接,通常用于暂时数据的局部存储,用于硬件特性的高层次描述的建模计算。文件没有直接物理对应关系,它可用参数向子程序传递数据,通过子程序对文件进行读、写操作。(93版)9/9/202151.常数(Constant)1)常数的作用保证常数所描述的数据在程序中不会因误操作被改变;对程序中的某些关键数值进行命名,可以提高程序的可读性;将出现次数较多的关键数值用常数表示,可使程序易于修改:只
3、须修改常数就可以替换所有相关数值。constant常数名:数据类型:=表达式;2)常数说明的一般格式9/9/20216常数一旦被赋值就不能再改变;如上面的vcc被赋值为5.0,则在所有的VHDL语言程序中就被固定为5.0;它不象变量和信号那样,可以被任意代入不同的数值。常数所赋值的值应和定义的数据类型一致;constantvcc:real:=“0101”;??3)举例:constantvcc:real:=5.0;constantdelay:time:=100ns;constantfbus:bit_vector:=“0101
4、”;这是错误的9/9/202172.变量(Variable)1)变量的作用变量是局部量,用在进程、函数语句和过程语句中作为局部的数据存储;用于描述算法和方便程序中的数值运算。variable变量名:数据类型约束条件:=表达式;2)变量说明语句的格式9/9/202184)变量的赋值变量不与任何实际电路连线对应,变量的赋值是即时性的;变量的赋值使用“:=”。3)举例variablex,y:integer;variablecount:integerrange0to255:=10;若tmp1,tmp2,tmp3都是变量,下式正确吗
5、?tmp3:=tmp1+tmp2after10ns;上式是错误的9/9/202193.信号(Signal)1)信号的作用信号是一个全局量,在architecture、package、entity、block中说明,是内部硬件连接的抽象;可以用来进行进程之间的通信。FunctionalBlock:MUX(signals)FunctionalBlock:REGISTERS(signals)processprocesssignalssignalssignalssignals9/9/202110信号除了没有数据流动方向说明之外,其
6、它性质与“端口”概念一致;signal信号名:数据类型约束条件:=表达式;2)信号说明语句的格式可以将信号理解为“实体内部不限定数据流方向的端口”,或者将端口理解为“限定数据流动方向的信号”。9/9/202111信号代入时可以附加延时比如:若s1、s2都是信号,则s1<=s2after10ns;表示s2的值经10ns的延时以后被代入s1中。目标信号名<=表达式;3)举例signalsys_clk:bit:=‘0’;signalground:bit:=‘0’;4)信号的赋值9/9/202112SignalUsedAsanIn
7、terconnectrtghqbSignalDeclarationInsideArchitecturer,t,g,h,andqbAreSignals(byDefault)qaIsaBuriedSignalandNeedstoBeDeclaredLIBRARYIEEE;USEIEEE.std_logic_1164.all;ENTITYsimpISPORT(r,t,g,h:INSTD_LOGIC;qb:OUTSTD_LOGIC);ENDENTITYsimp;ARCHITECTURElogicOFsimpISSIGNALqa:S
8、TD_LOGIC;BEGINqa<=rort;qb<=(qaandnot(gxorh));ENDARCHITECTURElogic;9/9/202113信号和变量值代入的区别1)代入形式不同变量“:=”信号“<=”;2)操作过程不同变量即时赋值;信号代入语句的处理与代入过程是分开进行的,语句执行但信号值
此文档下载收益归作者所有