仿真系统中使用的具有集成调试功能的可重构集成电路的制作方法

文档序号:7516902阅读:192来源:国知局
专利名称:仿真系统中使用的具有集成调试功能的可重构集成电路的制作方法
仿真系统中使用的具有集成调试功能的可重构集成电路相关申请本申请是专利申请日为2000年2月7日、专利申请号为00816276. X的发明专利 申请的分案申请。
背景技术
1.发明领域本发明一般涉及仿真系统的领域,并且尤其涉及具有用于仿真系统的集成调试 (debugging)设备的可重构集成电路。2.背景信息用于仿真电路设计的仿真系统在相关技术中是已知的。通常,已有技术的仿真系 统是使用不具有集成调试设备的通用现场可编程门阵列(FPGA)形成的。将被仿真的电路 设计通过汇编该电路设计的“正式”内容并将该电路设计映射到FPGA的逻辑元件(LE)(也 被称作组合逻辑块(CLB))而在仿真系统上“实现”。就它们对仿真系统的应用而言,这些通 用FPGA具有许多的缺点。首先,映射在FPGA内部的各个节点上的信号状态并不是直接可 见的,因此使用术语“隐藏的”节点。为了能够在这些“隐藏的”节点观测到信号状态,需要 耗费大量时间重新汇编的FPGA的重构需要从FPGA中把这些信号取出送到逻辑分析仪。此 外,为了传输这些信号至端口 /节点,通常需要一些FPGA 1/0,其中该端口 /节点可被例如 逻辑分析仪的测试系统观测(追踪)到。而且,将被路由的附加信号会进一步增加信号路 由拥塞。最后,对于时间敏感的应用来说,因为在读取触发事件能够被检测到之前信号不得 不被从FPGA中取出,因此,如果响应某些事件的出现而读出信号,那么很难知道在这些“隐 藏的”节点的信号是否是在合适的时间被读出。由于仿真器变得越来越复杂,同样,FPGA网 络和互联轨迹(trace)也越来越复杂,因而以上问题会进一步恶化。当伴随着复杂性增加 而监控轨迹所需的时间过度增加时,仿真能够发生的频率会降低到一个不可接受的水平。因此,所需的是具有集成调试设备的可重构集成电路,该设备有利于存取曾经隐 藏的节点和轨迹,同时减少重构的需要,从而有利于在可接受的仿真频率仿真。如同将在以 下将要详细描述的,本发明恰恰提供具有获得这些和其他所希望结果的集成调试设备的可 重构集成电路,通过以下的描述,这对于本专业技术人员来说是显而易见的。发明概述根据本发明的教导,描述了使用在仿真系统中具有集成调试设备的可重构集成电 路(IC)。尤其是根据本发明的第一实施例,集成电路被描述为包含多个逻辑元件(LE)和 一个部分扫描寄存器,每个逻辑元件具有多个输出。可操作多个LE根据相应地应用于LE 的多个输入信号来产生多个输出信号。部分扫描寄存器可被重构连接到所选的几个LE,这 样,当被启动时,在操作时钟的一个特定时钟周期内,可操作部分扫描寄存器在扫描总线上 捕捉和输出由所选LE仿真的电路元件的信号状态值记录,其中,部分扫描寄存器应用与该 操作时钟成适当比例的扫描时钟来启动。附图简述
本发明将以附图所示的非限制性典型实施例来描述,其中类似的标号表示类似的元件,并且其中

