基于OR1200的嵌入式SoPC硬件平台设计
发布时间:2007/8/24 0:00:00 访问次数:390
电子技术应用 孙 恺 魏洪兴 陈友东
摘要:针对现有商业SoPC系统的固有问题,提出了基于开源IP核与软件资源的SoPC系统硬件平台构建方案,并使用Cyclone FPGA进行了实际验证,证明了该硬件平台的实用性。探讨了该平台在普及SoPC技术和研究更高性能系统方面的积极作用。
关键词:OpenRISC1200可编程片上系统IP核 FPGA
SoC(System on Chip)片上系统是现代电子系统设计的一个发展方向,它将原先分立的多个芯片集成在一块芯片上,通过提高芯片的集成度、减少系统芯片的数量和相互之间的PCB连线、减少PCB面积来降低整个系统的成本,同时使系统的性能、功能和可靠性都有很大的提高。随着新型的高性能、低成本FPGA的出现和综合技术的提高,基于FPGA的SoPC(System on Programmable Chip)可编程片上系统正逐步走向市场。基于FPGA的SoPC与基于ASIC技术的SoC相比,具有设计周期短、产品上市速度快、设计风险和设计成本低、集成度高、灵活性大、维护和升级方便、硬件缺陷修复和排除简单等优点。因此基于FPGA和包括32位CPU在内的各种IP核的系统级应用开发将是下一代电子系统设计的发展方向。
顺应这个潮流,FPGA器件的方要供应商Altera和Xilinx都推出了各自的SoPC解决方案:Nios系统和MicroBlaze系统。它们功能强大、开发环境和配套IP核完善,是工程应用的首选。但是它们只能用在各自厂商的FPGA上,不但配套IP核价格昂贵,而且用户无法获得所有源代码,不利于我国SoPC技术的发展。
针对这种情况,笔者使用Altera公司的Cyclone FPGA和OpenCores组织提供的各种免费、开源的IP核,构建了以OpenRISC1200CPU为核心,配以各类外围IP核的完全开源的SoPC系统,并成功地运行了μClinux系统。同时本系统采用的所有IP核在源代码不变的情况下可以使用Xilinx的开发工具进行综合、布线,为该系统在其他FPGA平台上的运行打下了良好的基础。
1 OR1200
本系统使用的OpenRISC1200处理器(以下简称OR1200)是OpenRISC系列RISC处理器内核的一员。OpenRISC是由OpenCores组织负责开发和维护、免费、开源的RISC处理器内核家族。OpenRISC1200出现于2001年7月,支持ORBIS32指令集。该指令集包括32位整数指令、基本的DSP指令、32位的Load和Store指令、程序流程控制指令和特殊指令(实际上还不支持除法指令)。2002年8月,OpenRISC1200基本成熟,配有比较完善的软件开发环境和操作系统,改进和维护一直持续到现在。
OR1200是一种32位、标量、哈佛结构、5级整数流水线的RISC处理器,它有32个32位通用寄存器,支持缓存、虚拟存储器和基本的DSP功能,外部数据和地址总线接口符合Wishbone标准。辅助功能包括用于实时调试的调试单元、计数器、可编程中断控制器和电源管理单元,这些功能大大增强了CPU独立工作的能力,对软件调试和操作系统的支持较好,简化了整体系统的设计。OR1200的标准组成结构如图1所示。
CPU/DSP单元是OR1200处理器的核心,其基本结构框图如图2所示。
当使用0.18μm和6层金属工艺时,OR1200的主频可达300MHz,此时可以提供300Dhrystone2.1MIPS和300M次/秒的32×32的DSP乘加操作能力。
OR1200在2002年9月被Flextronics公司选中,用于集成在Flextronics的设计中,并提供商业服务。2003年8月,Flextronics公司成功实现了集成OR12000、10Mbps/100Mbps自适应以太网MAC控制器、32位33MHz/66MHzPCI接口、16550兼容UART和Memory控制器的SoC芯片,并成功运行了μClinux和Linux操作系统。
2 板级系统组成
板级系统以Altera的Cyclone系列FPGA EP1C12QC240为核心,配以EPCS4配置存储器和配置电路组成核心系统,再配以2片29LV160DB NOR Flash(4MB)、2片IS61LV25616 SRAM(1MB)、2片HY561620 SDRAM(64MB)、1个RS232串行口、1个通用JTAG接口和8段LED、按钮、拨码开关组成基本系统
电子技术应用 孙 恺 魏洪兴 陈友东
摘要:针对现有商业SoPC系统的固有问题,提出了基于开源IP核与软件资源的SoPC系统硬件平台构建方案,并使用Cyclone FPGA进行了实际验证,证明了该硬件平台的实用性。探讨了该平台在普及SoPC技术和研究更高性能系统方面的积极作用。
关键词:OpenRISC1200可编程片上系统IP核 FPGA
SoC(System on Chip)片上系统是现代电子系统设计的一个发展方向,它将原先分立的多个芯片集成在一块芯片上,通过提高芯片的集成度、减少系统芯片的数量和相互之间的PCB连线、减少PCB面积来降低整个系统的成本,同时使系统的性能、功能和可靠性都有很大的提高。随着新型的高性能、低成本FPGA的出现和综合技术的提高,基于FPGA的SoPC(System on Programmable Chip)可编程片上系统正逐步走向市场。基于FPGA的SoPC与基于ASIC技术的SoC相比,具有设计周期短、产品上市速度快、设计风险和设计成本低、集成度高、灵活性大、维护和升级方便、硬件缺陷修复和排除简单等优点。因此基于FPGA和包括32位CPU在内的各种IP核的系统级应用开发将是下一代电子系统设计的发展方向。
顺应这个潮流,FPGA器件的方要供应商Altera和Xilinx都推出了各自的SoPC解决方案:Nios系统和MicroBlaze系统。它们功能强大、开发环境和配套IP核完善,是工程应用的首选。但是它们只能用在各自厂商的FPGA上,不但配套IP核价格昂贵,而且用户无法获得所有源代码,不利于我国SoPC技术的发展。
针对这种情况,笔者使用Altera公司的Cyclone FPGA和OpenCores组织提供的各种免费、开源的IP核,构建了以OpenRISC1200CPU为核心,配以各类外围IP核的完全开源的SoPC系统,并成功地运行了μClinux系统。同时本系统采用的所有IP核在源代码不变的情况下可以使用Xilinx的开发工具进行综合、布线,为该系统在其他FPGA平台上的运行打下了良好的基础。
1 OR1200
本系统使用的OpenRISC1200处理器(以下简称OR1200)是OpenRISC系列RISC处理器内核的一员。OpenRISC是由OpenCores组织负责开发和维护、免费、开源的RISC处理器内核家族。OpenRISC1200出现于2001年7月,支持ORBIS32指令集。该指令集包括32位整数指令、基本的DSP指令、32位的Load和Store指令、程序流程控制指令和特殊指令(实际上还不支持除法指令)。2002年8月,OpenRISC1200基本成熟,配有比较完善的软件开发环境和操作系统,改进和维护一直持续到现在。
OR1200是一种32位、标量、哈佛结构、5级整数流水线的RISC处理器,它有32个32位通用寄存器,支持缓存、虚拟存储器和基本的DSP功能,外部数据和地址总线接口符合Wishbone标准。辅助功能包括用于实时调试的调试单元、计数器、可编程中断控制器和电源管理单元,这些功能大大增强了CPU独立工作的能力,对软件调试和操作系统的支持较好,简化了整体系统的设计。OR1200的标准组成结构如图1所示。
CPU/DSP单元是OR1200处理器的核心,其基本结构框图如图2所示。
当使用0.18μm和6层金属工艺时,OR1200的主频可达300MHz,此时可以提供300Dhrystone2.1MIPS和300M次/秒的32×32的DSP乘加操作能力。
OR1200在2002年9月被Flextronics公司选中,用于集成在Flextronics的设计中,并提供商业服务。2003年8月,Flextronics公司成功实现了集成OR12000、10Mbps/100Mbps自适应以太网MAC控制器、32位33MHz/66MHzPCI接口、16550兼容UART和Memory控制器的SoC芯片,并成功运行了μClinux和Linux操作系统。
2 板级系统组成
板级系统以Altera的Cyclone系列FPGA EP1C12QC240为核心,配以EPCS4配置存储器和配置电路组成核心系统,再配以2片29LV160DB NOR Flash(4MB)、2片IS61LV25616 SRAM(1MB)、2片HY561620 SDRAM(64MB)、1个RS232串行口、1个通用JTAG接口和8段LED、按钮、拨码开关组成基本系统