【技术实现步骤摘要】
【国外来华专利技术】
本专利技术的实施例涉及调试集成电路的领域,以及更具体地涉及使用基于分组转换的虚拟信道来复制逻辑的调试集成电路。
技术介绍
设计集成电路(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,8 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】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.一种用于逻辑仿真的方法,该方法包括 响应于经由接口从源逻辑串行接收分组,从每个分组解码标识符以对克隆所述源逻辑的目的逻辑的多个部分中的一个部分进行标识,根据包括...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。