图1描述了本发明的可重构电路的主要功能块;图2描述了图1中LE阵列的一个实施例,和一个增强LE的实施例;图3描述了用于图1的主从锁存器的每一个控制逻辑和输入选择器的一个实施 例。图4a_4b描述了图1的LE间纵横网络的一个实施例;图5描述了图1的可重构电路间纵横网络级0的一个实施例;图6描述了图1的上下文总线的相关读/写功能的实施例;图7a_7b是两个描述了从LE读值和向LE写值的典型时序图;图8a描述了适于在图1的集成电路中使用的全扫描寄存器的一个实施例;图8b描述了根据本发明教导的动态可重构网和部分扫描寄存器例子的方框图, 根据本发明的一个实施例,它适于在图1的集成电路中使用;图9描述了适于在图1的集成电路中使用的触发电路的一个实施例。图10描述了根据本发明的一个实施例,结合了本发明的教导的仿真系统例子的 方框图;以及图11描述了根据本发明的另一个实施例,结合了本发明的教导的可重构电路例 子的方框图。本发明的详细描述在下面的描述中,为了解释及提供对本发明的全面理解,将给出特定的数字、材料 和配置。然而,很明显,对于本专业技术人员来说,并不需要知道特定的细节就可实践本发 明。在其它一些情况下,为了使本发明更清晰,将省略或简化一些熟知的特征。在说明书中涉及“一个实施例”意味着结合该实施例描述的特定特征、结构或特点 被包括在本发明的至少一个实施例中。因此,在说明书各处出现的短语“在一个实施例中” 的意思并不是必须完全指的是同一个实施例。现在参照图1,其中描述了结合了本发明教导的可重构集成电路100的例子的方 框图。除了本发明的教导外,显然,通过以下的描述,可重构电路100表示的是在相关技术 中已知的一些可重构集成电路的任意之一。举例来说,在一个实施例中,可重构电路100是 结合本发明教导而增强的可重构电路。根据本发明的一个实施例,可重构电路100被放置 在一个集成电路(或芯片)上并且包含增强LE阵列102。增强LE阵列102被用于“实现” 电路设计中的不同元件,并且包括创新的调试特征。此外,可重构电路100进一步的有利之处在于包括连接了所示增强LE102的单片 上下文总线106、扫描寄存器108和触发电路110。如在以下将更详细描述的,上下文总线 106用于向LE输入和从LE输出值,而扫描寄存器108和触发电路110用于分别为可重构电 路100输出完整的轨迹数据历史和触发输入。根据将在以下被更充分地描述的本发明的教 导,可重构电路100所示包含了动态可重构网络137和部分扫描寄存器135,它们用于有选 择地输出部分轨迹历史以选择可重构电路100的LE102。也就是说,与仅提供来自电路内 部静态定义的“可视”穷举地扫描输出的已有技术的仿真电路不同(否则需要重新编译以 及I/O资源分配以显示“隐藏的”节点),电路100包括动态可重构网137和部分扫描寄存器135,它不需要重新编译即可提供动态“可视性”至LE阵列102中的任一轨迹/节点。在本发明的一个实施例中,可重构电路100包括存储器112,它利于使具有存储器 的仿真电路设计的可重构电路100的使用。在一个实施例中,存储器112是16位存储设备。 在其它一些实施例中,存储器112可以适当扩展到32位宽度,或扩展到64位宽度。在一个 实施例中,可重构电路100的引线113能够被用于输入或输出。在一个实施例中,在可重构 电路100中提供64个I/O引线113。根据所描述实施例,可重构电路100也包括LE间纵 横(或X-型(bar))网络104以使所示的LE、存储器112和I/O引线113互联。在一个实 施例中,可重构电路100包括纵横网络114a-114b的第一级的“两份拷贝”以使可重构电路 100与其他此类可重构电路和“主系统”(未示出)互联。存储器112在相关技术中是众所周知的,在此不再赘述。LE间纵横网络104和 电路间纵横网络114a-114b的第一级在美国专利5,574,388中被详细描述,该专利题目为 “采用了用以可重构逻辑设备互联的多层和多级网络拓扑结构的仿真系统”,并且至少一个 发明人和共同受让人享有本发明的权益,其公开在此引作参考。尽管这样,下文还是简要描 述了网络104和网络级0 114a-114b。LE102、上下文总线106、扫描寄存器108、部分扫描 寄存器135、动态可重构网络137和触发电路110将在下面另外参照剩余的图进行详细描 述。在更详细描述这些元件之前,应当指出,为了方便解释,本发明是在仿真的上下文中描 述的,然而,根据以下的描述,本专业普通技术人员将会理解除了仿真系统之外,本发明也 适用于其它应用。还应该指出,在动态可重构网络137的上下文中,使用术语“动态可重构”表示尽 管电路元件的仿真可能(或可能不)需要暂停从而重构动态可重构网络137,但是该仿真 不必从该仿真的开始部分重新开始。具体来说,动态可重构网络137的重构不需要重新汇 编,同时,互联网络104的重构却需要重新汇编,正如上面所提及的,这是一个耗时的过程。 因此,本专业技术人员将会理解,动态可重构网络137可提供一个有效的装置,通过它,在 LE102中所考虑的隐藏节点反而可被存取(经由部分扫描寄存器135),从而有利于仿真器 和/或将被仿真的电路的快速调试。尽管图1把分离的扫描寄存器,即部分扫描寄存器135表示为与动态可重构网络 137协同工作以存取LE阵列102中的任意轨迹/节点,但本专业技术人员应当理解,这仅仅 是例子,而且也存在其他适当的实施例。例如,参照图11,即显示了此类实施例。如图所示,图11描述了可重构电路1100的方框图。本专业技术人员将认识到, 可重构电路1100非常类似于可重构电路100。也就是说,可重构电路1100采用了 LE阵列 102、存储器112、动态可重构网络137和触发电路110,每一个部分均如图所示连接。但是, 可重构电路1100是与可重构电路100截然不同的,其原因在于,可重构电路1100仅需要与 多路复用器1106结合的一个扫描寄存器1108来穷举地监控所有轨迹/节点活动,或者仅 仅是其一个选择子集。也就是说,可重构电路1100利用多路复用器1106以穷举地扫描模 式来向扫描寄存器1108有选择地提供所有轨迹/节点的输出,或者以部分扫描模式提供轨 迹/节点的一个选择子集,而不是采用单独的部分扫描寄存器135和(穷举地)扫描寄存 器108。换句话说,扫描寄存器1108可以被完全用作图1所示的扫描寄存器108,或者被部 分用作图1的部分扫描寄存器135。已知前述的另选实施例,本专业技术人员将认识到,在未背离本发明的宗旨和范围的情况下,本发明可以其它实施例来实现。当然,这些另选的实施例是通过本发明的公开 而预期的。在分别描述了创新的可重构电路200和1100的另选实施例之后,现在把注意力 转移到图2,其中增强LE的阵列将被进一步描述。现在转到图2,根据本发明的一个实施例,示出了增强LE阵列实例的方框图,该增 强LE阵列适于在图1的可重构电路中使用。如图所示,LE阵列102包含本发明的多个增 强LE200。举例来说,在一个实施例中,LE阵列102包含128个LE200。本专业技术人员将 会理解,较大或较小的LE阵列200也可被很好地使用,其中在下文将要更充分描述的相关 读/写和控制电路会相应的增加和减少。例如,在另外一个实施例中,LE阵列102包含768 个LE200。尽管如此,为了便于解释且不限制本发明,在本申请的剩余部分出现的实例将参 考包含128个LE200的LE阵列102。如图2所示,每个LE200包括如图所示彼此连接的多 输入-单输出真值表、一对主从锁存器204-206、输出多路复用器208、输入多路复用器210、 和控制逻辑212。真值表202用于根据一组输入产生预定的输出。对于所示的实施例,真值表202 具有4个输入和1个输出。换句话说,根据这些输入,真值表202输出24个预定输出之一。 每个主从锁存器204-206用于存储与其时钟输入同步的输入值。此外,每个主从锁存器 204-206能够依靠设置和重设的值被异步强制为1或0。对于所示实施例,使用真值表202 的输入13和12提供设置和重设输入。换句话说,如果使用设置/重设,就可以减少能够提 供至真值表202的输入变量数。另外,可提供另外的专用引线以提供设置/重设信号给主 从锁存器204-206,然而,可重构电路的真实状态需求可以更好地增加。继续参照图2,输出多路复用器208、输入多路复用器210和控制逻辑212用于控 制使用真值表202和主从锁存器204-206的方式。输出多路复用器208允许真值表202的 输出(旁路主从锁存器204-206)或从锁存器206的输出(用于层敏感设计)、或主锁存器 204的输出(用于边缘敏感设计)被选择输出。如果真值表202被单独使用,则选择旁路输 出。当选择主锁存器204或从锁存器206的输出时,输入多路复用器210允许真值表202 的输出、来自输出多路复用器208的反馈、或上下文总线106上的输入值被提供至主从锁存 器204-206。选择反馈值以“冻结”LE200,并且选择总线值以初始化LE200。根据提供的设 置、重设、第一和第二使能(ENAB和EN)、负载(LDE)和保存(HLD)值,控制逻辑212控制输 入多路复用器210以及被提供至主从锁存器204-206的设置和重设值,这将在下文进行更 详细描述。每个LE200还包括时钟选择多路复用器216a_216c,用以有选择地提供多个仿真 时钟或调试时钟(LD)至主从锁存器204-206。优选地,仿真时钟包括使用其他LE200 “构 建的”仿真时钟。对于所示实施例来说,这个“构建的”仿真时钟可通过真值表202的IO获 得。在正常操作期间,仿真时钟之一被提供至主从锁存器204-206,而调试时钟(LD)在调试 期间提供。时钟选择由CTX信号控制。最后,LE200还包括用于输出所选输出至LE间X-型 网络104和单片调试设备的缓冲器214a,以及用于输出所选输出到上下文总线106上以在 可重构电路100外直接观测的缓冲器214b。总的来说,真值表202能够以单独的方式使用,或与相应的主从锁存器204-206协 同工作。增强的LE200适用于“层敏感”和“边缘敏感”的电路设计仿真。此外,除了真值 表202 “正常的”当前输出之外,每个LE200能够被单独初始化。每个LE200还可一遍又一遍地输出同样的输出,就如同被冻结一样。而且,LE200可在可重构电路100外被单独和直 接观测到。换句话说,不存在“隐藏的节点”。每个“节点”的状态可在可重构电路外被直接 观测,而并不需要通常在已有技术下执行的电路设计映射的重构以及耗时的重新汇编。图3详细描述了在输入多路复用器210和控制逻辑212中各自有的一个实施例。 如图所示,多路复用器210包含驱动器211a-211c,如果被启动的话,则用于分别输出反馈 输出、真值表202的输出、和在上下文总线106上的输入值。驱动器211a-211c之一由来自 控制逻辑212的控制信号有选择地启动。控制逻辑212包含与门213a-213c、或门215、非门 217、和为驱动器211a-211c产生控制信号的存储比特219a-219c、以及主从锁存器204-206 的设置和重设值。存储比特219a-219c用于存储配置信息,以使能设置和重设值的提供以 及反馈输出的选择。如果被启动,与门213a-213b根据设置和HLD输入以及重设和HLD输 入分别提供设置和重设值。如果被启动,根据ENAB、HLD和EN输入,和与门213c协同的或 门215提供驱动器211a的控制信号。根据为驱动器211a提供的控制信号和LDE输入,非 门217为驱动器211b提供控制信号。最后,LDE输入作为驱动器211c的控制信号而被提 {共。现在简要参考图4a_图4b,其中描述了连接LE、存储器和I/O引线的LE间纵横网 络104的一个实施例。尤其是,图4a和4b描述了连接128个LE200的LE间纵横网络104 的一个实施例。本专业技术人员将会认识到,在不背离本发明宗旨和范围的情况下,也可以 采用较大或较小的LE间纵横网络。如图4a所示,对于所示实施例来说,LE间纵横网络104 包含4个子网220。前两个子网,子网0和子网1用于路由72个信号,而剩下的两个子网, 子网2和子网3用于路由64个信号。具体来说,如图4b所示,子网0用于路由LE0-LE9、 LE119-LE127、I/O 0-1/015 和 mem0-mem7 的信号。子网 1 用于路由 LE24-LE71、1/016-1/ 031和mem8-meml5的信号。子网2用于路由LE56-LE103、和I/032-I/037的信号。子网3 用于路由LE0-LE7、LE88-LE127、和I/048-I/063的信号。LE的重叠覆盖提高了映射电路设 计的信号路由的灵活性。每个子网220是一个3级Claus网络,其中第一级包含了 9个或8个8-8的纵横 交叉条(crossbar) 222,第二级包含了 8个9_20或8_20纵横交叉条224或226,并且第三 级中包含20个8-8纵横交叉条228。这些级以众所周知的“蝶形”方式相互连接。为了进一步描述LE间纵横网络104,下面将参考已提及的引作参考的美国专利 5,574,388。现在同样简单地参考图5,其中描述了将可重构电路连接至其他可重构电路和 “主”机(未示出)的可重构电路间纵横网络级0114a-114b的一个实施例。如图所示,对 于所描述的实施例来说,可重构电路间纵横网络级0114a-114b包含4对16-16纵横交叉条 230,用于耦合可重构电路的64个I/O信号至Claus网络的下一级,以使可重构电路连接到 其他可重构电路和“主”机上。为了进一步描述可重构电路间纵横网络114a-114b,还要参 照引作参考的美国专利5,574,388。图6描述了与上下文总线106相关的读/写设备的一个实施例,以用于从可重构电路100的LE200读出和向其写入。如图所示,对于所描述的实施例来说,128个LE200被组 织为16列,其中每一列有8个LE200。因此,全部128个LE200或当前的上下文能够以16个 8比特字读出或写入。提供地址寄存器232是用来存储读或写地址的。提供译码器234是用来解码读或写地址的,它与R/W控制236协同工作以提供适当的读控制信号(RD0-RD15) 和写控制信号(LDE0-LDE15)给128个LE200。此外,每一 LE200接收前述用以“冻结”LE200 的HLD信号、用以选择调试(LD)时钟的CTX信号、和LD时钟本身。图7a_7b描述了读和写 的典型信号计时。如图7a所示,首先通过加载4比特地址到地址寄存器232来完成上下文 读操作。结果是,译码器234使R/W控制236驱动合适的RD信号,使其高到能够读出被寻 址的LE200的内容。(在读操作进行时,HLD、CTX、LDEi和LD全都较低)。如图7b所示,首 先通过加载4比特地址到地址寄存器232来完成上下文写操作。此外,在译码器234响应 并使R/W控制236驱动到合适的LDE信号高度之前,首先驱动HLD高至冻结所有LE200。此 外,CTX被驱动高到了能够为每一 LE200选择调试时钟LD。之后,当R/W控制236驱动合适 的LDE信号时,上下文总线106上的值被载到所寻址的LE200。在上下文写操作期间冻结所 有LE200是很重要的,因为部分上下文能够导致临时状态,临时状态进而使仿真系统进入 一未知状态。例如,最后的上下文可以驱动给定的RESET(复位)信号到低状态,而部分上 下文(在写操作期间)可以导致重置信号上的临时高状态,因此会不可预知地重置连接信 号的所有锁存器。图8a描述了用于输出所有LE200的轨迹数据的全扫描的扫描寄存器108的一个 实施例。根据图8中描述的实施例,扫描寄存器108包含16组的8个触发器242和15组 的8个多路复用器244 (例如,容纳128个LE200),其中多路复用器244置于触发器组242 之间。触发器组0 242被连接至第一组的8个LE200。多路复用器组0 244被连接至触发 器组0 242和第二组的LE200。触发器组1 242被连接至多路复用器组0,如此类推。触发 器组0 242依次接收和传播第一组的8个LE200的输出。多路复用器组0 244并行提供触 发器组0 242的输出或第二组8个LE的输出。触发器组1 242接着按顺序传播其从多路 复用器组0 244接收的输入。触发器组242由扫描时钟控制,而多路复用器组244由扫描 控制信号控制。因此,通过应用具有合适分频的扫描时钟(与操作仿真时钟相关),并有选 择地应用合适的扫描控制信号至多路复用器组244,在一个特定时钟周期的全部128个LE 的抽点能够依次从可重构电路100中扫描出来。转到图8b,现在,根据本发明的教导将详细描述部分扫描寄存器135的集成调试 设备和动态可重构网络137。如图8b所示,动态可重构网络137包含多个连接至多个LE200 的4:1多路复用器502。根据实施例所示,动态可重构网络137包含连接至128个LE200输 出的32个4:1多路复用器。因此,动态可重构网络137使用户能够可重构地路由多达32 个LE200的选择性子集到部分扫描寄存器135。根据本发明的一个实施例,部分扫描寄存器135包含4组且每组8个的触发器562以及置于触发器组562之间的3组且每组8个的多路复用器564。如图10的典型实施例所 示,部分扫描寄存器接收来自动态可重构网络的输入,以便在扫描总线上输出。具体来说, 与全扫描寄存器不同,部分扫描寄存器在扫描总线上输出选择LE的一个子集(例如,四分 之一)的状态值。至于全扫描寄存器和部分扫描寄存器共享扫描总线作为输出的情况而 言,扫描控制和扫描时钟有选择地控制启动哪一个扫描寄存器。尤其是,根据所示的典型实 施例,为了启动在LE阵列中用户所选的LE的部分扫描,用户利用扫描控制和扫描时钟启动 部分扫描寄存器,另一方面,为了启动LE阵列中全部LE的全扫描,全扫描寄存器利用扫描 控制和扫描时钟信号启动。然而,本专业技术人员将会认识到,可以采用其它方法来确定哪个扫描寄存器被启动。例如,在本发明的另选实施例中,扫描寄存器或部分扫描寄存器可仅 仅利用扫描时钟就可被选择为希望的扫描寄存器,如,分别是全扫描寄存器或部分扫描寄 存器。因此,在不背离本发明宗旨和范围的情况下,本发明可以预期这种改进。因此,本专业技术人员将认识到,动态可重构网络137和部分扫描寄存器135赋予 可重构电路100新的灵活性程度,从而使用户能够在任何给定的时钟周期内动态重构和观 看所选LE的一个子集,而不需要繁重的重构以及由此而来的在已有技术中固有的电路设 计映射软件的重新汇编。此外,当需要观看所有LE状态值的一个完整集合时,可重构电路 100被赋予了创新的全扫描寄存器。因此,在给出本发明的具有集成调试设备的动态可重构 集成电路后,仿真系统的用户能够在一个时钟周期内选择观看包含LE阵列的LE的一个子 集,同时,在另一时钟周期内选择观看包含LE阵列的所有LE的状态值的全扫描。参照图9,其中描述了用于输出触发输入的触发电路110的一个实施例的方框图。 如图所示,对于所示实施例来说,触发电路110包含产生4个触发输入的4个比较器-寄存 器电路260,一个触发输入来自一个比较器_寄存器电路260。每个比较器-寄存器电路 260包括用于存储信号模式的寄存器262,以及比较LE输出与模式寄存器262的存储内容 的相等比较器264。在一个实施例中,每个LE200的信号模式包含2比特,允许高、低、或未考虑的值被编码。只要检测到存储模式,即产生在 可重构电路100外部的触发器的输入。换句话说,对于所示实施例来说,4个LE内部状态事 件能够被同时监控。参看图10,根据本发明的一个实施例,该图示出了结合本发明教导的仿真系统 1000实例的方框图。根据图10描述的仿真系统的例子,仿真系统1000被描绘为包含通信 连接到仿真器1060的主系统1020。如图所示,仿真器1060包括如所述通信连接的仿真阵 列和互联网络1080、配置电路1220和主接口 1240。根据本发明的教导,仿真阵列和互联网 络1080包括本发明的动态可重构集成电路1200a-1200n,其包含了多个LE200,用以可编程 配置以仿真和“实现”在电路设计构成之前的特定电路设计。具体来说,创新的动态可重构 集成电路1200a-1200n能够使仿真系统的用户通过部分扫描寄存器控制一个路由网络,以 便有选择地输出所选LE的状态值的一个子集、而以前则是耗时的重新汇编过程,或者已有 技术的仿真系统典型的已有技术的扫描寄存器的全扫描输出。因此,结合了本发明创新特 点的仿真系统,如仿真系统100,能够使这类仿真系统的用户动态改变仿真器内的可视点, 而不需要通过设计映射软件来改变和重新汇编该电路的耗时过程,此过程在复杂电路设计 中常常是以天为单位来测量的。除了仿真阵列和互联网络1080外,仿真器1060所示还包含了配置单元1220和主 接口 1240,它们均如图10的实施例所示进行连接。配置单元1220和主接口 1240均执行本 专业技术人员已知的传统功能,因此在此不再赘述。本专业技术人员将认识到,动态可重构集成电路1200a-1200n能够以其它的一些 形式来很好地体现。举例来说,在一个实施例中,动态可重构集成电路1200a-1200n通过 1200η是相应的多个可重构电路。根据此典型实施例,仿真阵列和互联网络1080包含在一 些可重构电路中分配打包的一些可重构LE,可重构电路依次在一些逻辑板上分配打包。一 些逻辑板可以更好地结合形成一个插件。对于多插件实施例来说,一些插件被结合在一起。 采用可缩放多层多级网络拓扑可以在可重构电路之内把LE与可重构电路、逻辑板和插件互联在一起。除了结合本发明教导的仿真器1060外,典型的仿真系统1000还包含具有电路设 计映射软件1040的主系统1020。本专业技术人员将认识到,电路设计映射软件1040可以 是在相关技术中已知的一些另选的设计映射软件中的任何之一。根据图10所示的实施例, 电路设计映射软件1040被存储在主系统1020的一个合适的存储介质中(未示出),并被加 载到主系统1020的存储器(未示出)中,以便由主系统1020的处理器(未示出)来执行。 总的来说的主系统1020,以及具体来说的设计映射软件1040往往表示在电路仿真技术中 常用的一些主系统和电路设计映射软件的任意之一,因此不需要在此进一步描述。因此,具有特别适合于仿真系统的集成调试设备的可重构集成电路已经被描述。 尽管本发明的方法和集成电路是根据上面所示的实施例来描述的,但本专业技术人员将会 认识到,本发明并不限于所描述的实施例。本发明能够以不背离所附权利要求的宗旨和范 围的改进和变化来实现。如上所述,本发明预期为具有更高或更低复杂性的动态可重构集 成电路。特别是,对于LE阵列102来说,本发明预期为增加或降低的LE阵列尺寸,其中支 持此类LE阵列所需的读/写/纵横制/控制电路也相应地增加/降低。因此,本发明的描 述被认为是说明本发明而不是限制本发明。
权利要求
一种用在仿真系统中的集成电路,包括多个逻辑元件(LE),可重构用以仿真集成电路设计的电路元件,每个元件具有多个输出,其中LE工作后可根据相应地加到LE的多个输入信号产生多个输出信号;以及部分扫描寄存器,用以在扫描总线上捕捉和输出在操作时钟的一个特定时钟周期内由LE的一个所选子集仿真的电路元件的信号状态值的记录;以及与多个LE和部分扫描寄存器耦合的可重构网络,用以在工作时钟的一个特定时钟周期中穷举且可重构地连接部分扫描寄存器至LE的所选子集。
2.权利要求1中的集成电路,其中部分扫描寄存器通过利用与操作时钟成适当比例的 扫描时钟而被有选择地启动。
3.权利要求1中的集成电路,还包括与LE耦合的全扫描寄存器,工作后在一个特定的时钟周期在扫描总线上捕捉和输出 LE的所有信号状态值的记录,其中全扫描寄存器通过应用扫描时钟来启动。
4.权利要求3中的集成电路,其中该集成电路工作后以通过全扫描寄存器提供全扫描 能力,或者通过部分扫描寄存器提供部分扫描能力。
5.权利要求1中的集成电路,还包括与LE耦合的触发电路,工作后可至少部分根据LE的信号状态值而有条件地产生至少 一个触发值。
6.权利要求1中的集成电路,还包括与多个LE和多个集成电路输出耦合的互联网络,根据用以配置互联网络的可重新汇 编的指令集,该互联网络工作后以在多个LE和集成电路输出中以及之间来路由信号。
7.权利要求6中的集成电路,其中互联网络的重构需要重新编译一组新的指令集。
8.权利要求7中的集成电路,其中互联网络的重构使得集成电路不能仿真电路元件。
9.一种仿真系统,包括主机;和至少一个仿真板,该仿真板包含,多个板输入/输出(I/O)引线,其至少一个子集与主机通信连接;和集成电路(IC),具有多个IC输入/输出引线,其至少一个子集耦合至板I/O引线,该 IC包含,多个逻辑元件(LE),可重构以仿真集成电路设计的电路元件,其每一个均具有多个输 出,其中可操作LE根据分别加到LE的多个输入信号产生多个输出信号;以及部分扫描寄存器,用以在扫描总线上捕捉和输出在工作时钟的一个特定时钟周期内由 所选LE仿真的电路元件的信号状态值的记录,以及与多个LE和部分扫描寄存器耦合的可重构网络,用以在工作时钟的一个特定时钟周 期中穷举且可重构地连接部分扫描寄存器至LE的所选子集。
10.权利要求9中的仿真系统,其中集成电路还包括与LE耦合的全扫描寄存器,工作后以在工作时钟的一个特定时钟周期在扫描总线上 捕捉和输出LE的所有信号状态值的记录。
11.权利要求10中的仿真系统,其中全扫描寄存器通过应用扫描时钟而被有选择地启动。
12.权利要求10中的仿真系统,其中,当被启动时,集成电路工作后以通过全扫描寄存 器提供LE的所有信号状态值的全扫描,或者通过部分扫描寄存器提供所选LE的信号状态 值的部分扫描。
13.权利要求9中的仿真系统,还包括与LE耦合的触发电路,工作后以至少部分根据LE的信号状态值而有条件地产生至少 一个触发值。
14.权利要求9中的仿真系统,其中集成电路还包括与LE和多个集成电路输入和输出(I/O)耦合的互联网络,根据用以配置互联网络的可 重新汇编的指令集,该互联网络可工作以在多个LE和集成电路I/O当中以及之间来路由信号。
15.权利要求14中的仿真系统,其中互联网络的重构需要重新汇编一组新的指令集。
16.一种仿真器板,包括多个输入/输出(I/O)引线;以及连接至多个(I/O)引线的集成电路,该集成电路包括多个逻辑元件(LE),可重构以仿真集成电路设计的电路元件,其每一个均具有多个输 出,其中可操作LE根据分别加到LE的多个输入信号产生多个输出信号;以及部分扫描寄存器,工作后以在扫描总线上捕捉和输出在工作时钟的一个特定时钟周期 内由所选LE仿真的电路元件的信号状态值的记录,其中部分扫描寄存器通过利用与工作 时钟成适当比例的扫描时钟而被启动;并且与多个LE和部分扫描寄存器耦合的可重构网络,用以在工作时钟的一个特定时钟周 期中穷举且可重构地连接部分扫描寄存器至LE的所选子集。
17.权利要求16的仿真器板,其中集成电路还包括与LE耦合的全扫描寄存器,当被启动时,将被操作以在工作时钟的一个特定时钟周期 在扫描总线上捕捉和输出LE的所有信号状态值的记录。
18.权利要求17的仿真器板,其中集成电路工作后以通过全扫描寄存器提供全扫描能 力,或者通过部分扫描寄存器提供部分扫描能力。
19.权利要求16的仿真器板,其中集成电路还包括与LE耦合的触发电路,工作后用以至少部分根据LE的信号状态值而有条件地产生至 少一个触发值。
20.权利要求16的仿真器板,其中集成电路还包括与LE和多个集成电路输入和输出(I/O)耦合的互联网络,根据用以配置互联网络的一 组可重新汇编的指令集,该互联网络可工作以在多个LE和集成电路I/O当中以及之间来路由信号。
21.权利要求20的仿真器板,其中互联网络的重构需要重新汇编一组新的指令集。
22.一种用于仿真系统中的集成电路,包括多个逻辑元件(LE),可重构以仿真集成电路设计的电路元件,其每一个均具有多个输 出,其中可操作LE根据分别加到LE的多个输入信号产生多个输出信号;与所选的各个LE耦合的部分扫描寄存器,这样,当其被启动时,部分扫描寄存器工作 后以在扫描总线上捕捉和输出在工作时钟的一个特定时钟周期内由所选LE仿真的电路元件的信号状态值的记录;以及与LE耦合的全扫描寄存器,当利用扫描时钟启动时,工作后以在工作时钟的一个特定 时钟周期在扫描总线上捕捉和输出LE的所有信号状态值的记录。
23.权利要求22中的集成电路,其中在工作时钟的一个特定时钟周期内,部分扫描寄 存器或全扫描寄存器利用扫描时钟启动。
全文摘要
一种集成电路,包括多个逻辑元件(LE)和一个部分扫描寄存器,每个逻辑元件具有多个输出。使多个LE工作通过根据相应地加给LE的多个输入信号产生多个输出信号。部分扫描寄存器可被重构连接到所选的几个LE,这样,当被启动时,部分扫描寄存器可工作以在扫描总线上捕捉和输出在工作时钟的一个特定时钟周期内由所选LE仿真的电路元件的信号状态值的记录,其中部分扫描寄存器通过利用与工作时钟成适当比例的扫描时钟而被启动。
文档编号H03K19/177GK101813749SQ20101012008
公开日2010年8月25日 申请日期2000年2月7日 优先权日1999年9月24日
发明者F·雷布勒夫斯基, O·勒帕佩 申请人:明导公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1