EDA筆記(6)--並行語句

目錄

一.進程語句

 

1.進程(PROCESS)語句

2.process語句格式

3.process語句組成

4.進程語句設計要點

二.並行信號賦值語句

1.簡單信號賦值語句

2.條件信號賦值語句

3.選擇信號賦值語句

三.元件例化語句

1.元件例化的作用

2.元件例化種類

3.元件例化的語句格式

四.生成語句

1.生成語句的作用

2.生成語句格式

3.生成語句的組成

4.生成語句的使用


 

一.進程語句

 

1.進程(PROCESS)語句

 

是最具VHDL語言特色的語句,因爲它提供了一種用算法(順序語句)描述硬件行爲的方法。進程實際上是用順序語句描述的一種進行過程,也就是說,進程用於描述順序事件。
一個結構體中可以有多個並行運行的進程結構,而每一個進程的內部結構卻是由一系列順序語句來構成的。
PROCESS結構中既可以有時序邏輯的描述,也可以有組合邏輯的描述,它們都可以用順序語句來表達。

2.process語句格式

當進程中定義的任一敏感信號發生更新時,由順序語句定義的行爲就要重複執行一次。但當遇到WAIT語句時,執行過程將被有條件地終止,即所謂的掛起。

 

3.process語句組成

 

 

4.進程語句設計要點

 

(1)同一結構體中的進程之間是並行運行的,但同一進程中的邏輯描述語句則是順序運行的
(2)進程的激活必須由敏感信號表中定義的敏感信號的變化來啓動,否則必須由一個顯式的WAIT語句來激活。
(3)結構體中多個進程之所以能並行運行,一個很重要的原因就是進程之間的通信是通過傳遞信號和共享變量值來實現的。
(4)綜合後對應於進程的硬件結構,對進程中的所有可讀入信號都是敏感的,而在VHDL行爲仿真中並非如此,除非將所有的讀入信號列爲敏感信號。

 

二.並行信號賦值語句

 

三種信號賦值語句的共同點:

賦值目標必須都是信號,所有並行賦值語句在結構體內的執行是同時發生的。

1.簡單信號賦值語句

2.條件信號賦值語句

與IF語句的比較:

在結構體中的條件信號賦值語句的功能與在進程中的IF語句相同。
在執行條件信號賦值語句時,每一賦值條件是按書寫的先後關係逐項測定的,一旦發現賦值條件爲TRUE,就立即將表達式的值賦給賦值目標。

3.選擇信號賦值語句

選擇信號賦值語句與CASE語句的比較:

(1)選擇信號賦值語句本身不能在進程中應用,但其功能卻與進程中的CASE語句的功能相似。
CASE語句的執行依賴於進程中敏感信號的改變,而且要求CASE語句中各子句的條件不能有重疊,必須包容所有的條件。
(2)與CASE語句相類似,選擇賦值語句對於子句條件選擇值的測試具有同期性。因此,選擇賦值語句不允許有條件重疊的現象,也不允許存在條件涵蓋不全情況。

三.元件例化語句

1.元件例化的作用

元件例化,就是將預先設計好的設計實體定義爲一個元件,然後利用特定的語句將此元件與當前的設計實體中的指定端口相連接,從而構成一個新的更大的設計實體或電路系統。
在這裏,當前設計實體相當於一個較大的電路系統所定義的例化元件相當於一個要插在這個電路系統板上的芯片,而當前設計實體中指定的端口則相當於這塊電路板上準備接受此芯片的一個插座

2.元件例化種類

1.已設計好的一個VHDL設計實體;
2.來自FPGA元件庫中的元件;
3.別的硬件描述語言(如Verilog)設計實體;
4.軟的lP核;
5.FPGA中的嵌入式硬lP核。

3.元件例化的語句格式

元件定義語句

端口映射語句

元件例化的端口映射

在名字關聯方式下例化元件的端口名和關聯(連接)符號“=>”兩者都是必須存在的,而例化元件端口名與連接實體端口名的對應式,在PORT MAP句中的位置可以是任意的。在位置關聯方式下PORT MAP子句中只要按例化元件的端口定義順序列出當前系統中的連接實體端口名就行了。

四.生成語句

1.生成語句的作用

簡化有規則設計結構的邏輯描述,可根據某些條件設定好某一元件或設計單位,利用生成語句複製一組完全相同的並行元件或設計單元電路結構。

2.生成語句格式

格式1:

該語句的作用,就是根據循環變量的取值範圍,複製並行語句所對應的硬件電路N次。

循環變量是自動產生的,根據取值範圍自動遞增或遞減。

從軟件運行的角度看,FOR語句格式中循環變量的遞增方式具有順序性,但最後生成的設計結構卻是完全並行的,這就是爲什麼必須用並行語句來作爲生成設計單元的緣故。

格式2:

該語句的作用,就是根據生成語句的條件是否成立,決定是否複製並行語句所對應的硬件電路。

3.生成語句的組成

1.生成方式:有FOR語句結構或IF語句結構,用於規定並行語句的複製方式。
2.說明部分:對元件數據類型、子程序和數據對象作一些局部說明。
3.並行語句:生成語句結構中的並行語句是用來“COPY”的基本單元,主要包括元件、進程語句、並行過程調用語句、並行信號賦值語句甚至生成語句等。
4.標號:生成語句中的標號並不是必須的,但如果在嵌套生成語句結構中就是很重要的。

4.生成語句的使用

1.對於已知內部由多個規則模塊構成的電路,可以用FOR_GENERATE語句來描述。
2.對於內部結構不規則的電路,可根據電路的不規則部分形成的條件用IF_GENERATE語句來描述
3.對於內部由多個規則模塊構成而兩端結構不規則的電路,可以用FOR_GENERATE語句來描述電路內部的規則部分,而根據電路兩端的不規則部分形成的條件用IF_GENERATE語句來描述。

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章