当前位置: 首页 > 专利查询>新思公司专利>正文

用于基于分组转换的逻辑复制的方法和系统技术方案

技术编号:7868262 阅读:266 留言:0更新日期:2012-10-15 02:30
描述了一种用于对源电路的表示进行编译的方法和系统,所述源电路的表示包括与由多个时钟域驱动的源逻辑的部分相关的一个或多个源子信道。每个源子信道可以产生分组,所述分组携带来自源逻辑的一个部分的信号数据。目的电路的表示可以被编译成包括与复制源逻辑的目的逻辑的部分相关的一个或多个目的子信道。每个目的子信道可以经由分组将信号数据转发到目的逻辑的一个部分。转换逻辑可以被配置成作为虚拟信道将源子信道映射到目的子信道,从而从源子信道将分组转发到目的子信道。单个队列可以被配置成与转换逻辑耦合,从而将来自源子信道的分组记录到分组流一段延迟期间,从而分配到目的子信道。目的逻辑可以仿真与延迟了延迟期间的多个时钟域同步的源逻辑。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术的实施例涉及调试集成电路的领域,以及更具体地涉及使用基于分组转换的虚拟信道来复制逻辑的调试集成电路。
技术介绍
设计集成电路(IC)或系统通常需要验证和/或调试以确保设计正确性。一个通常的实践可以基于通过克隆模块并通过FIFO (快进快出)延迟缓冲器向模块输送(pipe)输入来为逻辑模块提供可视化的硬件辅助验证(HAV)。US专利No. 7,213,216描述了这种实践的示例。可以使用缓冲的输入在克隆的逻辑模块上执行逻辑模块的测试用例的仿真。然而,如果模块包含多个时钟(或在多个时钟域),HAV可能需要对每个时钟域的所有输入以分开的FIFO来缓冲。所以,需要另外的硬件和复杂的软件来在每个时钟域中同步仿真操作。 而且,在片上RAM (随机存取存储器)中执行的FIFO可能受到未使用的存储器空间的可用性的限制。为了增加FIFO中的缓冲量,可以采用如DDR2(双倍数据速率2)或SDRAM(同步动态RAM)的片外存储器。然而,板上空间和/或引脚线限制可能会阻止对于每个时钟域使用单个物理存储器来实施FIFO。从而,可能需要从单个物理存储器构建用于不同的时钟域的多个FIFO。然而,片外存储器可能受固定的数据宽度的限制。另外,对于每个FIFO的分开的地址空间可能具有严格的带宽限制,例如由存储器内容转换中的显著开销所引起。所以,硬件辅助设计验证的传统数据缓冲没有提供有效的和可扩展的解决方案。而且,可以在下面的美国专利中找到关于逻辑设计或验证的背景信息5,036,473 ;5,452,231 ;5,596,742 ;5,661,662 ;5,761,484 ;5,812,414 ;和 6,581,191。
技术实现思路
本专利技术的实施例包括编译源电路的表示的方法和设备,所述源电路的表示包括与由多个时钟域驱动的源逻辑的部分相关的一个或多个源子信道。每个源子信道可以产生携带来自源逻辑的部分中的一个部分的信号数据的分组。目的(destination)电路的表示可以被编译成包括与复制源逻辑的目的逻辑的部分相关的一个或多个目的子信道。每个目的子信道可以经由分组将信号数据转发到目的逻辑的部分中的一个部分。转换逻辑可以被配置成作为虚拟信道将源子信道映射到目的子信道,以将分组从源子信道转发到目的子信道。单个队列可以被配置成与转换逻辑耦合,从而将来自源子信道的多个时钟域的分组记录到延迟期间的分组流中,以分配到目的子信道。目的逻辑可以对与延迟了延迟期间的多个时钟域同步的源逻辑进行仿真。在本专利技术的另一个方面,可以产生分组来携带来自源逻辑的多个部分的信号数据以用于克隆源逻辑的部分的目的逻辑。分组可以包括标识符,该标识符对将源逻辑的多个部分映射到目的逻辑的多个部分的虚拟信道进行标识。队列可以将分组作为信号数据的轨迹存储一段期间。可以根据标识的虚拟信道将分组从队列中分配到目的逻辑的部分中。可以从分组中析取信号数据,以更新目的逻辑的部分,以用于目的逻辑仿真对于轨迹期间具有延迟的源逻辑。在本专利技术的又另一个方面中,可以产生分组来表示来自由多个时钟域驱动的源逻辑的多个部分的信号数据。每个部分可以属于一个时钟域。可以根据包括报头字段和净荷字段的分组格式来格式化分组。净荷字段可以携带信号数据。报头字段可以携带标识符,所述标识符对将源逻辑的多个部分映射到目的逻辑的多个部分的虚拟信道进行标识,所述目的逻辑克隆源逻辑。每个分组可以存储在对应于源逻辑的多个部分的多个队列中的一个队列中。可以从交错到与每个时钟域同步的分组流中的多个队列仲裁(arbitrate)分组以用于根据虚拟信道到目的(或目标)逻辑的分配。在本专利技术的又另一个方面中,集成电路可以包括在多个不同的时钟域下操作的源逻辑的多个部分,和复制源逻辑的目的逻辑的多个部分。集成电路中的存储可以存储将源逻辑的多个部分映射到目的逻辑的多个部分中的虚拟信道。集成电路中的集中器逻辑可以使得携带来自源逻辑的多个部分的信号数据的分组串行化成存储中的队列以用于延迟。每个分组可以标识虚拟信道中的一个虚拟信道。集成电路中的分配器逻辑可以根据延迟随后 的虚拟信道来将来自从队列中获取的分组的信号数据分配到目的逻辑的部分中。在本专利技术的又另一个方面中,可以从一个或多个IC选择源逻辑的多个部分以用于复制。组装(packing)逻辑可以插入源逻辑中,以产生用于表示IC的所选择的部分的信号数据的分组。每个分组可以包括源标识符,所述源标识符标识一个所选择的部分。析取逻辑可以被插入复制源逻辑的所选择的部分的目的逻辑。可以从在用于所复制部分的析取逻辑中的获得的分组中提取信号数据。每个接收的分组可以包括目的标识符,所述目的标识符标识所复制部分中的一个所复制部分。转换逻辑可以被配置成作为虚拟信道以将信号数据经由记录信号数据的轨迹的延迟逻辑在延迟期间从所选择的部分转发到所复制部分中,来将目的标识符映射到源标识符。可以在显示装置中显示IC的表示。可以编译硬件描述语言(HDL)代码来产生表示IC的技术独立的RTL (寄存器传递级)网表。在本专利技术的又另一个方面中,分组转换集线器可以利用存储器(片外存储器)的接近全潜在带宽将携带来自源电路的不同时钟域的信号数据的数据分组汇集成单个缓冲器(例如FIFO)中的单个分组流。可以在存储器中以近似于他们实时发生的顺序(仲裁错误容限内)来被放入分组中以分配到目的电路。使用单个缓冲器的能力可以允许分组转换集线器消除同步对应于不同的时钟域的分开的缓冲器的复杂性。在其他实施例中,分组转换集线器可以从芯片到芯片给路由信号提供灵活性,获取特征数据,和/或发起用于系统提出的测试矢量。本专利技术包括方法和执行所述方法的设备,所述设备包括执行所述方法的数据处理系统和当在数据处理系统上执行时引起系统执行所述方法的计算机可读介质。根据附图和下面的详细描述,本专利技术的其他特征将会显而易见。附图说明以示例的方式而非限制的方式示出了本专利技术,其中在附图中,相同的参考数字指示相似的元件。图I示出了本专利技术的逻辑仿真的一个实施例;图2是示出了用于为了逻辑仿真或逻辑设计测试来转换分组的示例性系统的框图;图3是示出了用于建立源逻辑和目的逻辑之间的虚拟信道的示例性结构的框图;图4是示出了用于转换分组的集线器控制逻辑的示例性结构的框图;图5是示出了携带用于逻辑信道的数据的分组格式的示例的示意图;图6是示出了用于分组转换集线器的示例性配置的框图;图7是示出了根据本专利技术的一个实施例用于逻辑仿真的进程的流程图;图8是示出了经由虚拟信道转发分组的进程的实施例的流程图;图9是示出了汇聚和分配分组的进程的实施例的流程图; 图10是示出了可以实施本专利技术的某些方面的合适的计算环境的框图。具体实施例方式描述了用于使用虚拟信道来复制逻辑的系统和方法的实施例。在下面的描述中,提出了多个特定的细节。然而,可以理解,在没有所述特定细节的情况下可以实施本专利技术的实施例。在其他实例中,为了对本说明书的理解不模糊,没有详细显示已知的电路、结构和技术。贯穿本说明书,关于“一个实施例”或“实施例”,意思是与实施例关联描述的特定的特征、结构或特性包括在至少一个本专利技术的实施例中。从而,贯穿本说明书在各处出现的短语“在一个实施例中”或“在实施例中”不是必须都指相同的实施例。而且,特定的特征、结构或特性可以在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.01.22 US 12/692,5621.一种用于调试的方法,该方法包括 编译源电路的表示,所述源电路的表示包括与由多个时钟域驱动的源逻辑的部分关联的一个或多个源子信道,每个源子信道用于产生携带来自源逻辑的一个部分的信号数据的分组; 编译目的电路的表示,所述目的电路的表示包括与复制所述源逻辑的目的逻辑的部分关联的一个或多个目的子信道,每个目的子信道用于经由所述分组将所述信号数据转发到所述目的逻辑的一个部分; 配置转换逻辑,所述转换逻辑作为虚拟信道将所述源子信道映射到所述目的子信道,以将所述分组从所述源子信道转发到所述目的子信道;以及 配置单个队列,所述单个队列与所述转换逻辑耦合,从而将来自所述源子信道的分组记录到延迟期间的分组流中,以分配到所述目的子信道,以使所述目的子信道对与具有延迟期间的所述多个时钟域同步的所述源逻辑进行仿真。2.根据权利要求I所述的方法,其中所述转换逻辑基于一个或多个可编程逻辑装置,所述可编程逻辑装置装载有表示所述转换逻辑的二进制代码,该方法进一步包括 编译表示所述转换逻辑的源代码以产生所述二进制代码。3.根据权利要求2所述的方法,其中所述可编程逻辑装置为FPGA(场可编程逻辑阵列) 装直。4.根据权利要求I所述的方法,其中所述分组基于包括报头字段和净荷字段的分组格式,所述报头字段用于携带标识所述虚拟信道的信道标识符,以及所述净荷字段用于携带所述信号数据。5.根据权利要求4所述的方法,其中每个分组包括信道标识符中的一个信道标识符,该一个信道标识符对将所述源子信道映射到所述目的子信道中的一个目的子信道的虚拟信道中的一个虚拟信道进行标识。6.根据权利要求5所述的方法,其中所述源子信道包括组装逻辑,所述组装逻辑用于将所述信道标识符中的一个信道标识符组装成带有所述信号数据的分组。7.根据权利要求5所述的方法,其中所述目的子信道中的一个目的子信道包括析取逻辑,所述析取逻辑用于从所述分组中析取所述信号数据。8.根据权利要求7所述的方法,其中所述虚拟信道中的一个虚拟信道包括字计数,所述字计数指示所述分组中的所述信号数据的大小,以及其中所述析取逻辑从所述分组中析取所述字计数。9.根据权利要求I所述的方法,其中来自所述源子信道的所述分组以实质上相等的速率从所述单个队列弹出和被推入所述单个队列中。10.根据权利要求I所述的方法,其中所述转换逻辑包括存储所述虚拟信道的定义的只读存储。11.一种用于逻辑设计测试的方法,该方法包括 产生分组以携带来自源逻辑的多个部分的信号数据以用于克隆所述源逻辑的目的逻辑,所述分组包括标识符,该标识符对将所述源逻辑的所述多个部分映射到所述目的逻辑的多个部分的虚拟信道进行标识; 将所述分组在所述信号数据的队列中存储一段期间;根据所标识的虚拟信道,从所述队列中分配所述分组到所述目的逻辑的所述部分;以及 从所述分组中析取所述信号数据,以更新所述目的逻辑的所述部分,从而使得所述目的逻辑对具有所述一段期间的延迟的所述源逻辑进行仿真。12.根据权利要求11所述的方法,其中所述源逻辑由多个时钟域驱动,以及其中每个部分属于一个所述域。13.根据权利要求11所述的方法,其中所述队列处于转换逻辑中,所述转换逻辑经由一个或多个接口与所述源逻辑耦合,其中所述源逻辑的所述多个部分与多个源信道队列关联,以及其中存储所述分组包括 在所述多个源信道队列中的一个源信道队列中临时地存储每个分组;以及 经由所述接口中的一个接口从所述源信道队列中的至少一个源信道队列发送分组到所述转换逻辑。14.根据权利要求13所述的方法,其中所述源逻辑被划分成一个或多个装置,以及其中每个装置包括所述接口中的一个接口。15.根据权利要求13所述的方法,该方法进一步包括 将来自所述源信道队列中的至少一个源信道队列的分组仲裁成序列,以用于共享与所述源逻辑同步的接口中的一个接口。16.根据权利要求15所述的方法,其中所述转换逻辑由转换时钟域驱动,所述方法进一步包括 与所述转换时钟域同步,以用于经由所述接口发送所述分组。17.根据权利要求13所述的方法,其中所述转换逻辑包括对应于所述一个或多个接口的一个或多个接收器队列,以允许所述分组同时到达所述接口之中,该方法进一步包括 将来自序列中的所述接收器队列的所述分组仲裁成与所述源逻辑同步的队列。18.根据权利要求11所述的方法,其中所述转换逻辑包括存储单元,所述存储单元用于存储由标识符索引的所述虚拟信道的多个信道定义,其中所述分配包括 从序列中的所述队列中获取所述分组; 对来自针对所述信道定义获取的所述分组的标识符进行解码。19.根据权利要求18所述的方法,其中所述多个信道定义包括用于所述目的逻辑的多个部分的目的标识符,该方法进一步包括 用所述目的标识符代替所述标识符来更新所述分组。20.根据权利要求18所述的方法,其中所述多个信道定义对分别耦合到所述目的逻辑的一个或多个发送器队列进行标识,该方法进一步包括 在所述发送器队列的一个发送器队列中临时地存储每个分组;以及 从所述发送器队列将所述分组并行发送到与所述源逻辑同步的所述目的逻辑。21.根据权利要求20所述的方法,其中所述目的逻辑被划分成一个或多个装置,以及其中每个装置与所述发送器队列中的一个发送器队列关联。22.根据权利要求20所述的方法,其中所述目的逻辑包括对应于目的逻辑的多个部分的多个目的信道队列,该方法进一步包括 根据所述目的标识符将所述分组临时地存储到所述发送器队列中;以及从所述发送器队列获取所述分组,其中所述析取基于从与所述源逻辑同步的所述发送器队列获取的分组。23.根据权利要求18所述的方法,其中根据所述分组中的一个特定分组来索引所述信道定义中的一个特定信道定义,其中所述特定信道定义包括到所述目的逻辑的接口地址,该方法进一步包括 如果所述特定信道定义指示直接的连接,则经由所述接口地址将所述特定分组直接发送到所述目的逻辑。24.一种用于逻辑仿真的方法,该方法包括 响应于经由接口从源逻辑串行接收分组,从每个分组解码标识符以对克隆所述源逻辑的目的逻辑的多个部分中的一个部分进行标识,根据包括...

【专利技术属性】
技术研发人员:R·埃里克森
申请(专利权)人:新思公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1