在前面的章節中,我們已經說明了 VisualApplets 專案的資料流模型、配置以及連線規則。本章將概述您設計中模組與連線的參數設定。
應用程式的行為與頻寬不僅取決於您在設計中所使用的運算子,很大程度上也取決於模組和連線的參數設定。模組 Property 定義了每個模組的行為,而連線 Property 則描述模組之間的通訊協定。模組和連線 Property 直接相互依存,並會互相影響其可用性或範圍。
有關參數設定的實務指導,請參閱 Parameterization 教學主題。
您可以在 Module Properties 對話方塊或 Parameter Info 檢視中變更模組 Property。Parameter Info 檢視會顯示作用中設計中所有運算子的所有參數,因此能提供所有已設定參數的良好概覽。Module Properties 對話方塊則提供關於參數的更多詳細資料。您可以在這兩種檢視中編輯參數,不過新增中繼資料只能在 Module Properties 對話方塊中進行。
Parameter Info 位於 VisualApplets 主視窗右上角的 Information Panel 中。
如果 Parameter Info 在啟動時未開啟,您可以透過功能表列選取 → → 來開啟它。

Parameter Info 檢視顯示作用中設計的所有參數及其運算子。您也可以在 Parameter Info 檢視中編輯參數。
Parameter Info 檢視提供搜尋功能,讓您可以搜尋參數、參數值或運算子名稱。您可以使用 Runtime Parameter Only 篩選器來僅顯示動態參數,也就是您可在執行階段進行編輯的參數。

