硬件描述语言及器件3(侯伯亨版)

硬件描述语言及器件3(侯伯亨版)

ID:37570404

大小:937.31 KB

页数:44页

时间:2019-05-12

硬件描述语言及器件3(侯伯亨版)_第1页
硬件描述语言及器件3(侯伯亨版)_第2页
硬件描述语言及器件3(侯伯亨版)_第3页
硬件描述语言及器件3(侯伯亨版)_第4页
硬件描述语言及器件3(侯伯亨版)_第5页
资源描述:

《硬件描述语言及器件3(侯伯亨版)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、适合班级:0906024109060242教学东区01107H第三课VHDL语言数据类型及运算操作符数据对象/客体在VHDL中把保存数据的单元称为数据对象。客体(Object):凡是可以赋予一个值的对象成为客体。VHDL中的四种客体:信号(Signal)变量(Variable)常量(Constant)文件(File)四类客体含义及说明场合客体类型含义说明场合信号信号是全局变量ARCHITECTURE,PACKAGE,ENTITY变量共享变量是全局变量,局部变量是局部量PROCESS,FUNCTION,PROCEDURE常数常数是全局量上面两种场合下均可存在文件文件是全局

2、量ARCHITECTURE,PACKAGE,ENTITY常数(constant)语法格式如下:constant常数名:数据类型名:=表达式;例:constantVCC:real:=5.0;constantdaly:time:=100ns;constantfbus:bit_vector:=“0101”;常数一旦设定后,在整个程序中将不再改变。常数名称的命名规则:①第一个字符是英文字母。②最后一个字符不能是下划线,中间也不能有两个连续的下划线。③常数名称不能是VHDL的保留字。常数所赋的值应与定义的数据类型一致。例如:constantVCC:real:=“0101”;变量(

3、Variable)临时数据,没有物理意义只能在Process、Function和Procedure中定义,并只在其内部有效语法格式:variable变量名:数据类型约束条件:=表达式;例:variablex,y:integer;variablecount:integerrange0to255:=10;用:=进行赋值共享变量实际使用过程中,有时希望进程或子程序的结果以变量形式进行数据传递。不能在Process、Function和Procedure中定义语法格式:sharedvariable变量名:数据类型约束条件:=初始值;慎用。共享变量Architecturesampl

4、eoftestissharedvariablenotclk:std_logic;signalclk:std_logic;Beginp1:process(clk)isbeginif(clk’eventandclk=‘1’)thennotclk:=‘0’;endif;endprocessp1;p2:process(clk)isbeginif(clk’eventandclk=‘0’)thennotclk:=‘1’;endif;endprocessp2;Endarchitecturesample;信号(signal)信号是逻辑电路内部硬件连接(节点)的抽象,它除了没有数据流动方

5、向的说明外,其它性质几乎和“端口”一样。信号通常在结构体、程序包集合和实体中说明。信号A信号说明语句的格式为:signal信号名:数据类型约束条件:=设置值;例如:signalsys_clk:bit:=‘0’;signalground:bit:=‘0’;使用信号(signal)的VHDL程序有关信号的使用规则说明如下:“:=”表示对信号直接赋值,表示信号初始值不产生延时。“<=”表示代入赋值,是变量之间信号的传递,代入赋值法允许产生延时。例如:T1<=T2;在仿真中,初始化能保证信号设定在指定值上。对于存储元件的加电初始状态,应该设计复位或予置位机构,而不是通过信号指定

6、初始化值来实现。在EDA工具综合时,信号应在结构体中描述清楚。信号与变量的区别architecturertlofstartissignalcount:integerrange0to7;beginprocess(clk)beginif(clk'eventandclk='1')thencount<=count+1;if(count=0)thencarryout<='1';elsecarryout<='0';endif;endif;endprocess;endrtl;--信号延时赋值architecturertlofstartisbeginprocess(clk)variab

7、lecount:integerrange0to7;beginif(clk'eventandclk='1')thencount:=count+1;if(count=0)thencarryout<='1';elsecarryout<='0';endif;endif;endprocess;endrtl;--变量实时赋值VHDL的数据类型所有的信号、变量和常量,在VHDL程序中都要指定数据类型。数据类型用来指定工程可以采用的数据集合或数值的范围,并且也有与给定类型相关联的一套操作(如或、与,等等)。VHDL是强类型语言,强类型是指数据类型的定义相

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。