利用APTIX MP3C和Spartan-IIE FPGA实现数据系统的验证
扫描二维码
随时随地手机看文章
摘要:随着数字电路设计的规模及复杂程度的提高,对其进行测试试验证所花费的时间和费用也随之提高,所以减少测试验证成本是当前数字电路设计的关键。本文利用MP3C和Spartan-IIE FPGA构建平台来实现数字系统的快速验证。这二款设备都具有业界价格最低、验证速度比较快的特点,利用它们可以大大提高验证效益。
关键词:集成电路 MP3C FPGA 网表文件
1 APTIX MP3C介绍
MP3C系统是Aptix公司的产品,是一种价格低、验证速度快、基于层次化和模块化的硬件验证平台,可以逐步验证每一个逻辑模块直到验证整个系统功能。MP3C硬件中的现场可编程互连电路板(FPCB)和现场可编程互连元件(FPIC)是Aptix公司的专利技术,图1给出了FPCB和FPIC在MP3C上的部件孔模块。通过该系统可以40MHz的最快速度调试百万门级的片上系统;可实时运行软件作为系统测试矢量;加速仿真与递归测试速度和加速完成设计变更;还可随时利用最新FPGA技术满足更大的设计规模需要。此外,MP3C也可以对复杂数字系统进行快速验证,其中包括ASIC、DSP、微控制器、微处理器、RAM和ROM等。MP3C系统比较适合小批量、多品种的生产。
1.1 现场可编程电路板FPCB
MP3C的FPCB是一个22×16、16层的插孔板,根据应用和设计需求,可以把一些外围器件、接口和多个FPGA等放置在FPCB上,就像面包板一样,因此非常灵活方便,这些外围部件再通过FPIC互相连接起来。MP3C FPCB由许多硬件组成。
(1)插孔区(freehole area)
插孔区分为上下二部分,分别用A到P标记,共64列,每列有40个可用插孔,有2560个插孔可以使用,除去16列作为I/O,共有1920个插孔连接到FPIC上。每列有15个FPGA特殊引脚,包括CLK、GDN和VCC等。
(2)全局互连(global interconnects)
全局连接是FPIC到FPIC的布线源,3个FPIC中每一个都有140根连线连接到其他两个FPIC,这样就会提供280个FPIC到FPIC之间的连接,而每一个FPIC的920个布线网中有280个用于FPIC到FPIC之间的连接,其余640个用于连接FPCB上的部件插孔区域,这样就可以实现部件之间的互连,如图2所示。
(3)总线(bus)
除了通过FPIC的布线网和全局连接来实现部件之间的互连外,还可以通过MP3C提供的一个总线结构来实现互连。MP3C系统共有4个总线模板连接器,每一个模板连接器有40个总线引脚,而一个FPGA能够访问二个总线模板,这就可以获得80个总线引脚。
(4)I/O信号
I/O信号使得MP3C FPCB可以和其他设备之间进行通信,它们是进出FPCB的信号。(5)微控制器(microcontroller)
微控制器能为主机系统和MP3C FPCB上的可重配置FPGA之间的通信提供智能接口,微控制器控制FPCB上的能量时序。微控制器的操作系统是存储在被保护的Flash memory的根块区,仅需128kByte,这个3.4Mbyte的Flash存储器主要用来存储FPIC和FPGA之间的配置数据。
(6)现场可编程互连电路(FPIC)
MP3C含有3块FPIC,每一块FPIC有1024个缓冲器,排列成一个32×32矩阵形式,FPIC是可重构的双向连接,每一个缓冲器之间都可以任意布线,使得插接到FPCB上的外围设备达到互连,而每一个FPIC之间都有140根连线连接到另二个FPIC中的任意一个,这样,对于每一个FPIC来说就有280根互连线来实现FPIC与FPIC之间的互连。实际上,FPIC就是一个由软件控制的可编程接口,它能使用户对设计的修改变得非常灵活。图2表明了它们之间的连接关系。
1.2 与MP3C配套的EXPLORER软件
Aptix Explorer软件可以提供一个图形用户接口GUI(Graphical User Interface),这上GUI能够生成设计,并对设计进行编辑和调试。通过Explorer软件可以提供一个直观有效的接口来对设计做一系列的操作。EXPLORER软件主要完成整个系统的搭建、FPGA的布局布线和FPCB的编译。其操作步骤如下:
(1)设置FPCB参数
用来配置FPCB参数,如说明所使用的FPCB板类型、FPIC序列和说明使用的是那一个FPIC等。
(2)对网表文件(netlist)和设计文件进行设置。
主要输入网表文件和与设计有关的文件,Explorer软件支持EDIF和XNF格式的网表文件。
(3)设置Power和Ground
主要是为了说明在部件和针插孔上的Power和Ground引脚是被拉高还是拉低。
(4)设计节点(net)/终端特征
主要设置节点驱动值,其值的范围为0~100,驱动值的大小决定了节点在FPIC内部的布线顺序。驱动值越大就越先布线,因此,可以优先选择最短的路径。
(5)在FPCB上放置部件
把数字系统设计中的模块放到FPCB上。
(6)对设计进行编译
编译可以使被仿真的部件之间实现布线连接,还能控制Explorer软件和FPCB硬件之间的互连。
(7)对设计进行调试
这是帮助下载带有新信号布线信息的FPCB信息到MP3C硬件上的过程,做完这一步就可以对设计进行验证、测试和调试。
2 Spartan-IIE FPGA
2.1 Spartan-IIE FPGA的组成
Spartan-IIE FPGA提供了创建成本优化、应用灵活、功能丰富的产品所需要的一切,它的开发过程远比任何采用ASIC的方案要容易得多(成本也更低)。该系统板主要包括两个时钟源、通用I/O、电源供给、P160扩展槽、LVD 10位接收和传输端口、开关按钮、7段显示器、JTAG端口、RS-232端口、ISP PROM和XC2S300E-5FG456C FPGA等。其中XC2S300E-5FG456C FPGA和ISP PROM是比较重要的部件。图3是Spartan-IIE开发板内部结构。
2.2 FPGA与PC连接
用Spartan-IIE开发板来配置Spartan-IIE FPGA的方法有很多:可以通过其JTAG端口直接配置Spartan-IIE FPGA;通过编程在板XC18V02 ISP PROM进行配置,一旦ISP PROM被编程,通过配置端口就能直接配置Spartan-IIE FPGA;也可以通过在系统板上的从动并行/串行端口来配置FPGA。图4给出Spartan-IIE开发板支持的Spartan-IIE FPGA配置连接模式。
3 验证系统
用APTIX MP3C和Spartan-IIE开发板实现对数字系统进行验证的系统组成如图5所示。
在这个验证系统中,把需要验证的电路放到MP3C FPCB上,Spartan-IIE开发板通过J6或J7通过I/O口连接到FPCB硬件,Spartan-IIE开发板通过串口/并口号计算机相连,工作站通过网线与MP3C通信,也可以把逻辑分析仪连接到MP3C上,实现对系统的在线观察调试。具体验证步骤如下:
(1)用51指令对待验证电路需要的输入信号和激励进行编程,程序经编译后转换成汇编语言,然后写入R80515 IP核以便下载到Spartan-IIE FPGA,d Xilinx ISE软件中对IP核进行仿真和综合后直接通过并口下载到FPGA中。
(2)用CAD软件如OrCAD等完成系统顶层原理图的绘制,需注意其中的接地和电源信号,然后生成网表文件(netlist),把网表文件传到安装了EXPLORER软件的工作站上。
(3)在工作站的EXPLORER软件上完成整个系统的搭建、MP3C相关参数的设置、输入网表文件、生成引脚匹配(pinmap)文件和完成MP3C地址设定等,如果在EXPLORER syslib库中没有所需要的库,还要自己建库,然后就可以进行编译和调试。
(4)用逻辑分析仪或示波器对某些信号进行观察,以便进一步查错和纠错。这种方法可以很方便地帮助用户找到出错的原因。
(5)把验证电路最后输出的结果暂存于Spartan-IIE的存储器中,然后利用串口调试程序在微机上察看结果。目前有很多串口调试程序,如RS-232/RS-485串口通讯程序XP就是一个比较好的程序,如果输出的结果不正确,就需要检查错误原因,错误有可能在硬件方面,也有可能在软件方面,修改之后回到第一步重新进行验证。
4 结束语
笔者用这种方法成功实现了对一个复杂FFT电路的验证。MP3C最具特色的地方就是可编程互连电路板(FPCB)和可编程互连元件(FPIC)的应用,FPIC在FPGA模块之间提供可编程互连使得在整个设计过程中不用对PCB板进行设计和生产,从而节省了费用;在FPGA上实现了数字系统的设计,允许将FPGA直接安装到主板上,可以随着设计FPGA的设计程序重新编制,无需修改其他FPGA,并且可随时利用最新FPGA技术满足更大规模的设计,因此大大增加了设计的灵活性和方便性;还可以对系统进行在线实时修改、调试,方便快捷。MP3C的这些特点大大提高了IC验证的效益。