CN101866373B - 用于电子设计自动化的执行监视器 - Google Patents

用于电子设计自动化的执行监视器 Download PDF

Info

Publication number
CN101866373B
CN101866373B CN200910207635.8A CN200910207635A CN101866373B CN 101866373 B CN101866373 B CN 101866373B CN 200910207635 A CN200910207635 A CN 200910207635A CN 101866373 B CN101866373 B CN 101866373B
Authority
CN
China
Prior art keywords
flow process
eda
user
execution
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN200910207635.8A
Other languages
English (en)
Other versions
CN101866373A (zh
Inventor
A·S·波特姆斯基
J·S·蒂森
S·R·厄宇特斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Synopsys Inc
Original Assignee
Synopsys Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/423,955 external-priority patent/US8413103B2/en
Application filed by Synopsys Inc filed Critical Synopsys Inc
Publication of CN101866373A publication Critical patent/CN101866373A/zh
Application granted granted Critical
Publication of CN101866373B publication Critical patent/CN101866373B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明涉及用于电子设计自动化的执行监视器。描述了计算机系统、方法、图形用户界面和用于与计算机系统一起使用的计算机程序产品(即软件)的实施例。芯片设计者可以使用这些设备和/或技术来配置和监视与电路或者芯片设计关联的用户可配置的电子设计自动化(EDA)流程中的任务执行。具体而言,使用EDA软件中的直观和交互的图形用户界面,芯片设计者可以配置和启动EDA流程的执行。然后,在执行EDA流程中的EDA任务期间,图形用户界面中的执行监视器可以提供用于EDA任务的实时执行状态信息的图形表示。另外,如果出现任何错误或者问题,则芯片设计者可以使用EDA软件来调试电路或者芯片设计。

Description

用于电子设计自动化的执行监视器
相关申请的交叉引用
本申请要求对发明人AndrewStanleyPotemski、JohnScottTyson和StevenRobertEustes于2008年3月13日提交、标题为“ExecutionMonitorforElectronicDesignAutomation”、代理案号为SNPS-1193P的美国临时申请第61/160,202号的优先权。
技术领域
本公开内容涉及电子设计自动化(EDA)技术。更具体而言,本公开内容涉及一种用于监视EDA软件的执行的技术。
背景技术
随着半导体技术升级至越来越小的尺度,芯片复杂性相应增加。例如,更小尺度通常实现逻辑门和时域数目增加的芯片。另外,芯片复杂性的这一增加通常造成设计芯片所需时间和成本的明显增加。
在一种解决这些问题的尝试中,芯片设计者使用更精细的设计技术。然而,所得EDA软件的复杂性常常制约项目可见性,这使得芯片设计者难以监视和管理大量设计细节,这些设计细节包括复杂的铸造厂特有设计规则和库。因而芯片设计生产率和时间表可预测性常常受到不利影响。实际上,多数芯片设计流片无法满足它们的限期。
因此,需要一种无上述问题的EDA技术。
发明内容
本公开内容的一个实施例提供一种用以对用户可配置的EDA流程的执行进行监视的计算机系统。在操作期间,计算机系统提供第一信号以在显示器上显示流程控制环境,其中流程控制环境包括执行监视窗口。另外,计算机系统接收第一用户输入以启动表示为块序列的用户可配置的EDA流程,并且计算机系统监视用户可配置的EDA流程的执行。然后,计算机系统提供第二信号以在执行监视窗口中显示在执行用户可配置的EDA流程期间的进度的执行状态信息并且如果出现任何错误则显示错误。
在一些实施例中,计算机系统接收第二用户输入以调试出现的错误。可以在执行用户可配置的EDA流程期间调试这一错误。
块序列中的给定块可以包括子块流程,而子块流程中的给定子块可以代表对电路设计进行的EDA任务序列。另外,用户可配置的EDA流程的执行可以包括监视EDA任务序列的执行,而执行状态信息可以包括EDA任务序列的执行状态。因而,执行状态信息可以包括用于EDA任务序列的色彩编码信息。注意,可以预先定义EDA任务序列中的至少一些EDA任务和/或块序列的至少一部分。
在一些实施例中,计算机系统提供第三信号以在流程控制环境中显示块序列的图形表示。用户可以使用块的拖放组件来定义这一块序列。另外,可以用所见即所得格式呈现块序列的图形表示。在这一图形表示中,箭头图标可以表明在用户可配置的EDA流程期间的信息的源和目的地。此外,可以使用色彩编码信息在图形表示中表明在执行用户可配置的EDA流程期间的进度和任何错误。
注意,块序列可以包括并行执行的块。
另一实施例提供一种用于与计算机系统结合使用的计算机程序产品。这一计算机程序产品可以包括与至少一些前述操作对应的指令。
另一实施例提供一种用于对用户可配置的EDA流程的执行进行监视的方法。这一方法可以包括至少一些前述操作。
另一实施例提供一种在显示器上显示的流程控制环境中的图形用户界面。这一图形用户界面可以被配置成监视用户可配置的EDA流程的执行。另外,执行监视窗口可以被配置成显示用户可配置的EDA流程中的块序列的图形表示,并且可以被配置成,至少部分地基于对用户可配置的EDA流程的执行的监视,显示在执行用户可配置的EDA流程期间的图形化的执行状态信息并且如果出现任何错误则显示错误。
附图说明
图1是图示了根据本发明一个实施例的在集成电路的设计和制作中的各种操作的流程图。
图2是图示了根据本发明一个实施例的EDA系统的框图。
图3是图示了根据本发明一个实施例的流程控制环境用户界面的框图。
图4是图示了根据本发明一个实施例的流程配置用户界面的框图。
图5是图示了根据本发明一个实施例的执行监视器用户界面的框图。
图6是图示了根据本发明一个实施例的用于对用户可配置的EDA流程在图2的EDA系统中的执行进行监视的方法的流程图。
图7是对根据本发明一个实施例的执行图6的方法的计算机系统进行图示的框图。
图8是图示了根据本发明一个实施例的数据结构的框图。
图9是图示了根据本发明一个实施例的数据结构的框图。
注意相似标号在附图中通篇指代对应部分。
具体实施方式
呈现以下描述以使本领域技术人员能够实现和利用本发明,并且在特定应用及其要求的背景下提供该描述。本领域技术人员将容易清楚对公开的实施例的各种修改,并且这里限定的一般原理可以适用于其它实施例和应用而不脱离本发明的精神实质和范围。因此,本发明不限于所示实施例而是将被赋予以与这里公开的原理和特征一致的最广范围。
描述计算机系统、方法、图形用户界面和用于与计算机系统一起使用的计算机程序产品(即软件)的实施例。芯片设计者可以使用这些系统、设备和/或技术来配置和监视与电路或者芯片设计关联的用户可配置的电子设计自动化(EDA)流程中的任务执行。具体而言,使用EDA软件中的直观和交互的图形用户界面,芯片设计者可以配置和启动EDA流程的执行。然后,在执行EDA流程中的EDA任务期间,图形用户界面中的执行监视器可以提供用于EDA任务的实时执行状态信息的图形表示。另外,如果出现任何错误或者问题,则芯片设计者可以使用EDA软件来调试电路或者芯片设计。
通过提供关于进度和任何问题的实时反馈,这些设备和技术可以提高:项目可见性、生产率和/或可预测性。例如,使用这些设备和技术,芯片设计者可以在单次遍历设计循环中设计制造准备就绪的电路或者芯片。因而,这些设备和技术可以使得更容易让芯片设计者设计电路或者芯片,这可以减少电路或者芯片设计的时间和成本,由此增加客户满意度和保持度。
现在描述设计和制作集成电路或者芯片的实施例。图1是图示了在设计和制作集成电路时的各种操作的流程图100。这一过程开始于产品想法(110)的生成,该产品想法在使用电子设计自动化(EDA)软件(112)的设计过程期间实现。当设计定稿时,可以对该设计进行流片(tap-out)(134)。在流片之后,制作(136)半导体管芯并且进行封装和组装工艺(步骤138),最终产生成品芯片(140)。
注意使用EDA软件(112)的设计过程包括下文描述的操作114-132。这一设计流程描述仅用于示例目的。具体而言,本描述并非用来限制本公开内容。具体而言,实际集成电路设计可以要求设计者在与下文描述的序列不同的序列中进行设计操作。
在系统设计(114)期间,设计者描述将要实施的功能。他们也可以进行假设(what-if)规划以精化该功能和检验成本。注意硬件-软件架构划分也可以出现在这一阶段。可以在这一阶段使用的来自加利福尼亚州芒廷维尤市Synopsys公司的示例EDA软件产品包括:产品。
然后,在逻辑设计和功能验证(116)期间,编写用于电路中的模块的VHDL或者Verilog代码,并且检验该设计的功能准确性。更具体而言,检验该设计以保证它产生正确输出。可以在这一阶段使用的来自加利福尼亚州芒廷维尤市Synopsys公司的示例EDA软件产品包括: 产品。
接着,在合成和可测性设计(118)期间,将VHDL/Verilog转译成网表。可以针对目标技术优化这一网表。此外,可以设计和实施测试以检验成品芯片。可以在这一阶段使用的来自加利福尼亚州芒廷维尤市Synopsys公司的示例EDA软件产品包括:Design 产品。
另外,在网表验证(120)期间,检验网表与时序约束的相符性和与VHDL/Verilog源代码的对应性。可以在这一阶段使用的来自加利福尼亚州芒廷维尤市Synopsys公司的示例EDA软件产品包括:产品。
另外,在设计规划(122)期间,构造并分析用于芯片的整个布图规划以便进行定时和顶级布线。可以在这一阶段使用的来自加利福尼亚州芒廷维尤市Synopsys公司的示例EDA软件产品包括:产品。
此外,在物理实现(124)期间,进行布置(对电路元件的定位)和布线(对电路元件的连接)。可以在这一阶段使用的来自加利福尼亚州芒廷维尤市Synopsys公司的示例EDA软件产品包括:产品。
然后,在分析和提取(126)期间,在晶体管级验证电路功能,这允许精化。可以在这一阶段使用的来自加利福尼亚州芒廷维尤市Synopsys公司的示例EDA软件产品包括: 产品。
接着,在物理验证(128)期间,检验设计以保证制造、电问题、光刻问题和电路的正确性。可以在这一阶段使用的来自加利福尼亚州芒廷维尤市Synopsys公司的示例EDA软件产品包括产品。
另外,在分辨率增强(130)期间,进行对布局的几何形状操控以提高设计的可制造性。可以在这一阶段使用的来自加利福尼亚州芒廷维尤市Synopsys公司的示例EDA软件产品包括: 产品。
此外,在掩膜数据预备(132)期间,提供用于产生掩膜以产生成品芯片的“流片”数据。可以在这一阶段使用的来自加利福尼亚州芒廷维尤市Synopsys公司的示例EDA软件产品包括系列产品。
可以在一个或者多个上述阶段期间利用本发明的实施例。具体而言,在一些实施例中可以在包括设计(114)与分辨率增强(130)之间的操作的EDA软件中利用本公开内容。
现在描述用于对用户可配置的EDA流程的执行进行监视的技术的实施例。EDA软件可以提供包括EDA工具、实用程序和自动化的交互式流程控制环境,这些EDA工具、实用程序和自动化允许用户(比如芯片设计者)设计电路或者芯片,这包括:布局、节点优化和包括多个EDA任务或者工具脚本的EDA流程。这些EDA流程可以包括作用于电路或者芯片设计(下文称为电路设计)的全芯片分级流程和块级流程。使用交互式流程控制环境,用户可以实时地(即,在它们执行时)配置和监视这些用户可配置的EDA流程。
为了加速使用EDA软件进行的电路开发,用户可以使用各种预先配置或者预先限定的内容,这些内容包括EDA工具脚本,这些脚本具有与电路设计中的块关联的默认技术设置和/或默认流程。然而,EDA软件也支持用户定义的技术设置和块配置(即EDA软件是可编程的)。
一般而言,特定设计可以由对应用户可配置的EDA流程来指定,该EDA流程包括具有关联块流程和子块或者步骤流程的块序列。块序列中的给定块可以包括一个或者更多个子块流程,而子块流程中的给定子块可以代表对电路设计进行的EDA任务序列。
在以下讨论中,将EDA任务定义为对电路设计进行单个或者少量有关命令的EDA工具脚本。例如,EDA任务可以包括:详细脚本、合成脚本、时钟布线脚本、设计实施脚本、设计优化脚本、设计分析脚本等。与操作系统过程对照,这些命令对电路设计进行操作。注意,每个EDA任务可以涉及到多个操作系统过程。
另外,将步骤流程(或者子块流程)定义为对电路设计进行操作的相互耦合的EDA任务的汇集或者序列。一般而言,将步骤流程分组到诸如合成、布图规划、布置和布线、芯片完成等功能区域中。注意,步骤流程总是“平坦的”。
此外,将块流程定义为完成电路设计的至少一部分的相互耦合的步骤流程的汇集或者序列。注意块流程可以是分级流程(例如具有树形结构的流程,该树形结构具有根部级和一个或者更多个从属分支)。另外,将许多电路设计指定为相互耦合的块(及其关联流程)的序列。
EDA软件可以包括铸造现成技术、设计和库,比如至少部分基于与特定半导体制造商或者制造设施关联的要求来预先配置的并且已经验证的EDA工具脚本和流程模板。此外,EDA软件可以提供预先配置的铸造厂特有检验表和归档以辅助用户对电路设计的迅速和成功的流片。
为了提高产品可见性(并且因此提高用户生产率),EDA软件也可以支持在执行用户可配置的EDA流程期间对包括实时查询的随需管理报告的生成。这些报告可以由用户配置并且可以允许用户监视性能度量,比如:面积利用率、时钟速度、功率消耗和/或在执行用户可配置的EDA流程期间出现的任何错误。
图2呈现了图示实施EDA软件的EDA系统200的框图。如下文进一步所述,这一EDA系统200可以在操作环境(例如在操作系统如Unix提供的计算环境)中执行。另外,可以使用各种计算系统、比如经由网络在客户端-服务器架构中实施EDA系统200或者将EDA系统200实施为在计算机或者服务器上驻留和执行的独立软件应用。
EDA系统200包括生产设计流程210,该流程包括限定EDA设计方法的EDA工具脚本(以及关联技术设置),该设计方法当在EDA软件中执行对应EDA流程时对电路设计进行操作。
EDA系统200还包括流程自动化引擎212,该引擎被配置成起动、执行、然后关闭EDA工具脚本(即产生EDA过程)。因此,流程自动化引擎212与计算机系统中的操作系统对接。
另外,EDA系统200包括运行期管理器214,该管理器具有:技术配置模块216、流程配置模块218、执行监视器220和/或度量界面222。结合技术配置模块216使用由运行期管理器214提供的流程控制环境中的控制图标(比如下文参照图3进一步描述的图形用户界面),用户可以调节或者修改给定块中的一个或者更多个EDA工具脚本的技术设置。为了辅助用户,技术配置模块216可以通过在流程控制环境中在下拉菜单中提供一组可能的变量来指导这一设置程序。此外,结合流程配置模块218使用流程控制环境中的控制图标或者鼠标,用户可以定义或者重新布置给定EDA流程中的块序列中的块(如下文参照图5进一步所述)。当读取、写入或者编辑与给定块关联的信息时,运行期管理器214可以与生产设计流程210直接地对接(与经由流程自动化引擎212来与生产设计流程210间接地对接对比)。
当用户使用控制流程环境中的执行控制图标来启动给定EDA流程的执行时,执行监视器220与流程自动化引擎212对接以监视可以依次或者并行执行的一个或者更多个流程(比如一个或者更多个块流程或者子块流程)的执行及其关联EDA任务。(一般而言,执行监视器220可以用来监视分布式过程。)具体而言,使用对EDA任务、给定EDA流程中的块序列和电路设计数据的了解,执行监视器220可以与流程自动化引擎212(来回)对接以在执行给定的用户可配置的EDA流程期间监视进度。然后,执行监视器220可以将执行状态信息呈现给用户,比如在完成给定的用户可配置的EDA流程中的EDA任务(比如特定子块流程中的EDA任务序列)时的进度以及标识出现的任何错误。如下文参照图5进一步所述,可以在给定的用户可配置的EDA流程中的块和/或EDA任务序列的图形表示中使用直观色彩编码信息(比如绿色、黄色和红色)来呈现这一执行状态信息和/或错误信息。
如果在执行给定的用户可配置的EDA流程期间出现错误或者问题,则用户可以激活流程控制环境中的停止图标。然后,用户可以查看具体错误信息和/或可以激活流程控制环境中的调试图标以在继续执行给定的用户可配置的EDA流程之前解决错误。以这一方式,EDA系统200允许用户在执行给定的用户可配置的EDA系统流程“期间”修复问题(与等待直至已经执行整个流程对比)。
在执行给定EDA流程期间或者之后,用户可以使用度量界面222以生成随需管理报告。
图3呈现了图示运行期管理器214(图2)提供的流程控制环境用户界面300的框图。这一用户界面包括用于下拉菜单的任务指示符308(这些任务指示符包括诸如执行、停止、调试等控制图标)。此外,流程控制环境用户界面300包括:设计导航窗口310、技术配置窗口312、主窗口314和/或命令控制台316。如先前所述,设计导航窗口310可以用来选择一个或者更多个电路设计中的现有块和/或定义该电路设计中的新块,而技术配置窗口312可以用来为块或者子块流程中的工具脚本选择现有技术设置和/或定义技术设置。命令控制台316可以在与EDA任务关联的命令被执行时显示它们的滚动列表。在一些实施例中,命令控制台316包括允许用户人工执行特定命令的命令行界面318。
在流程控制环境用户界面300中,主窗口314是多用途的。因而,在这一窗口中显示的信息取决于用户在做什么。例如,当用户选择设计导航窗口310中的块(例如通过使用鼠标或者使用任务指示器308之一来点击该块)时,可以在主窗口314中显示对应配置信息,作为系列下拉菜单(包括预选默认值或者当前用户定义值)。类似地,当用户选择技术配置窗口312中的任务流程中的任务(例如通过使用鼠标或者使用任务指示符308之一来点击任务)时,可以在主窗口314中显示对应技术设置信息作为系列下拉菜单(包括预选默认值或者当前用户定义值)。
如果用户激活流程控制图标(例如通过使用鼠标来点击它),则主窗口314可以显示用于给定的电路设计的流程配置或者EDA流程。在图4中示出了这一点,该图呈现了图示主窗口314(图3)中显示的流程配置用户界面400的框图。使用这一流程配置用户界面,用户可以定义或者修改用户可配置的EDA流程410(该流程用图形表示用于块序列412的分级块流程中的最高级)。具体而言,用户可以使用块412的拖放组件(drag-and-dropassembly)来调节用户可配置的EDA流程410中的块序列。另外,可以用所见即所得(WYSIWYG)格式呈现块序列的图形表示。在这一图形表示中,注意,箭头图标可以表明在EDA流程410期间的信息的源和目的地。
在一些实施例中,块序列包括伪EDA任务(提供附加分析的可选EDA任务)和并行执行的EDA任务(比如与块412-3、412-5和412-6关联的EDA任务)。通过并行执行多个块的至少一部分,用户可以探究多个EDA任务并且然后可以选择最佳结果以供进一步处理。
注意,可以在弹出窗口中通过使用鼠标点击给定块(比如块412-1)来查看与给定块关联的EDA任务。然后可以修改用于这些EDA任务中的一个或者更多个EDA任务的技术设置。此外,用户可以从块序列中的最高级调出子块流程。然后在主窗口314(图3)中显示该分级中的这些较低级,这允许用户按需修改子块、EDA任务和子块相互关系。
在一个示例实施例中,块412-1包括EDA任务的设置流程;块412-2包括EDA任务的设置设计流程;块412-3包括EDA任务的创建布图规划A流程;而块412-4包括EDA任务的功率插入流程。此外,块412-5包括EDA任务的创建布图规划B流程,而块412-6包括EDA任务的创建布图规划C流程。这些块与块412-3并行执行,而在如下块412-7中分析结果,该块包括为EDA流程410中的附加处理而选择最优布图规划的布图规划探究流程。
在执行EDA流程410(图4)期间,主窗口314(图3)可以显示由执行监视器220(图2)提供的实时执行状态信息。在图5中示出了这一点,该图呈现了图示主窗口314(图3)中显示的执行监视器用户界面500的框图。这一执行监视器用户界面包括各自与并行执行的子块或者块流程对应的一列或者更多列510。在各列中,执行监视器用户界面500显示EDA任务512和进度指示符。在一个示例实施例中,进度指示符包括对显示的EDA任务512进行色彩编码。例如,色彩编码可以包括:“灰色”用于无状态信息;“蓝色”用于等待执行的EDA任务512;“粉色”用于正在执行的EDA任务512;具有“红色”字体的“黑色”背景用于正在等待检验的EDA任务512(这是因为在执行与EDA任务关联的操作系统过程中可能有延迟);具有“粉色”字体的“黑色”背景用于正在检验的EDA任务512;“绿色”用于已经通过的EDA任务512;“黄色”用于具有强制通过状态的EDA任务;和/或“红色”用于已经失败的EDA任务512。
如果EDA任务已经失败并且变为红色(如EDA任务512-9上的阴影线区域所示),则用户可以通过激活流程控制环境用户界面300(图3)中的停止控制图标来停止执行。然后,用户可以使用鼠标来点击块序列的图形表示中的块以查看关联错误信息。取而代之或者除此之外,用户可以使用鼠标来点击调试控制图标以起动调试工具修复问题。在已经修复问题之后,用户可以激活执行控制图标来继续EDA流程410(图4)的执行。
这一交互式用户界面和实时执行状态信息允许用户管理给定的EDA流程,由此增加用户的生产率而电路设计的时间和成本有对应减少。
图6是图示了可以由计算机系统实现的用于对用户可配置的EDA流程的执行进行监视的方法600的流程图。在操作期间,计算机系统提供第一信号以在显示器上显示流程控制环境(610),其中流程控制环境包括执行监视窗口。另外,计算机系统接收第一用户输入以启动表示为块序列的用户可配置的EDA流程(612),并且计算机系统监视用户可配置的EDA流程的执行(614)。然后,计算机系统提供第二信号以在执行监视窗口中显示在执行用户可配置的EDA流程期间的进度的执行状态信息并且如果出现任何错误则显示错误(616)。
在一些实施例中,计算机系统可选地接收第二用户输入以调试出现的错误(618)。可以在执行用户可配置的EDA流程期间调试这一错误。
另外,在一些实施例中,计算机系统可选地提供第三信号以在流程控制环境中显示块序列的图形表示(620)。注意,可以使用色彩编码信息在图形表示中表明在执行用户可配置的EDA流程期间的进度和任何错误。
在方法600的一些实施例中可以有附加和/或更少操作。另外,可以改变操作的顺序和/或可以将两个或者更多操作组合成单个操作。
现在描述实现方法600的计算机系统的实施例。图7呈现了图示计算机系统700的框图。计算机系统700包括一个或者更多个处理器710、通信接口712、用户接口714以及将这些部件耦合在一起的一个或者更多个信号线722。注意,一个或者更多个处理单元710可以支持并行处理和/或多线程操作,通信接口712可以具有持久通信连接,而一个或者更多个信号线722可以构成通信总线。另外,用户接口714可以包括:显示器716、键盘718和/或指示器720如鼠标。
计算机系统700中的存储器724可以包括易失性存储器和/或非易失性存储器。更具体而言,存储器724可以包括:ROM、RAM、EPROM、EEPROM、闪存、一个或者更多个智能卡、一个或者更多个磁盘存储设备和/或一个或者更多个光学存储设备。存储器724可以存储包括程序(或指令集)的操作系统726,该程序(或指令集)用于处置用于进行依赖于硬件的任务的各种基本系统服务。存储器724也可以存储通信模块728中的程序(或者指令集)。这些通信程序可以用于与一个或者更多个计算机和/服务器通信,这些计算机和/或服务器包括参照计算机系统700远程定位的计算机和/或服务器。
存储器724也可以包括多个程序模块(或者指令集),这些程序模块(或者指令集)包括EDA模块730(或者指令集)。另外,EDA模块730可以包括:生产设计流程732(或者指令集)、流程自动化引擎734(或者指令集)和/或运行期管理器736(或指令集)。此外,运行期管理器736可以包括:技术配置模块738(或者指令集)、流程配置模块740(或者指令集)、执行监视器742(或者指令集)和/或度量界面744(或者指令集)。
使用EDA模块730,用户可以配置用于在可以包括块序列的EDA流程中使用的块。例如,使用技术配置模块738,用户可以针对与一个或者更多个块关联的子块流程中的EDA任务选择预先配置的技术设置。取而代之或者除此之外,用户可以调节这些块的配置。在后续执行EDA流程期间,这些修改可以由包括EDA工具脚本的生产设计流程732使用。
然后,使用流程配置模块740,用户可以组装块752以定义用于电路设计的块序列(并且因此定义用于电路设计的EDA流程)。另外,用户可以将这一设计保存于电路设计746(这些电路设计可以包括多个电路设计,比如用于电路A748-1的设计和用于电路B748-2的设计)中。取而代之或者除此之外,用户可以选择库750中的现有电路设计。
接着,用户可以启动用于给定的电路设计的EDA流程的执行。在执行期间,流程自动化引擎734可以与生产设计流程732和操作系统726交互以启动、监视和关闭EDA工具脚本。执行监视器742又可以与流程自动化引擎734交互以监视与EDA流程关联的块、流程和EDA任务的执行并且将执行状态信息提供给用户。如先前讨论的那样,这一执行状态信息可以经由直观图形表示实时呈现给用户。另外,用户可以使用运行期管理器756在任何错误或者问题在执行EDA流程期间出现时解决它们。
此外,在执行EDA流程期间,用户可以使用度量界面744来生成一个或者更多个EDA报告758。可以基于与一个或者多个铸造厂关联的要求来预先配置这些报告。一般而言,用户可以使用铸造厂特有检验表754和/或归档756以加速项目完成并且提高电路设计的可制造性。
可以用高级程序语言、面向对象的编程语言和/或用汇编或者机器语言实施存储器724中的各种模块中的指令。注意,可以编译或者解译(例如可配置或者已配置)编程语言以由一个或者更多个处理单元710执行。
计算机系统700可以包括各种设备,比如:个人计算机、膝上型计算机、服务器、工作站、主机计算机和/或能够操控计算机可读数据的其它设备。
虽然将计算机系统700图示为具有多个分立项,但是图7旨在于作为对可以存在于计算机系统700中的各种特征的功能描述而不是这里描述的实施例的结构示意图。在实践中并且如本领域普通技术人员认识到的那样,计算机系统700的功能可以分布于大量服务器或者计算机,其中各组服务器或者计算机实现功能的特定子集。因而,计算机系统700可以在一个位置或者可以分布于多个位置,比如经由网络(比如互联网或者内联网)通信的计算系统。
在一些实施例中,可以在一个或者更多个专用集成电路(ASIC)、现场可编程门阵列(FPGA)和/或一个或者更多个数字信号处理器(DSP)中实施计算机系统700的一些或者所有功能。因此,可以使用FPGA来进行电路分析或者仿真。注意,如本领域已知的那样,可以更多地在硬件中而更少地在软件中或者更少地在硬件中而更多地在软件中实施计算机系统700的功能。
现在讨论可以在计算机系统700中使用的数据结构的实施例。图8呈现了图示数据结构800的框图。这一数据结构可以包括电路设计810的信息表。例如,电路设计810-1可以包括:一个或者更多个块812-1(和关联流程)、一个或者更多个子块814-1(和关联子流程)、在块812-1与子块814-1之间的相互关系816-1以及用于块812-1和子块814-1的配置818-1。
图9呈现了图示数据结构900的框图。这一数据结构可以包括在与各种块关联的流程中对电路设计进行的工具脚本910。例如,工具脚本910-1可以包括:技术设置912-1和/或一个或者更多个命令914-1。
在一些实施例中,EDA系统200(图2)、流程控制环境用户界面300(图3)、流程配置用户界面400(图4)、执行监视器用户界面500(图5)、计算机系统700(图7)、数据结构800(图8)和/或数据结构900包括更少或者附加部件。另外,可以将两个或者更多部件组合成单个部件和/或可以改变一个或者更多个部件的位置。
仅出于示例和描述的目的已经呈现对本发明实施例的前文描述。本意并非让它们穷举本发明或者使本发明限于公开的形式。因而,本领域技术人员将清楚许多修改和变化。此外,本意并非让上述公开内容限制本发明。本发明的范围由所附权利要求限定。

Claims (22)

1.一种用于对用户可配置的电子设计自动化EDA流程的执行进行监视的方法,包括:
提供第一信号以在显示器上显示流程控制环境,其中所述流程控制环境包括执行监视窗口;
接收第一用户输入以启动被表示为块序列的所述用户可配置的EDA流程;
由所述用户修改所述用户可配置的EDA流程,所述流程用图形表示用于所述块序列的分级块流程中的最高级;
监视所述用户可配置的EDA流程的执行,其中所述EDA的软件包括如下操作:系统设计,逻辑设计和功能验证,合成和可测性设计,网表验证,设计规划,物理实现,分析和提取,物理验证,分辨率增强以及掩模数据预备;以及
提供第二信号以在所述执行监视窗口中显示在执行所述用户可配置的EDA流程期间的进度的执行状态信息并且如果出现任何错误则显示所述错误;
其中所述块序列中的给定块包括子块流程;以及
其中所述子块流程中的给定子块代表对电路设计进行的EDA任务序列。
2.根据权利要求1所述的方法,还包括接收第二用户输入以调试出现的错误。
3.根据权利要求2所述的方法,其中在执行所述用户可配置的EDA流程期间调试所述错误。
4.根据权利要求1所述的方法,其中所述用户可配置的EDA流程的执行包括监视所述EDA任务序列的执行;以及
其中所述执行状态信息包括所述EDA任务序列的执行状态。
5.根据权利要求4所述的方法,其中预先定义所述EDA任务序列中的至少一些EDA任务。
6.根据权利要求1所述的方法,其中所述执行状态信息包括色彩编码信息。
7.根据权利要求1所述的方法,其中预先定义所述块序列的至少一部分。
8.根据权利要求1所述的方法,还包括提供第三信号以在所述流程控制环境中显示所述块序列的图形表示。
9.根据权利要求8所述的方法,其中以所见即所得格式呈现所述块序列的所述图形表示。
10.根据权利要求8所述的方法,所述块序列由块的拖放组件定义。
11.根据权利要求8所述的方法,其中在所述图形表示中的流程之间的箭头图标表明在所述用户可配置的EDA流程期间的信息的源和目的地。
12.根据权利要求8所述的方法,其中使用色彩编码信息在所述图形表示中表明在执行所述用户可配置的EDA流程期间的进度和任何错误。
13.根据权利要求1所述的方法,其中所述块序列包括并行执行的块。
14.一种用于对用户可配置的EDA流程的执行进行监视的设备,所述设备包括:
用于提供第一信号以在显示器上显示流程控制环境的装置,其中所述流程控制环境包括执行监视窗口;
用于接收第一用户输入以启动表示为块序列的所述用户可配置的EDA流程的装置;
用于由所述用户修改所述用户可配置的EDA流程的装置,所述流程用图形表示用于所述块序列的分级块流程中的最高级;
用于监视所述用户可配置的EDA流程的执行的装置,其中所述EDA软件包括如下操作:系统设计,逻辑设计和功能验证,合成和可测性设计,网表验证,设计规划,物理实现,分析和提取,物理验证,分辨率增强以及掩模数据预备;以及
用于提供第二信号以在所述执行监视窗口中显示在执行所述用户可配置的EDA流程期间的进度的执行状态信息并且如果出现任何错误则显示所述错误的装置;
其中所述块序列中的给定块包括子块流程;以及
其中所述子块流程中的给定子块代表对电路设计进行的EDA任务序列。
15.根据权利要求14所述的设备,还包括用于接收第二用户输入以调试出现的错误的装置。
16.根据权利要求15所述的设备,其中在执行所述用户可配置的EDA流程期间调试所述错误。
17.根据权利要求14所述的设备,其中所述执行状态信息包括色彩编码信息。
18.根据权利要求14所述的设备,还包括用于提供第三信号以在所述流程控制环境中显示所述块序列的图形表示的装置。
19.根据权利要求18所述的设备,其中在所述图形表示中的流程之间的箭头图标表明在所述用户可配置的EDA流程期间的信息的源和目的地。
20.根据权利要求18所述的设备,其中使用色彩编码信息在所述图形表示中表明在执行所述用户可配置的EDA流程期间的进度和任何错误。
21.根据权利要求14所述的设备,其中所述块序列包括并行执行的块。
22.一种用于对用户可配置的电子设计自动化EDA流程的执行进行监视的装置,包括:
执行监视窗口模块,被配置成显示所述用户可配置的EDA流程中的块序列的图形表示,并且至少部分地基于对所述用户可配置的EDA流程的执行的监视,来显示在执行所述用户可配置的EDA流程期间的图形化的执行状态信息并且如果出现任何错误则显示所述错误,其中所述EDA的软件包括如下操作:系统设计,逻辑设计和功能验证,合成和可测性设计,网表验证,设计规划,物理实现,分析和提取,物理验证,分辨率增强以及掩模数据预备,
其中由所述用户修改所述用户可配置的EDA流程,所述流程用图形表示用于所述块序列的分级块流程中的最高级;
其中所述块序列中的给定块包括子块流程;以及
其中所述子块流程中的给定子块代表对电路设计进行的EDA任务序列。
CN200910207635.8A 2009-04-15 2009-10-28 用于电子设计自动化的执行监视器 Active CN101866373B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/423,955 2009-04-15
US12/423,955 US8413103B2 (en) 2009-03-13 2009-04-15 Execution monitor for electronic design automation

Publications (2)

Publication Number Publication Date
CN101866373A CN101866373A (zh) 2010-10-20
CN101866373B true CN101866373B (zh) 2015-12-09

Family

ID=42958101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200910207635.8A Active CN101866373B (zh) 2009-04-15 2009-10-28 用于电子设计自动化的执行监视器

Country Status (1)

Country Link
CN (1) CN101866373B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8769475B2 (en) * 2011-10-31 2014-07-01 Taiwan Semiconductor Manufacturing Co., Ltd. Method, system and software for accessing design rules and library of design features while designing semiconductor device layout
CN103838901A (zh) * 2012-11-27 2014-06-04 北京华大九天软件有限公司 一种支持自定义的Label字符排列方式
CN104486197A (zh) * 2014-11-25 2015-04-01 上海高性能集成电路设计中心 一种基于邮件的远程芯片设计系统
CN108133069A (zh) * 2017-08-17 2018-06-08 上海倚韦电子科技有限公司 集成电路后端设计系统及方法
CN114117973A (zh) * 2020-08-25 2022-03-01 深圳市中兴微电子技术有限公司 逻辑综合方法、设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173246B1 (en) * 1998-07-21 2001-01-09 Billups, Iii James T. Method and system for a unified process automation software system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5673404A (en) * 1995-12-20 1997-09-30 At&T Global Information Solutions Company End-user customizable feedback display for windowed applications
US6587995B1 (en) * 2000-04-19 2003-07-01 Koninklijke Philips Electronics N.V. Enhanced programmable core model with integrated graphical debugging functionality
US7076751B1 (en) * 2003-01-24 2006-07-11 Altera Corporation Chip debugging using incremental recompilation
US7135344B2 (en) * 2003-07-11 2006-11-14 Applied Materials, Israel, Ltd. Design-based monitoring
WO2005073807A1 (en) * 2004-01-29 2005-08-11 Kla-Tencor Technologies Corporation Computer-implemented methods for detecting defects in reticle design data
US7840904B2 (en) * 2006-08-04 2010-11-23 National Instruments Corporation Execution target structure node for a graphical program
JP4891817B2 (ja) * 2007-03-16 2012-03-07 株式会社日立製作所 設計ルール管理方法、設計ルール管理プログラム、ルール構築装置およびルールチェック装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173246B1 (en) * 1998-07-21 2001-01-09 Billups, Iii James T. Method and system for a unified process automation software system

Also Published As

Publication number Publication date
CN101866373A (zh) 2010-10-20

Similar Documents

Publication Publication Date Title
US8607174B2 (en) Verification module apparatus to serve as a prototype for functionally debugging an electronic design that exceeds the capacity of a single FPGA
Lavin et al. Rapid prototyping tools for FPGA designs: RapidSmith
US20150294039A1 (en) Graphical Design Verification Environment Generator
US9032344B2 (en) Verification module apparatus for debugging software and timing of an embedded processor design that exceeds the capacity of a single FPGA
US10198543B2 (en) Sub-module physical refinement flow
CN101866373B (zh) 用于电子设计自动化的执行监视器
CN101165694A (zh) 专用集成电路中i/o块的优化布置和验证的方法和装置
US20090248390A1 (en) Trace debugging in a hardware emulation environment
CN101689216B (zh) 压缩型电路仿真输出
US8265918B1 (en) Simulation and emulation of a circuit design
CN103853863A (zh) Pdk自动测试界面实现方法
TWI486804B (zh) 電子設計自動化之執行監視
CN102033998B (zh) 一种可靠性模型自动生成方法
CN103870624B (zh) 一种吊挂横梁仿真分析模板
CN102855147A (zh) 用于局部重配置模拟的方法和系统
US20090241075A1 (en) Test chip validation and development system
Goli et al. Through the looking glass: Automated design understanding of SystemC-based VPs at the ESL
CN106650138B (zh) 一种自动实现静态和动态时序分析对比的方法
CN108334313A (zh) 用于大型soc研发的持续集成方法、装置及代码管理系统
CN110442986B (zh) 一种基于cpld逻辑代码生成器管理服务器主板的方法
CN100527138C (zh) 集成电路元件的模拟实例产生方法与装置
US20090064082A1 (en) Method for custom register circuit design
JP5622257B2 (ja) 動作合成システム及び動作合成プログラム
CN109683883A (zh) 一种流程图设计方法及装置
KR20130060523A (ko) 데이터 마이닝 프로세스 자동화 시스템, 방법 및 그에 대한 기록매체

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant