Virtex-II Pro開(kāi)發(fā)板進(jìn)行雙核系統解決方案
Xilinx Virtex-II Pro開(kāi)發(fā)板為各大學(xué)主要采用的開(kāi)發(fā)板,該板上主芯片XC2VP30內置兩個(gè)硬核PowerPC405,具有30 816邏輯單元、136個(gè)18位的乘法器、2 448 Kbit的Block RAM。國內研究應用多使用該板進(jìn)行單核系統設計,未能充分利用其雙核資源。其原因在于:Xilinx公司軟件對Virtex-II系列開(kāi)發(fā)板的雙核系統設計支持性不好;Virtex-II Pro開(kāi)發(fā)板只具有一個(gè)串口輸出,給調試帶來(lái)了極大的不便。
本文引用地址:http://dyxdggzs.com/article/150050.htm 針對在Virtex-II Pro開(kāi)發(fā)板進(jìn)行雙核系統設計難
度大的問(wèn)題,本文給出雙核硬件系統的構建方法,提出一種共享串口輸出和共享存儲器的系統結構,能夠充分利用板上資源,下載調試非常便利,可以很好地支持雙核的應用設計。
1 硬件系統設計
系統采用EDK10.1i03開(kāi)發(fā)環(huán)境。設計雙核的系統硬件結構如圖1所示。

系統具有2個(gè)PowerPC405處理器:PPC_0和PPC_1,兩個(gè)處理器具有各自獨立的私有Boot BRAM,用于存儲相應的應用程序。PPC_0通過(guò)總線(xiàn)PLB_0控制外設SDRAM,PPC_1通過(guò)總線(xiàn)PLB1控制外設LED_4Bits。兩個(gè)處理器具有各自的中斷控制器和復位控制器。JTAG具有2個(gè)PowerPC的接口,并通過(guò)共享串口進(jìn)行信息輸出。
雙核系統設計流程如下:
(1)利用BSB(Base system Builder)向導生成單核系統。
系統BSB設置的參數如下:
· System clock:100 MHz,no cache,no OCM
· RS232:opb UARTLITE,115200n8,use interrupt
· DDRAM:PLB DDR 256 MB,use interrupt
· LEDs_4 Bit:use interrupt
· PLB_BRAM_IF_CNTLR:64 KB
(2)添加和配置IP
由于EDK10不支持雙核系統設計,因此需要手動(dòng)添加和配置相關(guān)IP,需添加的IP核有:
ppc405, plb_v46, plb2plb_bridge, bram_block, opb_intc plb_bram_if_cntlr, xps_mutex
MHS(Microprocessor Hardware Specification)是描述硬件結構的文件,需要修改MHS文件對添加的IP核進(jìn)行配置。這里給出主要的ppc405、bram_block、xps_mutex核的配置說(shuō)明,其他IP核將不再贅述。
?、賹PC405_1的配置說(shuō)明
BEGIN ppc405
PARAMETER INSTANCE = PPC_1
PARAMETER HW_VER = 3.00.a
PARAMETER C_DSOCM_DCR_BASEADDR=
0b0000100000
PARAMETER C_DSOCM_DCR_HIGHADDR =
0b0000100011
BUS_INTERFACE RESETPPC=ppc_rest_bus_1 //復位
BUS_INTERFACE JTAGPPC = jtagppc_cntlr_0_1
#用于PPC_1調試
BUS_INTERFACE IPLB0=plb1//總線(xiàn)
BUS_INTERFACE DPLB0=plb1
PORT EICC405EXTINPUTIRQ=xps_intc_1_Irq
PORT CPMC405CLOCK=proc_clk_s //時(shí)鐘
END
?、趯utex核進(jìn)行配置
BEGIN xps_mutex
PARAMETER INSTANCE = xps_mutex_0
PARAMETER HW_VER = 1.00.a
PARAMETER C_NUM_MUTEX = 2
PARAMETER C_SPLB0_BASEADDR = 0x82400000
#該地址應用于Mutex初始化
PARAMETER C_SPLB0_HIGHADDR = 0x8240ffff
PARAMETER C_SPLB1_BASEADDR = 0x82600000
#該地址應用于Mutex初始化
PARAMETER C_SPLB1_HIGHADDR = 0x8260ffff
BUS_INTERFACE SPLB1 = plb1
BUS_INTERFACE SPLB0 = plb0
END
?、酃蚕鞡RAM核進(jìn)行配置
BEGIN bram_block
PARAMETER INSTANCE = share_bram
PARAMETER HW_VER = 1.00.a
BUS_INTERFACE PORTB=share_bram_if_cntlr_1_PORTA
BUS_INTERFACE PORTA = share_bram_if_cntlr_0_
PORTA
END
(3)生成地址空間(Generate Addresses)
使用Generate Addresses命令,系統自動(dòng)分配地址空間。由于軟件本身不支持雙核系統設計,在地址空間沖突時(shí),需要手動(dòng)對沖突的地址空間進(jìn)行調整。使用Generate Bitstream可產(chǎn)生系統的硬件比特流。
評論