当前位置:首页 > EDA > 电子设计自动化
[导读] VHDL中的标识符可以是常数、变量、信号、端口、子程序或参数的名字。使用标识符要遵守如下法则:·标识符由字母(A…Z;a…z)、数字和下划线字符组成。·任何标识符必须以英文字母开头。&mid

 VHDL中的标识符可以是常数、变量、信号、端口、子程序或参数的名字。使用标识符要遵守如下法则:

·标识符由字母(A…Z;a…z)、数字和下划线字符组成。

·任何标识符必须以英文字母开头。

·末字符不能为下划线。

·不允许出现两个连续下划线。

·标识符中不区分大小写字母。

·VHDL定义的保留子或称关键字,不能用作标识符。

·VHDL中的注释由两个连续的短线(--)开始,直到行尾。

以下是非法标识符:

-Decoder —起始不能为非英文字母

3DOP —起始不能为数字

Large#number —“#”不能成为标识符的构成符号

Data__bus —不能有双下划线

Copper_ —最后字符不能为下划线

On —关键字不能用作标识符。

注:在AHDL语言中标识符要区分大小写,但在VHDL语言中不区分大小写。所以写程序时,一定要养成良好的书写习惯,应用关键字时用大写,自己定义的标识符用小写。

标识符表示的几种数据对象的详细说明如下:

1) 常数(Constant )

常数是一个固定的值,主要是为了使设计实体中的常数更容易阅读和修改。常数一被赋值就不能在改变。一般格式:

CONSTANT 常数名:数据类型:=表达式;

例:CONSTANT Vcc: REAL: =5.0;

—设计实体的电源电压指定

常数所赋得值应与定义的数据类型一致。

常量的使用范围取决于它被定义的位置。程序包中定义的常量具有最大的全局化特性,可以用在调用此程序包的所有设计实体中;设计实体中某一结构体中定义的常量只能用于此结构体;结构体中某一单元定义的常量,如一个进程中,这个常量只能用在这一进程中。

2) 变量(Variable)

变量是一个局部变量,它只能在进程语句、函数语句和进程语句结构中使用。用作局部数据存储。在仿真过程中。它不像信号那样,到了规定的仿真时间才进行赋值,变量的赋值是立即生效的。变量常用在实现某种算法的赋值语句中。

一般格式:

VARIABLE 变量名 数据类型 约束条件:=表达式;

例:VARIABLE x,y:INTEGER; —定义x,y为整数变量

VARIABLE count: INTEGER RANGE0 TO255:=10; —定义计数变量范围

变量的适用范围仅限于定义了变量的进程或子程序中。若将变量用于进程之外,必须该值赋给一个相同的类型的信号,即进程之间传递数据靠的信号。

变量赋值语句的语法格式如下:

目标变量:=表达式;

变量赋值符号是“:=”。赋值语句右方的表达式必须是一个与目标变量有相同数据类型的数值。变量不能用于硬件连线和存储元件。

3) 信号(Signal)

信号是描述硬件系统的基本数据对象,它类似于连接线,它除了没有数据流动方向说明以外,其它性质与实体的端口(Port)概念一致。变量的值可以传递给信号,而信号的值不能传递给变量。信号通常在构造体、包集合和实体中说明。信号说明格式为:

SIGNAL 信号名: 数据类型;

信号初始值的设置不是必需的,而且初始值仅在VHDL的行为仿真中有效。

1. 变量

变量只能在进程、函数和过程中使用,一旦赋值立即生效。

例:VARIABLE x, y: INTEGER;

VARIABLE count: INTEGER RANGE 0 TO 255:=10;

2. 信号

信号除了没有方向的概念以外几乎和端口概念一致。

例:SIGNAL sys_clk: BIT:=’0’;

SIGNAL ground: BIT:=’0’

在程序中,信号值输入信号时采用代入符”<=”,而不是赋值符“:=”,同时信号可以附加延时。

信号传送语句:

s1<=s2 AFTER 10ns

信号是一个全局量,可以用来进行进程之间的通信

3. 信号与变量的区别:

信号赋值可以有延迟时间,变量赋值无时间延迟;

信号除当前值外还有许多相关值,如历史信息等,变量只有当前值;

