目前已經學完了基礎實驗,這里要介紹Quatus自帶的兩個非常重要的功能,第一個是tcl腳本,第二個是SignalTap(下一篇)。
我們首先從管腳分配的實例去理解tcl腳本的功能。TCL(tool command language),是一種解釋執行的腳本語言,常用于快速原型開發,腳本編程,GUI和測試等方面。包含了語言和庫,首先tcl是一種簡單的腳本語言,主要使用于發布命令給一些程序如文本編輯器、調試器和shell。同時它也是個庫,可以被嵌入應用程序,每個應用程序都可以根據自己的需要對tcl語言進行擴展。由于它具有良好的可擴展性,目前成為自動測試中的標準。
快速綁定管腳
當復雜模塊需要綁定的管腳過多時,手動去設置不方便,這里提供了一種自動化綁定管腳的方法,同時Quatus提供了支持tcl腳本的接口。我的tcl管腳分配腳本中包含了開發板上用到的可控外設的所有管腳配置信息,由于開發板廠家和型號是不一樣的,管腳也會有區別,但是方法和語法是一樣的,只需要做些許修改。
注釋用#,set_location_assignment表示進行管腳約束,后面是管腳的位置,“-to”后面是代碼頂層的管腳名,每行結束后沒有分號
在實際使用時,tcl腳本文件要放在工程文件夾下,并將其添加到工程中,否則無法自動識別。這個工程用到哪個模塊的引腳就只需要保留對應的引腳。其他沒用到的模塊用#注釋掉。在notepad++中按住Alt鍵在列模式下進行編輯,拖動鼠標選中每一列開頭的位置輸入#。
實際tcl腳本分配管腳的優勢在管腳特別多的時候才明顯,但是目前還沒接觸特別復雜的模塊,先以流水燈為例
1、將tcl腳本命令為water_led.tcl放在工程文件夾下
2、注釋掉沒有使用到的管腳,只留下時鐘,復位,四個LED。代碼中的端口名和Tcl腳本中的管腳命名必須一致!!!
3、Toos-TCL Scripts-自動識別到-run(亂碼的中文不影響)
4、打開pin planner確認管腳都已經自動分配好
還有一種方式可以加載tcl腳本,結果是一樣的,習慣哪種都行
1、View-Utility Windows-Tcl Console
2、在tcl console欄里復制粘貼tcl腳本里的內容
3、打開pin planner確認管腳都已經自動分配好
還有一種方式可以分配管腳
Assignments-Import Assignments-添加csv或txt文件(同樣要將csv文件或txt文件放到工程目錄下)
快速解除管腳
Assignments-Remove Assignments-選中Pin, Location & Routing Assignments-OK
導出Tcl腳本
手動綁定好管腳之后也可以直接導出包含管腳信息的tcl腳本
按住shift鍵選中所有pin,右鍵單擊選擇export,輸出格式選擇tcl,選好導出文件位置,導出
-
FPGA
+關注
關注
1629文章
21744瀏覽量
603608 -
FPGA設計
+關注
關注
9文章
428瀏覽量
26523 -
TCL
+關注
關注
10文章
1726瀏覽量
88631 -
腳本
+關注
關注
1文章
390瀏覽量
14874
發布評論請先 登錄
相關推薦
評論