MCU,即微控制器,是以前的一種做法,類似於微控制器,只是集成了一些更多的功能模組,它本質上仍是一個完整的微控制器,有處理器,有各種介面,所有的開發都是基於已經存在的系統架構,應用者要做的就是開發軟體程式和加外部裝置。
SOC,是個整體的設計方法概念,它指的是一種晶片設計方法,集成了各種功能模組,每一種功能都是由硬體描述語言設計程式,然後在SOC內由電路實現的;每一個模組不是一個已經設計成熟的ASIC“器件”,只是利用晶片的一部分資源去實現某種傳統的功能。這種功能是沒有限定的,可以是儲存器,當然也可以是處理器,如果這片SOC的系統目標就是處理器,那麼做成的SOC就是一個MCU;如果要做的是一個完整的帶有處理器的系統,那麼MCU就是整個SOC中的一個模組,一個IP。SOC可以做成批次生產的通用器件,如MCU;也可以針對某一物件專門設計,可以整合任何功能,不像MCU那樣有自身架構的限定。它的體積可以很少,特殊設計的晶片可以根據需要減少體積、降低功耗,在比較大的範圍內不受硬體架構的限制(當然,它也是會受晶片自身物理結構的限制,如晶圓型別、大小等)。
SOC的一大特點就是其在模擬時可以連同硬體環境一起模擬,模擬工具不只支援對軟體程式的編譯除錯,同時也支援對硬體架構的編譯除錯,如果不滿意硬體架構設計,想要加一個儲存器,或是減少一個介面都可以透過程式直接更改,這一點,MCU的設計方法是無法實現的,MCU的方法中,硬體架構是固定的,是不可更改的,多了只能浪費,少了也只能在軟體上想辦法或是再加,儲存空間不夠可以再加,如果是介面不夠則只能在軟體上想辦法複用。模擬之後可以透過將軟、硬體程式下載到FPGA上進行實際硬體除錯,以便更真實地進行器件測試。
如果硬體除錯成功後直接投片生產成“固定結構的晶片”,則其為普通的SOC;如果其硬體就是基於FPGA的,也就是說它是“用FPGA做為最終實現” 的,它在以後也可以隨時進行硬體升級與除錯的,我們就叫它為SOPC的設計方法,所以說SOPC是SOC的一種解決方案。
SOPC設計靈活、高效,且具有成品的硬體可重構特性(SOC在除錯過程中也可硬體重構),它的適用性可以很廣,針對不同的物件,它可以進行實時的結構調整,如減少程式儲存空間、增加介面數目等,這一附加價值是任何固定結構IC所無法具備的,但它的價格可能會比批次生產的固定結構IC要貴得多!
MCU,即微控制器,是以前的一種做法,類似於微控制器,只是集成了一些更多的功能模組,它本質上仍是一個完整的微控制器,有處理器,有各種介面,所有的開發都是基於已經存在的系統架構,應用者要做的就是開發軟體程式和加外部裝置。
SOC,是個整體的設計方法概念,它指的是一種晶片設計方法,集成了各種功能模組,每一種功能都是由硬體描述語言設計程式,然後在SOC內由電路實現的;每一個模組不是一個已經設計成熟的ASIC“器件”,只是利用晶片的一部分資源去實現某種傳統的功能。這種功能是沒有限定的,可以是儲存器,當然也可以是處理器,如果這片SOC的系統目標就是處理器,那麼做成的SOC就是一個MCU;如果要做的是一個完整的帶有處理器的系統,那麼MCU就是整個SOC中的一個模組,一個IP。SOC可以做成批次生產的通用器件,如MCU;也可以針對某一物件專門設計,可以整合任何功能,不像MCU那樣有自身架構的限定。它的體積可以很少,特殊設計的晶片可以根據需要減少體積、降低功耗,在比較大的範圍內不受硬體架構的限制(當然,它也是會受晶片自身物理結構的限制,如晶圓型別、大小等)。
SOC的一大特點就是其在模擬時可以連同硬體環境一起模擬,模擬工具不只支援對軟體程式的編譯除錯,同時也支援對硬體架構的編譯除錯,如果不滿意硬體架構設計,想要加一個儲存器,或是減少一個介面都可以透過程式直接更改,這一點,MCU的設計方法是無法實現的,MCU的方法中,硬體架構是固定的,是不可更改的,多了只能浪費,少了也只能在軟體上想辦法或是再加,儲存空間不夠可以再加,如果是介面不夠則只能在軟體上想辦法複用。模擬之後可以透過將軟、硬體程式下載到FPGA上進行實際硬體除錯,以便更真實地進行器件測試。
如果硬體除錯成功後直接投片生產成“固定結構的晶片”,則其為普通的SOC;如果其硬體就是基於FPGA的,也就是說它是“用FPGA做為最終實現” 的,它在以後也可以隨時進行硬體升級與除錯的,我們就叫它為SOPC的設計方法,所以說SOPC是SOC的一種解決方案。
SOPC設計靈活、高效,且具有成品的硬體可重構特性(SOC在除錯過程中也可硬體重構),它的適用性可以很廣,針對不同的物件,它可以進行實時的結構調整,如減少程式儲存空間、增加介面數目等,這一附加價值是任何固定結構IC所無法具備的,但它的價格可能會比批次生產的固定結構IC要貴得多!