用动态可重构测试电路来跟踪硬件状态的方法和装置的制作方法

文档序号:6109699阅读:193来源:国知局
专利名称:用动态可重构测试电路来跟踪硬件状态的方法和装置的制作方法
技术领域
本发明一般涉及到实现在现场可编程门阵列(FPGA)中的内置测试电路,更具体地说是涉及到用来跟踪FPGA中的硬件状态的方法和装置。
2.相关技术的描述现场可编程门阵列(FPGA)提供了借助于通过下载二进制信息重构逻辑电路而实现逻辑设计过程中的灵活性。FPGA技术的新近发展已经导致在单个集成电路(IC)封装件中能够得到10万或更多的门的FPGA。
FPGA经常被用在固定于计算机系统的专用外设中,特别是在绘图应用中,其高速和可重构性产生了优点。例如,已经用FPGA技术实现了将位平面信息转换成串行数据流的图形显示器电子学和打印机绘图电子学。由于微处理器和微控制器对于位流的高速串行化/去串行化无效,故专用的超大规模集成(VLSI)电路被用于此目的。VLSI电路通常是门阵列,其掩模一旦设计了就决不修正,直到设计和实现另一种VLSI电路版本。VLSI电路具有高的掩模设计和生产用具的不重复工程(NRE)成本。FPGA提供了一种变通的解决办法,其优点包括设计和修改转向迅速以及可重构性。
由于在设计过程和版本升级过程中FPGA的设计能够被迅速地修正,且由于替换的逻辑结构可以得到支持,故满足实现和调整工艺的短设计周期(许多情况下短于1小时)的方法是所希望的。在可能有借助于修正逻辑而快速解决现场位置问题,但不准备在现场实现新逻辑设计的低水平行为的快速解决办法的情况下,使现场能够调试,也可能是可取的。
由于在目前FPGA中能够实现的电路的复杂性,故对于在FPGA中提供中间信号的测量,但不使用很多来自FPGA的FPGA输入/输出(I/O)插脚,存在着需求。
因此,提供一种用来跟踪FPGA中的逻辑状态的方法和装置,并用FPGA进一步在其实现中提供计算机外设的现场测试和设计调整,可能是可取的。
发明的概述在一种用动态可重构测试电路来跟踪功能逻辑中的硬件状态的方法和装置中,达到了上述目的。一组或更多组可重构的测试电路被用来发现和排除故障。可以用软件跟踪程序来选择特定的测试电路,并可以用微控制器或微处理器来从测试电路读取测试信息。此信息可以与软件跟踪信息同步,提供软件和硬件的统一的跟踪历史。测试电路可以组合有计数器、事件检测器、比较器、以及使设计工程师或现场服务人员能够更容易地确定功能逻辑或软件中的问题的原因的其它各种各样测试电路。
在下列详细描述中,本发明的上述以及其它的目的、特点、和优点将变得明显。
附图简述在所附权利要求中提出了被认为是本发明特征的新颖性特点。但结合附图参照示例性实施例的下列详细描述,将最好地理解本发明本身以及优选的使用模式、进一步的目的、及其优点。在这些附图中,相似的参考号表示相似的元件,且

