主處理器的選型和ARM處理器的功能特性,可以看到ARM處理器具有強大的事務處理能力,但是ARM處理器也有不足之處,例如,數據處理速度有限,定時不準確,實現時序困難和事件處理不及時等,這就需要通過選擇合適的輔助處理器來彌補。
可編程邏輯器件(Programmable Logic Device)具有數據處理速度快、TO資源豐富、定時精確、實現時序簡單等優點,剛好可以彌補了ARM處理器的不足之處。因此,輔助處理器的選型問題就變為可編程邏輯器件的選型。目前,常用的可編程邏輯器件有復雜可編程邏輯器件CPLD( Complex Programmable Logic Device )和現場可編程門陣列FPGA(Field Programmable Gate Array)。由于CPLD和FPGA結構上的不同,使得它們除了具有共同點,還存在各自的特點
(1) FPGA的集成度高于CPLD;
(2)FPGA更適合于時序邏輯的設計,即包含多觸發器的設計,而CPLD更適合于算法和組合邏輯的設計,即觸發器有限而乘積項多的設計;
(3)在編程上,FPGA具有更大的靈活性。因為CPLD要通過修改具有固定內連電路的邏輯功能來實現編程,而FPGA主要通過改變內部的布線來實現編程;
(4) CPLD 的速度要比FPGA 快,而且CPLD具有時間可預測性而FGPA沒有;
(5)一般,FPGA 比 CPLD的功耗要低,而且隨著集成度提高而更加明顯;
(6) CPLD采用EPROM或FLASH 工藝,系統掉電后,信息不丟失:而FPGA的編程單元是基于SRAM結構形成的,系統掉電后,信息丟失,需要增加存儲器芯片。
通過分析以上幾點 CPLD與FPGA 的差異性和依據控制器的功能需要,本次設計中選用現場可編程門陣列FPGA作為輔助處理器芯片。FPGA因其具有體積小、集成度高、靈活性高等優點而被廣泛應用于復雜數字系統中。具體使用哪種型號的FPGA芯片對系統的性能也是重要的,如果FPGA選型不合適,在后續的設計中會出現很多問題,使設
計復雜化,甚至失敗;而恰當的選型不但可以避免設計中的-些復雜問題,使設計簡單,而且還會提高系統的可靠性,延長產品的生命周期,使產品獲得高性價比。因此,在選擇FPGA器件時需要考慮的主要因素有以下幾點.