电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

变量与信号的异同VIP免费

变量与信号的异同_第1页
1/6
变量与信号的异同_第2页
2/6
变量与信号的异同_第3页
3/6
变量与信号的异同:1)变量是局部量,只能在进程和子程序中使用,不能将信息带出对它做出定义的当前结构,主要用作进程中的临时数据存储单元;信号是电路内部硬件实体相互连接的抽象表示,相当于电路内部的连接线,具有全局性特征,信号定义和使用的范围是实体、结构体和程序包,可以作为设计实体中的并行语句模块(进程)之间交流信息的通道。2)变量的赋值是理想化的数据传输,立即发生,不存在延时;信号的赋值可以设置延时量,即使是零延时,也要经历一个特定的延时,即δ延时,与实际器件的传播延迟特性相吻合,在进程的最后才对信号赋值。3)变量定义在进程或子程序中,信号不可以。4)信号可以列入进程的敏感表,但是变量不行。5)信号赋值有并行赋值和顺序赋值,并行赋值不允许有多个驱动源,进程中的顺序信号赋值语句可以有多个驱动源,但是只有最后的赋值语句被启动。6)很多情况下,综合后对应的硬件电路结构中信号和变量是没有什么区别的。A<=5例1D触发器之变量LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdff1ISPORT(CLK,D1:INSTD_LOGIC;Q1:OUTSTD_LOGIC);END;ARCHITECTUREbehavOFdff1ISBEGINPROCESS(CLK,d1)VARIABLEQQ:STD_LOGIC;BEGINIFCLK'EVENTANDCLK='1'THENQQ:=D1;ENDIF;Q1<=QQ;ENDPROCESS;--Q1<=QQ;END;DENAQPRECLRQQCLKD1Q1例2D触发器之信号LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdff1ISPORT(CLK,D1:INSTD_LOGIC;Q1:OUTSTD_LOGIC);END;ARCHITECTUREbehavOFdff1ISSIGNALQQ:STD_LOGIC;BEGINPROCESS(CLK)--VARIABLEQQ:STD_LOGIC;BEGINIFCLK'EVENTANDCLK='1'THENQQ<=D1;ENDIF;--Q1<=QQ;ENDPROCESS;Q1<=QQ;END;例3触发器之变量LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdff1ISPORT(CLK,D1:INSTD_LOGIC;Q1:OUTSTD_LOGIC);END;ARCHITECTUREbehavOFdff1ISBEGINPROCESS(CLK)VARIABLEA,B:STD_LOGIC;BEGINIFCLK'EVENTANDCLK='1'THENA:=D1;B:=A;Q1<=B;ENDIF;ENDPROCESS;END;DENAQPRECLRQ1~reg0CLKD1Q1例4触发器之信号LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdff1ISPORT(CLK,D1:INSTD_LOGIC;Q1:OUTSTD_LOGIC);END;ARCHITECTUREbehavOFdff1ISSIGNALA,B:STD_LOGIC;BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENA<=D1;B<=A;Q1<=B;ENDIF;ENDPROCESS;END;DENAQPRECLRDENAQPRECLRDENAQPRECLRBQ1~reg0CLKD1Q1A信号的赋值需要一个δ延时,进程中的所有信号赋值语句在进程启动的一瞬间立即启动各自的延时为δ的定时器,在定时结束时完成赋值操作,而顺序赋值的执行时间间隔几乎为0,在顺序执行到ENDPROCESS语句时,δ延时才结束,进程中的所有信号几乎同时完成赋值(更新)。执行赋值操作是一个过程,具有顺序的特征,完成赋值是一种结果,它的发生具有VHDL的信号赋值最有特色的并行行为特征。顺序信号赋值语句允许多源驱动,其执行具有顺序性,完成赋值即赋值对象的值发生更新的信号是最接近endprocess语句的信号。并行信号赋值语句是并行执行的,其执行顺序与书写顺序无关。并行信号赋值语句不允许有多个驱动源驱动。并行信号赋值语句是靠事件来驱动的,只有当信号赋值符号右边表达式中的信号上有事件发生时,该语句才会执行,一条并行信号赋值语句就相当于一个进程语句,可以改写成相应的进程语句。LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYfuzhiISPORT(CLK,a,b,c,d:INSTD_LOGIC;Q1,q2:OUTSTD_LOGIC);END;ARCHITECTUREbehavOFfuzhiIS--SIGNALA,B:STD_LOGIC;BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENQ1<=a;q2<=b;Q1<=c;ENDIF;ENDPROCESS;END;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYfuzhiISPORT(a,b:INSTD_LOGIC;Q1,q2:OUTSTD_LOGIC);END;ARCHITECTUREbehavOFfuzhiIS--SIGNALA,B:STD_LOGIC;BEGIN--F1<=aandb;--F2<=anorb;--F1<=anandb;PROCESS(a,b)BEGINF1<=aandb;F2<=anorb;F1<=anandb;ENDPROCESS;END;例5LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYdff1ISPORT(I0,I1,I2,I3,A,B:INSTD_LOGIC;Q1:OUTSTD_LOGIC);END;ARCHITECTUREbehavOFdff1ISSIGNALmuxval:INTEGERRANGE0TO7;BEGINPROCESS(I0,I...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

变量与信号的异同

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部