新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > Virtex-II Pro开发板进行双核系统解决方案

Virtex-II Pro开发板进行双核系统解决方案

作者:时间:2011-11-19来源:网络收藏

Xilinx 板为各大学主要采用的板,该板上主芯片XC2VP30内置两个硬核PowerPC405,具有30 816逻辑单元、136个18位的乘法器、2 448 Kbit的Block RAM。国内研究应用多使用该板单核设计,未能充分利用其资源。其原因在于:Xilinx公司软件对系列板的设计支持性不好; 开发板只具有一个串口输出,给调试带来了极大的不便。

本文引用地址:http://www.eepw.com.cn/article/150050.htm

  针对在Virtex-II 开发板设计难
度大的问题,本文给出双核硬件系统的构建方法,提出一种共享串口输出和共享存储器的系统结构,能够充分利用板上资源,下载调试非常便利,可以很好地支持双核的应用设计。

  1 硬件系统设计

  系统采用EDK10.1i03开发环境。设计双核的系统硬件结构如图1所示。

  

  系统具有2个PowerPC405处理器:PPC_0和PPC_1,两个处理器具有各自独立的私有Boot BRAM,用于存储相应的应用程序。PPC_0通过总线PLB_0控制外设SDRAM,PPC_1通过总线PLB1控制外设LED_4Bits。两个处理器具有各自的中断控制器和复位控制器。JTAG具有2个PowerPC的接口,并通过共享串口信息输出。

  双核系统设计流程如下:

  (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不支持双核系统设计,因此需要手动添加和配置相关IP,需添加的IP核有:

  ppc405, plb_v46, plb2plb_bridge, bram_block, opb_intc plb_bram_if_cntlr, xps_mutex

  MHS(Microprocessor Hardware Specification)是描述硬件结构的文件,需要修改MHS文件对添加的IP核进行配置。这里给出主要的ppc405、bram_block、xps_mutex核的配置说明,其他IP核将不再赘述。

  ①对PPC405_1的配置说明

  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//总线

  BUS_INTERFACE DPLB0=plb1

  PORT EICC405EXTINPUTIRQ=xps_intc_1_Irq

  PORT CPMC405CLOCK=proc_clk_s //时钟

  END

  ②对Mutex核进行配置

  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

  ③共享BRAM核进行配置

  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命令,系统自动分配地址空间。由于软件本身不支持双核系统设计,在地址空间冲突时,需要手动对冲突的地址空间进行调整。使用Generate Bitstream可产生系统的硬件比特流。

  


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