作為一個(gè)資深的FPGA工作者,相信大家對(duì)于IBIS模型并不陌生;IBIS模型在進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)節(jié)省時(shí)間和降低成本是很關(guān)鍵的。在原型制作之前,系統(tǒng)設(shè)計(jì)人員可以用模型來進(jìn)行設(shè)計(jì)仿真。在高速系統(tǒng)設(shè)計(jì)中正是如此,進(jìn)行信號(hào)完整性仿真來分析不同條件下傳輸線中的電路行為,在設(shè)計(jì)初期就能預(yù)防并檢測出典型的問題,例如過沖、欠沖、阻抗不匹配、串?dāng)_、地彈等。然而,可用的數(shù)字IC模型非常少。
當(dāng)半導(dǎo)體廠商被索要SPICE模型時(shí),他們并不愿意提供,因?yàn)檫@些模型會(huì)包含有專有工藝和電路信息。這個(gè)問題已經(jīng)通過采用IBIS模型來(輸入/輸出緩沖器信息規(guī)范)解決。IBIS是一個(gè)行為模型,通過V/I和V/T數(shù)據(jù),描述器件數(shù)字輸入和輸出的電氣特性,而不會(huì)泄露任何元器件專有的信息。
FPGA器件作為高靈活度器件,其管腳屬性可以根據(jù)用戶需求自行設(shè)定。FPGA廠商提供一般提供通用IBIS模型,通用IBIS模型文件包含所選系列支持的所有IO標(biāo)準(zhǔn)的模型,模型與具體的芯片封裝以及die的尺寸無關(guān),通常這類模型為每個(gè)可用的IO設(shè)置一個(gè)全局RLC參數(shù)。在進(jìn)行少數(shù)幾個(gè)信號(hào)的原理圖級(jí)仿真中,該類IBIS模型是滿足需求的,但是在更進(jìn)一步的PCB仿真中,需要導(dǎo)出自定義的IBIS模型庫。 然而在通用IBIS模型中,管腳不是實(shí)際封裝使用管腳,無法直接使用。
今天我們主要來介紹基于Vivado如何導(dǎo)出FPGA的IBIS文件。
1 IBIS文件生成方法 定義管腳的IBIS文件生成有兩種方法。 1)在通用IBIS文件基礎(chǔ)上進(jìn)行編輯。該方法需要一定的IBIS語法基礎(chǔ),需要更新IBIS文件中[Package]、[Pin]、[Diff Pin]、[Model Selector]字段內(nèi)容。具體操作方法大家可以參考下面博文內(nèi)容。
Xilinx FPGA IBIS 模型的使用問題,總結(jié)+分析都在這里了~ (qq.com)
2)通過廠商提供軟件自動(dòng)生成。本篇主要介紹通過vivado 自動(dòng)生成IBIS軟件過程。該方法需要根據(jù)管腳與網(wǎng)絡(luò)映射關(guān)系編寫XDC文件,涉及4種語法約束。個(gè)人感覺更適宜仿真環(huán)境快速搭建,此外軟件中有DRC分析工具,可以幫助檢查芯片原理圖設(shè)計(jì)缺陷。 2 Allegro導(dǎo)出管腳映射關(guān)系 本操作從PCB文件中獲得FPGA的管腳映射關(guān)系。 打開已經(jīng)導(dǎo)入網(wǎng)表的brd文件,在快捷欄中點(diǎn)擊Show Element 快捷鍵。
在find 菜單欄中僅勾選Symbols
點(diǎn)擊PCB 中的FPGA Symbol
將會(huì)彈出fpga元件相關(guān)信息,其中包含我們需要的管腳與net的映射關(guān)系。
在彈窗中找到 Pin IO information的表格,表格文本信息即是我們需要的PIN與net映射關(guān)系,復(fù)制到管腳信息到外部txt。
本節(jié)導(dǎo)出器件管腳與網(wǎng)絡(luò)映射關(guān)系,需要注意的是如果fpga與外部連接網(wǎng)絡(luò)沒有命名,軟件將自動(dòng)分配網(wǎng)絡(luò)名。這部分管腳名稱,沒有實(shí)際意義不便理解,可根據(jù)需求手動(dòng)修改。
3 管腳約束/XDC文件生成
本節(jié)內(nèi)容通過上節(jié)得到1對(duì)差分信號(hào)和一個(gè)單端信號(hào)為例說明編輯過程。
編寫約束文件僅需要了解四種固定格式即可。 1、設(shè)置管腳到網(wǎng)絡(luò)映射關(guān)系。具體語法格式如下:
set_property PACKAGE_PIN PIN [get_ports {NET}]將PIN位置替換我們導(dǎo)出文件的管腳名,NET位置填寫對(duì)應(yīng)網(wǎng)絡(luò)名。生成管腳約束示例如下:
set_property PACKAGE_PIN AV20 [get_ports {DDR4_PARITY}] set_property PACKAGE_PIN AV21 [get_ports {DDR4_DQS5_C}] set_propertyPACKAGE_PINAV22[get_ports{DDR4_DQS5_T}]2、設(shè)置網(wǎng)絡(luò)I/O STANDARD 屬性。具體語法格式例子如下:
set_property IOSTANDARD PIN_STANDRAD [get_ports {NET}]將PIN_STANDRAD位置替換我們需要的I/O STANDARD標(biāo)準(zhǔn),NET位置填寫對(duì)應(yīng)網(wǎng)絡(luò)名。生成管腳約束示例如下:
set_property IOSTANDARD SSTL12_DCI [get_ports {DDR4_PARITY}] set_property IOSTANDARD DIFF_POD12_DCI [get_ports {DDR4_DQS5_C}] set_propertyIOSTANDARDDIFF_POD12_DCI[get_ports{DDR4_DQS5_T}]具體電平標(biāo)準(zhǔn)請(qǐng)查閱芯片手冊(cè)。 3、設(shè)置網(wǎng)絡(luò)輸入/輸出屬性,具體語法格式如下:
set_property DIRECTION DIR [get_ports {NET}]將DIR位置替換我們管腳屬性,可以填寫INOUT OUT IN三種,分別對(duì)應(yīng)輸入輸出、輸出和輸入;NET位置填寫對(duì)應(yīng)網(wǎng)絡(luò)名。生成管腳約束示例如下:
set_property DIRECTION OUT [get_ports {DDR4_PARITY}] set_property DIRECTION INOUT [get_ports {DDR4_DQS5_C}] set_propertyDIRECTIONINOUT[get_ports{DDR4_DQS5_T}]4、設(shè)置管腳差分關(guān)系。具體語法格式如下:
make_diff_pair_ports NET1 NET2將NET1 NET2位置填寫對(duì)應(yīng)差分對(duì)的網(wǎng)絡(luò)名。生成管腳約束示例如下:
make_diff_pair_ports DDR4_DQS5_T DDR4_DQS5_C按照例子,對(duì)我們需要關(guān)注的管腳編寫約束文件,并將文件保存為.xdc格式,我這里保存是ddr_pin.xdc。
此過程流程操作流程相對(duì)簡單死板,推薦根據(jù)自己網(wǎng)絡(luò)命名規(guī)則編寫腳本減輕工作量。 4 I/O Planning 導(dǎo)出 ibis文件 Vivado 的 I/O Planning和RTL工程中均可以導(dǎo)出ibis 文件。RTL工程中導(dǎo)出方法不在此處贅述。 1)新建I/O Planning 工程
2)出現(xiàn)彈窗
3)工程命名與路徑選擇
4)選擇 I/O Planning 工程類型
5)不導(dǎo)入文件,點(diǎn)擊下一步
6)根據(jù)需求選擇器件型號(hào),點(diǎn)擊下一步后,點(diǎn)擊Finish 創(chuàng)建工程
7)出現(xiàn)工程界面后,點(diǎn)擊導(dǎo)入I/O Ports
8)彈窗中選擇準(zhǔn)備好的xdc文件,點(diǎn)擊OK。
9)點(diǎn)擊 Report DRC進(jìn)行檢查。
10)彈窗選擇OK,如出現(xiàn)DRC報(bào)錯(cuò)需要復(fù)核硬件設(shè)計(jì)解決,避免導(dǎo)致硬件設(shè)計(jì)存在缺陷。
11)如DRC無報(bào)錯(cuò),點(diǎn)擊導(dǎo)出IBIS文件
12)彈窗選擇保存路徑,完成導(dǎo)出。圖中兩個(gè)選項(xiàng)內(nèi)容均不勾選。Include all models 選項(xiàng)勾選,在IBIS文件中增加我們沒有涉及 IO模型內(nèi)容;Disable per pin modeling 會(huì)剔除IBIS文件中包含的封裝屬性文件。
13)到這里模型生成完成,可以用于實(shí)際仿真。
戰(zhàn)術(shù)總結(jié)
今天主要給大家簡單介紹了IBIS模型的使用方法以及Vivado如何快速導(dǎo)出IBIS模型進(jìn)行后續(xù)仿真使用的方法,歡迎各位大師在評(píng)論區(qū)留言討論。
審核編輯:湯梓紅
-
FPGA
+關(guān)注
關(guān)注
1629文章
21729瀏覽量
602984 -
傳輸線
+關(guān)注
關(guān)注
0文章
376瀏覽量
24021 -
IBIS模型
+關(guān)注
關(guān)注
8文章
15瀏覽量
17554 -
Vivado
+關(guān)注
關(guān)注
19文章
812瀏覽量
66470
原文標(biāo)題:基于Vivado 的IBIS文件導(dǎo)出
文章出處:【微信號(hào):國產(chǎn)FPGA之家,微信公眾號(hào):國產(chǎn)FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論