0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

fpga項(xiàng)目開發(fā)感言

潘文明 ? 來(lái)源:明德?lián)P吳老師 ? 作者:明德?lián)P吳老師 ? 2022-11-08 17:59 ? 次閱讀

fpga項(xiàng)目開發(fā)除了技術(shù)過硬之外,還需要一些合作的心態(tài)去看待項(xiàng)目,下面是我操刀過這么多的fpga項(xiàng)目外包服務(wù)的體會(huì):

1.要和人配合。

以我們做硬件工程師為例,測(cè)試的時(shí)候一般都需要軟件的配合,一個(gè)對(duì)硬件來(lái)說(shuō)無(wú)比復(fù)雜的工作,可能在軟件工程師看來(lái)就是幾行簡(jiǎn)單的代碼。所以要和人配合,多聽聽別人的意見,這樣必然可以產(chǎn)生新的know-how從而加快測(cè)試和開發(fā)的速度,退一步講,至少?zèng)]有壞處。

2.測(cè)試還是要?jiǎng)e人來(lái)做。

開發(fā)者看待自己的產(chǎn)品有如看待自己,大多是沒有勇氣去發(fā)現(xiàn)缺點(diǎn)的。一是源自自尊心,二是為了避免額外的工作。所以就算有問題,如果不嚴(yán)重就藏著掖著。但是這對(duì)項(xiàng)目來(lái)說(shuō)是不行的,所以測(cè)試,verification,一定要旁人來(lái)做。

3.多點(diǎn)時(shí)間思考。

出現(xiàn)問題后,不要急著修改。要思考推測(cè)可能的原因,想清楚后把這些可能的原因都用debug pin或者chipscope引出來(lái)。


4.注意復(fù)用已有的debug pin。

很多時(shí)候,在測(cè)試過程中產(chǎn)生了一大堆測(cè)試信號(hào),但是時(shí)間一長(zhǎng)就忘了復(fù)用。實(shí)際上,當(dāng)一個(gè)問題產(chǎn)生的時(shí)候,通過反復(fù)觀察已有的debug-pin或許足以發(fā)現(xiàn)問題根源,而無(wú)需再引出新的pin,并浪費(fèi)時(shí)間去綜合和PAR。


5.仿真加時(shí)序足矣。

數(shù)字電路時(shí)鐘同步的設(shè)計(jì)原則下,其功能通過simulation就可以驗(yàn)證。simulation的結(jié)果和PAR后產(chǎn)生的FPGA-image完全等價(jià)。當(dāng)然FPGA也要遵循同樣的設(shè)計(jì)原則:即時(shí)鐘同步。所以對(duì)于PAR的結(jié)果首先就要確保其時(shí)鐘同步的特性。體現(xiàn)為寄存器之間的path必須在一個(gè)時(shí)鐘周期內(nèi)完成。(當(dāng)然有其他約束的例外。)同時(shí)要滿足FPGA器件的setup和hold要求。一旦出現(xiàn)timing-error必須通過各種途徑消除error,因?yàn)閑rror的存在,意味著時(shí)鐘同步的大前提已經(jīng)被破壞,這時(shí),simulation取得的結(jié)果和FPGA是不等價(jià)的,繼續(xù)測(cè)試也毫無(wú)意義了。

6.注意不可控的接口部分。

FPGA內(nèi)部的寄存器之間的timing完全可以通過PAR報(bào)告來(lái)確認(rèn)是否有問題。但是和外界的接口部分卻充滿了疑問。我們一般通過假定的input-delay和output-delay來(lái)對(duì)接口部分進(jìn)行約束。由于從一開始就施加的是假定的delay,所以即使沒有timing-error,其結(jié)果也存在諸多疑問。以我正在進(jìn)行的測(cè)試為例,模塊內(nèi)部loopback測(cè)試完全正常,但是一過cable,傳到對(duì)方FPGA,則馬上產(chǎn)生很多誤碼。由于simulation沒有問題,所以必然是我們的某個(gè)假定出現(xiàn)了問題,尤其是時(shí)鐘同步的假定會(huì)得不到滿足。這時(shí)候,就要想盡一切辦法,使接口也滿足假定的條件,或者調(diào)整設(shè)計(jì),將不理想的接口adapting成理想的接口。


7.向直接上司匯報(bào)情況,尋求各種可能的許可。

懶得向直接上司匯報(bào)情況時(shí),萬(wàn)一出現(xiàn)進(jìn)度或者結(jié)果不符,所有責(zé)任都需要本人承擔(dān)。如果提前向上司匯報(bào)情況并取得許可,則一切后果都在可控范圍內(nèi)。比如,工作繁忙時(shí)又被派給新的任務(wù),則不能一味逆來(lái)順受。應(yīng)該向上司說(shuō)明困難,并提前想好一個(gè)可行的解決方案供上司參考。


8.外部接口是最大障礙。

如前所述,F(xiàn)PGA內(nèi)部如果timing沒有問題的話,一般和仿真結(jié)果是一致的,問題是外部的接口,包括cable連線等,不在我們確切控制的范圍內(nèi),比如其延時(shí)特性在40Mhz下仍然正常,但是在80Mhz時(shí)可能出現(xiàn)不可預(yù)料的情況。所以應(yīng)該盡量使用經(jīng)過驗(yàn)證的"cable--frequency"組合?;蛘咄ㄟ^設(shè)備測(cè)量并確認(rèn)外部接口的延時(shí)特性。這樣可以進(jìn)行有針對(duì)性的調(diào)整。我最近的教訓(xùn)就是花了整整一個(gè)月調(diào)整并測(cè)試內(nèi)部的結(jié)構(gòu),但是仍然失敗。結(jié)果發(fā)現(xiàn)由于cable的問題,80Mhz的信號(hào)(數(shù)據(jù)+使能+others)無(wú)法正常并行傳輸。如果換成40Mhz的信號(hào)就通過了。

9.綜合PR后的結(jié)果要和代碼等價(jià)。

