FPGA從入門到精通(1) - 前序

       畢業後,從一個嵌入式硬件狗轉做FPGA工程師,從中兜兜轉轉繞了不少彎路,爲了給後人避坑,所以今天開始寫有關FPGA從入門到精通的教程吧,這也算是給我國集成電路的發展做出微薄的貢獻吧。

       本門課程主要是針對有一定數電基礎的人看的。所以不會不像其他教程那樣,上來就跟你講verilog,跑馬燈,按鍵,計數器等等。因爲這麼學,最後只會越來越讓自己感覺所做的事情和個程序猿無差,與我的初心不符。所以我會更加偏向於從硬件設計的角度向讀者加以講解FPGA,這樣纔會在FPGA這條道路上越走越遠,越吃越精。

        本門課程主要分爲三部分:

        1.從FPGA的器件內部結構出發(這裏以XILINX爲主,其實無論是XILINX ,ALTERA,LATTICE,國產 。它們內部架構以及開發軟件,其實都大同小異,一通則百通),講解硬件描述語言是如何與內部單元和連線一一對應的。一般而言,FPGA內部(圖1 XILINX A7系列的 Feature Summary)主要包含以下幾大件。從實際出發,器件有啥我講啥

        (1)不講Logic Cells 因爲Logic Cells是由 Slices組成的 ,Slices 數 * 6.4 =Logic Cells。

        (2)CLB(主要包括Slices ,DRAM)

        (3)DSP48E1

        (4)BRAM

        (5)CMTs(時鐘管理單元,包括MMCM和PLL)

        (6)BANK 與 用戶IO ,專用IO的關係

        (7)XADC

        (8)GTP(高速串行收發器)

        (9)PCIE

        2.講解FPGA常用的IP 以及高速接口的應用,以及介紹在官方IP無法滿足設計要求的前提下,如何根據官方IP的架構設計屬於自己的IP 。舉個栗子:官方的圖像傳感器相關的MIPI EXAMPLE的IP是最高只支持4通道的,然而實際應用中有可能用到8通道。我們不可能從零開始設計(這樣做會很耗時間,並且做很多枯燥無味的無用功),但在已有的基礎加以改進是一個很不錯的選擇。

        3.講解FPGA相關的約束,這裏會涉及到你們經常遇到的時序約束,以及佈局約束等等。說到時序約束我不得不吐槽,一堆博文都是通過幾張圖在講這個建立時間,保持時間是什麼,然後告訴讀者這個兩個東東應該怎麼算。實際上,從工程上來說,這個真的沒啥屁用。因爲計算的結果EDA軟件早就幫你算好了,你需要做的是根據已有的計算結果,在時序餘量不足的情況下對路徑進行優化,在時序餘量過剩的時候考慮相應的資源、功耗優化。       

        這是博主第一次系統的寫博客,難免會有錯漏的地方,如果有什麼疑問或者建議,歡迎大家在下方留言。最後希望大家通過不斷的學習,努力後能有所提升。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

參考文檔:

       XILINX DS180 (7 Series FPGAs Data Sheet: Overview)

           

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章