进程对信号敏感,对变量不敏感;

信号可以是多个进程的全局信号,但变量只在定义它之后的顺序域可见;

信号可以看作硬件的一根连线,但变量无此对应关系。

例:ENTITY reg1 IS

PORT ( d : in BIT;

clk : in BIT;

q : out BIT);

END reg1;

ARCHITECTURE reg1 OF reg1 IS

SIGNAL a, b : BIT;

BEGIN

PROCESS (clk)

BEGIN

IF clk=‘1’ AND clk’event THEN

a <= d;

b <= a;

q <= b;

END IF;

END PROCESS;

END reg1;

ENTITY reg1 IS

PORT ( d : in BIT;

clk : in BIT;

q : out BIT);

END reg1;

ARCHITECTURE reg1 OF reg1 IS

BEGIN

PROCESS (clk)

VARIABLE a, b : BIT;

BEGIN

IF clk=‘1’ AND clk’event THEN

a := d;

b := a;

q <= b;

END IF;

END PROCESS;

END reg1;

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

一个线程只能属于一个进程,而一个进程可以有多个线程,线程是进程的一部分,就像工人是工厂的一部分。资源是分配给进程的,同一进程的所有线程共享该进程的全部资源,就像工厂里的工人共享工厂的设备和场地。处理机(CPU)则是分给线...

关键字: 进程 线程

DXC内部新成立的Boomi卓越中心(COE),将成为跨行业客户的创新枢纽 DXC与Boomi携手助力客户整合AI智能体,为规模化应用代理式AI做好准备 弗吉尼亚州阿什伯恩2025年8月19日 /美通社/ --名列财...

关键字: 进程 AI BSP 自动化

上海 2025年7月9日 /美通社/ -- 据Gartner最新研究显示,到2025年全球将有75%的企业将生成式AI纳入核心业务流程。这其中,人力资源领域因其天...

关键字: AI BSP 进程 CHINA

天津2025年6月25日 /美通社/ -- 2025年6月24日至26日,世界经济论坛第十六届新领军者年会(夏季达沃斯论坛)在天津举行。本届年会以"新时代企业家精神"为主题,汇聚来自全球1700余位政...

关键字: 人工智能 进程 BSP 微软

传感器是能感受规定的被测量并按照一定的规律转换成可用输出信号的器件或装置。传感器有许多种,在先进测量技术这门课中提到了许多传感器,在现代工业生产尤其是自动化生产过程中,要用各种传感器来监视和控制生产过程中的各个参数,使设...

关键字: 传感器 信号

高功率脉冲发射机作为一种能够产生高能量、短脉冲信号的设备,在众多领域发挥着关键作用。在雷达系统中,它为目标探测提供强大的发射功率,使得雷达能够在远距离精确识别和跟踪目标;在通信领域,可用于实现高速率、大容量的数据传输;在...

关键字: 高功率 脉冲发射机 信号

在当今数字化、智能化的时代,电子设备无处不在,从智能手机、智能家居到工业控制系统,它们在提升生活品质与生产效率的同时,也面临着高频干扰与兼容性问题的挑战。高频干扰会导致设备信号传输不稳定、数据丢失,甚至系统崩溃;兼容性问...

关键字: 高频干扰 兼容性 信号

新加坡2025年6月4日 /美通社/ -- THE GROWHUB LIMITED(简称"The GrowHub"或"该公司")是一家总部位于新加坡的公司,利用区块链技术,来提升整...

关键字: 人工智能 进程 AI 供应链

在当今电子技术飞速发展的时代,随着电子产品不断向小型化、高性能化迈进,印刷电路板(PCB)的设计变得愈发复杂和精密。过孔,作为 PCB 中连接不同层线路的关键元件,其对信号完整性的影响已成为电路设计中不可忽视的重要因素。...

关键字: 印刷电路板 电路设计 信号

在当今高速发展的电子系统领域,信号完整性已然成为确保系统性能与可靠性的关键要素。从驱动到连接器的信号传输路径宛如一条信息高速公路,而接收端则如同这条公路的终点收费站,其设置的合理性直接关乎信号能否准确无误地抵达目的地。若...

关键字: 信号 连接器 驱动
关闭