从去年7月底加入京微雅格,转眼已快一年了。在各种场合宣传我们的产品具备怎样的优势,但是却都是二手信息,从没有系统的静下心来研究过产品特性。直到鼓励工程师们努力贡献文章的今天。虽说咱不是搞技术研发出身,但好歹还是正规电子专业的科班,这学习的事儿,靠人不如靠己。学习笔记与大伙共勉。才疏学薄,各位看客多多包涵。

本篇从京微雅格的主流芯片CME-M5(金山)着手,从功能特性的研究开始。

图一:M5结构框图


如上篇文章介绍,京微雅格的产品诞生之初,就没有完全走纯FPGA之路,而是整合了众多功能模块于一体。从某方面讲与赛普拉斯的Psoc有些相像。M5的系统架构包含五个可编程功能性结构:可编程逻辑模块(PLB)、双端口存储器模块、乘累加器DSP、输入输出模块以及微处理器子系统。

作为菜鸟中的菜鸟,看见datesheet中特意罗列出来的双端口存储器模块和乘累加器DSP,特意咨询了坐在近旁的FAE。小帅哥告诉我说,所谓的双端口存储器就是在强调可以同时支持读写两种操作,而且在读和写操作针对同一地址时有相应的权重法则,这个在RAM例化时设计者可以自行选择与设定。比如说读取的是写入前的数值还是更新后的数值,根据不同设定得到的结果则不同。

至于乘累加器则是体现FPGA面向大规模数据计算优势的所在。基于乘累加器可以极大的降低运算时间,增加运算位数。目前,M5能够实现两个18位二进制补码乘和40位的加或累加。

以下是具体的特性介绍,供不是菜鸟的大鸟们参考:

  • 可编程逻辑模块(PLB)包含寄存器和4输入查找表(4-LUT),用于实现逻辑和存储功能。
  • 每个嵌入式存储器模块具有4.5Kbit双端口数据存储器。
  • DSP能实现两个18位二进制补码乘和40位的加或累加。
  • 输入/输出模块(IOB)控制I/O 管脚和设备内部逻辑之间的数据传输。
  • 单指令加强型8051 CPU被用作中央处理器,其指令集完全兼容标准的ASM51。
  • 内嵌128KB SRAM 在C系列里只可被用作8051 CPU存储器。

 图二:基于M5的简单开发板展示

补充:M5产品分3个系列,分别对应C,R和P。C系列组成最全,由FPGA+SRAM+MCU组成;R系列是指FPGA+SRAM;P系列则是指纯FPGA。