VHDL語言 怎么理解并行語句和PROCESS的區別 IF怎么用 求詳解 可
不是很理解你的問題。
首先結構體(ARCHITECTURE)中,BEGIN和END之間的部分是并行處理語句部分。它包括5種:塊語句、進程語句(PROCESS)、信號賦值語句(定義信號的)、子程序調用語句和元件例化語句(這個我也不太清楚)。
通常結構體中采用的3種子結構為:塊語句結構(BLOCK)、進程(PROCESS)結構和子程序(SUBPROGRAM)結構。然后結構體中所有的處理語句都是并發執行的,所以叫做并行語句。
只有進程語句中的語句是順序語句。就是說一個結構體可以包括多個PROCESS,它們之間是并發執行的,而每個PROCESS內部是順序執行的。
不知道是不是你想要的答案。至于IF語句,我覺得和C++什么的差不多呢。
就是IF(條件)THEN(順序語句);ELSIF(條件)THEN(順序語句);……ELSE(順序語句);END IF;建議你弄本書來看啊,VHDL其實還是蠻復雜的,老師說會越來越覺得復雜的~。
VHDL語言設計中并行語句與串行語句包含哪些語句
通常說并行語句和順序語句,不說串行語句的!
VHDL并行語句7個:
1. 進程語句
2. 塊語句
3. 并行信號賦值語句(兩種形式)
4. 并行過程調用語句
5. 并行斷言語句
6. 元件例化語句
7. 生成語句
VHDL順序語句13個:
1. WAIT語句
2. 變量賦值語句
3. 信號賦值語句
4. IF 語句
5. CASE語句
6. NULL語句(空語句)
7. LOOP語句
8. NEXT 語句
9. EXIT 語句
10. 過程調用語句
11. RETURN 語句
12. 斷言語句
13. REPORT語句
其它語句一般稱為聲明語句,或者子句。
為什么從本質上講VHDL的所有語句都是并行語句?那為什么又有順序
結構體的本質是描述一個電路的結構。所謂電路結構,就是指電路中元件之間的連接關系,這其中包含兩個含義:1.電路中有些什么元件,2.這些元件之間是如何連接的。
結構體中的每一個語句都描述了一個電路模塊(每一個電路模塊都可以看成是一個宏元件),
而電路中的所有模塊(元件)都是同時工作的,所以,結構體中的所有語句也就都是并行的,沒有書寫順序的限制。
然而,人們的邏輯思維卻是順序的,通常使用“因果”關系來描述一個事物的前因與后果,比如用真值表描述組合邏輯電路的輸入與輸出之間的關系。于是就有了對電路的“行為”描述,而行為描述是順序的,就創造了一些順序語句來描述電路的“行為”。順序語句只出現在行為描述中,一旦對行為描述進行綜合,將其轉換成RTL描述(例如邏輯表達式),就又變成并行語句了。因此,電路的物理本質永遠是并行的,順序語句描述的“行為”最終都將變成電路結構——并行工作的元件及其連接關系。