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