walkie

软硬件协同设计的系统级开发环境~BPS软件介绍

0
阅读(33652)

1)BPS简介:

BEEcube Platform Studio(BPS)工具是一个软硬件协同设计的系统级开发环境。 是依托UC Berkely大学的BEEcube公司所推出的一款FPGA系统级设计平台。

BPS工具基于Matlab的Simulink 框架,可以自动的生成所有特定硬件平台的内部接口和相应的软件驱动程序。使得本来需要几个月才能完成复杂DSP算法的实现,可以在几天之内完成。算法设计 师甚至都可以不用知道底层复杂的FPGA系统的具体实现细节,比如高速I/O 接口,时序收敛,硬件/软件接口以及IP集成等问题。

2)它的优势,完美的弥补了systemgen的不足之处。

个人觉得它最大的优势在于,它弥补了xilinx的systemgen软件的不足。首先,如何在simulink的环境中,方便的使用FPGA片外的外设 资源呢?比如MPMC(即DDR2的控制器),ZBT SRAM的外设控制器,DVI视频输出接口,VGA视频输入接口等。这些在systemgen软件中,都没有涉及。不过这个也是很自然的。因为 Xilinx是一家FPGA厂家,他所关注的是FPGA内部的设计,所以systemgen所擅长的就是使用fpga逻辑资源,互联资源来搭建乘法,加法 等单元模块,进而搭建一个较大(或超大)的系统级处理模块。而BPS就帮助,这个大系统级处理模块如何方便的来和外设进行通讯,比如如何方便的来使用外部 的大容量存储器,如何捕捉视频输入信号,以及最后如何的把数据输出。
     我想这个对于进行算法的验证,以及希望他们算法真正的完整的跑在FPGA上的人是很有帮助的。因为目前大多数的人使用Systemgen来做算法的验证、 实现,确实很容易实现,在systemgen中,数据的输入和输出都是使用matlab的simulink的模块,这些模块是无法生成硬件的。但是如果真 正的放到FPGA上,大家往往会不知道如何来处理他们的系统中的数据输入以及数据输出这两个部分。

弥补systemgen的另外一个不足之处,就是systemgen并不擅长做控制,而BPS平台植入了MicroBlaze处理器来做系统控制,所有这 些依然是在matlab的simulink中完成。其实也有相当多的XAPP来介绍如何在systemgen中使用状态机,处理器来做系统控制,但是使用 起来都比较的复杂,BPS就非常简单,你只需要把你需要的模块拖入mdl文件中,就像下图所示。

这是平台的概貌。

 

3)BEE3平台介绍

        说到BPS就不得不说一下BEE3 处理平台。不知道大家是否还记得UC Berkely大学几年前主导的一个当时世界上唯一一个放1000个处理器的平台,就是RAMP项目中的所使用的平台。其实那就是BEE一代产品。目前他 们已经研发到了第三代,并且成立了自己的公司,叫BeeCube。

下面这段描述摘录自BEE3平台的datasheet:
“由微软 研究院,伯克利大学加州分校和BEEcube公司共同研发的第三代基于FPGA 商用计算机系统BEE3系统,其设计灵感来自以往几代人超过40年设计经验以及教训,它的首席设计师为传说中的计算机设计师查塔克尔(Chuck Thacker)。

每一个BEE3系统中,集成4片大容量的Xilinx 65纳米工艺的Virtex-5 LXT/SXT/FXT FPGA芯片。可以支持最大64GB的DDR2内存,以及8个可用于内部互连的10G网口。而且还有4个PCIe x8的接口,可以实现最高16GB每秒的传输速率。

截至目前,BEE3系统已经部署在世界领先的众多大学中,如伯克利大学加州分校,斯坦 福大学,麻省理工学院,伦敦帝国学院,巴塞罗那超级计算机中心,东京大学,以及世界领先的众多商业公司,包括微软和太阳微系统公司。”

下面是他的概貌: