一次基于MIPS内核的运动控制器主控SoC芯片设计经历
某公司设计一款基于MIPS 32 24kf内核的用于数控系统或运动控制控制单元的主控SoC芯片。该SoC芯片采用XILINX Spartan6 FPGA为硬件平台,研究基于MIPS内核的SoC芯片。
*******公司正在开发全数字交流伺服数控系统,该系统的控制单元的核心芯片是基于MIPS32 24Kf内核的SoC芯片(以下简称目标项目)。
本项目是作为目标项目的前期准备项目而展开,其意义是为开发目标项目的SoC芯片提供硬件基础和源代码。
本项目的完成将为目标项目提供丰富的IP核及源代码。
本项目的完成将为目标项目提供一致的硬件开发环境和软件开发环境。
本项目的完成将为目标项目培训有针对性的、急需的人才。
以XILINX Spartan6 FPGA为硬件平台,研究基于MIPS内核的SoC芯片。
硬件平台选择XILINX Spartan6 FPGA,XC6SLX100T
CPU内核选用MIPS32 24Kf或MIPS32 74Kf
片上总线选择AMBA(AHB+APB)
诸多其它功能IP核,详见1.2.4
RTOS软件开发环境
Spartan6 FPGA 为成本敏感型应用带来了低风险、低成本和低功耗的最佳平衡,与前几代器件相比,不仅功耗降低 42%,同时性能提高 12%。作为 Xilinx All Programmable 低端产品系列的一部分,Spartan6 FPGA 可提供先进电源管理技术、多达150,000 个逻辑单元、集成 PCI Express® 模块、高级存储器支持、250 MHz DSP slice以及3.2Gbps低功耗收发器。
本项目FPGA目标芯片选择XC6SLX100T。
详细数据见 附件。
CPU内核选用MIPS32 24Kf或MIPS32 74Kf,为了与目标项目内核一致,优先选用MIPS32 24Kf。
l With an 8-stage pipeline and a maximum clock frequency exceeding 1400 MHz in 40nm, the 24K family of cores enable SoC designers to reduce product costs and speed time-to-market by giving them the performance headroom to implement more features now and upgrades in the future with software flexibility rather than rigid, fixed hardware.
l Cadence, Synopsys, Magma and other EDA industry leaders help minimize design time and offer a proven path to silicon by co-developing tailored SoC design methodologies. This couples the high-performance, low-power 24K cores with cutting-edge core hardening technologies.
l By standardizing the core interface on OCP (www.ocpip.org), the 24K cores accelerate time-to-market by enabling easy reuse of standard SoC IP. Memory controllers, bus interconnects and other standardized peripherals are now easily integrated through common on-chip interfaces.
l The highly-scalable 24K microarchitecture implements the industry-standard MIPS32 Release 2 architecture, which includes features such as enhanced bit-field manipulation, reduced interrupt latency and enhanced cache control.
l A rich environment of third-party tools and software support the 24K family of cores.3
详细数据见 附件。
l A 15-stage asymmetric dual-issue pipeline, out-of-order instruction dispatch/completion and fully synthesizable design gives SoC developers full flexibility to port the design across different processes and accelerate time-to-market
l Two versions of the 74K family are available - 74Kc™ (standard) and 74Kf™ (high-performance Floating Point Unit)
l Standard OCP bus interface provides backward-compatibility with existing 24K, 24KE and 34K cores
l A rich ecosystem of third-party software and debug tools coupled with software and tools support from MIPS Technologies
Back-end EDA flow support for Cadence, Magma and Synopsys design tools
随着深亚微米工艺技术日益成熟,集成电路芯片的规模越来越大。数字IC从基于时序驱动的设计方法,发展到基于IP复用的设计方法,并在SoC设计中得到了广泛应用。在基于IP复用的SoC设计中,片上总线设计是最关键的问题。由ARM公司推出的AMB**上总线受到了广大IP开发商和SoC系统集成者的青睐,已成为一种流行的工业标准片上结构。AMBA规范主要包括了AHB(Advanced High performance Bus)系统总线和APB(Advanced Peripheral Bus)外围总线。
AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接,作为SoC的片上系统总线,它包括以下一些特性:单个时钟边沿操作;非三态的实现方式;支持突发传输;支持分段传输;支持多个主控制器;可配置32位~128位总线宽度;支持字节、半字节和字的传输。AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。基础结构则由仲裁器(arbiter)、主模块到从模块的多路器、从模块到主模块的多路器、译码器(decoder)、虚拟从模块(dummy Slave)、虚拟主模块(dummy Master)所组成。
APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。其特性包括:两个时钟周期传输;无需等待周期和回应信号;控制逻辑简单,只有四个控制信号。
AMBA 2.0规范详细内容见附件
本项目的目的之一是为目标项目提供丰富的IP核及源代码。这些IP核都挂在片内总线AMBA上。
本项目需要的IP核列表如下,乙方要尽力满足甲方对IP核的需要,实在无法实现的IP核应用需要说明原因,并双方确认。
序号 |
IP核名称 |
释义 |
1 |
MIPS 32 24kf/74kf |
CPU核,140/450MHz |
2 |
PFB |
Prefetch buffer |
3 |
TPA_RAM(8KB) |
用于AHB master之间数据传输 |
4 |
ZSV |
Time slice management |
5 |
TTU |
Trace timer unit |
6 |
ICU |
interrupt controller unit |
7 |
DDR2 |
内存 |
8 |
NAND/COMPACT FLASH_IF |
闪存接口 |
9 |
GDMA(4.2KB RAM) |
General DMA |
10 |
PCIICU |
PCI interrupt controller unit |
11 |
AHB_APB_BRIDGE |
片内总线 |
12 |
SD_MMC |
SD/MMC卡界面 |
13 |
PROFINET(3x) |
PROFINET(3x)工业实时以太网 |
14 |
PROFIBUS(2x)(512KB RAM) |
PROFIBUS(2x)(512KB RAM)现场总线 |
15 |
IOCC |
IO control core |
16 |
TIMER |
时钟 |
17 |
SEMAPHORE |
多线程同步应用 |
18 |
WATCHDOG |
看门狗 |
19 |
BOOT_ROM |
BOOT_ROM,引导ROM |
20 |
UART(2x) |
UART(2x) 通用异步收发传输器 |
21 |
I2C(1x) |
I2C(1x) 两线式串行总线 |
22 |
SPI |
高速串行接口 |
23 |
ET200S_IF(3KB RAM) |
ET200S_IF(3KB RAM)分布式IO终端接口 |
24 |
SPS |
Simatic processor support module |
25 |
FMIO/FMZ/PDC |
|
26 |
GPIO |
通用I/O功能 |
27 |
MUTI_LAYER_AHB 32bit |
片内总线 |
28 |
AHB_AHB_BRIDGE |
片内总线 |
29 |
EDCICU |
Error Detection and Correction ICU |
30 |
SMT |
SERIAL MODULE TEST UNIT |
31 |
APB 32bit |
片内总线 |
甲方保留对列表中IP核增减、修改的权利,需方会及时通知乙方具体的增减、修改项,由此引起的商务条款修改由双方协议解决。
释义的内容有待甲方进一步解释。
细节见附件:
见1.2.4 IP核释义
用户593939 2016-1-17 17:55
brian.tang_598336278 2014-12-1 14:32
用户1753204 2014-10-25 11:05
用户1753204 2014-10-23 15:35