FPGA筆試題解析(一)
1、簡述ASIC設計流程,并列舉出各部分用到的工具?
說實話,半路出家,沒弄過ASIC,但是經常遇到ASIC與FPGA開發做比較的題目,不得不主動了解下ASIC:
ASIC全稱: Application Specific Integrated Circuit,是一種為專門目的而設計的集成電路。
現代ASIC常包含整個32-bit處理器,類似ROM、RAM、EEPROM、Flash的存儲單元和其他模塊. 這樣的ASIC常被稱為SoC(片上系統)。
FPGA是ASIC的近親,一般通過原理圖、VHDL對數字系統建模,運用EDA軟件仿真、綜合,生成基于一些標準庫的網絡表,配置到芯片即可使用。它與ASIC的區別是用戶不需要介入芯片的布局布線和工藝問題,而且可以隨時改變其邏輯功能,使用靈活。
以上是百度的內容,下面給出設計流程:
除了細微地差別,看起來和FPGA的設計流程差不多,這樣就比較好聯想記憶了。
下面給出詳細說明:
ASIC開發基本流程
芯片架構,考慮芯片定義、工藝、封裝
RTL設計,使用Verilog、System Verilog、VHDL進行描述
功能仿真,理想情況下的仿真
驗證,UVM驗證方法學、FPGA原型驗證
綜合,邏輯綜合,將描述的RTL代碼映射到基本邏輯單元門、觸發器上
DFT技術,插入掃描鏈
等價性檢查,使用形式驗證技術
STA,靜態時序分析
布局規劃,保證沒有太多的內部交互,避免布線上的擁堵和困擾
時鐘樹綜合,均勻地分配時鐘,減少設計中不同部分間的時鐘偏移
DRC,設計規則檢查
LVS,布線圖和原理圖進行比較
生成GDSII
這整個流程稱為RTL2GDSII,利用GDSII來生產芯片的過程稱作流片(Tapeout),以上是一個Fabless公司的簡易設計流程,最后將GDSII送至Foundry生產芯片。
2、簡述FPGA的開發流程?
FPGA的開發流程可以從FPGA的開發工具ISE或者Vivado上看出,例如ISE:
如VIvado:
大概是如下流程:
從ISE以及Vivado開發工具上可以看出的過程有:RTL代碼的編寫,可以使用原理圖、Verilog HDL以及VHDL來開發,之后可以進行功能仿真,驗證設計是否正確,是否符合邏輯,之后就可以進行綜合,將RTL代碼映射到基本邏輯門單元,觸發器上。之后進行實現,實現包括三個步驟:
翻譯,映射以及布局布線。
這三者完成了什么工作,見:https://blog.csdn.net/Reborn_Lee/article/details/81434974
這是在ISE中有的套路,在Vivado開發工具中可沒這么復雜,vivado生成的網表格式是一致的,沒有ISE那么多,那么雜。
最后生成bit流文件,燒寫進FPGA即可。
3、名詞解釋:
ROM:Read?Only?Memory,只讀存儲器,手機、計算機等設備的存儲器,但現在的所說的ROM不只是Read Only了,也是可以寫入的。
RAM:Random?Access?Memory,隨機存取存儲器,手機、計算機的運行內存。
SRAM:Static?Random-Access?Memory,靜態隨機存取存儲器,只要供電數據就會保持,但斷電數據就會消失,也被稱為Volatile Memory
DRAM:Dynamic?Random?Access?Memory,動態隨機存儲器,主要原理是利用電容存儲電荷的多少來代表一個bit是0還是1,由于晶體管的漏電電流現象,電容會放電,所以要周期性的給電容充電,叫刷新。SRAM不需要刷新也會保持數據丟失,但是兩者斷電后數據都會消失,稱為Volatile Memory
SDRAM:Synchronous?Dynamic?Random?Access?Memory,同步動態隨機存儲器,同步寫入和讀出數據的DRAM。
EEPROM:Electrically?Erasable?Programmable?Read?Only?Memory,電可擦除可編程只讀存儲器,
DDR:Double?Data?Synchronous?Dynamic?Random?Access?Memory,雙倍速率同步動態隨機存儲器,雙倍速率傳輸的SDRAM,在時鐘的上升沿和下降沿都可以進行數據傳輸。我們電腦的內存條都是DDR芯片。
FLASH: Flash Memory,閃存,非易失性固態存儲,如制成內存卡或U盤。
關于這部分,我以前也有總結過:
RAM
ROM
IP核
參考鏈接:http://ninghechuan.com/2019/02/22/%E4%BD%A0%E8%A6%81%E7%9A%84FPGA&%E6%95%B0%E5%AD%97%E5%89%8D%E7%AB%AF%E7%AC%94%E9%9D%A2%E8%AF%95%E9%A2%98%E9%83%BD%E5%9C%A8%E8%BF%99%E5%84%BF%E4%BA%86/
FPGA
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。