新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Virtex-II Pro開(kāi)發(fā)板進(jìn)行雙核系統(tǒng)解決方案

Virtex-II Pro開(kāi)發(fā)板進(jìn)行雙核系統(tǒng)解決方案

作者: 時(shí)間:2011-11-19 來(lái)源:網(wǎng)絡(luò) 收藏

Xilinx 板為各大學(xué)主要采用的板,該板上主芯片XC2VP30內(nèi)置兩個(gè)硬核PowerPC405,具有30 816邏輯單元、136個(gè)18位的乘法器、2 448 Kbit的Block RAM。國(guó)內(nèi)研究應(yīng)用多使用該板單核設(shè)計(jì),未能充分利用其資源。其原因在于:Xilinx公司軟件對(duì)系列板的設(shè)計(jì)支持性不好; 開(kāi)發(fā)板只具有一個(gè)串口輸出,給調(diào)試帶來(lái)了極大的不便。

本文引用地址:http://2s4d.com/article/150050.htm

  針對(duì)在Virtex-II 開(kāi)發(fā)板設(shè)計(jì)難
度大的問(wèn)題,本文給出雙核硬件系統(tǒng)的構(gòu)建方法,提出一種共享串口輸出和共享存儲(chǔ)器的系統(tǒng)結(jié)構(gòu),能夠充分利用板上資源,下載調(diào)試非常便利,可以很好地支持雙核的應(yīng)用設(shè)計(jì)。

  1 硬件系統(tǒng)設(shè)計(jì)

  系統(tǒng)采用EDK10.1i03開(kāi)發(fā)環(huán)境。設(shè)計(jì)雙核的系統(tǒng)硬件結(jié)構(gòu)如圖1所示。

  

  系統(tǒng)具有2個(gè)PowerPC405處理器:PPC_0和PPC_1,兩個(gè)處理器具有各自獨(dú)立的私有Boot BRAM,用于存儲(chǔ)相應(yīng)的應(yīng)用程序。PPC_0通過(guò)總線PLB_0控制外設(shè)SDRAM,PPC_1通過(guò)總線PLB1控制外設(shè)LED_4Bits。兩個(gè)處理器具有各自的中斷控制器和復(fù)位控制器。JTAG具有2個(gè)PowerPC的接口,并通過(guò)共享串口信息輸出。

  雙核系統(tǒng)設(shè)計(jì)流程如下:

  (1)利用BSB(Base system Builder)向?qū)蓡魏讼到y(tǒng)。

  系統(tǒng)BSB設(shè)置的參數(shù)如下:

  · 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不支持雙核系統(tǒng)設(shè)計(jì),因此需要手動(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)是描述硬件結(jié)構(gòu)的文件,需要修改MHS文件對(duì)添加的IP核進(jìn)行配置。這里給出主要的ppc405、bram_block、xps_mutex核的配置說(shuō)明,其他IP核將不再贅述。

 ?、賹?duì)PPC405_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 //復(fù)位

  BUS_INTERFACE JTAGPPC = jtagppc_cntlr_0_1

  #用于PPC_1調(diào)試

  BUS_INTERFACE IPLB0=plb1//總線

  BUS_INTERFACE DPLB0=plb1

  PORT EICC405EXTINPUTIRQ=xps_intc_1_Irq

  PORT CPMC405CLOCK=proc_clk_s //時(shí)鐘

  END

 ?、趯?duì)Mutex核進(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

  #該地址應(yīng)用于Mutex初始化

  PARAMETER C_SPLB0_HIGHADDR = 0x8240ffff

  PARAMETER C_SPLB1_BASEADDR = 0x82600000

  #該地址應(yīng)用于Mutex初始化

  PARAMETER C_SPLB1_HIGHADDR = 0x8260ffff

  BUS_INTERFACE SPLB1 = plb1

  BUS_INTERFACE SPLB0 = plb0

  END

  ③共享BRAM核進(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命令,系統(tǒng)自動(dòng)分配地址空間。由于軟件本身不支持雙核系統(tǒng)設(shè)計(jì),在地址空間沖突時(shí),需要手動(dòng)對(duì)沖突的地址空間進(jìn)行調(diào)整。使用Generate Bitstream可產(chǎn)生系統(tǒng)的硬件比特流。

  


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