加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

做FPGA,為啥加班這么多?

05/11 13:20
2647
閱讀需 4 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

很多年前我經(jīng)常在想:做FPGA設(shè)計(jì),為啥加班這么多,不停地調(diào)bug和維護(hù)bug,心力交瘁。直到做了IC設(shè)計(jì),我才徹底懂了:看完FPGA設(shè)計(jì)和IC設(shè)計(jì)上的差別,你也會(huì)懂。

1.? ? 設(shè)計(jì)上的差別(設(shè)計(jì)前有無(wú)最終硬件

FPGA設(shè)計(jì)和IC設(shè)計(jì)雖然都屬于硬件設(shè)計(jì),但他們?cè)O(shè)計(jì)卻有很大的差別。FPGA是可編程門邏輯陣列,那FPGA設(shè)計(jì)就是用軟件去編程FPGA芯片內(nèi)部的邏輯來(lái)實(shí)現(xiàn)不同的應(yīng)用開發(fā),而IC是集成電路(芯片),IC設(shè)計(jì)就是造一個(gè)芯片,故本質(zhì)的區(qū)別是:

FPGA設(shè)計(jì)是FPGA芯片上的應(yīng)用程序開發(fā),即在最終硬件(FPGA芯片)上開發(fā);

IC設(shè)計(jì)是造一個(gè)芯片,即還沒有最終硬件(被設(shè)計(jì)的芯片)。

2.? ? 驗(yàn)證上的差別(能否用最終硬件來(lái)驗(yàn)證)

上面設(shè)計(jì)上的差別已經(jīng)提到,F(xiàn)PGA設(shè)計(jì)前已有最終硬件(FPGA芯片),因此驗(yàn)證:

可以直接用FPGA來(lái)驗(yàn)證,即下載到FPGA芯片,跑一跑,看一看,再改一改,下載,再跑一跑,再改一改......

在FPGA產(chǎn)品上通過客戶使用來(lái)驗(yàn)證,客戶發(fā)現(xiàn)bug,我們定位解決bug,客戶再發(fā)現(xiàn)了bug,我們?cè)俣ㄎ唤鉀Qbug......

因?yàn)橛凶罱K硬件(FPGA芯片)可以驗(yàn)證,所以我們一般只需這幾次跑通,不充分。

而IC設(shè)計(jì)前還沒有最終硬件(被設(shè)計(jì)的芯片),如果驗(yàn)證不到位,就會(huì)導(dǎo)致一次流片的失敗,而一次流片就是數(shù)億的損失,因此驗(yàn)證需要:

使用驗(yàn)證方法學(xué)UVM來(lái)盡可能充分驗(yàn)證各個(gè)模塊的功能,前仿真、后仿真;

使用FPGA、硬件模擬加速器等,盡可能接近最終芯片來(lái)驗(yàn)證各個(gè)功能;

因?yàn)闆]有最終的硬件(被設(shè)計(jì)的芯片)可以來(lái)驗(yàn)證,所以我們驗(yàn)證的會(huì)非常充分。

3.? ??規(guī)范流程上的差別(需不需要規(guī)范流程)

上面驗(yàn)證上的差別,可以看出FPGA設(shè)計(jì)時(shí),可以在最終硬件(FPGA芯片)上多次試錯(cuò),甚至到客戶那里還能再多次試錯(cuò),因此規(guī)范流程上:

不規(guī)范也可以:多試幾次又不是不行,問題又不是不能被解決,花20%設(shè)計(jì),花80%調(diào)bug,還需要加班來(lái)維護(hù),又不是不行,多加班能解決的都不是問題,為什么解決也不那么重要,只要最終硬件(FPGA芯片)上跑的沒問題就OK;

規(guī)范更好:代碼寫的規(guī)范,有詳細(xì)的設(shè)計(jì)文檔,關(guān)注EDA工具綜合布局布線的報(bào)告等,上板前做一些仿真,這樣讓你花80%設(shè)計(jì),花20%調(diào)bug,少加班,就能夠不斷的升級(jí)迭代設(shè)計(jì),少bug不怎么需要維護(hù),有bug也能快速解決。

但是,IC設(shè)計(jì)時(shí),沒有最終硬件(FPGA芯片)可以多次試錯(cuò),就一定要嚴(yán)格規(guī)范設(shè)計(jì)的流程,盡可能去模擬最終硬件驗(yàn)證,保證流片回來(lái)的芯片不出問題,因此規(guī)范流程上:

要嚴(yán)格規(guī)范,充分驗(yàn)證,出現(xiàn)bug需要定位到設(shè)計(jì)根源上并解決,解決后還需要再遍歷驗(yàn)證一遍。

所以,做FPGA,為啥加這么多班?我覺得就是因?yàn)椴粔蛑匾曇?guī)范和驗(yàn)證,至于FPGA設(shè)計(jì)重視規(guī)范和驗(yàn)證,又是怎么理解和落地了?

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
EP4CE40F23C7N 1 Altera Corporation Field Programmable Gate Array, 2475 CLBs, 472.5MHz, 39600-Cell, PBGA484, 23 X 23 MM, 1 MM PITCH, LEAD FREE, FBGA-484
$640.28 查看
XC7A15T-2CSG324I 1 AMD Xilinx Field Programmable Gate Array, 1300 CLBs, PBGA324, BGA-324

ECAD模型

下載ECAD模型
$138.91 查看
5CGXFC4C6U19I7N 1 Altera Corporation Field Programmable Gate Array, 50000-Cell, CMOS, PBGA484, ROHS COMPLIANT, UBGA-484
暫無(wú)數(shù)據(jù) 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

由點(diǎn)到面,串聯(lián)各技術(shù)思維方式和學(xué)習(xí)感悟,取長(zhǎng)補(bǔ)短,由一個(gè)技術(shù)開發(fā)者邁向一個(gè)系統(tǒng)設(shè)計(jì)開發(fā)者。