跟着逻辑规划复杂性的不断增加,在计算机上以软件办法的仿真测验变得愈加消耗时刻,而不断需求重复进行的硬件体系的测验相同变得更为困难。为了处理这些问题,规划者能够将一种高效的硬件测验手法和传统的体系测验办法相结合来完结,这便是嵌入式逻辑剖析仪的运用。它首要用于剖析数字体系的检测和故障诊断问题,是数据域测验中一种十分有用的测验办法。它能够随规划文件同时下载于方针芯片中,用以捕捉规划者感兴趣的方针芯片内部信号节点处的信号,而不影响原硬件体系的正常作业。本文介绍Signal Tap II逻辑剖析仪的根本用法及其在FPGA中一个典型的运用实例。
1 Signal Tap II根本用法
嵌入式逻辑剖析仪Signal Tap II在对体系硬件模块进行监测时,是将测得的样本数据暂存于方针器材的RAM中,然后经过器材的JTAG端口和Byte Blaster II下载线一同将样本数据信息传出并送入计算机进行数据剖析。Signal Tap II答应对规划中一切层次模块的信号进行监测,能够运用多时钟驱动,还能经过设置用以确认前后触发信号信息的份额。其运用办法进程如下:
(1)翻开Signal Tap II修改窗。挑选Tool中的Signal Tap Logic Analyzer项,或许挑选File中的New项,在New窗口中挑选Other Files中的Signal Tap II File,单击OK按钮,即呈现图1所示修改窗。
(2)调入待测信号。注意在调入信号前需给该信号组取名,可经过Instance栏内的Auto Signal Tap_0处单击即可。其次,调入待测信号,在Instance栏的下栏空白处双击即可,如图2所示。在窗口中,点击List,在Nodes Found中就呈现一切的待测信号,挑选所要丈量的信号,点击OK就完结了。在调用信号时,不要过多的调用没有实际意义的信号,这样会导致芯片资源的糟蹋。
(3)相关参数设置。参数的设置正确与否是运用Signal Tap II的要害。从前面咱们现已知道,Signal Tap II将采样的样本存于RAM中,参数设置便是设定采样的特征信息和采样数据样本的巨细等参数,采样的特征信息包含采样时钟的采样的速度、触发方式和采样的深度,即采样样本存放于RAM中的点数以及RAM的巨细等相关设置。参数设置进程如下,首要,在图1的Signal栏中,点击Clock即可设置采样时钟。采样时钟的快慢影响咱们所调查的信号的质量,所以要灵敏、合理挑选。采样时钟不是越快越好,当咱们要调查一些慢速信号或搅扰信号的时分,太快就拔苗助长。其次,设置采样深度。采样深度越深咱们调查到的点数就越多,当然是越多越好,可是因为受RAM的巨细约束,咱们设置的采样深度不或许太深。特别是在采样信号比较多的时分,咱们要归纳考虑这些因数,设置咱们的采样深度,避免产生RAM不够用的状况。再次,依据待测信号的要求,在Buffer Acquisition Mode框的Circulate栏设置采样开端触发方位。最终,设置触发条件,在Trigger中用于挑选动身级数,如两级触发,就要在两个触发条件都满意的条件下才干得到触发;鄙人面的Trigger框中挑选触发信号和触发方式,触发方式有上升沿、下降沿等触发供挑选,当挑选的触发信号满意了所设置的触发方式的时分,就开端采样。
(4)保存。在完结以上的进程之后,点击保存,呈现“Do you want to enable Signal Tap II…”,挑选“是”就表明再次编译的时分将Signal Tap II与工程绑缚在一同归纳,并经过下载适配器一同下载到FPGA芯片中去。假如挑选了否,能够在菜单Assignment中的SetTIng项,Category栏中挑选Signal Tap Logic Analyzer,在弹出的窗口中的右面,选中Enable Signal Tap Logic Analyzer,单击OK即可。在悉数测验完结的时分,应从芯片中去掉Signal Tap II,办法如上所述。
(5)观看成果。保存好了之后,就能够下载到FPGA芯片里边去了。下载办法与一般下载办法共同,这儿不在胪陈。再在图1的JTAG Chain中设置好硬件衔接及相关的SOF文件,最终点击Instance右边第二个主动剖析按钮就能够发动Signal Tap II来观看样本数据。
2 实例运用
这儿规划一个正弦信号产生器,详细阐明Signal Tap II的强壮功用。
2.1体系硬件
正弦函数信号产生器由地址产生器、数据存储器ROM、D/A三部分组成,依据需求还能够增加移持平其他功用[2],其体系硬件框图如图3所示。
地址产生器实际上是一个计数器,从0开端计数,循环进行。数据存储器ROM的每一个地址对应正弦信号的一个数据,其输入是一个递加的计数值,输出是与其仅有对应。数据存储器ROM 的数字输出经过D/A转化得到了模仿的正弦波形。
2.2体系软件
体系软件选用硬件描绘言语VHDL编制,在FPGA中完结软件的修改、编译,整个体系的VHDL言语描绘如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY SINGT IS
PORT ( CLK : IN STD_LOGIC; –信号源时钟
DOUT : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );–8位波形数据输出
END;
ARCHITECTURE DACC OF SINGT IS
COMPONENT data_rom –调用波形数据存储器LPM_ROM文件:data_rom.vhd声明
PORT(address : IN STD_LOGIC_VECTOR (5 DOWNTO 0);–6位地址信号
inclock : IN STD_LOGIC ;–地址锁存时钟
q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );
END COMPONENT;
SIGNAL Q1 : STD_LOGIC_VECTOR (5 DOWNTO 0); –设定内部节点作为地址计数器
BEGIN
PROCESS(CLK ) –LPM_ROM地址产生器进程
BEGIN
IF CLK‘EVENT AND CLK = ’1‘ THEN
Q1《=Q1+1; –Q1作为地址产生器计数器
END IF;
END PROCESS;
u1 : data_rom PORT MAP(address=》Q1, q =》 DOUT,inclock=》CLK);–例化
END;
2.3体系调试
一般地,体系在软硬件规划后,调试作业任务是比较繁重地,假如体系没有到达规划的预期方针,或许呈现的问题或许是软件,也或许是硬件。这两个部分无论是软件仍是硬件,都是一个十分巨大(关于较大的体系)的工程,每个模块都或许会存在问题,假如不必Signal Tap II来调试,只能查看每一个模块,或依据规划的逻辑查看软件体系。这儿咱们选用Signal Tap II来调试各个模块。
(1)地址产生器模块查看。经过仿真监测地址产生器的成果是否是一个递加数字量,“是”则该模块正常。
(2)正弦波数据存储ROM模块查看。监测ROM中数据是否为预期的正弦表格中顺次的数据,“是”则该模块正常。
可见,用Signal Tap II来调试FPGA优势十分的大,这样能够大大缩短规划人员的测验时刻,使得规划赶快投入市场。假如查看悉数正确,就阐明问题呈现的不是软件,而是硬件了。
依照上述Signal Tap II的运用进程,在编译后的工程中增加STP文件,并对文件进行相关设置,部分参数设置见图4所示。
最终,调查待测信号,如图5所示。假如在待测信号名上右击该信号,在呈现的选项中挑选Bus Display Format,能够挑选以什么数据方式显现采样到的波形,能够有16、10等进制数显现,详细挑选依据需求,本例中运用Line Chart来显现正弦波信号,直观、明晰,用数字显现就没有这个作用。
3 定论
本文作者提出使用嵌入式逻辑剖析仪Signal Tap II为FPGA的内部信号、模块、接点进行测验,这为测验供给了极大的便利,它无需外部器材,便利、经济。别的,在调试FPGA的时分,还能够设置多个嵌入式丈量模块等其他功用,这样极大地加快了体系的开发,从而为社会带来巨大的经济效益。
责任修改:gt