FPGA專案經驗借鑑

2021-06-03 22:50:01 字數 2002 閱讀 7711

做了5年的fpga了。手中經歷的專案也不在少數。就在此刻又乙個fpga專案宣告結題,好多感受趁著現在還新鮮著,寫出來和大家一起分享。不對之處,希望得到大家的指正。另外1234並沒有絕對順序,都是有感而發,隨性而寫。

1. 要和人配合

。以我們做硬體的工程師為例,測試的時候一般都需要軟體的配合,乙個對硬體來說無比複雜的工作,可能在軟體工程師看來就是幾行簡單的**。所以要和人配合,多聽聽別人的意見,這樣必然可以產生新的 know-how 從而加快測試和開發的速度,退一步講,至少沒有壞處。 2.

測試還是要別人來做。

開發者看待自己的產品有如看待自己,大多是沒有勇氣去發現缺點的。一是源自自尊心,二是為了避免額外的工作。所以就算有問題,如果不嚴重就藏著掖著。但是這對專案來說是不行的,所以測試,verification,一定要旁人來做。

3. 多點時間思考。出現問題後,不要急著修改。要思考推測可能的原因,想清楚後把這些可能的原因都用debug pin或者chipscope引出來。

4. 注意

復用已有的debug pin。

很多時候,在測試過程中產生了一大堆測試訊號,但是時間一長就忘了復用。實際上,當乙個問題產生的時候,通過反覆觀察已有的debug-pin或許足以發現問題根源,而無需再引出新的pin,並浪費時間去綜合和par。

5. **加時序足矣。

數位電路在時鐘同步的設計原則下,其功能通過simulation就可以驗證。simulation的結果和par後產生的fpga-image完全等價。當然fpga也要遵循同樣的設計原則:即時鐘同步。所以對於par的結果首先就要確保其時鐘同步的特性。體現為暫存器之間的path必須在乙個時鐘週期內完成。(當然有其他約束的例外。)同時要滿足fpga器件的setup和hold要求。一旦出現timing-error必須通過各種途徑消除error,因為error的存在,意味著時鐘同步的大前提已經被破壞,這時,simulation取得的結果和fpga是不等價的,繼續測試也毫無意義了。

6. 注意不可控的介面部分。

fpga內部的暫存器之間的timing完全可以通過par報告來確認是否有問題。但是和外界的介面部分卻充滿了疑問

。我們一般通過假定的input-delay和output-delay來對介面部分進行約束。由於從一開始就施加的是假定的delay,所以即使沒有timing-error,其結果也存在諸多疑問。以我正在進行的測試為例,模組內部loopback測試完全正常,但是一過cable,傳到對方fpga,則馬上產生很多誤碼。由於simulation沒有問題,所以必然是我們的某個假定出現了問題,尤其是時鐘同步的假定會得不到滿足。這時候,就要想盡一切辦法,使介面也滿足假定的條件,或者調整設計,將不理想的介面adapting成理想的介面。

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

懶得向直接上司匯報情況時,萬一出現進度或者結果不符,所有責任都需要本人承擔。如果提前向上司匯報情況並取得許可,則一切後果都在可控範圍內。比如,工作繁忙時又被派給新的任務,則不能一味逆來順受。應該向上司說明困難,並提前想好乙個可行的解決方案供上司參考。

8. 外部介面是最大障礙

。如前所述,fpga內部如果timing沒有問題的話,一般和**結果是一致的,問題是外部的介面,包括cable連線等,不在我們確切控制的範圍內,比如其延時特性在40mhz下仍然正常,但是在80mhz時可能出現不可預料的情況。所以應該盡量使用經過驗證的「cable--frequency」組合。或者通過裝置測量並確認外部介面的延時特性。這樣可以進行有針對性的調整。我最近的教訓就是花了整整乙個月調整並測試內部的結構,但是仍然失敗。結果發現由於cable的問題,80mhz的訊號(資料+使能+others)無法正常並行傳輸。如果換成40mhz的訊號就通過了。

9. 綜合pr後的結果要和**等價。

前面提到**加時序足矣,這裡面的前提是pr的結果和原始**要等價。為了確認這一點,就要把握syn和pr過程中的所有warning以及error,warning的內容不是完全可以忽略的。要特別關注綜合報表中的以下內容:unused ports, removal of redundant logic, latch inference,simulation mismatch等等。在報表中輸入關鍵字查詢即可。

專案管理經驗借鑑

要馬兒好,又要馬兒不吃草 這句話不知是誰 發明 的 發明這句話的人,想來是專案管理的高手。為什麼?因為專案管理的精義,就是 又要馬兒好,又要馬兒不吃草。乙個成功的專案,通常有三個要素 這三個彼此互斥的要素,就像乙個等邊三角形的三邊一樣,缺了一邊,或任何一邊比其它兩面邊短,我們就不能再稱這個三角形為等...

經驗借鑑 專案經理管理經驗總結

人做專案經理工作多年,感到做這個工作最要緊的就是要明白什麼是因地制宜 因勢利導,只有最合適的,沒有什麼叫對的,什麼叫錯的,專案經理最忌諱的就是完美主義傾向,尤其是做技術人員出身的,喜歡尋找標準答案,耽誤了工作進度,也迷茫了自己。以下是本人一些做專案的個人體會,寫出來供大家指點,在討論過程中共同提高水...

經驗借鑑 乙個系統整合專案的煩惱

系統整合專案,專案管理 海正公司的趙曉東最近心裡挺煩。公司前一段簽了乙個100多萬的系統整合專案單子,由於雙方老闆很熟,且都希望專案盡快啟動,在簽合同時也沒有舉行正式的簽字儀式。合同簽完,公司老總很快指定趙曉東及其他8名員工組成專案組,由趙曉東任專案經理。老總把趙曉東引見給客戶老總,客戶老總在業務部...