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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM