FPGA讀書筆記2

xie347117464發表於2016-07-19

內嵌處理器核

在電子系統設計中,你想要實現的功能可以採用硬體或者軟體實現。選擇的主要標準是你想要多快地實現它。例如:

  • ps或者ns級,必須用硬體實現
  • us級,硬體軟體都可以,需要我們斟酌到底用哪個好
  • ms級,用硬體實現比較麻煩,需要大量計數器產生時延,最好用軟體實現
    FPGA很多時候需要同時提供高速和低速應用,因此FPGA內部整合了處理器核,這樣就可以節省走線,降低成本,提高效能。

    硬處理器核

硬處理器核是在製造時預定義的微處理器模組。使用者一般不更改。整合方法有兩種,第一種是將它置於FPGA柱結構一側的窄帶(the strip),如下圖所示。enter image description here 另外一種方式就是把內嵌的微處理器直接放入FPGA主結構。在這種情況下,設計工具會考慮這些快的存在,這些核使用的儲存器由內嵌RAM實現,其他功能使用slice實現。這種方式的內部通訊速度會更快。

軟微處理器核

我們也可以把未定義的可程式設計邏輯塊配製成微處理器。這通常被稱為軟核,本質是一系列程式碼。軟核更簡單,也更原始,它的好處是可以利用未使用的可程式設計邏輯塊。

時鐘樹和時間管理器

FPGA內部的所有同步器件都需要時鐘訊號來驅動。這樣的時鐘源一般是來自外部的,時鐘訊號通過專用的時鐘輸入管腳進入FPGA,並傳送給整個器件。主時鐘訊號就像一個樹一樣,葉子就是暫存器。目的是為了保證所有觸發器接收到的訊號儘可能一致。不同觸發器接收訊號的誤差被稱為抖動。實際中,可以存在多個時鐘管腳和多個時鐘域。
如果不把時鐘管腳直接連入內部的時鐘樹,可以把管腳用於驅動一個叫作時鐘管理的專用硬體模組,用於產生一定數量的子時鐘。時鐘管理器可以提供“乾淨”的時鐘,也可以對輸入時鐘訊號進行倍頻或者分頻,以及相位調整。

通用IO

目前存在很多電平標準,例如TTL、LVDS等,這就要求FPGA的IO具有通用性。因此,FPGA的介面被分為多個bank。每個IO bank 可以被獨立配置為支援一種特殊的I/O標準,不同的IO標準使用的電壓可能和FPGA的核心電壓不同,因此每個IO bank 都具有額外的電源輸入管腳。此外,FPGA的終端阻抗也可以根據需求來調整。

相關文章