Vivado使用技巧(17):建立IBIS模型
IBIS模型概述
IBIS是一種器件模型標準,允許使用行為模型進行開發,這些行為模型描述了器件內部互聯的訊號。IBIS模型保留專用的電路資訊,不像SPICE這種結構化模型,IBIS模型是基於測量或電路模擬得到的 V/I曲線資料。
每個IOB標準都有IBIS模型,器件的所有I/O標準的IBIS模型組合在一起便是IBIS檔案。IBIS檔案還包含器件中所使用的管腳列表,這些管腳連線到配置為支援特定I/O標準的IOB上,該標準會將管腳與特定的IBIS buffer模型關聯在一起。
IBIS標準規定了輸出檔案的格式,包括一個檔案頭部分和一個元件描述部分。IBIS開源論壇小組(www.ibis.org)開發了Golden Parser這款工具,可以通過檢查IBIS資料格式中的語法來驗證IBIS模型檔案。
當使用Vivado IDE匯出IBIS模型時,軟體會生成一個.ibs檔案,其中包含了:設計使用管腳列表、FPGA內部與管腳連線的訊號、與管腳連線的IOB的IBIS buffer模型。
匯出IBIS模型
設計者通常都會關心訊號完整性問題,比如交叉干擾、地彈、同時轉換噪聲(SSN)。 PCB工程師使用IBIS模型模擬設計,可以更好的在系統級角度瞭解訊號完整性情況。IBIS模型有助於描述電流電壓(I-V)曲線和封裝器件的資訊。
Vivado會使用設計中的網表和實現細節,將這些資訊與可用的每個管腳的封裝資訊聯合起來,建立一個IBIS模型。開啟某一階段的設計,點選File->Export->Export IBIS Model:
- Output File:規定輸出IBIS檔案的名稱和路徑;
- Include all models:預設情況下,只有設計中用到的buffer模型才會新增到IBIS檔案中。選中此選項,會新增FPGA中所有可用的I/O buffer模型;
- Disable per pin modeling:禁止包含每一個管腳的封裝模型。勾選此選項,所有管腳的封裝會簡化為單個RLC傳輸線模型,並且在IBIS檔案的Package部分中定義;
- Maximum length of signal names:會將訊號名稱截斷到限制的長度,可以設定為40、20或Unlimited.
- Updated generic IBIS model file:可選地提供一個器件的IBIS模型;
- Updated parasitic package data file:可選地提供一個用於每個管腳提取的pkg檔案。上述兩個檔案在Vivado安裝目錄下data/parts目錄中都有,一般只有在該目錄中沒有這些檔案的情況下才需要在此處設定。
- Component Name:預設名稱為器件的系列,可以在這裡設定改變IBIS檔案中Component部分的名稱。
匯出的ibs檔案可以用文字編輯器開啟檢視資訊,包含檔案頭和Component(名稱預設為FPGA系列KINTEX7)兩部分,:
結合本系列第13篇~第16篇,除了IBIS模型外,Vivado還提供了CSV檔案、DRC檢查、SSN分析等工具,幫助設計者完成PCB設計。此外,為了在整個PCB環境下更好地優化I/O賦值工作,Xilinx還支援Cadence Allegro FPGA System Planner和Mentor Graphics I/O Designer兩款第三方工具。有機會後面再做介紹。
相關文章
- Vivado使用技巧(19):使用Vivado Simulator
- Vivado使用技巧(27):RAM編寫技巧
- Vivado使用技巧(26):HDL編寫技巧
- Vivado使用技巧(6):Messages視窗管理
- Vivado使用技巧(29):約束功能概述
- Vivado使用技巧(20):Waveform功能詳解ORM
- Vivado使用技巧(18):模擬功能概述
- Vivado使用技巧(33):時序異常
- Vivado使用技巧(25):Block Synthesis技術BloC
- Vivado使用技巧(9):COE檔案使用方法
- Vivado使用技巧(4):查詢功能詳解
- Vivado使用技巧(3):Force Up-to-Date功能
- Vivado使用技巧(11):設定FPGA配置模式FPGA模式
- Vivado使用技巧(8):Core Container打包IP核AI
- Vivado使用技巧(34):路徑分割現象
- Vivado使用技巧(28):支援的Verilog語法
- Vivado使用技巧(5):屬性編輯器的使用
- Vivado使用技巧(30):使用時序約束嚮導
- Vivado使用技巧(16):SSN轉換噪聲分析
- Vivado使用技巧(14):IO規劃方法詳解
- Vivado使用技巧(31):時鐘的約束方法
- Vivado使用技巧(23):綜合執行與OOC
- Vivado使用技巧(21):模擬中的Debug特性
- Vivado使用技巧(15):DRC設計規則檢查
- Vivado使用技巧(13):CSV檔案定義IO Ports
- Vivado使用技巧(32):IO延遲的約束方法
- Vivado使用技巧(7):使用IP核自帶Testbench進行模擬
- Vivado使用技巧(10):編輯與改寫IP核原始檔
- Vivado使用技巧(24):HDL/XDC中設定綜合屬性
- Vivado使用技巧(22):綜合策略與設定的選擇
- Vivado使用技巧(12):設定DCI與內部參考電壓
- 三則大模型使用提示技巧大模型
- Vivado與notepad++的聯合使用
- 分享 8 個 Laravel 模型時間戳使用技巧Laravel模型時間戳
- 小技巧:使用Array.reduce建立Promise回撥鏈Promise
- 如何建立模型模型
- 使用函式式語言來建立領域模型函式模型
- linux怎麼使用alias建立命令別名?linux系統使用alias建立命令別名的技巧Linux