跟着FPGA向低成本、低功耗、高功能方向开展,其I/O引脚大多选用微距离TOFP或BGA封装工艺,因而使引出多种内部信号的I/O引脚以及FPGA的验证作业变得十分困难,一起FPGA的验证和调试耗时占总开发时刻的50%以上。
在验证和调试体系时,传统上是把信号线引到I/O引脚,然后选用示波器、逻辑剖析仪或总线剖析仪进行丈量和剖析。因为这些设备适当贵重,而且调试时又需求许多连线夹,因而一不小心就会烧坏器材或电路板。
伴跟着EDA 东西的快速开展,Altera公司在QuartusⅡ软件中开宣布一种嵌入式调试东西SignalTapⅡ,它是依据逻辑剖析核的嵌入式逻辑剖析仪,不只具有一般逻辑剖析仪的触发、数据收集和存储功用,还可拜访FPGA器材内部的一切信号和节点,除Altera公司开发的这种嵌入式逻辑剖析仪外,其他干流FPGA公司,如 Xilinx、Lattice、Actel等也有类似技能,其间最具代表性的是Xilinx公司的ChipScope Pro东西,它是专为Xilinx FPGA体系内的凋试而规划的。Chip-Scope Pro中心集成在FPGA中,支撑一切XiLinx FPGA系列,并经过规范的JTAG端口供给实时的调试和验证才能。
2 SignalTap II原理
SignalTap II嵌入逻辑剖析仪是专门用于Quartus II规划软件中的第二代体系级调试东西。关于嵌人式逻辑剖析仪内核(知识产权IP核)刺进FPGA的规划,一起供给触发功用和存储功用。在FPGA运转进程中,满意触发条件时SignalTaPⅡ将发动采样并贮存数据,采样数据不断刷新片内存储器内容。SignalTapⅡ经过下载线ByteBlasterⅡ,将捕获到的信号数据从器材的RAM资源载至QuartusⅡ开发环境,以实时显现波形。这样就能使开发者在整个规划进程中,以体系级的速度来调查硬件和软件的交互作用。
现在,SignalTapⅡ逻辑剖析仪能够支撑的器材系列有:Cyclone、CycloneⅡ、Cyclone Ⅲ、APEXTⅡ、APEX 20KE、APEX20KC、APEX20K、Excalibur、Mercury、Stratix GX、StraTIx、StraTIxⅡ、StraTIx Ⅲ等。
3 SignalTapⅡ运用方法
运用SignalTapⅡ的一般程序是:规划人员在完结规划并编译工程后,树立SignalTap Ⅱ(.stp)文件,并参加工程、装备STP文件、编译并下载没计到FPGA、在Quartus Ⅱ软件中显现被测信号的仿真波形。
设置SignalTapⅡ文件的根本流程如下:
(1)设置采样时钟。决议了显现信号波形的分辨率,依据Altera公司的主张最好运用大局时钟,而非门控时钟,不然会使采样时钟处于不能精确反映规划数据的情况。
(2)装备采样深度,确认RAM的巨细。用户可指定要观测数据的采样点数,即数据存储深度。
(3)设置buffer acquisiTIon mode。包含循环采样存储和接连采样存储两种形式。图1给出STP参数装备进程。
(4)触发等级。SignalTapⅡ是支撑多触发级的触发方法,最多可支撑10级触发。在多级触发中,SignalTapⅡ首要对榜首级触发形式进行触发;当榜首级触发表达式满意条件,测验成果为TRUE时,SignalTapⅡ对第二级触发表达式进行测验;顺次类推,直到一切触发级均完结测验,而且最终一级触发条件为TRUE时,SignalTapⅡ开端捕捉信号情况。
(5)触发条件。能够设定杂乱的触发条件用以捕获相应的数据,以帮忙调试规划。当满意触发条件时,在SignalTapⅡ时钟的上升沿采样被测信号。
(6)设置被测信号。在SignalTapⅡ逻辑剖析仪窗口,双击鼠标左键,弹出的Node Finder对话框,在filter中挑选要加人STP文件的节点或总线。图2所示给出了待测信号及触发设置。
完结STP设置后,加载SAM方针文件(.sof),在Device列表中挑选方针器材,点击Program Device图标进行器材编程,点击Run Analysis进行收集、剖析数据,如图3所示。
4 实例剖析
现以FT245BM型USB与EP2C8 0208C8N型FPGA间的简略通讯为实例,详细阐明怎么选用SignalTapⅡ验证FPGA的规划。其顶层规划文件如图4所示。
FT245BM是FTDI(Future Technology Devices IntlLtd)公司的一种快速USB通讯接口。它无需编写片内固件程序。FTDI公司供给D2XX官方驱动程序,运用D2XX驱动程序能取得更好的数据传输功能,且传输速率最大可达1 MB/s。
FT245BM的主要功用是在内部硬件逻辑的作用下完结USB串行数据格式与并行数据格式的双向转化。PC机经过USB接口与FT245BM进行数据交流,FT245BM经过并行方法与下位微操控器通讯。运用单芯片完结USB与并行FIFO缓冲区的双向数据传输;经过简略的四线握手信号与FPGA等逻辑器材接口;FT245BM经过8位并行数据口D[0,7]和4位读写情况/操控口RXF#、TXE#、RD#、WR完结与EP2C8交流数据,而PC机与FT245BM间经过UISB总线传输数据。可选的外部EEPROM用于存储USB设备的特定信息,经过EECS、EESK、EEDATA来完结数据的写入和读出。
在调试中,依照上述SignalTapⅡ的运用进程,在编译后的工程中增加STP文件,并对文件进行设置。首要设置采样时钟gclk,体系时钟选用32.768 MHz;然后增加采样深度的设置,设为2 K;最终在STP文件中将Buffer AcquisitionMode别离设为接连存储和循环采样存储两种形式进行验证。接连存储方法记载采样操作的接连进程,而在循环采样存储方法下SignalTapⅡ记载屡次采样时刻数据。
当外部试验开发体系连接好后,进行编译下载。单击SignalTapⅡ面板上的Autorun Analysis按钮,发动SignalTapⅡ进行采样和剖析,此刻就能从SignalTaDⅡ数据窗经过JTAG口调查到来自试验板上FPGA内部的实时信号,该实例的输出信号如图5所示。
实践中将遇到许多竞赛处理和不完善的当地,但是因为运用了SignalTapⅡ东西,所以能直观地看到内部的逻辑情况,这大大减少了开发周期,并能顺畅地进行调试。
5 结语
Quartus中的SignalTapⅡ东西成功克服了传统逻辑剖析仪的缺陷,供给了一个测验器材的很好途径,还具有实时可视性,大大减少了调试、验证进程花费的时刻,加快了规划周期。经过对CycloneⅡ系列EP2C8Q208C8进行试验,证明该测验手法大大提高了体系的调试才能,作用很好。但需注意的是,它是一块自主逻辑,需求占有FPGA资源。比方RAM,LE等,资源消耗量与需收集的数据量成正比。因而不能无约束地收集信号,一般收集信号的深度不大。再者,因为时钟的约束,无法看到有毛刺的现象,实践使用中也存在必定的约束。别的,SignalTapⅡ作业在JTAG方法,调试完结后,需将SignalTapⅡ移除规划,避免浪费资源。
责任编辑:gt