SOPC設(shè)計中自定義IP的開發(fā)
1 SOPC技術(shù)與IP核
SOPC的主要思想是提供一個IP庫,用戶從IP庫中選擇IP核來組裝系統(tǒng),因此IP核是SOPC設(shè)計的關(guān)鍵技術(shù)之一。雖然IP核一詞在眾多場合被使用,但它并沒有一個統(tǒng)一的定義。從概念上可以這樣理解它:IP核是指將一些在數(shù)字電路中常用但比較復(fù)雜的功能塊,如FIR濾波器、SDRAM控制器、UART控制器等設(shè)計成可修改參數(shù)的模塊,讓其他用戶可以直接調(diào)用這些模塊,這樣就大大減輕了工程師的負(fù)擔(dān),避免重復(fù)勞動,縮短系統(tǒng)開發(fā)時間。IP 核設(shè)計一般可以有3個來源:EDA廠商提供,用戶自己定義,第三方提供。
IP核可以分為3類:
(1) 軟核(soft-core)。軟核用硬件描述語言寫成,可以是對設(shè)計的算法級描述,或功能級描述,也可以是僅僅用于功能仿真的行為模擬。
(2) 固核(firm-core)。固核在軟核基礎(chǔ)上開發(fā),是一種可綜合的、并帶時序信息及布局布線規(guī)劃的設(shè)計,用硬件描述語言寫成。
(3) 硬核(hard-core)。指和特定工藝相聯(lián)系的物理版圖,設(shè)計的正確性已經(jīng)投片驗證, 可在新設(shè)計中作為特定的功能模塊直接調(diào)用。
一般來說,EDA廠商及第三方提供的IP核都是功能上比較通用的,但在進(jìn)行SOC設(shè)計時,用戶經(jīng)常有特殊需求,這時必須自定義邏輯來實現(xiàn)所要的功能。所以在進(jìn)行SOC設(shè)計時,如何靈活地加入用戶自定義邏輯就顯得尤為重要。
2 基于EDK的SOPC開發(fā)技術(shù)
進(jìn)行SOPC系統(tǒng)開發(fā),首先是要選擇的是FPGA平臺、處理器方案以及開發(fā)軟件,目前常采用的是由世界上兩大主要的FPGA器件生產(chǎn)廠商所提供的平臺、SOPC方案及相關(guān)開發(fā)套件:一是Altera公司的FPGA產(chǎn)品,采用Nios處理器軟核或硬核ARM,開發(fā)工具由QuartusⅡ和SOPC Builder組成;二是采用Xilinx公司的FPGA,基于Microblaze軟核或Powerpc405硬核,開發(fā)工具由ISE和EDK組成。下面就以Xilinx公司的軟件EDK為例介紹SOPC系統(tǒng)的開發(fā)過程。EDK有一個友好的圖形用戶界面,通過這個界面,用戶可以從Xilinx提供的IP庫中選取一些組件,如處理器、SDRAM、Flash、各種I/O等,并可通過選擇配置相應(yīng)的參數(shù)。EDK有個尤為重要的功能:在進(jìn)行SOPC設(shè)計時,如果用戶有特殊功能要求,但I(xiàn)P庫中沒有,則用戶可以加入自定義的邏輯來實現(xiàn),具體的流程如圖1所示。
評論