作者:谭安菊,陈泉根,许晏
1AP TI XMP3C介绍
MP3C系统是Ap TI x公司的产品,是一种价格低、验证速度快、基于层次化和 模块化 的硬件验证平台,可以逐步验证每一个逻辑模块直到验证整个系统功能。MP3C硬件中的现场可编程互连 电路板 ( FPC B)和现场可编程互连元件(FPIC)是Ap TI x公司的专利技术,图1给出了FPCB和FPIC在MP3C上的部件孔模块。通过该系统可以40MHz的最快速度调试百万门级的片上系统;可实时运行软件作为系统 测试 矢量;加速仿真与递归测试速度和加速完成设计变更;还可随时利用最新 FPGA 技术满足更大的设计规模需要。此外,MP3C也可以对复杂数字系统进行快速验证,其中包括 ASIC 、 DSP 、微控制器、微处理器、 RAM 和 ROM 等。MP3C系统比较适合小批量、多品种的生产。
1.1现场可编程 电路 板FPCB
MP3C的FPCB是一个22×16、16层的插孔板,根据应用和设计需求,可以把一些外围器件、 接口 和多个FPGA等放置在FPCB上,就像面包板一样,因此非常灵活方便,这些外围部件再通过FPIC互相连接起来。MP3CFPCB由许多硬件组成。
(1)插孔区(freeholearea)
(2)全局互连(globalin te rconnects)
全局连接是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信号使得MP3CFPCB可以和其他设备之间进行通信,它们是进出FPCB的信号。
(5)微控制器(microcontroller)
微控制器能为主机系统和MP3CFPCB上的可重配置FPGA之间的通信提供智能接口,微控制器控制FPCB上的能量时序。微控制器的操作系统是存储在被保护的Flashmemory的根块区,仅需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软件
Ap TI xExplorer软件可以提供一个 图形 用户接口GUI(GraphicalUserInte rf ace),这上GUI能够生成设计,并对设计进行编辑和调试。通过Explorer软件可以提供一个直观有效的接口来对设计做一系列的操作。EXPLORER软件主要完成整个系统的搭建、FPGA的布局布线和FPCB的编译。其操作步骤如下:
(1)设置FPCB参数
用来配置FPCB参数,如说明所使用的Fpcb板类型、FPIC序列和说明使用的是那一个FPIC等。
(2)对网表文件(netlist)和设计文件进行设置。
主要输入网表文件和与设计有关的文件,Explorer软件支持ED IF 和XNF格式的网表文件。
(3)设置Power和Ground
主要是为了说明在部件和针插孔上的Power和Ground引脚是被拉高还是拉低。
(4)设计节点(net)/终端特征
主要设置节点驱动值,其值的范围为0~100,驱动值的大小决定了节点在FPIC内部的布线顺序。驱动值越大就越先布线,因此,可以优先选择最短的路径。
(5)在FPCB上放置部件
把数字系统设计中的模块放到FPCB上。
(6)对设计进行编译
编译可以使被仿真的部件之间实现布线连接,还能控制Explorer软件和FPCB硬件之间的互连。
(7)对设计进行调试
这是帮助下载带有新信号布线信息的FPCB信息到MP3C硬件上的过程,做完这一步就可以对设计进行验证、测试和调试。
2Spartan-IIEFPGA
2.1Spartan-IIEFPGA的组成
Spartan-IIEFPGA提供了创建成本优化、应用灵活、功能丰富的产品所需要的一切,它的开发过程远比任何采用ASIC的方案要容易得多(成本也更低)。该系统板主要包括两个 时钟 源、通用I/O、电源供给、P160扩展槽、LVD10位接收和传输端口、 开关 按钮、7段 显示器 、JTAG端口、 RS -232端口、ISPPROM和XC2S300E-5FG456CFPGA等。其中XC2S300E-5FG456CFPGA和ISPPROM是比较重要的部件。图3是Spartan-IIE开发板内部结构。
2.2FPGA与PC连接
用Spartan-IIE开发板来配置Spartan-IIEFPGA的方法有很多:可以通过其JTAG端口直接配置Spartan-IIEFPGA;通过编程在板XC18V02ISPPROM进行配置,一旦ISPPROM被编程,通过配置端口就能直接配置Spartan-IIEFPGA;也可以通过在系统板上的从动并行/串行端口来配置FPGA。图4给出Spartan-IIE开发板支持的Spartan-IIEFPGA配置连接模式。
3验证系统
用APTIXMP3C和Spartan-IIE开发板实现对数字系统进行验证的系统组成如图5所示。
在这个验证系统中,把需要验证的电路放到MP3CFPCB上,Spartan-IIE开发板通过J6或J7通过I/O口连接到FPCB硬件,Spartan-IIE开发板通过串口/ 并口 号 计算机 相连,工作站通过 网线 与MP3C通信,也可以把逻辑分析仪连接到MP3C上,实现对系统的在线观察调试。具体验证步骤如下:
(1)用51指令对待验证电路需要的输入信号和激励进行编程,程序经编译后转换成汇编语言,然后写入R80515IP核以便下载到Spartan-IIEFPGA,dXilinxISE软件中对IP核进行仿真和综合后直接通过并口下载到FPGA中。
(2)用CAD软件如 OrCAD 等完成系统顶层原理图的绘制,需注意其中的接地和电源信号,然后生成网表文件(netlist),把网表文件传到安装了EXPLORER软件的工作站上。
(3)在工作站的EXPLORER软件上完成整个系统的搭建、MP3C相关参数的设置、输入网表文件、生成引脚匹配( pi nmap)文件和完成MP3C地址设定等,如果在EXPLORERsyslib库中没有所需要的库,还要自己建库,然后就可以进行编译和调试。
(4)用逻辑分析仪或 示波器 对某些信号进行观察,以便进一步查错和纠错。这种方法可以很方便地帮助用户找到出错的原因。
(5)把验证电路最后输出的结果暂存于Spartan-IIE的存储器中,然后利用串口调试程序在微机上察看结果。目前有很多串口调试程序,如RS-232/ RS-485 串口通讯程序XP就是一个比较好的程序,如果输出的结果不正确,就需要检查错误原因,错误有可能在硬件方面,也有可能在软件方面,修改之后回到第一步重新进行验证。
4结束语
用这种方法成功实现了对一个复杂 FFT 电路的验证。MP3C最具特色的地方就是可编程互连电路板(FPCB)和可编程互连元件(FPIC)的应用,FPIC在FPGA模块之间提供可编程互连使得在整个设计过程中不用对PCB板进行设计和生产,从而节省了费用;在FPGA上实现了数字系统的设计,允许将FPGA直接安装到主板上,可以随着设计FPGA的设计程序重新编制,无需修改其他FPGA,并且可随时利用最新FPGA技术满足更大规模的设计,因此大大增加了设计的灵活性和方便性;还可以对系统进行在线实时修改、调试,方便快捷。MP3C的这些特点大大提高了IC验证的效益。
责任编辑:gt