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

用于HDL环境的全局时钟处理程序对象制造技术

技术编号:8594103 阅读:160 留言:0更新日期:2013-04-18 07:19
本公开涉及一种用于HDL环境的全局时钟处理程序对象。公开了用于硬件描述语言(HDL)环境中的全局时钟处理程序对象。HDL模块可包括一个或多个时钟语句。当计算机系统执行所述时钟语句时,可调用时钟处理程序对象。所述时钟处理程序对象可生成用于集成电路设计的一个或多个仿真功能块的仿真时钟信号。每个仿真时钟可被分配至单独的和唯一线程。时钟处理程序对象可以是被配置为管理集成电路设计的每个仿真时钟信号的单体对象。可由动态阵列中的时钟处理程序对象执行每个仿真时钟信号的生成和控制。所述动态阵列可包括为每个仿真时钟信号指定参数的元素。

【技术实现步骤摘要】

本专利技术涉及硬件描述语言(HDL),更具体地说,涉及HDL环境中仿真时钟信号的生成和控制。
技术介绍
部分地由于用现代制造技术可获得的高集成度,集成电路设计变得非常复杂。按电路级乃至逻辑门级设计具有高集成度的复杂集成电路是不切实际的。因此,为了管理复杂的集成电路设计,已开发出了各种硬件描述语言(HDL)。HDL允许集成电路的高级描述。所述描述可以是计算机系统上可执行的用于仿真集成电路设计的软件代码形式。此外,HDL可用于已知为测试平台(testbench)的写模块,其可用于测试描述特定硬件的其他模块。典型的集成电路设计可包括多个不同的功能单元。例如,片上系统(SOC)设计可包括多个处理器核心、至少一个存储装置、图形处理单元、切换单元以及一个或多个接口电路。这些不同的功能单元中的每一个可由单独的HDL模块进行描述。更具体而言,每个HDL模块可由HDL代码的多个语句来描述,所述多个语句是功能单元的速记描述。这些语句可连同描述其内部操作的附加语句一起,指定功能块的输入和输出。许多这种功能单元可需要时钟信号。因此,每个相应的HDL模块可包括许多用参数(例如频率、开始时间、停止时间以及各种统计监测状态)指定时钟信号的语句。
技术实现思路
公开了一种用于在硬件描述语言(HDL)环境中使用的全局时钟处理程序对象。在一个实施例中,HDL模块可包括一个或多个时钟语句。当计算机系统执行所述时钟语句时,可调用时钟处理程序对象。时钟处理程序对象可生成用于集成电路设计的一个或多个仿真功能块的仿真时钟信号。每个仿真时钟可被分配到单独且唯一的线程中。时钟处理程序对象可以是被配置为管理集成电路设计的每个仿真时钟信号的单独对象。在一个实施例中,已知为测试平台的HDL模块可包括多个不同的时钟语句。测试平台可被配置为执行体现集成电路设计(被测器件,或“DUT”)的另一 HDL模块的测试。响应于时钟语句的执行,测试平台可以调用时钟处理程序对象,以产生相应时钟信号的仿真并将其分配到各自的DUT端口。每个时钟处理程序语句可以指定相应仿真时钟信号的某些参数。这种参数可包括(但不限于)频率、开始时间、终止时间以及与另一时钟信号相关的偏移量。时钟处理程序对象可保持动态阵列来跟踪各种仿真时钟信号和其对应的参数。时钟处理程序对象可根据测试平台生成和控制用于测试平台和DUT仿真过程中的操作的所有仿真时钟信号。时钟处理程序对象可以是单体对象,即,可在集成电路设计仿真期间被一次实例化。附图说明下面的详细说明参考附图,现在进行简要描述。图1是集成电路设计和对应于所述设计的硬件描述语言(HDL)模块的对应组的一个实施例的框图。图2是例示一组HDL模块的一个实施例的组织的框图,所述一组HDL模块包括时钟处理程序对象和测试平台模块,用于测试集成电路设计。图3是例示由时钟处理程序对象的一个实施例维持的动态阵列的示意图。图4是例示方法的一个实施例的流程图,所述方法使用测试平台启动集成电路设计的测试。图5是计算初可读介质的一个实施例的框图。虽然本专利技术易受各种修改和替代形式的影响,通过附图中的实例示出了其具体实施例,并且此外将对其进行详细描述。然而,应当理解,附图和随附的详细描述并不打算将本专利技术限制于公开的特定形式,而是相反,意图覆盖落入所附权利要求限定的精神和范围内的所有修改、等效和替代。本文中所使用的标题仅用于组织目的,并且不意味着用于限制描述的范围。正如在整个本申请中所用,词语“可能(may)”用于允许的意思(S卩,意思是有潜在性),而不是强制性的意思(即,意思是必须)。类似地,词语“包括(include,includingincludes) ”的意思是包括但不限于。各种单元、电路或其它组件可以被描述为“被配置为”执行一个或多个任务。在这种上下文中,“被配置为”是结构的广义记载,通常是指具有在操作过程中执行一个或多个任务的“电路”。因此,所述单 元/电路/组件可被配置为执行所述任务,即使当单元/电路/组件当前没有接通。通常,形成与“被配置为”相对应的结构的电路可包括硬件电路和/或存储用以实现操作的可执行程序指令的存储装置。存储装置可包括易失性存储装置,例如静态或动态随机访问存储装置和/或非易失性存储装置,如光盘或磁盘存储器,闪存存储装置,可编程只读存储装置等。同样地,为方便起见,各种单元/电路/组件可被描述为执行一个或多个任务。这种描述应被解释为包括短语“配置为”。记载被配置为执行一个或多个任务的单元/电路/组件明确不旨在引用35U. S. C. § 112,第六段的对于单元/电路/组件的解释。具体实施例方式现在转到图1,例示了集成电路设计和对应于所述设计的硬件描述语言(HDL)模块的对应组的一个实施例的框图。所示实施例中的集成电路(IC) 10是包括多个功能块的初步IC设计的框图。需要注意此处例示的IC 10是示例性的,它不旨在于限制。在其提出的设计中,IC 10是具有两个核(核12和核14)的多核处理器。在一个实施例中,核12和14可以彼此相同。在另一个实实例中,所述核可以不同,例如,一个核可以被实现为一般处理,而另一个核专用于图形处理。IC 10还包括耦合到两个核的存储控制器15。在最终的实现中,存储装置控制器15要被配置成向系统存储装置提供接口。IC 10还包括耦合到两个核和存储装置控制器16的总线接口 16。总线接口 16在最终实现中被配置成在IC 10和一个或多个外围总线之间提供接口。更具体而言,总线接口 16可协调附接到外围总线的设备和IC 10的其它功能块之间的流量。在图1所示的示例中,IC 10的设计可由硬件描述语言(HDL)模块20表示,其又由其它HDL模块组成。在这个示例中的HDL模块22是核12的HDL描述。类似地,HDL模块24、25和26分别提供了核14、存储控制器15和总线接口 16的HDL描述。在HDL(即在编译之前)中,每个模块可包括许多语句。HDL语句可指定到每个模块的输入、从每个模块的输出、由每个模块执行的操作等。还需注意图1所示的每个HDL模块本身也可包含其他的HDL模块。例如,图1所示的给定的HDL模块可包括其他模块,例如,加法器、除法器、多路复用器,存储装置、各种类型的状态机等等。HDL模块20中的某些HDL模块可从预先设计的库中获得,而另一些可在IC 10的设计过程中写入。图2是例示一组HDL模块的一个实施例的组织的框图,所述HDL模块包括用于测试集成电路设计的测试平台模块和时钟处理程序对象。给定示例中的测试平台32是被配置为执行HDL模块20中所述的IC设计的测试的HDL模块和上述结合图1描述的各种模块。因此,所示实施例中的测试平台32包括HDL模块20及其各种子模块。此外,测试平台模块32还可包括许多HDL语句,当执行时,所述语句向HDL模块20和其子模块提供测试刺激。这些语句在某些情况下可检查通过提供测试刺激产生的结果,虽然独立的验证语句也可能包含在测试平台32中,以用于更为复杂和/或需要更多的时间来完成的测试。所示实施例中的测试平台32包括许多示例性的时钟语句。当执行时,这些时钟语句调用时钟处理程序对象35。响应于每个时钟语句的执行,时钟处理程序对象35可产生提供到HDL模块20的时钟端口之一(例如,CLK本文档来自技高网...

【技术保护点】
一种方法,包括:计算机系统在集成电路的仿真期间执行时钟处理程序语句;在计算机系统上执行的时钟处理程序对象响应于时钟处理程序语句的执行生成仿真时钟信号。

【技术特征摘要】
2011.10.14 US 13/274,0151.一种方法,包括计算机系统在集成电路的仿真期间执行时钟处理程序语句;在计算机系统上执行的时钟处理程序对象响应于时钟处理程序语句的执行生成仿真时钟信号。2.如权利要求1所述的方法,还包括将仿真时钟信号指定到硬件描述语言(HDL)模块的仿真时钟端口,其中HDL模块对应于一集成电路块。3.如权利要求1所述的方法,还包括时钟处理程序对象生成对应于仿真时钟信号的线程。4.如权利要求1所述的方法,还包括时钟处理程序对象设置仿真时钟信号的参数,其中所述参数包括时钟信号偏移。5.如权利要求4所述的方法,还包括时钟处理程序对象保持对应于仿真时钟信号和一个或多个附加仿真时钟信号的信息的动态阵列,其中动态阵列中的每个兀素包含关于仿真时钟信号和一个或多个附加仿真时钟信号之一的参数的信息。6.如权利要求5所述的方法,其中动态阵列中的每个元素包括指示对应的仿真时钟信号的周期的值。7.如权利要求1所述的方法,还包括测试平台模块进行HDL模块的测试,其中测试平台模块包括时钟处理程序语句。8.一种计算机系统,包括存储器电路,存储多个硬件描述语言(HDL)模块,其中所述多个HDL模块包括描述集成电路设计的一个或多个HDL模块,其中所述集成电路设计包括一个或多个功能块,每个功能块由多个HDL模块中对应的一个描述,并且所述一个或多个功能块中的每一个使用一个或多个时钟信号中的一个;处理器,被配置为基于多个HDL模块来仿真集成电路的操作,其中仿真集成电路的操作包括使用时钟处理程序生成一个或多个仿真时钟信号,其中时钟处理程序可执行以响应于时钟语句的执行而生成用于由对应HDL模块描述的对应功能块的对应仿真时钟信号。9.如权利要求8所述的计算机系统,其中所述处理器被配置为执行时钟处理程序以生成多个仿真时钟信号,每个仿真时钟信号对应于由多个HDL模块中的对应的一个描述的集成电路设计的多个功能块之一。10.如权利要求9所...

【专利技术属性】
技术研发人员:W·W·杨C·R·费尔南多
申请(专利权)人:苹果公司
类型:发明
国别省市:

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

1