前面提到仿真加時(shí)序足矣,這里面的前提是PR的結(jié)果和原始代碼要等價(jià)。為了確認(rèn)這一點(diǎn),就要把握syn和pr過程中的所有warning以及error,warning的內(nèi)容不是完全可以忽略的。要特別關(guān)注綜合報(bào)表中的以下內(nèi)容:unused ports, removal of redundant logic, latch inference,simulation mismatch等等。在報(bào)表中輸入關(guān)鍵字查找即可。

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1624

    文章

    21539

    瀏覽量

    600501
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    3568F-FPGA案例開發(fā)手冊(cè)

    3568F-FPGA案例開發(fā)手冊(cè)
    的頭像 發(fā)表于 04-16 11:30 ?1163次閱讀
    3568F-<b class='flag-5'>FPGA</b>案例<b class='flag-5'>開發(fā)</b>手冊(cè)

    fpga開發(fā)需要掌握哪些編程語(yǔ)言

    FPGA(現(xiàn)場(chǎng)可編程門陣列)開發(fā)涉及多種編程語(yǔ)言和技術(shù).
    的頭像 發(fā)表于 03-27 14:34 ?1273次閱讀

    fpga開發(fā)是什么意思

    FPGA開發(fā)是指利用現(xiàn)場(chǎng)可編程邏輯門陣列(Field Programmable Gate Array,簡(jiǎn)稱FPGA)進(jìn)行硬件設(shè)計(jì)和實(shí)現(xiàn)的過程。FPGA是一種可編程的邏輯器件,它允許用戶
    的頭像 發(fā)表于 03-15 14:28 ?996次閱讀

    fpga開發(fā)板是什么?fpga開發(fā)板有哪些?

    FPGA開發(fā)板是一種基于FPGA(現(xiàn)場(chǎng)可編程門陣列)技術(shù)的開發(fā)平臺(tái),它允許工程師通過編程來(lái)定義和配置FPGA芯片上的邏輯電路,以實(shí)現(xiàn)各種數(shù)字
    的頭像 發(fā)表于 03-14 18:20 ?1660次閱讀

    fpga用的是什么編程語(yǔ)言 fpga用什么語(yǔ)言開發(fā)

    和VHDL都是用于邏輯設(shè)計(jì)的硬件描述語(yǔ)言,并且都已成為IEEE標(biāo)準(zhǔn)。它們能形式化地抽象表示電路的結(jié)構(gòu)和行為,支持邏輯設(shè)計(jì)中層次與領(lǐng)域的描述,具有電路仿真與驗(yàn)證機(jī)制以保證設(shè)計(jì)的正確性,并便于文檔管理和設(shè)計(jì)重用。 fpga用什么語(yǔ)言開發(fā) F
    的頭像 發(fā)表于 03-14 17:09 ?3124次閱讀

    fpga與嵌入式的區(qū)別 嵌入式和fpga開發(fā)有什么關(guān)系

    的,無(wú)法進(jìn)行大規(guī)模的硬件級(jí)別的修改。這意味著FPGA能更靈活地適應(yīng)不同的應(yīng)用場(chǎng)景和變化的需求。 開發(fā)周期:FPGA開發(fā)周期相對(duì)較短,因?yàn)樗梢酝ㄟ^重新編程來(lái)實(shí)現(xiàn)新功能。相比之下,嵌入
    的頭像 發(fā)表于 03-14 17:04 ?6478次閱讀

    fpga開發(fā)板使用教程

    FPGA開發(fā)板的使用教程主要包括以下幾個(gè)關(guān)鍵步驟。
    的頭像 發(fā)表于 03-14 15:50 ?889次閱讀

    Lattice Insights 簡(jiǎn)化FPGA設(shè)計(jì)和開發(fā)

    通過萊迪思Insights簡(jiǎn)化FPGA設(shè)計(jì)和開發(fā) 人工智能和機(jī)器學(xué)習(xí)的持續(xù)發(fā)展正在重塑生活方式和工作場(chǎng)所,現(xiàn)在隨著基礎(chǔ)模型和生成式人工智能(AI)的出現(xiàn),這種重塑更為明顯。數(shù)字化轉(zhuǎn)型的深入會(huì)帶來(lái)
    的頭像 發(fā)表于 02-20 17:22 ?1986次閱讀
    Lattice Insights 簡(jiǎn)化<b class='flag-5'>FPGA</b>設(shè)計(jì)和<b class='flag-5'>開發(fā)</b>

    fpga開發(fā)板與linux開發(fā)板區(qū)別

    FPGA開發(fā)板與Linux開發(fā)板是兩種不同的硬件開發(fā)平臺(tái),各自具有不同的特點(diǎn)和應(yīng)用場(chǎng)景。在以下的文章中,我將詳細(xì)介紹FPGA
    的頭像 發(fā)表于 02-01 17:09 ?1917次閱讀

    RK3568-ARM+FPGA通信案例開發(fā)手冊(cè) (一)

    RK3568-ARM+FPGA通信案例開發(fā)手冊(cè) (一)
    的頭像 發(fā)表于 01-19 10:31 ?929次閱讀
    RK3568-ARM+<b class='flag-5'>FPGA</b>通信案例<b class='flag-5'>開發(fā)</b>手冊(cè) (一)

    關(guān)于FPGA的開源項(xiàng)目介紹

    Hello,大家好,之前給大家分享了大約一百多個(gè)關(guān)于FPGA的開源項(xiàng)目,涉及PCIe、網(wǎng)絡(luò)、RISC-V、視頻編碼等等,這次給大家?guī)?lái)的是不枯燥的娛樂項(xiàng)目,主要偏向老的游戲內(nèi)核使用FPGA
    的頭像 發(fā)表于 01-10 10:54 ?1273次閱讀
    關(guān)于<b class='flag-5'>FPGA</b>的開源<b class='flag-5'>項(xiàng)目</b>介紹

    FPGA項(xiàng)目承接|FPGA項(xiàng)目外包|FPGA項(xiàng)目研發(fā)

    fpga
    mycode2016
    發(fā)布于 :2024年01月03日 23:50:07

    開源FPGA項(xiàng)目有哪些

    請(qǐng)問開源FPGA項(xiàng)目有哪些?
    發(fā)表于 12-26 12:09

    國(guó)外大學(xué)的FPGA開發(fā)項(xiàng)目盤點(diǎn)

    據(jù)我了解,目前國(guó)內(nèi)很多大學(xué)是沒有開設(shè)FPGA相關(guān)課程的,所以很多同學(xué)都是自學(xué),但是自學(xué)需要一定的目標(biāo)和項(xiàng)目,今天我們就去看看常春藤盟校Cornell University 康奈爾大學(xué)開設(shè)的FPGA
    發(fā)表于 12-22 10:27 ?897次閱讀
    國(guó)外大學(xué)的<b class='flag-5'>FPGA</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>項(xiàng)目</b>盤點(diǎn)

    FPGA項(xiàng)目開發(fā)之同步信號(hào)和亞穩(wěn)態(tài)

    FPGA項(xiàng)目開發(fā)之同步信號(hào)和亞穩(wěn)態(tài) 讓我們從觸發(fā)器開始,所有觸發(fā)器都有一個(gè)圍繞活動(dòng)時(shí)鐘沿的建立(setup time)和保持窗口(hold time),在此期間數(shù)據(jù)不得更改。如果該窗口中的數(shù)據(jù)
    發(fā)表于 11-03 10:36