打印
[Actel FPGA]

信号、变量与常量的区别

[复制链接]
1651|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bit6019|  楼主 | 2011-10-12 10:12 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
3.信号、变量与常量的使用范围
3
1信号的使用范围
信号可以在architecturepackageentitiy中声明,是全局量可以在全局使用。
32变量的使用范围
变量可以在processfunctionprocedure中声明,也只能在processfunctionprocedur中使用不是全局变量。
33常量的使用范围
常量可以用于上面两种场合。
4.信号、变量与常量的使用差别
41从硬件电路系统来看,常量相当于电路中的恒定电平,如GNDVCC接口,而变量和信号则相当于组合电路系统中门与门间的连接及其连线上的信号值。
42从行为仿真和VHDL语句功能上看,二者的区别主要表现在接受和保持信号的方式、信息保持与传递的区域大小上。例如信号可以设置延时量,而变量则不能;变量只能作为局部的信息载体,而信号则可作为模块间的信息载体。变量的设置有时只是一种过渡,最后的信息传输和界面间的通信都靠信号来完成。
43从综合后所对应的硬件电路结构来看,信号一般将对应更多的硬件结构,但在许多情况下,信号和变量并没有什么区别。例如在满足一定条件的进程中,综合后它们都能引入寄存器。这时它们都具有能够接受赋值这一重要的共性,而VHDL综合器并不理会它们在接受赋值时存在的延时特性。
44虽然VHDL仿真器允许变量和信号设置初始值,但在实际运用中,VHDL综合器并不会把这些信息综合进去。这是因为实际的FPGA/CPLD芯片在上电后,并不能确保其初始状态的取向。因此,对于时序仿真来说,设置的初始值在综合时是没有实际意义的
45信号和变量是VHDL中重要的客体,他们之间的主要区别有:
·信号赋值至少要有δ延时;而变量赋值没有。
·信号除当前值外有许多相关的信息,如历史信息和投影波形;而变量只有当前值。
·进程对信号敏感而不对变量敏感。
·信号可以是多个进程的全局信号;而变量只在定义他们的顺序域可见(共享变量除外)。
·信号是硬件中连线的抽象描述,他们的功能是保存变化的数据值和连接子元件,信号在元件的端口连接元件。变量在硬件中没有类似的对应关系,他们用于硬件特性的高层次建模所需要的计算中。
通过前面的讨论,在使用VHDL设计FPGA/CPLD芯片时要灵活运用信号、变量与常量对象提高设计效率。

相关帖子

沙发
coco11| | 2011-10-12 14:21 | 只看该作者
能再详细点就好了。

使用特权

评论回复
板凳
午后苦丁茶| | 2011-10-14 15:56 | 只看该作者
这也能稍稍看得明白了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

221

主题

1344

帖子

1

粉丝