爱捣鼓

爱捣鼓国产FPGA视频第2集金山CME-M5系列FPGA概述

0
阅读(4317)

来源:爱捣鼓网http://www.aidaogu.com

原文链接:http://www.aidaogu.com/forum.php?mod=viewthread&tid=114

 

目标
   
        了解金山CME-M5系列FPGA的特性、结构、仿真和运行机制。
   
简介

   京微雅格公司生产的金山CME-M5系列FPGA,是该公司2012年推出的产品。金山CME-M5系列FPGA采用65nm工艺生产。其型号命名规则如图1所示。该系列芯片包含C、R和P三个子系列,R系列比C系列少一个MCU,P系列比R系列少一个SRAM。根据LUT数量和是否有FLASH,每个系列下又包含四个子型号。


图1 金山CME-M5系列FPGA命名规则

   金山CME-M5 C系列产品是基于京微雅格提出的片上可配置应用平台CAPoC(Configurable Application Platform on Chip)概念而设计的芯片。该系列芯片把FPGA、SRAM、FLASH和MCU融合在一起构成了单芯片可配置应用平台CAP。该系列芯片中的MCU是增强型8051硬核。在产品设计中,可以充分利用FPGA和MCU的可定制、可重构和可编程的特性,减少元件、减小电路板尺寸、节省成本、提高可用性和可靠性等。SRAM仅供MCU使用。FLASH用于存储FPGA的配置信息和MCU程序。当该芯片上电后,FLASH中的FGPA配置信息自动加载完成FPGA资源的硬线连接配置,MCU程序自动加载到SRAM中运行。

   金山CME-M5 R系列相对C系列而言,无MCU,仅有FPGA、SRAM和FLASH组成。金山CME-M5 P系列相对R系列而言,无SRAM,仅有FPGA和FLASH组成。金山CME-M5 R和P系列和C系列一样,无论FLASH是内置还是外扩,都是在上电时,直接从FLASH中自动加载配置信息进行FPGA资源的硬线连接配置。R系列FPGA中的SRAM可以当做FPGA的存储器使用,但FPGA的配置信息不加载到该SRAM中。

特性和结构

   在金山CME-M5系列芯片的数据手册中,开篇介绍了其特性。该系列芯片由FPGA、MCU、SRAM和FLASH任意组合而成。其配置模式和安全性与封装一样。

   金山CME-M5系列芯片中的FPGA采用京微雅格Tile架构设计,其由可编程逻辑块PLB模块、内嵌存储器EMB5K模块、PLL锁相环时钟管理模块、DSP模块、I/O模块和XBar互联资源组成。其中,PLB、I/O模块和XBar互联资源是最基本的Tile块。

   该系列芯片FPGA包含最多6144个LUT、32个4.5Kb可配置双端口RAM、16个18*18DSP块和2个PLL。该系列芯片FPGA的I/O端口支持3.3V、2.5V、1.8V和1.5V的LVTTL或LVCMOS电平,可配置上拉或下拉,具备2mA、4mA、8mA、12mA和16mA可编程驱动电流,可以控制电平的斜率速率,其抗人体静电干扰能力最高为±2KV。

   该系列芯片内的MSS子系统以一个增强型8051硬核和SRAM为主构成。该系列芯片凡是片内有SRAM的芯片,其容量都为128KB。通过数据和代码统一寻址的特点可知:该SRAM不仅用于存放程序,也应该可以作为8051核心的外扩RAM使用(这需要后续进行测试验证)。片内8051硬核的最高工作频率可达200MHz;采用精简指令周期,在同频率下,比标准8051最多快12倍;其支持的代码和数据存储器最大空间为8MB;其外设包括3个16为定时器、2个全双工串口、1个SPI接口、1个I2C接口、1个RTC和1个8通道DMA控制器。

   其配置模式分为JTAG、AS和PS模式。使用京微雅格官方的开发工具,通过JTAG接口,可以把封装好FPGA位流配置信息和8051硬核程序的acf后缀文件下载到4Mb Flash中,也可以使用Keil Uvision在线调试仿真8051硬核的程序。在Primace软件下载时,如果下载的是*_spi.acf,那么在芯片被配置成AS时它会以AS的方式配置到4Mb Flash中,如果下载的是*_jtag.acf,那么会以JTAG的方式配置到FPGA(硬件程序)及8051(firmware程序)里面。

仿真和运行机制


图2 金山CME-M5系列FPGA的仿真和运行机

   金山CME-M5系列FPGA的仿真和运行机制详见图2所示。在该系列FPGA开发中,存在仿真加载、固化下载、上电加载和运行加载共四种方式。前三种方式都通过C-Link仿真器(呵呵!自己给这个仿真器起的名字,与J-Link相识,好记!)和计算机实现。运行加载说的是SRAM与MCU之间读取程序的关系。

   仿真加载分为对FPGA的仿真加载和MCU程序的仿真加载。FPGA的仿真加载是指:在通过计算机上的Primace软件和Keil软件编译好程序后,通过USB接口连接的C-Link仿真器连接目标芯片,把编译好的不带spi的acf文件加载FPGA中,直接对FPGA的资源进行配置,验证FPGA设计的正确性。MCU程序的仿真加载是指通过Keil软件和C-Link仿真器调试8051内核的程序代码,可以对编写好的程序进行单步、中断和全速调试,这些程序代码加载到FPGA的SRAM中运行。仿真加载的FPGA资源配置信息和MCU的程序在重新上电后,不复存在,必须重新进行仿真加载。

   固化下载是指把含spi的acf的文件通过C-Link仿真器下载到FPGA的FLASH芯片中进行固化。由于FPGA资源配置信息和MCU程序固化到SPI FLASH中,FLASH中的数据掉电也不会丢失,因此采用固化下载方法下载成功后,无论何时重新上电,运行的都是下载到FLASH中的工程设计代码。

   上电加载是指当采用固化下载方法把程序下载到FLASH中后,重新上电时,FLASH中的FPGA资源配置信息和MCU程序的自动加载过程。当重新上电时,FLASH中的FPGA资源配置信息自动加载到FPGA中进行硬线逻辑连接,FLASH中的MCU程序自动加载到SRAM中,SRAM作为MCU的程序和数据存储器。

   运行加载是指在MCU程序加载到SRAM后,MCU与SRAM程序直接的加载过程。MCU从指定的SRAM程序地址运行程序代码,不断的根据把程序代码的地址发给SRAM,从SRAM中读取程序代码运行。

【视频讲稿下载】
爱捣鼓国产FPGA视频第2集金山CME-M5系列FPGA概述.pdf

 


【视频幻灯片下载】
爱捣鼓国产FPGA视频第2集金山CME-M5系列FPGA概述_幻灯片.pdf
 


【视频下载】
爱捣鼓国产FPGA视频第2集金山CME-M5系列FPGA概述