《基于FPGA芯片为核心实现通用实验系统的软硬件设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA芯片为核心实现通用实验系统的软硬件设计.docx(5页珍藏版)》请在第一文库网上搜索。
1、基于FPGA芯片为核心实现通用实验系统的软硬件设计1引言随着些k技术的不断发展和皿工A软件的完善,在FPGA芯片上实现的各种复杂篁法和构建SOPC系统成为研究的热点。在很多科研和教学开展的实验中,都需要为大规模FPGA芯片提供高速的计算机接旦以及各种功能部件模块。目前市场上有不少FPGA实验系统,但由于受目标芯片容量、接口、功能部件模块等方面的限制无法满足科研和教学需要。针对研究项目以及对参与项目研究学生培训的需求,我们设计了一套通用的FPGA实验系统,该实验系统以大规模FPGA芯片为核心,带有通用的计算机接口以及丰富的板上功能扩展部件,能较好地满足我们项目研究的需求,并可用于产显开发的原型验
2、证、IC前端设计验证,IP核验证以及迎_课程实验教学等,同时也可作为高速多通道逻辑分析仪使用。2实验系统的设计思想为使实验系统达到通用性的目的,系统上的FPGA芯片应可通过PCI、USB.串行、RJ45(M)和计算机交换数据,并扩展F1ASH、SRAM.SDRM.JTAG、AS/PS口以及配置芯片等功能部件。为满足学生研究和实验的需要,我们把卡上的FPGA剩余IO引脚扩展到一块教学实验用板中,教学实验板带有A/D、DA1CD、数码管、发光二极管、时针系统、键盘、VGPS/2、RAM/R0M、单片机等实验功能模块。USBU45CoMpcMSDRAMFPGA目标芯片SRAMPCIIADDaIIRo
3、MRAM1IDA岭独IIPSD按11IIf制JY1IVGAI忙母箴*jI公Dg1II1Da玛吕II息水II扬4卷II馍翼I代学女总模块HAGrT图1:FPGA实验系统的整体框图3系统的软硬件设计本实验系统有多种计算机接口,都采用了成熟的接口芯片,驱动程序由芯片厂家提供,直接调用其上的接口函数实现计算机和实验系统的数据传输。RS232接口设计中用一块1TC1386CS芯片实现电平转换后TXDRXD信号直接连接到FPGA的IO引脚,USB接口芯片用ISP1581BD,PCI桥接芯片用P1X9054,网络接口芯片用1AN91C111,由于这些接口及相关程序的设计方法有很多共同的地方,因此我们主要介绍
4、PC接口部分中的PCI-FPGA的设计。3. 1PC1-FPGA硬件设计PCI-FPGA部分的电源包括3.3V和1.5V两种电压,1.5V(VCORE)用于EP1S20F672的内核电源(VCCINT),除此之外其它电源都由3.3V(VIO)提供。3.3V电源直接从Pe1插槽获取,15V电源则通过凌特公司的1TI764AEQ-1.5稳压芯片获得。PCI插槽部分的设计主要是如图2所示把对应信号和9054连接好,另外还需注意把PRSNT1#和PRSNT2中的至少一个接地,目的是让主机认出本PC1设备的存在。工作模式用C模式,配置芯片用的SPRoM93CS66,配置信息参照厂家推荐1。AqoMJ。阳
5、OFFRAMEIRIYTRDTneeWSW1SEKU1OCKAHPFQINTAMEFHUMcueRSTW1IDS:.)FRAX任01)aAayB1ASTSTCr1W.r5H.READYMfiWAH说RUKXD1OCKUHFAfi1R3HITOTUIXTAMusjFME1R4WHKMAF4EOKTtcSI.SKFQi酸吟1HOIXCC3U1WrXeDE3K吧UNTcs百1aXIMJeWV1DfnM).1Ap1PSJATGIS?PErTVCCA-PUO”VVrQji0vnc.FUj.ccWCH1,C1ITRJTEP1S2OF672vwrTKMPnCC751XNis1es-EeVSAo号C1KWMR
6、7.(FVOORIVIOGNDR2,南化的PeIFPGA/,PT*EP1S2OF672各专用引蜘咫义如11所人工引“名连接描i布定义VREF.VCCIOU.33VVCC1NT.VCCA,P11,VCCG.P11内敕电海15V.Vcjp11jouia.vgc.p116_cjia接3螃仍初接9业”11SffiVCCIO)GND.GNDA-P11.GNDG_P11fc.nIO.PU11UPTMIO”的H(01知尢数)尸UK下检PORSE1PORH虑!间(OiICO2ms).FI击.I.VCCSE11睥电中.03325V.1:18、nCE活动心片佗蛇(0).TRSTJTAGM界!精宅不G心复位(0)M
7、SE10.2港件配,模式选择.TEMPDIODEpn温度性总将连接,不用的需接地.P11.ENAP11fe1;接HVCCSE1收定的电RCUC110全局小仲轴人.C1KT11咖1分全局时的札拓的贝厢.不用附G9U建视niS,TD1TCK,TDOJIAG,用WC1TTAGMWiCE和MSEUO港电TRST,KOXF1G&VCC.CONF_DONE,TMS.TDI入dSTATUS用IOK电QIN,DAEAONDC1K按均戊VCCTCK用IoK电网F拉.CONF,DONEnSTAUSjiCONHG;DC1KDArAOPS1-1;IWfF1PS口陶宣时MSEU(12&为010.这5个引脚律高更IoK电
8、叫i.1DEV_C1Rn翳件书在界滔写(0:清事.1:用户DEV_OEIO脚吠态设定(0-.I:用户定人:3.2PC1接口软固件及测试结果9054的SDK(软件开发套件)提供9054的驱动程序和各种9054的接口访问函数,在此基础上我们开发了几个应用程序接口函数(调用失败返回0,否则返回非0):intOpenSG1DMAChanne1_0(HAND1EhDevice);打开传输通道intCIoSCSG1DMAChanne1j)(HAND1EhDevice);关闭传输通道intSg1DmaTransfer(用Dma方式传输数据HAND1EhDevice,设备号U8*sendDmaBuffer,传
9、输缓冲区首地址U321oca1Ac1dress,局部总线首地址U32Data1ength,/数据块长度unsignedintdirection/0:PCtoCard;1:CardtoPc);intSing1e_ReadWrite(用单字节方式传输数据HAND1EhDevice,U8*pdata,intdata1ength,DWORDIoca1adc1ress,unsignedintdirection/0:PCtoCard;1:CardtoPc);9054局部总线中1HO1DA和READY是输入信号(如图3),其余都为输出。当9054向局部总线写时,1Ho1D信号由低转高,1HO1DA应由低转高
10、以响应9054,9054输出ADS为低电平时表示1A上已经出现有效地址,当READY为低电平时,1D上每个周期传输一个数据。当传输到最后一个数据时9054输出B1AST一个周期的低电平,接着1HO1D变为低电平,等1HO1DA也变低则一次DMA传输结束。我们按以上所述设计并加工了PCI卡,利用FPGA片上的RAM作为输入和输出FIFO,局部总线时钟为50MHz,主机把内存中的数据通过DMA传输方式把数据写入FPGA上的FIFO中。FIFO的深度为IKByte时PC1的传输速度为360Mbps,当FIFO的深度为IooKbyteS时,其传输速度达到916Mbps。4实验系统的应用实验系统接口部分
11、研制成功后,主要起以下作用。4.1逻辑分析仪以9054局部总线调试为例,本实验系统(EP1S20F672C7)可作逻辑分析仪使用。首先用VHD1按9054局部总线时序设计好传输数据控制壁并综合,接着用QuartusII5.0建立Signa1Tap文件并设置监测信号及触发条件,编译下载到FPGA中,然后便可进行逻辑分析。以ADS上升沿作为触发条件,B1AST上升沿作为结束条件,对地址线1A31:0、数据线1D31:0、ADS、1W/R、1HO1D、1HO1DA、READY、B1AST等70路数据DMA传输时进行逻辑分析,其结果如图3所示。根据综合结果,作为逻辑分析仪,本系统支持最高频率超过220
12、MHz,可对从预留的128个IO口输入的数据进行逻辑分析,存储深度超过1.6Mbits。除可通过QuartusI15.0提供的Signa1Tap功能对信号分析处理外,也可以把从IO口接收到的数据通过PC1或USB接口传输给主机,然后通过主机编程3实现对数据的分析处理。图3:9054阿3总线DMA-;JG逻辑”6,4. 2密码协处理器本实验系统作为密码算法协处理器使用的逻辑框图如图4所示。以用3DES对一段长消息加密为例,主机分别将控制、模式和密钥等数据送到协处理器的指定寄存器中,接着把明文送到FIFO中,然后待协处理器处理好数据后接收结果。协处理器根据控制、模式等设定,把FIFO中的32位数据
13、转换成分组块,然后启动密码运算模块,处理完一个分组块后再把结果转换并写到FIFO中,并设置状态寄存器,一直到所有数据处理完毕。由于受到PC1接口传输速率的限制,作为协处理器本实验系统的最大处理速度低于460MbPS(数据进和出)。通过对3DES、AES.SHAI等算法的研究与实现,本实验系统可作为超过400MbPS的协处理器,用于GF(2163)上ECC点乘则可超过3400次/S。5. 31EoN核的验证1eonCPU核4是公开源代码的32位R1SC嵌入式处理器,完全实现了SPARCv8指令体系,可以根据用户的需要对其功能进行剪裁。该处理器由可综合的VHD1代码描述,可在FPGA中实现,并且已经成功流片30次以上。其性能、功耗及配套工具虽比不上M1PS和ARM,但0.85MIPSMHz的处理速度(DhryStOne2.1测试平台),对嵌入式1inux,eCos,Thumbpod(java),SnapGear等多种嵌入式操作系统的支持,盛通获取VHD1源代码与其配套的交叉编译工具、主机调试工具以及嵌入式操作系统是其优势所在。在我们的实验中1eon2CPU核使用9830个1E,系统时钟频率达到40MHZ以上。责任gt