SOPC概述
SOPC概述
一、什么是SOPC
SOPC——英文是System 0n Programmable Chip,它是一種SOC(System 0n Chip)的解決方案。是由Altera公司提出的,使用可編程邏輯器件(FPGA)構造片上系統。
SOC——講到SOPC,就會引出SOC,SOC是什么,長期以來對SOC的具體含義爭論不休,我認為主要原因就是SOC的解決方案與最終實現的目標不是固定的。盡管如此,大家還是有一個共同的認知那就是SOC在一個硅基芯片上面實現了,處理器、模塊接口、存儲器等。用一句通俗的話說:在一個芯片上面實現了一個系統的最小單元。用一張不是很很嚴謹的圖來說明一下。
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-Yhyi3NA4-1645150244711)(F:\EDA_learing\00_teaching\blog\SOC.jpg)]
SOPC和SOC——SOPC是SOC的一種解決方案,也屬于SOC的一種,這種解決方案的優點是:靈活性高,可擴展性強,開發周期短,不需要掩膜和流片。缺點是:單片成本高。
SOPC的設計——SOPC的設計不像SOC的設計那么復雜,很多底層的設計均由EDA軟件來完成,設計人員僅僅需要完成頂層架構的設計就可以。但是,SOPC的設計還是需要了解很多SOC的相關概念,比如地址、總線等。
二、SOPC的分類
SOPC一般以處理器的不同來進行分類(好像SOC也是這樣子的,我個人認為不同的處理器,有不同的系統架構,所以可以作為分類標準),SOPC的分類包括:硬核SOPC系統,軟核SOPC系統,HardCopy SOPC系統。
- 處理器已經預先移植在FPGA中
- 處理器往往是第三發提供
- 成本價格較高,這是關鍵,硬核一般是要收錢的
- 處理器設計的靈活性不夠
- FPGA主要用于處理器外圍接口的設計
- 處理器是Altera公司,或者FPGA公司提供,當然你用誰家的FPGA就用誰家的內核,這個內核一般是免費的,在這里個人認為(xlinx的內核以及IP做的比Altera公司做到要完善很多)。
- 處理器并沒有事先植入,可以在EDA設計工具中對內核進行增、減、修改。
- 設計就很靈活了。
- 這個,個人認為就是一個奇葩
- 我個人認為就是,把軟核設計好的SOPC系統,重新打包一遍然后,找個空白的硅基芯片掩膜,流片一下,做成批量的專用芯片。
- 這樣做的好處當然是可以降低單片的成本,關鍵是你需要有很大的用量啊
- 當然對于應用型的公司而言,這個就是奇葩了,但是對于芯片公司來說,這個就較為實用了。
三、用Altera公司的系列芯片設計SOPC的工具鏈
使用Altera公司的系列芯片,如:Cyclone、Stratix、Arria等系列的器件,開發SOPC的時候,如果不考慮時序仿真的情況下,使用到的EDA工具一般有三個,分別是:Quartus、SOPC Builder、Nios IDE。這三個工具在之前分別是獨立安裝的,現在基本上已經都集成在Quartus中了。
- Quartus——建立EDA工程,在EDA工程中可以通過圖形化設計完成SOPC系統的搭建與設計,也可以使用硬件描述語言自行編寫一些IP核。
- SOPC Builder——這是它之前的名字,現在的名字叫“platform designer”,它主要的作用是構建SOPC的硬件結構,你不需要糾結這里講的硬件結構和SOPC系統有什么區別(說實話我也經常傻傻的搞不清楚),我是這么認為的,在這里構建的硬件結構事實上是構建了一個單片機。因為今天好多東西都可以叫SOC,單片機也是SOC,所用沒有辦法很嚴謹的從概念上去區分。
- Nios IDE——現在是eclipse,這個就很純粹了,它就是編寫單片機程序的一個軟件,作用和“Keil”的作用很像,是真的很像,接近度在90%多,主要還是eclipse在很多方面沒有keil做的好,做的完善。
祝大家學習愉快!!!
馬上我們就進入到了SOPC的學習環節。
總結
- 上一篇: 外行假装内行,我也来谈谈SAP BAPI
- 下一篇: moodle php代码解读_Moodl