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

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

做FPGA,為啥加班這么多?

05/11 13:20
2645
閱讀需 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ì)前有無最終硬件

FPGA設(shè)計(jì)和IC設(shè)計(jì)雖然都屬于硬件設(shè)計(jì),但他們?cè)O(shè)計(jì)卻有很大的差別。FPGA是可編程門邏輯陣列,那FPGA設(shè)計(jì)就是用軟件去編程FPGA芯片內(nè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)證上的差別(能否用最終硬件來驗(yàn)證)

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

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

在FPGA產(chǎn)品上通過客戶使用來驗(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來盡可能充分驗(yàn)證各個(gè)模塊的功能,前仿真、后仿真;

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

因?yàn)闆]有最終的硬件(被設(shè)計(jì)的芯片)可以來驗(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,還需要加班來維護(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)證,保證流片回來的芯片不出問題,因此規(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à)格 更多信息
XC6SLX9-2FTG256C 1 AMD Xilinx Field Programmable Gate Array, 715 CLBs, 667MHz, 9152-Cell, CMOS, PBGA256, 17 X 17 MM, 1 MM PITCH, LEAD FREE, FBGA-256

ECAD模型

下載ECAD模型
$28.38 查看
A3P400-FGG256I 1 Microsemi Corporation Field Programmable Gate Array, 9216 CLBs, 400000 Gates, 350MHz, CMOS, PBGA256, 17 X 17 MM, 1.60 MM HEIGHT, 1 MM PITCH, GREEN, FBGA-256
$60.81 查看
EP3C25F324C8N 1 Altera Corporation Field Programmable Gate Array, 24624 CLBs, 472.5MHz, 24624-Cell, CMOS, PBGA324, 19 X 19 MM, 2.20 MM HEIGHT, 1 MM PITCH, LEAD FREE, FBGA-324

ECAD模型

下載ECAD模型
$659.06 查看

相關(guān)推薦

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

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