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.塊賦值