1. 程式人生 > >FPGA軟硬協同設計學習筆記及基礎知識(一)

FPGA軟硬協同設計學習筆記及基礎知識(一)

擴展性 產生 新的 pll 多個 分配 每次 調用 span

一、FPGA軟件硬件協同定義:

軟件:一般以軟件語言來描述,類似ARM處理器的嵌入式設計。硬件定義如FPGA,裏面資源有限但可重配置性有許多優點,新的有動態可充配置技術。

Xilinx開發了部分動態可重配置技術,它可以只針對需要變化的FPGA邏輯完成重配置而保持其他部分FPGA正常工作。在汽車電子應用中,汽車安全輔助駕駛功能越來越被重視,其中高級倒車後視、自動泊車和行車時離道報警兩個功能都可以用攝像頭完成。這兩個功能的圖像采集處理邏輯是一致的,但是其圖像處理的算法卻不同,如果專門設計一個SoC芯片的話,需要這兩部分獨立的IP核,或者為了降低成本盡量將算法全部在處理器中實現。而用了Zynq,因為兩部分的功能並不是同時需要的,我們可以保持處理器部分代碼執行不變,FPGA中圖像采集模塊不變,在倒車時通過部分可重配置技術加載倒車時的圖像處理算法硬件,而在開車時,自動加載離道報警算法硬件。這樣就可以利用同樣一塊邏輯單元實現兩部分的硬件功能。提高並加強了實時響應的速度。

二、“硬件加速”定義?

硬件加速(Hardware acceleration)就是利用硬件模塊來替代軟件算法以充分利用硬件所固有的快速特性。硬件加速通常比軟件算法的效率要高。

硬件加速時CPU調度GPU運行,內存占用率也會升高。

三、軟件與硬件協同調試如何完成?

硬件主要采用仿真工具,在線邏輯分析儀chipscope。

四、概括Zynq-7000在SOC嵌入式應用的優勢?

Zynq-7000 采用可擴展式處理平臺架構(Extensible Processing Platform、EPP),是 Xilinx 用 28nm HKMG工藝制成的低功耗,高性能,高擴展性的新型芯片,這款新品裏面集成了ARM CORTEX-A9 MPSOC

硬核以及相應的SOC系統。

PS: 處理系統(Processing System),與FPGA無關的ARM的SOC的部分。

PL: 可編程邏輯 (Progarmmable Logic),FPGA部分。

APU: 應用處理器單元(Application Processor Unit)。位於PS裏面的中心位置。

SCU: Snoop Control Unit,用來保持雙核之間的數據Cache的一致性。也就是說,第一個A9 處理器寫存儲時,只是寫在了緩存裏,沒有進主存,如果第二個A9讀操作,涉及到第一個寫臟了的數據段,SCU要保證第二個A9的緩存裏是最新的數據。如果第二個A9寫同樣數據段的數據,需要在第一個中體現出寫的內容。SCU的存在,才使得兩個核成互相聯系的 “雙核”,才能成為MPsoc。

1、正確規劃單板上 FPGA 的定向並將信號分配給特定的引腳,這樣可以顯著改進系統整體性能、功耗設計周期。可視化 FPGA 器件與印刷電路板 (PCB) 之間的物理和邏輯互動方式,使您可以優化通過器件的數據流。未正確規劃 I/O 配置則可能導致系統性能下降和設計收斂時間延長。單板上 FPGA 器件的布局與其它組件的互動會對 I/O 規劃產生巨大影響。
2、首先應確定 FPGA 器件在 PCB 上的定向。還要考慮固定 PCB 組件的位置,以及內部 FPGA 資源。例如,使 FPGA 封裝的 GT 接口盡量靠近在 PCB 上與其連接的組件,這樣可以縮短 PCB 走線長度,同時減少 PCB 過孔數量。
3、賽靈思建議您設計時首先選擇時鐘資源,然後再選擇管腳。您的時鐘選擇不僅可以確定特定的管腳,而且還可以支配邏輯布局。正確的時鐘選擇可以產生非常好的效果。
4、賽靈思 7 系列器件包含 32 個全局時鐘緩沖器 (BUFG)。其中 16 個全局時鐘緩沖器位於 FPGA 器件水平方向中心的上半部分,而另外 16 個則位於水平方向中心的下半部分。芯片上半部的 PLL MMCM只能連接到水平方向中心以上的 16 個 BUFG 上。而芯片下半部的PLL 和 MMCM 只能連接到水平方向中心以下的 16 個 BUFG 上。選擇 PLL 或 MMCM 時,請盡量使用 PLL,因為其具有更嚴格的抖動控制。在如下情況下也可以使用 MMCM :(1) PLL 已用盡 ; (2)MMCM 可提供所需的高級功能,但 PLL 則不能。
BUFG 組件可以滿足設計的大多數時鐘要求,但對以下要求不高 :
? 時鐘數量
? 設計性能

BUFG 組件易於通過綜合調用,並且限制較少,支持大多數普通時鐘。
5、使用存儲器接口生成器 (MIG) 生成管腳。
千兆位收發器 (GT) 具有特定的管腳要求。假如 GT 采用相同或鄰近的 quads,則您可以在多個 GT之間共享參考時鐘。賽靈思建議您使用 GT 向導生成內核。有關管腳建議,敬請參閱產品指南。
HP(高性能)HR(大範圍)Bank在收發信號的速度上存在差異。根據所需的 I/O 速度,在 HP或 HR Bank 間做出選擇。
6、從加電到斷電,FPGA 器件要經過多個電源階段,並伴有不同的功率需求 :
? 加電功率
加電功率是 FPGA 器件首次加電時發生的瞬時峰值電流。電壓不同時,該電流強度也會發生變化且電流強度取決於 FPGA 器件的結構、電源上升到額定電壓的能力,以及器件的工作條件(比如溫度以及不同電源之間的排序)。在新型 FPGA 器件架構中,不用擔心峰值電流的問題,因為它遵循了適用的上電順序指南。
? 配置功率
配置功率是指在器件配置期間所需的功率。配置功率通常低於有效功率,因此,除非您的使用過程功耗極低,否則該瞬態不會影響供電需求
? 待機功率
待機功率(又稱“設計靜態功率”)是器件按設計配置後未對其施加任何外部活動或者未產生任何內部活動時提供的功率。待機功率是設計運行時電源應提供的最小連續功率。
? 有功功率
有功功率(又稱“設計動態功率”)是器件運行應用程序時所需功率。有功功率包括待機功率(全部靜態功率)以及因設計活動(設計動態功率)產生的功率。有功功率是瞬時發生的,且根據輸入數據模式以及設計內部活動的不同每個時鐘周期變化一次。
7、配置指的是將特定應用數據加載到 FPGA 器件的內部存儲器的過程。
賽靈思 FPGA 配置數據儲存在 CMOS 配置鎖存(CCL)中,因此配置數據很不穩定,且在每次FPGA 器件斷電後都必須重新加載。賽靈思 FPGA 器件可通過來自外部非易失性存儲器件的配置引腳自行加載配置數據。而且還可以用外部智能源配置器件。賽靈思 FPGA 配置模式接口涵蓋從帶有2 引腳的基礎串行模式接口到帶有50 引腳的高性能主 BPI(同步)模式接口。

FPGA軟硬協同設計學習筆記及基礎知識(一)