VHDL顺序语句

1、顺序语句的概念

顺序语句的特点是,每一条顺序语句的执行顺序是与它们的书写顺序基本一致的。顺序语句只能出现在进程(process)和子程序中,

子程序包括函数(function)和过程(procedure)。

2.种类

进程语句、赋值语句、流程控制语句、等待语句、子程序调用语句、返回语句、空操作语句。

a.进程语句(process语句)

进程语句是由顺序语句构成的,通过信号与结构体其余部分进行信息交流,在进程中有一个敏感信号列表,表中列出的任何信号的改变都将启动进程,

执行进程内相应的顺序语句。进程语句是将并行语句和顺序语句区分开来的标志之一。

[进程标号:]process [(敏感信号列表)][(variable declarations)]%变量声明

begin

顺序语句;

end process;

b.赋值语句

赋值语句包括变量赋值语句和信号赋值语句,前者的赋值是立刻发生的,后者的赋值发生在一个进程结束的时刻,并延时进行。

变量赋值目标:=赋值源

信号赋值目标 <=赋值源

在同一进程中,同一信号赋值目标有多个赋值源时,信号赋值目标获得的是最后一个赋值源的值,其前面相同的赋值目标不做任何变化。

signal s1,s2:std_logic;

signal sec:std_logic_vector(0 to 7);

process(s1,s2)

variable v1,v2:std_logic;

begin

v1:='1';

v2:='1';

s1<='1';

s2<='1';

sec(0)<=v1;

sec(1)<=v2;

sec(2)<=s1;

sec(3)<=s2;

v1:='0';

v2:='0';

s2<='0';

sec(4)<=v1;

sec(5)<=v2;

sec(6)<=s1;

sec(7)<=s2;

end process;

sec="01000111"

c.信号和变量赋值

标识符赋值目标

variable a,b:std_logic;

sigal c:std_logic_vector(1 to 4);

a:='1';

b:='0';

c<="1100";

c(3)<='1';

注:一位值用单引号,多位值用双引号

2.段赋值

signal c:std_logic_vector(1 to 4);

c(1 to 2)<='10';

c(1 to 4)<="1010";

3.块赋值

猜你喜欢

转载自www.cnblogs.com/lhkhhk/p/11785608.html