-
若要存取 Module Properties 對話方塊,請按兩下模組,或在模組上按一下滑鼠右鍵並選取 。
Module Properties 對話方塊列出了模組所需的所有設定。請注意,每個模組都有不同的可用參數組合(取決於為建立該模組而實例化的運算子)。
下圖顯示 Module Properties 對話方塊中 ImageBuffer 運算子的參數:
Module Properties 視窗列出了模組所有可用的參數。在這種情況下,每個參數都代表一個模組 Property。參數會以以下欄位中的項目顯示:
-
Parameter Name:
參數的名稱。
將參數新增至模組時(請參閱下方),您可以在此處輸入新參數的名稱。
-
Parameter Value
參數的實際值。
您可以編輯此欄位來變更值。
-
Parameter Unit
參數的單位。可以是像素、秒、行等。
-
Parameter Type
在此處,您可以將參數設為靜態或動態。靜態參數在 applet 的建置程序完成後便無法變更,而動態參數則可在 applet 已經在擷取卡硬體上使用時進行變更。通常,靜態參數所需的 FPGA 資源會比動態參數少。
-
Parameter Flag
參數的 Flag 表示該參數是
-
僅限讀取 (Read),或是具備
-
讀取與寫入權限 (Write)。
-
-
Value Type
參數值的類型。共有四種不同的參數值類型:
-
String
任何字串,例如檔案名稱。
-
數值
不同類型(無符號、有符號、倍精確度)與範圍的值。
-
Enumerations
列舉值的列表,例如 Disabled 或 Enabled。
-
Field Parameters
欄位參數由值的陣列、列表或矩陣組成。它通常用於核心係數、查找表和其他列表。值的範圍與列表大小可以是動態的。請注意,顯示的 Bit Width 不等於實際的參數範圍。此外,參數一律為無符號,即使它在欄位中被宣告為有符號值。
-
![]() |
Differences Between Modules |
|---|---|
|
特定模組可用參數的數量與項目因模組而異(取決於底層的 operator)。儘管如此,每個模組都將至少擁有一個名為 Name 的參數。 |
![]() |
No Undo option |
|---|---|
|
無法取消變更。所有變更都會立即套用。 |
若要編輯參數:
-
按一下參數值並輸入新值。
某些值類型具有特殊的編輯選項:
String: 您只需輸入新字串即可編輯字串參數。某些字串參數是檔案名稱參數。在這種情況下,將會開啟檔案選取對話方塊。
Values: 若要編輯值,請使用參數值旁微調方塊來增加或減少數值。參數的步進值定義了最小的增加/減少量。
Fields: 對於欄位參數,將會開啟一個用於編輯的新視窗,其中顯示該參數的所有欄位元素。下圖顯示 FIRoperatorNxM operator 的欄位:
您可以透過三種不同的方式編輯模組的欄位參數值:
-
您可以直接單獨編輯每個欄位元素。
-
或者,您可以使用來自檔案的清單來填入欄位參數值。
-
您可以透過按一下 按鈕來匯入檔案。
-
您也可以透過按一下 按鈕將目前的欄位參數設定匯出至檔案。
![[備註]](../common/images/admon/note.png)
匯入檔案的檔案格式 -
匯入檔案必須包含 ASCII 值清單。
-
每個值必須在獨立的一行中陳述。
-
各行必須以歸位字元 (CR) 與換行字元 (LF) 分隔。
-
檔案必須為純文字格式 ([NameOfFile].txt)。
如果檔案中的值多於欄位中的值,將會使用檔案的前幾個值(依填滿欄位所需的數量)。檔案中後續的值將不會生效。
如果檔案中的值少於欄位中的值,將會剛好使用檔案中的所有值一次。欄位的最後幾個位置(檔案中沒有對應值的部份)將保持不變。
-
-
編輯欄位元素的第三種可能性是 Parameter function 對話方塊。
-
按一下 以開啟功能對話方塊(請參閱下一圖)。
透過此對話方塊,可以使用線性函數來編輯元素。線性函數由以下元素組成:a = 斜率、b = 偏移量,以及 x = 欄位元素的索引。在此對話方塊中,可以編輯 a 與 b。
-
輸入 a 與 b 的值。
欄位的第一個元素索引為 0。對於矩陣元素,元素會依橫列逐行連續編號。
-
-
![]() |
停用的 Property |
|---|---|
|
某些參數會被停用而無法編輯。參數是否停用或啟用取決於其他參數的設定、輸入格式或輸出格式。請參閱各自的運算子參考以取得更多資訊。以下螢幕截圖顯示兩個停用的參數。在此情況下,y 參數被停用,因為輸入連結具有圖像協定 VALT_LINE1D(這意味著圖像是一維的 [僅有一行像素],因此沒有 y 座標)。 |
編輯參數後,必須套用該參數。
-
按一下 Module properties 視窗中的 以套用設定。
如果新的參數值不在允許的參數值範圍內,將會被捨棄。
![]() |
關閉視窗前請按一下 |
|---|---|
|
建議在關閉參數前按一下 Apply。這樣一來,若您輸入的值未被接受,您將會看到警告。 |
-
按一下 來關閉 Module properties 視窗。
Parameters library 中的大多數算子都為特定參數提供自動完成與語法突顯功能。 下列算子的特定參數提供自動完成功能:
| Operator | 參數 | 啟用 |
|---|---|---|
| EnumParamTranslator |
WriteAction、 ReadAction |
鍵入 “${” |
|
DisplayHierarchy |
TAB 鍵 |
|
| FloatParamTranslator |
WriteAction、 ReadAction |
鍵入 “${” |
|
DisplayHierarchy |
TAB 鍵 |
|
| IntParamTranslator |
WriteAction、 ReadAction |
鍵入 “${” |
|
DisplayHierarchy |
TAB 鍵 |
|
| LinkParamTranslator |
WriteAction |
鍵入 “${” |
| EnumParamReference |
Reference |
TAB 鍵 |
|
DisplayHierarchy |
TAB 鍵 |
|
| FloatFieldParamReference |
Reference |
TAB 鍵 |
|
DisplayHierarchy |
TAB 鍵 |
|
| FloatParamReference |
Reference |
TAB 鍵 |
|
DisplayHierarchy |
TAB 鍵 |
|
| IntFieldParamReference |
Reference |
TAB 鍵 |
|
DisplayHierarchy |
TAB 鍵 |
|
| IntParamReference |
Reference |
TAB 鍵 |
|
DisplayHierarchy |
TAB 鍵 |
|
| ResourceReference |
Reference |
TAB 鍵 |
|
DisplayHierarchy |
TAB 鍵 |
|
| StringParamReference |
Reference |
TAB 鍵 |
|
DisplayHierarchy |
TAB 鍵 |
|
| IntParamSelector |
Reference |
TAB 鍵 |
|
DisplayHierarchy |
TAB 鍵 |
|
| FloatParamSelector |
Reference |
TAB 鍵 |
|
DisplayHierarchy |
TAB 鍵 |
|
| EnumVariable |
DisplayHierarchy |
TAB 鍵 |
| FloatVariable |
DisplayHierarchy |
TAB 鍵 |
| IntVariable |
DisplayHierarchy |
TAB 鍵 |
表 5. 自動完成與語法突顯功能的可用性
若要將自動完成功能用於 Reference 算子,請點擊 Parameter Value 欄位,即 Reference 或 DisplaHierarchy 參數,然後按 TAB 鍵。隨後 VisualApplets 會在下拉式清單方塊中為您提供一組有效值的選項。
如果您點擊三個點
旁邊的 Parameter Value 欄位,
Enter data for <operator>/<parameter> 對話方塊隨即開啟
。在此對話方塊中,您可以看到具有語法突顯功能的資料,並且可以進一步使用
自動完成功能:
語法突顯功能也適用於 Module Properties:
To use the autocompletion functionality in the WriteAction and ReadAction parameters of translate operators, type “${” into the Parameter Value field:
語法突顯功能也適用於 translator 算子的 WriteAction 和 ReadAction 參數。
若要將自動完成功能用於 translate 算子的 DisplayHierarchy 參數,請點擊 Parameter Value 欄位,即 DisplaHierarchy 參數,然後按 TAB 鍵。
當連結屬性 (link properties) 或其他屬性的設定發生變更時,參數的允許數值範圍可能會隨之改變。如果發生這種情況,舊的參數值可能會處於不合法的狀態。在這種情況下,該參數會以紅色標示,以表示目前的設定無法通過設計規則檢查 (design rule check)。您必須修正參數值,使其回到有效範圍內。
前圖顯示了參數處於非法狀態的範例。在這種情況下,由於 XLength 加 XOffset 大於輸入連線已參數化的最大影像寬度,因此參數值不在允許的範圍內。
模組之間的每個連線都是由其連線屬性所定義。您可以透過按兩下連線,或按一下滑鼠右鍵並選取 Properties 來存取連線屬性。
每個連線都具有以下連線屬性:
-
Bit Width
定義一個像素的連線 Bit Width。因此,如果使用色彩連線,則 Bit Width 代表所有色彩色板。對於 image protocol VALT_SIGNAL,Bit Width 永遠為 1 位元。關於 Bit Width 與 Arithmetic 處理的實用指導,請參閱 Bit Arithmetic 教學主題。
-
Arithmetic
連線的 Arithmetic。可以是帶正負號(signed)或不帶正負號(unsigned)。如果設為帶正負號,則會使用二補數帶正負號算術。正負號位元包含在屬性 bit width 中指定的位元內。對於 image protocol VALT_SIGNAL,Arithmetic 永遠設為不帶正負號。
-
Parallelism
指定在一個設計時脈週期內,於兩個模組之間以 Parallelism 傳輸的像素數量。對於 image protocol VALT_SIGNAL,Parallelism 永遠設為 1。如需關於 Parallelism 的更多資訊,請參閱 'Bandwidth of an Applet'。
-
Kernel Columns
定義核心欄數。對於 image protocol VALT_SIGNAL,核心欄數永遠設為 1。
-
Kernel Rows
定義核心列數。對於 image protocol VALT_SIGNAL,核心列數永遠設為 1。如需在設計中使用核心的實用指導,請參閱 Working with Kernels 教學主題。
-
影像協定
影像協定定義連線所使用的資料傳輸協定。提供下列協定:
-
VALT_IMAGE2D:二維影像,例如面陣相機。
-
VALT_LINE1D:一維影像,亦即影像高度不受限制的影像,例如線掃描相機。
-
VALT_PIXEL0D:不含影像尺寸資訊的簡單像素串流。
-
VALT_SIGNAL:在每個時脈週期都有效的 1 位元訊號。用於觸發系統等訊號處理。
如需影像協定的更多資訊,請參閱 'Image Protocols, Image Dimensions and Data Structure'。
-
-
Color Format
Color Format 可以是 VAF_GRAY、VAF_COLOR 或 VAF_NONE。對於 image protocol VALT_SIGNAL,Color Format 永遠設為 FL_GRAY。
-
Color Flavor
定義 Color Format 的樣式。對於 image protocol VALT_SIGNAL,色彩樣式永遠設為 FL_GRAY。
-
最大影像寬度
定義連線的最大影像寬度。在連線上傳輸的影像不得超過此值,但可以小於此值。Max. Image Width 對具有 Image Protocol VALT_PIXEL0D 和 VALT_SIGNAL 的連線沒有影響。對於這些影像協定,會忽略 Max. Image Width。如需更多資訊,請參閱 'Data Flow ' 和 'Image Protocols, Image Dimensions and Data Structure'。
-
最大影像高度
定義連線的最大影像高度。在連線上傳輸的影像不得超過此值,但可以小於此值。Max. Image Height 對具有 Image Protocol VALT_LINE1D、VALT_PIXEL0D 和 VALT_SIGNAL 的連線沒有影響。對於這些影像協定,會忽略 Max. Image Height。如需更多資訊,請參閱 'Data Flow ' 和 'Image Protocols, Image Dimensions and Data Structure'。
![]() |
GUI 上的視覺化呈現 |
|---|---|
|
為了視覺化呈現相對應的連結 Property,VisualApplets 在程式視窗的工具列中提供了兩個 GUI 按鈕:
Display Link Info
![]()
Display Link Throughput
![]()
|
每個模組都在其輸出端自行定義連結 Property 的範圍。有些 Property 無法修改,有些 Property 只能在指定的範圍內修改,而其他 Property 則可以任意修改。有關允許的輸出連結格式的詳細說明,請參閱 Operator Reference 中的對應 Operator 參考。
若要編輯參數,只需點擊連結 Property 視窗「Value」欄位中的參數即可。
連結 Property 對話方塊由三欄組成:
-
Value
這是您的編輯欄。透過點擊數值,在此欄位中編輯您的連結 Property 數值。如果編輯的數值不在允許的參數範圍或步進值內,該數值將被捨棄或無法插入。離開欄位焦點或按下 Enter 鍵即可確認新數值。
-
Source Port
在 Value 欄位輸入新數值並確認後,來源 Operator 會檢查是否接受該新數值。如果不接受新數值,該參數與連結將變為紅色,以表示發生連結 Property 衝突。因此,如果 Source Port 欄位中的連結 Property 顯示為紅色,則表示來源 Operator 不允許此設定。 此欄位中的數值無法修改!
-
Destination Port
點擊 或 或 ,或者按下 Esc,將會套用連結的新設定。如果目的端 Operator 輸入連接埠不接受新設定,則該連結以及 Destination Port 欄位中的參數將顯示為紅色,以指示衝突。此欄位中的數值無法修改!
變更連結 Property 可能會導致另一個連結 Property 或模組參數數值發生變更。無法取消變更。每一項變更都會立即生效。
讓我們來看一些範例。下圖顯示了來源連接埠處的衝突。由於位元寬度的關係,來源 Operator(在此情況下為 CastParallel Operator)在其輸出端不接受為三的 Parallelism。將輸出 Parallelism 變更為四、二或一之後,衝突即告解決。
螢幕截圖 圖 84,「無效的 Destination Port 連結 Property」顯示了目的端連接埠處的衝突。目的端 Operator(在此情況下為 DmaToPC Operator)不接受具有此 Parallelism 和位元寬度的 RGB 影像。將 Parallelism 降低至四或五之後,衝突即告解決。
連結 Property 由 Operator 定義。有些連結 Property 可以直接在 Operator 輸出連結上變更,而其他連結 Property 則是固定的或由 Operator 參數定義。此外,大多數 Operator 除了輸入連結 Property 之外,還會定義其連結 Property。這可能會導致跨越多個模組的連結 Property 修改鏈。因此,如果變更了某個連結 Property,後續模組的參數和連結 Property 也可能會隨之變更。
此傳播鏈可能會產生三種結果:
-
修改已被所有後續模組和連結接受。 VisualApplets 會將所有已變更的連結以綠色顯示,以告知使用者已修改的連結 Property。
-
某些模組的連結不接受連結修改。 在這種情況下,請檢查連結是否有錯誤。請閱讀來源或目的端 Operator 的說明文件,以了解允許的連結格式。
-
修改導致與模組參數發生衝突。 在這種情況下,模組以及對應的模組參數都會變成紅色。請檢查 Operator 參考中的連結與參數相依性以解決衝突。




![[警告]](../common/images/admon/warning.png)


![[重要]](../common/images/admon/important.png)








![[提示]](../common/images/admon/tip.png)






上一頁

