VHDL初探(一)

VHDL入门(一)

keywords:实体,结构体,进程,信号

实体

1.entity
里面的内容需要写定义的端口有哪些,及其属性
2.格式
entity xxx is port();
3.注:记得定义完之后要有end entity;

结构体

1.architecture
里面的内容可以写进程语句,程序的主要的部分是这里面的
2.格式
architecture 结构体名称 of 实体名称 is
[{块声明语句}]
begin
[{并行语句}]
end 结构体名称
3.注意
并行语句写process时,后面要写begin

进程

1.process
里面的内容可以写一些顺序语句,如if…then语句之类的
2.格式
process(敏感量)
begin

end process;

数据对象

1.信号

1.singal
主要是作为中间变量,来联系不同进程及并行元素的关系
2.格式
singal 信号名:信号类型[:=初始值];
3.注意
端口不能直接进行加法再赋值的运算,如"Q<=Q+1",因为端口Q只能被赋值,而不能被内部读取,若想进行加法并赋值操作,可以定义端口为buffer,或者可以利用signal进行加法运算,最后把singal赋值给端口。

2.常量

1.constant
对一个对象赋予固定的值,该值在综合仿真过程中不再改变。
2.格式
constant 常量名:常量类型:=常量值;
3.注意
(1).常量名可以出现在任何声明区域,若要使一个常量成为一个全局变量,就需要将常量声明放在外部程序包声明处;
(2).定义在实体中的常量,可使用在这个实体对应的所有结构体中;
(3).定义在某一结构体中的常量,只能用于该结构体;
(4).定义在结构体某一单元内常量,如进程内,则只能用于本进程中;

3.变量

1.variable
用来在顺序执行的VHDL语句间传递中间值。
2.格式
variable 变量名:变量类型[:=值];其中[]内为可选内容,用于为变量赋初值
3.注意
(1).变量只能出现在进程、过程和函数语句中;
(2).变量只能是局部的;
(3)在程序中,变量赋值的语法格式为:目标变量名:=数值表达式;

你可能感兴趣的:(VHDL学习)