图1是具有网络兼容打印机的计算机网络的方框图,其中能够实现本发明的优选实施例;图2是图1的网络兼容打印机的方框图;图3是图2的网络兼容打印机中的PCI接口和彩色平面存储器模块的方框图;图4是根据本发明优选实施例的图3的彩色平面存储器模块中的实现控制电路的FPGA的方框图;以及图5是流程图,说明了根据本发明的优选实施例,用动态可重构测试电路来跟踪硬件状态的方法。
示例性实施例的描述现参照附图,具体参照图1,示出了具有网络兼容打印机的计算机网络的方框图,其中能够实现本发明的优选实施例。应用服务器12被连接到具有工作站13和打印机14的网络15。应用服务器12可以执行工作站13请求的服务,诸如将对打印机14的打印请求并行联机。
在打印机14中,局部控制台27提供编程等用户接口能力,控制打印机14的工作,包括根据本发明选择和显示特定的测试模式。工作站13也可以通过网络控制测试模式和跟踪格式,且接口16也可以被用来显示本发明的跟踪结果。网络接口16提供了打印机到网络15的连接,并接收打印机命令和图形数据,网络接口16还返回打印机状态并询问网络15上的响应,包括根据本发明实施例的跟踪结果。打印服务器18对网络15起服务器作用,并可以执行所有的并行联机功能以及其它打印支持操作。打印机引擎19包括控制打印工作、转换图形输入数据、控制打印头/激光器位置和打印状态等的打印机14的各个部分。
现参照图2,示出了打印机14的详细方框图。网络接口16将网络15连接到打印服务器18中的处理器23A和23B。处理器23A和23B被连接到存储处理器23A和23B使用的数据和程序指令的存储器24。PCI总线28对处理器23A和23B、存储器24、局部控制台”进行连接。局部控制台17中有用来控制打印机14工作的触摸屏21和键盘22。
打印机引擎19包含根据本发明优选实施例的彩色平接口27A-D。彩色平接口27A-D被PCI接口26A和26B连接到PCI总线28。打印机引擎19控制打印机图形控制器25,以提供用来驱动激光打印机、喷墨打印机等的打印头的图形输出。
现参照图3,示出了图2的PCI接口26A和彩色平接口27A的细节。开始时,由构造ROM32构成PCI接口FPGA31。PCI接口FPGA的加电构造被预先构成,以便分别地从构造ROM 32读取FPGA构造信息。一旦包含在构造ROM 32中的构造信息被加载,PCI接口FPGA就实现PCI总线接口,并可以经由此接口被进一步构造。
彩色平接口27A还包含FPGA33。FPGA33由处理器23A或23B送到PCI接口31的构造图形数据构成。当用构造数据编程时,FPGA33包含测试电路35以及诸如光栅控制器34的功能电路。光栅控制器34经由PCI接口31,将图形/打印机存储器36对接到PCI总线23,使光栅控制器34能够接收图形数据并将其转换成打印机图形控制器25使用的图形/打印机存储器36中的数据。设计成由所需测试能力改变的测试电路,实际上可以被连接到光栅控制器34中的任何信号,使得能够进行新的测试、调试、以及光栅控制器34的监视。
为FPGA33中的信号的实时外部测量提供测试点37,且结果也可以经由PCI总线28上的PCI接口26A返回到处理器23A和23B,用来向用户显示调整的信息。
现参照图4,示出了根据本发明一个实施例的FPGA33的构造。接口29被连接到为PCI接口31连接到光栅控制器34的装置的接口电路4L来自光栅控制器的内部信号50、51和52被连接到测试电路35。这些测试电路可以按需要改变。通过FPGA设计软件产生设计,并产生可以存储在连接到网络15的永久存储器中的嵌入在存储器24的程序码中或选自可选地连接到FPGA33的构造RAM的二进图形文件。依赖于所需的特定测试或调整顺序或所要求的跟踪输出的等级(稀密情况),不同的构造可以被载入FPGA33。
在图4所示的FPGA33的构造中,示出了示例性测试电路35。某些元件可以对所有构造图形是共同的,而其它一些被用于特定的测试和调整操作。在外围设备的调整/设计过程中建立以后可以被用来维护或现场排除故障的这些测试电路库是有帮助的。可以从功能逻辑选择特定的点,并能够在测试电路35中实现特定的电路,使故障排除成为一个顺序过程,以新的构造图形下载到FPGA33,直至能够得到解决特定问题所需的信息。在包含根据本发明的测试电路的产品的生产过程中,提供较少的有关功能逻辑特定部分的测试细节,但提供有关功能逻辑整个工作的一般信息的构造是有用的。
寄存器阵列42中保存的并提供给接口29的信息,也可以根据错误检测而变化。例如,光栅控制器34可以包含用来检测奇偶错误、图形对象顺序错误、和图形对象类型错误的电路。依赖于被检测的错误的类型,不同的内部信号52的子集可以被锁存在寄存器阵列42中。特定信号的选择是根据错误的类型,以便提供此错误类型的最有用的信息,或所有的内部信号52能够被锁存,并改变跟踪程序的格式,以便以协助确定错误原因的形式来显示信息。跟踪程序的输出也能够在网络15上被传送,使得能够远程调试。互联网连接可以被用来提供可从互联网或外连网连接访问的图形或文本接口。
数据选择器44对接来自功能逻辑(光栅控制器34)的直接信号(direct signal)51以及来自寄存器阵列42的数据,这能够提供来自光栅控制器34的静态信号52。数据选择器44也选择来自诸如比较器45、计数器48、以及其它各种各样测试电路49的特定测试电路的数据。比较器45提供用来确定何时出现特定值的装置,例如当特定数据值或地址被光栅控制器34处理时产生一个输出。事件检测器47可以检测来自光栅控制器34的逻辑信号53的特定组合。计数器48能够被构造来计算已经发生了多少能够被事件检测器47检测的事件,或可以计算诸如某些其它时钟信号的转换,例如诸如奇偶错的事件之间的数据选通。计数器对于确定与数据有关的错误的根源也是有用的。例如,可以在测试电路35中实现计数器,以便确定哪个图形对象正被光栅控制器34处理以及错误发生时图形对象中准确地确定哪个数值正被处理。
数据选择器44的输出通过接口41被提供给接口29。于是,可以被数据选择器44选择的数值能够经由PCI接口26A在PCI总线28上被访问,从而被处理器23A和23B使用。
锁存器46被提供来选择测试点信号50,用来经由多路复用器43输出到FPGA33上的物理点。这使得能够从光栅控制器34选择信号的实时输出,用于逻辑分析器、振荡器、或其它设备。多路复用器33也能够被外部插脚连接控制,以控制到测试点信号50的内部节点输出的选择,代替锁存器46馈送的选择信号,或除了锁存器46馈送的选择信号之外,外部插脚能够馈送多路复用器选择信号。
现参照图5,示出了用根据本发明优选实施例的动态可重构测试电路来跟踪硬件状态的方法的流程图。此方法一般体现在打印机14中运行的软件跟踪程序中。
用户或软件程序选择一种输出跟踪格式(调试等级)(步骤60)。与跟踪格式一致地选择FPGA 33的逻辑构造(步骤61),并将此逻辑构造载入FPGA 33(步骤62)。外部测试点37的多路复用器输出被选择(步骤63)以提供调整所需的任何外部信号。当跟踪程序达到转储请求时(决定64),寄存器阵列内容被读取(步骤65),且跟踪程序将它们输出到显示器或作为一个文件或网络数据。若在执行过程中跟踪程序检测到一个错误,为此启动转储请求(决定66),则选定的或所有的寄存器阵列内容被读取(步骤67),并输出到显示器或作为一个文件或网络数据。多路复用器选择53以及硬件跟踪54和56的各个步骤被重复,直至跟踪程序终止或打印机被关闭(步骤68)。
虽然参照具体的实施例已经描述了本发明,但此描述不意味着构成限制。在参照本发明的描述之后,对于本技术领域的熟练人员来说,显然能够对所公开的实施例以及本发明的变通实施例作出各种各样的修正。因此设想能够作出这些修正而不偏离所附权利要求定义的本发明的构思与范围。
权利要求
1.一种用动态可重构测试电路来跟踪现场可编程逻辑电路中功能逻辑内的硬件状态的方法,所述方法包含下列步骤首先从多个用来跟踪所述功能逻辑工作的测试模式选择一种测试模式;在选择测试模式的所述步骤之后,第二选择与所述被选择的测试模式一致的所述动态可重构测试电路的多个构造之一;以及用所述被选择的构造,构成所述现场可编程逻辑电路。
2.根据权利要求1的方法,其中所述方法还包含下列步骤执行程序码的跟踪,以产生软件跟踪历史;周期性地读取所述动态可重构测试电路中的寄存器组,以便响应于达到硬件跟踪请求的所述跟踪步骤而产生硬件跟踪记录;以及与所述软件跟踪历史同步地记录所述寄存器的内容,以产生完整的跟踪历史。
3.根据权利要求2的方法,其中所述首先选择用来跟踪所述功能逻辑工作的测试模式的步骤,还选择所述硬件跟踪记录的输出格式。
4.根据权利要求2的方法,其中所述方法还包含检测与所述功能逻辑相关的错误的步骤,且其中所述硬件跟踪请求响应于所述检测到的错误而形成。
5.根据权利要求2的方法,其中所述动态可重构测试电路还包含用来对所述功能逻辑中的内部信号转换进行计数的计数器,其中所述方法还包含对内部信号的所述转换进行计数的步骤,且其中所述周期性读取所述寄存器组的步骤还读取所述计数器的值。
6.根据权利要求5的方法,其中所述动态可重构测试电路还包含用来检测所述功能逻辑中发生的事件的事件检测器,其中所述方法还包含检测所述功能逻辑中发生的事件的步骤,且其中所述周期性读取所述寄存器组的步骤还读取所述计数器的值,以确定所述事件之间已经发生的计数的数目。
7.根据地权利要求6的方法,其中所述事件检测器是以来检测所述功能逻辑中发生的错误的错误检测器,且其中所述检测事件的步骤对所述错误进行检测。
8.根据权利要求1的方法,其中所述方法还包含将所述构造图象发送到所述现场可编程逻辑电路,以构成所述动态可重构检测电路的步骤。
9.根据权利要求8的方法,其中所述将所述构造图象发送的步骤,借助于将数据写入到外围总线上的所述现场可编程逻辑电路而执行。
10.根据权利要求1的方法,其中所述方法还包含在所述功能逻辑中选择多个输出到所述现场可编程逻辑电路上的外部测试插脚的节点的步骤。
11.一种具有带功能逻辑的现场可编程逻辑电路的装置,所述装置还包含在所述现场可编程逻辑电路中实现的多个测试电路,其中用加载多个构造图象之一的来例示说明所述测试电路;以及用来存储构成所述现场可编程逻辑电路的所述多个构造图象的存储器。
12.权利要求11的装置,还包含连接到所述现场可编程逻辑电路的用来接收所述构造图象的总线接口。
13.权利要求11的装置,其中所述现场可编程逻辑电路包括用来连接到外部测试设备的外部测试插脚,且其中至少一个所述构造图象构成所述现场可编程逻辑电路,以便从所述功能逻辑中的测试节点输出信号。
14.权利要求13的装置,还包含连接到所述现场可编程逻辑电路的用来接收所述构造图象并用来接收从多个可得到的测试节点中选择所述测试节点的选择字的总线接口。
15.权利要求13的装置,其中所述现场可编程逻辑电路包括构造成用来从多个可得到的测试节点中选择所述测试节点的选择器插脚的外部插脚。
16.权利要求11的装置,其中至少一个所述构造图象将所述现场可编程逻辑电路构造成包括用来提供所述功能逻辑中的信号的状态的寄存器,且其中所述功能逻辑包括连接到所述寄存器的用来对所述寄存器提供外部访问的接口。
17.权利要求13的装置,其中所述功能逻辑包括用来检测所述功能逻辑中发生的错误的错误检测器,且其中至少一个所述构造图象响应于所述错误检测器检测到一个错误而将所述现场可编程逻辑电路构造成包括将信息存储在所述寄存器中的电路。
18.一种用来控制电子设备的系统,它包含实现为现场可编程逻辑电路中的构造的功能逻辑;用来执行程序指令以控制所述电子设备的处理器;以及用来存储构成所述现场可编程逻辑电路的多个构造文件的存储器,其中所述处理器取回第一个所述多个构造文件,并借助于将所述第一构造文件传送到所述现场可编程逻辑电路而将所述现场可编程逻辑电路构造成包含测试电路。
19.根据权利要求18的系统,其中所述处理器将所述现场可编程逻辑电路构造成具有测试多路复用器,此多路复用器具有到所述现场可编程逻辑电路的用来将所述功能逻辑中的信号连接到被外部测试设备测量的所述外部插脚的连接。
20.根据权利要求18的系统,其中所述程序指令包括用来执行程序码以产生软件跟踪历史的装置、用来周期性地读取所述动态可重构测试电路中的寄存器组以响应于所述跟踪步骤达到硬件跟踪请求而产生硬件跟踪记录的装置、以及用来与所述软件跟踪历史同步地记录所述寄存器的内容以产生完整的跟踪历史的装置。
全文摘要
一种使用动态可重构测试电路来跟踪硬件状态的方法和装置,为实现在现场可编程逻辑阵列(FPGA)中的功能逻辑提供了改进的发现和排除故障能力。为了用FPGA增强系统的发现和排除故障的能力,可以加载特定的测试逻辑构造。寄存器被用来捕捉跟踪程序访问的内部信号的抽点打印,而测试多路复用器被用来提供到外部测试设备使用的测试插脚的实时输出。借助于用其中使用FPGA的系统上运行的跟踪程序取回硬件抽点打印信息,调整了软件和硬件对故障的发现和排除,提供了整个系统性能的高级模式。在测试逻辑构造中实现了特定的测试电路,以便能够检测各种各样的事件和错误。当系统处理器执行达到硬件跟踪点或当事件发生时,计数器被用来捕捉计数值。比较器被用来检测具体数据或地址值,而事件检测器被用来检测发生在功能逻辑中的特定的逻辑值组合。
文档编号G01R31/317GK1336588SQ0112474
公开日2002年2月20日 申请日期2001年8月1日 优先权日2000年8月2日
发明者S·D·汉纳 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1