演示文稿主題怎么設(shè)置啊(怎么將演示文稿主題設(shè)置)
1032
2022-05-29
文章目錄
in_system_ibert IP定制要點
串行收發(fā)器的位置
如何例化in_system_ibert?
結(jié)尾
in_system_ibert IP定制要點
串行收發(fā)器的位置
在ISI定制中,需要選擇所使用的串行收發(fā)器的位置,如下:
對應(yīng)的IP端口處也會出現(xiàn)相應(yīng)的端口,例如上圖選擇了2個Quad,也就是8個通道的串行收發(fā)器,那么對應(yīng)的drp接口就有8個。
但這個對應(yīng)關(guān)系讓人很迷惑,具體的通道和drp端口信號是如何對應(yīng)的呢?
如果有著嚴格的對應(yīng)關(guān)系,那么數(shù)據(jù)手冊或者其他形式有必要給出必要的說明,而不是讓用戶去猜測!
人們常常犯著經(jīng)驗主義的錯誤,認為既然讓你選擇了Quad和通道,那么就應(yīng)該對應(yīng)連接?
我在拿不準(zhǔn)的時候也聽過如此的論調(diào),并信以為然,這花費了我很多的時間去尋找對應(yīng)關(guān)系,并最終一無所獲,當(dāng)你使用了大量的通道,例如幾十個,那么這種對應(yīng)關(guān)系的尋找會更加消耗你的時間,特別是當(dāng)項目中需要被測眼圖的transceiver一方,有著混亂的通道使用!
不管是什么原因,為了原理圖布線方面也好,或者是任性使用,例如:
如下定義的rx:
input [31:0] rx;
1
每4位使用一個Quad,也就是4個通道,對應(yīng)關(guān)系如下:
rx[0] 對應(yīng)通道x1y39
rx[1] 對應(yīng)通道x1y38
rx[2] 對應(yīng)通道x1y37
rx[3] 對應(yīng)通道x1y36
rx[4] 對應(yīng)通道x1y35
rx[5] 對應(yīng)通道x1y34
rx[6] 對應(yīng)通道x1y33
rx[7] 對應(yīng)通道x1y32
看起來已經(jīng)有點意思了,這種還是倒過來約束的,還行,能接受。
如果是下面這種對應(yīng)關(guān)系:
rx[0] 對應(yīng)通道x1y36
rx[1] 對應(yīng)通道x1y37
rx[2] 對應(yīng)通道x1y38
rx[3] 對應(yīng)通道x1y39
rx[4] 對應(yīng)通道x1y32
rx[5] 對應(yīng)通道x1y33
rx[6] 對應(yīng)通道x1y34
rx[7] 對應(yīng)通道x1y35
這就必須譴責(zé)了。
如果有幾十個通道,你說怎么玩吧,如果in_system_ibert又需要嚴格的通道對應(yīng)關(guān)系,那么信號的連接將變得十分不直觀,讓接盤開發(fā)者面臨青筋暴裂的危險。
還是去看數(shù)據(jù)手冊吧,那么一個不起眼的IP核,拿不準(zhǔn)的時候也需要閱讀數(shù)據(jù)手冊!如果有現(xiàn)場支持工程師,這種問題也不要問了,因為他很可能自家的數(shù)據(jù)手冊都沒有閱讀,就按照慣性思維告訴你,如果不需要嚴格通道對應(yīng),人家IP核讓你選擇干嘛,然后你深信不疑,胡亂猜測,呃呃呃,gt1對應(yīng)x1y39,或者gt1對應(yīng)x1y0,白白浪費時間,項目做到最后,還對自己隱隱懷疑。或者最后結(jié)果沒有問題,還以為,自己的運氣是好的,選擇是對的,并輸出文檔,告訴隊友,就得這樣干,我試過!!!
來看數(shù)據(jù)手冊:
The ISI core has no transceiver location constraints, nor are any attributes updated for selected transceivers. The selected transceiver information is only used to create an ISI template and group/display the selected transceiver in the Serial IO analyzer after downloading the bit file.
翻譯一下:
ISI內(nèi)核沒有收發(fā)器位置約束,也沒有為所選收發(fā)器更新任何屬性。所選的收發(fā)器信息僅用于創(chuàng)建ISI模板,并在下載bit文件后在串行IO分析器中分組/顯示所選的收發(fā)器。
很明顯了,沒有位置約束,所選擇的收發(fā)器信息僅僅用于創(chuàng)建例化模板。
告訴你有多少個gt,你接進去就完事了。
總結(jié):最接近真理的地方在數(shù)據(jù)手冊上,我們(除了制定者,設(shè)計者)外都是閱讀者,各色各樣的閱讀者容易忽略部分信息,或者根據(jù)慣性思維來判斷,因此,帶著問題去數(shù)據(jù)手冊尋找答案。
如何例化in_system_ibert?
由于這個IP沒有提供例子程序,所以要正確無誤地使用這個IP,還有一定的疑惑點?
這個時候誰也別問,因為你可能問的人也只是聽說過,或者見過,真正手把手體驗過,實踐過的人,也許很難精確遇到。
如果你問了,他們會告訴你,把drp接口連接上去就好了,然后你看看你自己的應(yīng)用場景,已經(jīng)定制好的aurora,或者jesd,srio等等,我了個去,怎么沒有drp端口,如何和in-system-ibert的drp接口連接?
當(dāng)你找不到drp接口的時候,他們也許又會告訴你,在ip核內(nèi)部有,引出來?你若懷疑,甚至還怪你資歷不夠的意思?
我來告訴你,IP核是不要輕易改動的,或者說不要改動,如果你找不到drp接口,可以嘗試看看數(shù)據(jù)手冊,或者試試去掉某些選項,或者添加某些選項,但我建議還是看看收據(jù)手冊,數(shù)據(jù)手冊會有那個接口的描述,你會得到答案。
這里就已經(jīng)可能解決很多疑惑了,但是還不夠,沒有個示例來參考,又沒有例子工程,我會不放心我連接的對不對,或者說對這個IP核使用的對不對,因為我一旦例化進去,并生成bit流,工程大了會消耗大量的時間,怎么辦呢?
為了提高成功率還是要找到一個這個ip核使用的例子程序來研究研究,這里建議可以使用transceiver IP,內(nèi)部有例化in-system-ibert的選項,你勾選之后隨便生成一個例子程序,就可以看到這個ip核到底怎么使用的,照葫蘆畫瓢,是最直接的方式。
例如:
生成例子程序:
對著程序看看如何無誤地使用in-system-ibert,并且如何配合VIO IP核來使用,都可以清晰地看到解決辦法!
這些都是需要自己去發(fā)現(xiàn)的,而不是去問xxx。
結(jié)尾
這里只是告訴自己,也告訴迷茫的你方法,而沒有提供一個具體的實例,自己去探索吧,數(shù)據(jù)手冊,求知欲,才是王道。
FPGA
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。