VisualApplets 可讓您將VisualApplets 的設計匯出為Tcl腳本(*.tcl)。
您可以將此指令碼格式用於以下目的:
-
版本控制
-
自動比較版本(透過建立「diffs」)
然而,在匯出至 Tcl 腳本的過程中,部分資訊會遺失。
因此,您應始終將設計儲存於 *.va 格式。
該 Tcl 檔案不符合用作主要資料格式的資格。
![]() |
將設計儲存為 *.va 格式
|
|---|---|
|
請使用 Tcl 指令碼未包含完整的設計資訊。 |
匯出至 Tcl 指令碼期間將遺失以下資訊:
-
您在使用者函式庫元件實例中進行的局部修改(用以使該實例適應周邊設計)將 遺失。 若您將 Tcl 腳本重新匯入至VisualApplets ,該實例將作為使用者函式庫元件的新副本被插入。 您設計中該實例的內容並未儲存於 Tcl 中。
-
資訊方塊的內容以 Tcl 格式儲存。然而,資訊方塊的格式卻已遺失。
您也應隨時將設計儲存為 *.va 格式也是如此。
Tcl 檔案不符合用作主要資料格式的資格。
若要將設計匯出至 Tcl 檔案(*.tcl):
現在您可以將 Tcl 檔案提交至版本控制系統,或使用「diff」工具來找出 設計的不同版本之間的差異。
若要將您的 *.tcl 設計檔案匯入 VisualApplets:
現在您的設計已在 VisualApplets 中開啟,您可以
-
在 VisualApplets 中繼續編輯您的設計,
-
將您的設計檔案儲存為
*.va檔案。
![]() |
請務必使用 *.va File Format as Primary Data Format
|
|---|---|
|
請務必使用 切勿將 Tcl 腳本格式用作主要資料格式,因為 Tcl 腳本並不包含完整的設計資訊。 |
在生成的 Tcl 原始碼檔案中,使用了以下專屬於VisualApplets 的指令。
![]() |
語法 |
|---|---|
|
可選參數: 可選參數的標記方式遵循 Wirth 語法標記法(使用方括號)。 參數 FullModuleName:從程序層級開始的層級路徑。各層級之間以斜線分隔。 |
|
命令 |
Parameters |
描述 |
|---|---|---|
|
建立、載入與儲存設計 |
||
|
CreateDesign |
名稱 平台 |
用於為硬體平台「Platform」建立名為「Name」的新設計的指令。 若要指定設計的目標平台,您可以使用
Using capitals in the names has no effect. |
|
SetDesignProperty |
關鍵值 |
請使用此指令輸入設計屬性。您可以使用以下三個值作為鍵:
|
|
SetDesignClock |
NewFrequency |
用於設定 FPGA 基本時脈頻率的命令 (單位為 MHz)。 |
|
建立設計 |
||
|
CreateProcess |
- |
建立一個新程序 |
|
CreateModule |
OperatorType FullModuleName [ InPortMultiplicity [ 輸出埠多重性 {NamedPortMultiplicity} ] ] xPos yPos |
建立一個運算子(OperatorType)的實例(Module)。 您可透過參數 xPos 和 yPos 來定義模組在設計視窗中的位置。 透過 FullModuleName,您可以定義模組在設計中的層級位置,以及實例化後的名稱(例如: Process0/branch)。 若需設定,您可以使用數值對 InPortMultiplicity 和 OutPortMultiplicity 來指定 模組的向量輸入與向量輸出的多重性。 若使用此數值對,即為該 模組(即某個運算子的特定實例)定義在具有可變埠號的運算子(如 BRANCH)中的埠數。 此外,您可以指定個別向量連接埠的多重性(NamedPortMultiplicity)。您可以在同一條命令列中多次使用 NamedPortMultiplicity 。 格式為 PortGroup:數字。 範例: CreateModule BRANCH Process0/branch 0 0 O:3 100 100 |
|
ConnectModules |
FromModule FromModulePort ToModule ToModulePort [ x1 [y2 x3] ] |
用於連接模組的指令。對於 FromModule 和 ToModule,請使用層級名稱 (即包含模組在設計中的層級位置以及實際模組名稱的名稱,例如 (例如 Process0/branch))。 層級方塊內的節點透過前綴「INBOUND#」或「OUTBOUND#」來識別。例如:「OUTBOUND#O001」。 您可使用選填參數 x1、y2 和 x3 來定義連接多邊形的幾何形狀 (從 FromModuleOutputPort 延伸至 x1 的水平線、 延伸至 y2 的垂直線、 水平線延伸至 x3, 垂直線向上延伸至 ToModulePort 的高度, 水平線延伸至 ToModulePort)。 |
|
CreateComment |
FullModuleName 文字 xPos yPos |
「Text」的內容可以包含 Unicode 字元。若您使用不屬於 ASCII 範圍的字元,請使用相應的 Tcl 語法來表示 Unicode,例如: [將 utf-8 編碼的「A-Umlaut: \xc3\x84」進行轉換] |
|
SetParamInt |
FullModuleName ParameterName Value |
用於設定整數參數的指令。 |
|
SetParamFloat |
FullModuleName ParameterName Value |
用於設定浮點數參數的指令。 |
|
SetParamEnum |
FullModuleName ParameterName Value |
用於設定具索引的枚舉參數的指令。值為該枚舉值的字串。 範例:Process0/module1 (SetSignalStatus),"SetParamEnum Process0/module1 Mode High" 會將參數 Mode 設定為 High。 |
|
SetParamString |
FullModuleName ParameterName Value |
用於設定字串參數的指令。 |
|
SetParamIntField |
FullModuleName ParameterName 索引 值1 {OtherValues} |
此指令用於設定整數欄位的資料,從索引 "Index" 開始,並填入以下值。 |
|
SetParamFloatField |
FullModuleName ParameterName 索引 Value {OtherValues} |
用於設定浮點數欄位條目,從索引 "Index" 開始,對應以下數值的指令。 |
|
SetParamStatic |
FullModuleName ParameterName |
如果某個參數既可以是靜態的,也可以是動態的,在絕大多數情況下,該參數預設會被設定為動態。 請使用此指令將此類參數設定為靜態。 |
|
SetParamDynamic |
FullModuleName ParameterName |
您可以使用此函式將參數設定為動態(前提是該參數本身允許設定為動態)。 |
|
SetLinkParam |
FullModuleName PortName ParameterName Value { 其他參數名稱 OtherParameterValue } |
用於配置連結的指令。連結是透過模組的「連接」節點來識別的。 |
|
SetResourceMapping |
FullModuleName ResourceName [目錄] NewMapping |
用於變更資源與模組之間對應關係的指令。資源 ResourceName 將被對應至新索引 NewMapping。 若模組分配了多個同類型資源,請使用可選參數 Index 來選取 該資源。 |
|
其他編輯指令 |
||
|
Move |
FullModuleName [HierNodeName] PosX PosY |
用於將模組、H-Box 節點、註解框或模擬模組重新定位至 設計視窗內新位置的指令。 僅在選取 H-Box 節點時使用參數 [HierNodeName]。 層級方塊內的節點是透過前綴「INBOUND#」或「OUTBOUND#」來識別(如同您使用 ConnectModules 指令時一樣),例如「INBOUND#I000」。 |
|
CreateSimSource |
FullSimModuleName xPos yPos |
用於在指定位置建立模擬來源的指令。 |
|
CreateSimProbe |
FullSimModuleName xPos yPos |
用於在指定位置建立模擬探針的指令。 |
|
ConnectSimModule |
FullSimModuleName 目標模組名稱 目標模組埠名稱 [ xPos yPos ] |
用於透過連結將模擬模組相互連接的指令。 此連接是透過指定的模組(TargetModuleName)和埠(TargetModulePortName)來識別的。 TargetModuleName 必須位於與 FullSimModuleName 相同的層級結構中。 您可選擇透過參數 xPos 和 yPos 來定義該連接在鏈路上的位置。 |
|
SetSimModuleProperty |
FullSimModuleName Key Value {OtherValue} |
用於配置模擬模組的指令。可設定以下參數(在下表中,關鍵字 Key 後面緊接參數值 Value): PixelAligmentOffset BITS ImageFileSubPixels 數值型 ImageFilePixelBits BITS ImageFileNormalize 選項 其中 CHOICE = "1" | "0" | "yes" | "no" | "on" | "off" | "true" | "false" CropRect [imageNr] X Y 寬度 高度 CurrentImage 索引 |
|
AddImage |
FullSimSourceName 圖片檔案名稱1 {OtherImageFileName} [圖片庫] |
用於將影像新增至模擬來源的指令。 若連結上的核心元素數量大於 1,則需指定與該連結上核心元素數量相等的影像數量 。 您亦可選擇指定要使用的影像庫(ImageLibrary = "Native" | "ImageMagick")。 |
|
User Libraries |
||
|
InstUserLibOperator |
LibName OperatorName FullModuleName XPos YPos |
用於實例化使用者函式庫元素的指令。 |
|
自訂函式庫處理 |
||
|
InstCustomLibOperator |
LibName OperatorName FullModuleName XPos YPos |
用於實例化自訂函式庫元素的指令。 |
表 13. 在 Tcl 中建立與編輯 VA 設計的指令

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


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

