CN1251326C - 电路部件的验证方法及其集成电路装置的制造方法 - Google Patents

电路部件的验证方法及其集成电路装置的制造方法 Download PDF

Info

Publication number
CN1251326C
CN1251326C CNB02108050XA CN02108050A CN1251326C CN 1251326 C CN1251326 C CN 1251326C CN B02108050X A CNB02108050X A CN B02108050XA CN 02108050 A CN02108050 A CN 02108050A CN 1251326 C CN1251326 C CN 1251326C
Authority
CN
China
Prior art keywords
circuit
checking
circuit block
foregoing
hardware
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.)
Expired - Fee Related
Application number
CNB02108050XA
Other languages
English (en)
Other versions
CN1378286A (zh
Inventor
片山功
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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
Application filed by Toshiba Corp filed Critical Toshiba Corp
Publication of CN1378286A publication Critical patent/CN1378286A/zh
Application granted granted Critical
Publication of CN1251326C publication Critical patent/CN1251326C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Quality & Reliability (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

计算机可读存储介质,其中存放的用硬件描述语言描述的电路部件包括:至少具有一种电路功能的电路部件本体;和可离合地连接并支持上述电路部件本体的验证的验证支持电路。上述验证支持电路还可以具备用硬件描述语言描述的验证用输出端子,可离合地与上述电路部件本体进行连接,使得即便是与上述电路部件本体之间的连接已被断开的情况下,也不会给上述电路部件本体的动作造成影响,并向上述电路部件本体的外部输出表示上述电路部件本体内部的动作状态的信号。

Description

电路部件的验证方法及其 集成电路装置的制造方法
技术领域
本发明涉及作为智能劳动的产物,被称之为IP(IntellectualProperty,知识产权)的半导体装置那样的大规模集成电路装置(LSI)的电路设计资产,具体地说,涉及用硬件设计语言(HDL)描述的LSI电路部件的验证方法,以及集成电路装置的制造方法。
背景技术
归因于以VHDL或Verilog-HDL为代表的近些年来的硬件描述语言和模拟技术、电路合成技术的提高,在一个LSI的芯片上边实现电子电路系统的片上系统(System-on-Chip;SoC)的设计者们,大多都用硬件描述语言来描述电路系统的动作规格。这样一来,设计者们,就要先用模拟CAD(HDL模拟器)等验证该描述是否已满足作为系统所要求的功能,然后,用电路合成工具进行与该描述对应的实际的门电路级别的逻辑电路的合成。
此外,在最近,由于缩短电路设计周期的要求强烈,设计者把要进行设计的电路系统分割成一个一个的功能块,根据需要以由在各自的专门领域的供应商提供的正在市场上流通的硬件描述语言(HDL级别)的电路设计数据为电路部件进行设计,把他们组合起来构筑电路系统,而没有必要再从头开始设计电路系统的做法已日益增多起来。
另一方面,由于伴随着系统规模(电路规模)的扩大和功能的高级化,存在着要进行组合的电路部件的种类会不断增加的倾向,此外,提供电路部件的供应商的数目也会增加起来,作为系统设计者来说,就变得再也不能忽视每一个所供应的电路部件的动作验证基准或电路的品质等的不均一性。此外,由于电路部件的高级化和供应商之间的竞争,电路部件的内部信息的隐蔽化(黑盒子化)不断发展,在系统设计者一侧所供应的电路部件的品质验证就变成为非常困难。
由于LSI的设计数据,产品化后的修正是极其困难的,故产品化前的动作验证就是非常重要的。所供应的电路部件的单体或由多个电路部件的组合构成的整个电路系统是否会正常地动作,必须在产品化前的电路设计阶段预先用模拟等进行验证。在用模拟得不到正确的动作的情况下,就必须找出在该阶段变成为异常的原因,并施行修正。
通常,电路部件虽然由作为电路部件的提供者一侧的供应商保证其动作来进行销售,但是,出于上边所说的理由,在使用者一侧(系统设计者一侧)也要独自进行验证的要求变得强烈起来。以往,在使用者一侧对所供应的电路部件单体进行验证的情况下,根据由电路部件的提供者受限制地公开的范围的技术规格(通常,仅仅是那些与电路部件的输入输出端子有关的技术规格)和使该电路部件动作的外部条件,使用者一侧独自制作验证用驱动电路,用模拟器使电路部件单体地进行动作,来验证其动作。这时,如果在电路部件的动作中发现了异常的情况下,就要指定问题的发生根源并弄清楚异常的原因,但为此就必须进行电路部件的内部解析。
但是,归因于电路部件的高级化和内部信息的隐蔽化,由使用者一侧进行的电路部件的内部解析和在电路部件内部产生异常的原因部位的指定,就变成为非常困难的状况。此外,即便是异常的原因在于使用者一侧独自制作的验证用驱动电路,电路本身完全不存在异常的情况下,为了指定其原因也要从电路部件的内部解析开始,这种情况出现得很多。
此外,在作为系统把多个电路部件组合起来的阶段中已经确认动作异常的情况下,虽然为了进行从多个电路部件内产生了异常的电路部件的指定和为了探明其原因必须进行每一个电路部件的内部解析,但是出于与上边所说的同样的理由,要进行每一个电路部件的内部解析,就会处于非常困难的状况,多个电路部件之间的异常原因的指定及其对策,就必须花费相当大的时间。
如上所述,在进行电路部件单体或整个电路系统验证的情况下,在其动作中发生了异常的情况下,进行每一个电路部件的内部解析就是不可或缺的。但是,归因于最近的电路部件的高级化和内部信息的隐蔽化,电路部件的内部解析和在电路部件内部产生异常的原因部位的指定,就变成为非常困难的状况。此外,进行电路部件的内部解析,由于其复杂性也需要庞大的时间和劳力,对于使用者一侧来说,就会产生不能充分地得到因供应了电路部件而缩短设计时间的效果这样的问题。
发明内容
本发明提供了一种用硬件描述语言描述的集成电路装置的设计中使用的电路部件的验证方法,包括下列步骤:把由验证支持电路的驱动电路生成的动作时钟和仿真信号提供给电路本体,对具备上述电路部体本体和上述验证支持电路、用硬件描述语言描述的电路部件或至少具有一个上述电路部件的用硬件描述语言描述的电路系统进行模拟,上述电路部件本体至少具有一种电路功能,上述验证支持电路可离合地与上述电路部件本体的内部连接,使得即便是在与上述电路部件本体之间的连接被切断的情况下也不会给上述电路部件本体的动作造成影响;和通过上述验证支持电路的验证用输出端子,在显示画面上显示输出表示上述电路部件本体的动作状态的信号。
本发明还提供了一种集成电路装置的制造方法,包括下列步骤:对至少具有一个电路部件的、用硬件描述语言描述的电路系统进行模拟,上述电路部件设置有具备输入输出端子并具有至少一种电路功能的电路部件本体和具有与上述电路部件本体的电路内部进行连接的验证用输出端子的验证支持电路,上述验证用输出端子被连接成可以与上述电路部件本体断开,同时,即便是在与上述电路部件本体之间的连接已经断开的情况下,也不会给上述电路部件本体的单独动作造成影响;通过上述验证用输出端子向上述电路部件本体的外部输出上述电路部件本体内部的动作状态信号;根据上述模拟执行的结果和所输出的上述动作状态信号,进行上述电路部件或上述电路系统的动作验证;根据除去上述验证支持电路之外的上述电路系统的电路描述,进行逻辑合成;根据由上述逻辑合成得到的逻辑电路,进行布局布线;和根据已进行上述布局布线的布局布线数据,在衬底上边形成实际电路。
根据本发明的实施例,一种存放用硬件描述语言描述并用于集成电路装置设计的电路部件的计算机可读存储介质中,该电路部件包括:
至少具有一种电路功能的电路部件本体;和
可离合地连接到上述电路部件本体上,用来支持上述电路部件本体的验证的验证支持电路。
用硬件描述语言描述的集成电路装置的设计中使用的电路部件的验证方法,根据本发明的实施例,包括:
对用硬件描述语言描述的电路部件或至少具有一个上述电路部件的用硬件描述语言描述的电路系统进行模拟,上述电路部件具备至少具有一种电路功能的电路部件本体和可离合地与上述电路部件本体内部连接的验证用输出端子,使得即便是在与上述电路部件本体之间的连接被切断的情况下也不会给上述电路部件本体的动作造成影响;和
通过上述验证用输出端子,在显示画面上显示输出表示上述电路部件本体的动作状态的信号。
存放用硬件描述语言描述的电路部件的验证支持电路的计算机可读存储介质,根据本发明的实施例,该验证支持电路包括:
相对于具备输入输出端子同时还具有至少一种电路功能的用硬件描述语言描述的电路部件可以进行连接或断开,且用来向外部输出表示上述电路部件的内部动作状态的信号的验证用输出端子。
存放用硬件描述语言描述的电路部件的验证支持电路的计算机可读存储介质,根据本发明的实施例,该验证支持电路包括:
相对于具备输入输出端子同时还具有至少一种电路功能的用硬件描述语言描述的电路部件可以进行连接或断开,且为了使上述电路部件可单独地进行动作,用来产生向上述电路部件供给的动作时钟和仿真用信号的驱动电路。
根据本发明的实施例,存放用硬件描述语言描述的电路部件的验证支持电路的计算机可读存储介质中,该验证支持电路包括:
相对于具备输入输出端子同时还具有至少一种电路功能的用硬件描述语言描述的电路部件可以进行连接或断开,用来向上述电路部件外部引出来自与上述电路部件连接的用硬件描述语言描述的验证用输出端子的信号的监视连接电路,上述验证用输出端子用于向外部输出表示上述电路部件内部的动作状态的信号。
根据本发明的另一实施例,存放用硬件描述语言描述并用于集成电路装置设计电路部件的计算机可读存储介质中,该电路部件包括:
至少具有一种电路功能的电路部件本体;和
用硬件描述语言描述的验证用输出端子,与上述电路部件本体可离合地进行连接,即便是在与上述电路部件本体之间的连接已经断开的情况下,也不会给上述电路部件本体的动作造成影响,用来向上述电路部件本体的外部输出表示上述电路部件本体内部的动作状态的信号。
附图说明
参看附图阅读下述详细说明将会容易地得到本发明的实施例的更为完全的正确评价及其许多优点。
图1是本发明的一个实施例的SoC的电路部件的模式图的一个例子。
图2A到图2C是本发明的一个实施例的SoC的电路部件的用硬件描述语言进行描述的一个例子。
图3A到图3B是在验证本发明的一个实施例的SoC的电路部件时使用的验证工具的用硬件描述语言进行描述的一个例子。
图4A到图4C是示出了本发明的一个实施例的SoC的从电路部件的导入到电路系统的电路合成为止的各个阶段的模式图的一个例子。
图5使用本发明的一个实施例的SoC的电路部件的SoC的制造方法的流程图的一个例子。
图6是使本发明的一个实施例的SoC的电路部件通过因特网进行流通的情况的模式图的一个例子。
具体实施方式
图1是作为本发明的一个实施例的用硬件描述语言描述的电路部件的模式图的一个例子。在图1中,虽然为了使说明易于理解起见,把电路部件表示为类似硬件构造,但是,实际的电路部件却是像软件般的文件形式。这样的电路部件可以存储在多种不同的计算机可读诸如磁性存储器、光学存储器、固体存储器或半导体存储器(诸如DRAM、SRAM、EEPROM、快擦写存储器、硬盘驱动器、软盘驱动器、CD-ROM、DVD等)介质中。此外,‘计算机’,就如通常所了解的微处理器那样,被广泛地看作是任何进行数据处理或数据控制的装置。
作为一个实施例的电路部件1,由具有用硬件描述语言描述的至少一个特定的电路功能(例如,MPEG2解码器、DSP(数字信号处理器)等)的电路部件本体2,和同样用硬件描述语言描述的验证支持电路3构成。
电路部件本体2,具有用来与别的电路系统进行连接的、技术规格已公开的输入输出端子21。另外,电路部件本体2通常已由电路部件的提供者施行了特别的算法或信息的隐蔽化处理,电路部件的利用者所能得到的内部信息,一般是上述输入输出端子21那种程度的信息。
验证支持电路3,作为电路部件1与电路部件本体2附加在一起,或单独地提供。本实施例中的验证支持电路3具有用来使用电路部件本体2单体进行的驱动成为可能的驱动电路31、用来输出表示电路部件本体2的动作状态的信号的验证用输出端子33、用来把表示电路部件本体2的动作状态的信号从验证用输出端子33引出到外部的监视电路32。另外,这些驱动电路31、验证用输出端子33和监视电路32既可以作为验证支持电路3一体化地由供应商一侧提供,也可以分别单独提供。
驱动电路31,是进行用来向电路部件本体2供给的时钟的产生和初始化信号的产生、与要进行连接的电路系统之间的接口的仿真(向电路部件本体2进行的信号的模拟输入输出)用的信号产生的电路,已预先由电路部件1的提供者与电路部件本体2连接为使得可以使电路部件本体2单体进行动作。
监视电路32,由电路部件1的提供者提供,使得在用驱动电路31实施的电路部件本体2的单体动作时,可以通过验证用输出端子33向外部验证环境输出电路部件本体2的动作状态。
验证用输出端子33,是已被连接到电路部件本体2的内部,在进行验证时,用来连接到外部验证工具4等的验证环境上的端子。验证用输出端子33的技术规格已预先由电路部件1的提供者向使用者公开。
另外,验证支持电路3,用与电路部件本体2同一种硬件描述语言描述,并描述为可以根据需要由使用者断开与电路部件本体2之间的连接。此外,电路部件本体2,被电路描述为使得即便是进行与验证支持电路3之间的连接的断开,也不会给电路部件本体2本身的电路动作造成异常。
图2A到2C,是图1所示的电路部件1的用硬件描述语言进行描述的一个例子。图3A到3B是根据验证输出端子33的技术规格,由使用者制作的用硬件描述语言进行的验证工具4的描述的一个例子。
以下,用图2A到2C对电路部件1的一个例子进行具体的说明。
#电路部件1
<电路部件本体2>
[输入输出端子21]
在图2A到2B中,用硬件描述语言描述了名称为Compo23A的模块。在这里,描述了具有例如MPEG2解码器等的特定的电路功能的电路部件本体2的电路动作(从/*Circuit Description/往后的描述部分;但是,对于电路部件本体的功能内容,由于与本发明的实施例没有直接关系,故在附图中,描述被省略)。此外,还描述并定义了技术规格已公开的电路部件本体2的多个输入输出端子21(/*InputTerminals/:in00sig、in01sig、…//*Output Terminals*/:out00sig、out01sig、…)和技术规格尚未公开的电路部件本体2的多个内部信号线(/*Internal Wire*/:internal00Wire、internal01Wire、…)。
<验证支持电路3>
[验证用输出端子33]
在该Compo23A中,在定义了验证用输出端子33(oStatusCode、oConditionCode、…)的同时,还描述了验证用输出端子33与电路部件本体2之间的连接关系。另外,至于验证用输出端子33的技术规格,已由电路部件的提供者向使用者公开。例如,端子oStatusCode表示内部总线的数据可否输入的状态/端子oActiveRatio表示总线的运转率/端子oChangeState表示oStatusCode的变化状态/…等。
以下,给出验证用输出端子33和电路部件本体2之间的连接关系的具体例。
(1)直接输出内部信号线的状态那样的连接的一个例子
<描述例>
“assign oStatusCode=Internal84Wire;”
(意义:把端子oStatusCode和内部信号线Internal84Wire连接起来)
(2)输出基于多个内部信号线间的状态的运算结果那样的连接的一个例子。
<描述例>
“assign oActiveRatio=Internal84Wire/Internal12Wire*100;”
(意义:把Internal84Wire的状态信号对内部信号线Internal12Wire的状态信号的比率(%)连接到端子oActiveRatio上)。
(3)基于内部信号线间的状态比较结果的连接的一个例子。
<描述例>
“assign oChangeState=(Internal161Wire=Internal62Wire)?1’b0∶1’b1;”
(意义:对内部信号线Internal161Wire的状态信号和内部信号线Internal62Wire的状态信号进行比较,在比较结果一致的情况下,就把1位长度2进制表示的信号值0连接到端子oChangeState上,在不一致的情况下,则把1位长度2进制表示的信号值1连接到端子oChangeState上)。
(4)基于内部信号线的状态监视结果的连接的一个例子。
<描述例>
“assign oWaitCount=(Internal34Wire=1’b0)?Internal43Wire:Internal32Wire;”
(意义:监视内部信号线Internal34Wire的状态信号,在内部信号线Internal34Wire的状态信号与1位长度2进制表示的信号值0一致的情况下,就把端子oWaitCount和内部信号线Internal43Wire连接起来,在不一致的情况下,就把端子oWaitCount和内部信号线Internal32Wire连接起来)。
(5)与保持内部信号线的状态变动以前的状态的寄存器输出之间的连接的一个例子。
<描述例>
“always@(oChangeState)=rPreviousData=Internal22Wire;”
“assign oPreviousdata=rPreviousdata;”
(意义:端子oChangeState的状态输出信号每变化一次就把Internal22Wire的状态信号存放到寄存器rPreviousData内,同时,把已存放在该寄存器rPreviousData内的信号和端子oPreviousdata连接起来)。
如上所述,验证用输出端子33,已与表示电路部件本体2的内部动作状态的信号连接起来。
在验证时在用各个验证输出端子33定义选设“Debug”的情况下,就可以根据上述那样的连接输出来自电路部件本体2内部的信号。至于该连接,已预先由电路部件1的提供者连接好了,此外,还要考虑到即便是在连接被断开的情况下也不会给电路部件本体2自身的动作造成影响。
<验证用支持电路3>
[驱动电路31]
在图2B到2C中,跟在名称为Compo23A的模块的后边,还描述了名称为Driver23A的模块。在Driver23A中,描述了用来使Compo23A以单体进行动作的驱动电路31.在Driver23A中,进行了用来产生动作时钟的仿真用的信号(接在/*Clock Driver*/后边的部分)、进行电路部件外部的仿真用的信号生成(接在/*Reset & SignalGenerator*/后边的部分)、向电路部件本体2的输入端子21输入所产生的信号(接在/*Driving Terminals of Component*/后边的部分)的电路描述。该驱动电路31,在验证时定义了选设“StandAlone”的情况下(“`ifdef StandAlone”),使得驱动Compo23A那样地,已预先由电路部件1的提供者与Compo23A进行连接。
<验证用支持电路3>
[监视连接电路32]
在Driver23A中,还描述了用来通过验证用输出端子33向外部验证环境电路输出电路部件本体2的动作状况的监视连接电路32。在图2C的描述例中,监视连接电路32的构成为:在验证时已定义了选设“ExternalMonitor”的情况下(“`ifdef ExternalMonitor”),就读入名称为”DebugEnv”的外部验证工具(“include“DebugEnv”;”)、读出在外部验证工具中制作好的监视电路。
接着,用图3A到3B,具体地对验证工具4的一个例子进行说明。在图3A到3B所示的验证工具4(“DebugEnv”)中,在动作验证时,在对Compo23A输入的信号数据名的描述(接在/*Input Signal Data*/后边的部分)后边,描述了用来进行电路部件本体2的动作监视的信号监视电路(接在/*Signal Monitor*/后边的部分)、提供给电路部件1的验证条件的设定(接在/*Condition Setting for Debug*/后边的部分)、用来进行电路部件1的状态监视的状态监视电路(接在/*State Monitor*/后边的部分)。该验证工具“DebugEnv”是以由电路部件1的提供者公开的验证用输出端子33的名称或其技术规格为基础,由使用者独自制作(描述)的验证工具。验证工具”DebugEnv”,采用在电路部件1的动作验证时定义选设”ExternalMonitor”的办法进行动作,使得可以在能够进行仿真验证的工作站等的计算机的显示画面上边显示电路部件本体2内部的动作状态那样地,使得可以把通过验证用输出端子33得到的电路部件本体2内部的动作状态向电路部件1的外部输出那样地进行电路描述。
其次,对对于作为本发明的一个实施例的电路部件1进行仿真验证的情况进行说明。
图4A到4C的模式图示出了使用图1所示的电路部件1(1a),从电路部件的导入(购入)到作为电路系统进行电路合成(逻辑合成)为止的各个阶段的一个例子。
图4A示出了在电路部件1a导入时,对电路部件1a进行单体驱动以进行电路部件本体2a的动作验证和评价的阶段的一个例子,示出了电路部件本体2a和验证支持电路3a和外部验证工具4之间的关系。用硬件描述语言描述的电路部件1a的动作验证,可以用与该硬件描述语言对应的仿真程序进行动作的未画出来的计算机(工作站等)进行。
在执行仿真验证时,在作为选设已定义了”Debug”、”StandAlone”、”ExternalMonitor”的情况下,就从已附加到电路部件1a上的驱动电路31a对电路部件本体2a供给动作时钟或验证用仿真信号,使电路部件本体2a进行单体动作。这时,电路部件本体2a的内部动作状态数据,就可以通过验证用输出端子33a向电路部件外部输出,并在未画出来的计算机的显示画面上边显示出来。采用对该所显示的数据内容进行判定的办法,就可以进行该电路部件是否在进行正常动作的确认。此外,如果需要的话,这时还可以从所得到的数据内容进行电路部件本体2a的性能估算。在该时刻未能得到正常动作确认的情况下,由于可以判断为电路部件本体2a具有电路异常,故就要进行电路部件本体2a的解析,找出异常的原因以除掉异常的原因。在寻找该异常的原因时,由验证用输出端子33得到的电路部件2a内部的动作状态数据是有用的。
图4B的模式图示出了在构筑使具有不同功能的多个电路部件1a、1b、1c进行组合起来用硬件描述语言描述的电路系统5的情况下,进行电路系统整体的验证和评价的阶段的一个例子。各个电路部件1a、1b、1c,通过各个输入输出端子21a、21b、21c与用硬件描述语言描述的电路系统5进行连接,以便形成电路系统5。此外,还可以根据需要在电路系统5中设置与验证工具4进行连接用的验证用输出端子53。其构成为:在各个电路部件本体2a、2b、2c上连接有验证支持电路3a、3b、3c,可以借助于内置的监视连接电路32a、32b、32c,通过验证用输出端子33a、33b、33c向外部输出各个电路部件本体2a、2b、2c的内部动作状态数据。
在执行仿真验证时,如果作为选设定义了”Debug”、”ExternalMonitor”,则就可以通过各个验证用输出端子33a、33b、33c向计算机的显示画面监视输出电路系统5的动作中的各个电路部件本体2a、2b、2c的内部动作状态数据。此外,在电路系统5中设置有验证用输出端子53的情况下,还可以监视作为电路系统5整体的动作状态。这些被监视的数据,在整个系统的动作中发生了异常的情况下,就可以利用来指定成为异常原因的电路部件。此外,就各个电路部件单体来说,即便是在动作中没有异常的情况下,在把这些多个电路部件组合起来的情况下,有时候也会因在特定的电路部件间动作条件进行冲突而变得不能进行正常动作。但是,即便是在这样的情况下,由于可以分别同时监视各个电路部件内部的动作状态数据,故成为冲突的原因的电路部件的指定会变得容易起来,与现有技术比较,可以缩短花在其对策(电路修正)上的时间。
图4C的模式图示出了在电路系统5全体的验证结束后,用从各个电路部件1a、1b、1c分离出各个验证支持电路3a、3b、3c的电路部件1a’、1b’、1c’构成的电路系统5’的一个例子。在要进行逻辑合成(电路合成)的情况下,采用向逻辑合成工具输入把在图4A、图4B的各个阶段验证完毕的电路部件1’a、1’b、1’c连接起来的电路系统5’进行逻辑合成的办法,就可以逻辑合成作为逻辑电路不可能合成验证支持电路3a、3b、3c那样的电路系统。如上所述,若用本发明的电路部件,则可以进行这样的连接:即便是在电路部件本体和验证用支持电路之间的连接断开的情况下,也不会给电路部件本体的动作造成影响。因此,即便是从验证完毕的电路部件1断开验证支持电路3的情况下,电路部件本体2的动作仍可以得到保证。
另外,在要从电路部件1a、1b、1c断开验证支持电路3a、3b、3c的情况下,在向逻辑合成工具进行的输入中,可以采用使对各个电路部件的选设”Debug”、”StandAlone”、”ExternalMonitor”全部无效或全部无视或削除与选设”Debug”、”StandAlone”、”ExternalMonitor”有关的描述的办法执行。因此,电路部件本体2a、2b、2c和验证支持电路3a、3b、3c(驱动电路31a、31b、31c、监视连接电路32a、32b、32c,验证用输出端子33a、33b、33c)之间的连接可以断开。
对这样地进行了逻辑合成后的电路系统,进行布局布线,然后根据该进行了布局布线处理的电路数据进行对应的掩模的生成。接着,采用根据该生成的掩模,进行离子注入、刻蚀等规定的半导体装置的制造工序的办法,就可以在硅衬底上边构筑晶体管和布线等的实际逻辑电路。这样一来,上述已进行了逻辑合成的电路系统,最终就可以作为SoC进行制造。
图5是作为本发明的一个实施例的从电路部件的导入,经由验证、逻辑合成到达SoC为止的SoC的制造方法的流程图。
在步骤S1中,SoC的设计者进行具有可以用市场上正在流通的硬件描述语言描述的特定的电路功能的电路部件的购入/导入。设计者,对于已导入的电路部件,边监视来自作为预先连接到电路部件本体上的验证支持电路的验证用输出端子的输出,边用仿真器进行电路部件单体的动作验证/仿真(步骤S2)。在验证动作的结果(步骤S3),电路部件没进行正常动作的情况下,设计者在利用来自验证用输出端子的监视输出发现异常原因部位的同时,进行异常原因部位的修正(描述修正,步骤S4)。
在电路部件单体的动作中没有异常的情况下,就使用该电路部件进行电路系统的设计(步骤S5)。在电路系统设计后,这回要进行电路系统全体的动作验证/仿真(S6)。这时,设计者监视设置在各个电路部件中的预先已连接到电路部件本体上的验证用输出端子的输出。在动作验证的结果(步骤S7),电路系统未进行正常动作的情况下,就利用来自验证用输出端子的监视输出进行成为异常原因的电路部件的指定,同时在电路部件的提供单位或导入者一侧进行其对策(电路修正,步骤S8)。
在电路系统的动作中没有异常的情况下,就对逻辑合成工具输入电路系统的描述,并从电路系统的描述中,在断开与验证支持电路有关的描述的状态下接着逻辑合成(电路合成,步骤S9)。倘采用本发明的一个实施例的电路部件的构造,则可以仅仅对电路系统的描述之内除了与验证支持电路有关的描述之外的电路进行逻辑合成。
逻辑合成后的电路系统,然后,采用在进行了布局布线处理(步骤S10)后,生成对应的掩模(步骤S11),根据所生成的掩模经由离子注入、刻蚀等规定的半导体装置的制造工序(步骤S12),在硅衬底上边构筑晶体管和布线等的实际逻辑电路的办法,最终作为SoC进行制造(步骤S13)。
倘采用上边所说的SoC的制造方法,由于花在电路系统的动作验证上的时间可以缩短到比现有技术短,故SoC的开发周期可以缩短与该时间的缩短量相对应的量。
此外,本发明的一个实施例的电路部件,由于是用硬件描述语言描述的,故也适合于通过因特网进行的销售/流通。图6是使之通过因特网理想流通情况的模式图。电路部件的各个供应厂家,事先把制作好的电路部件存放在已连接到各个厂家的服务器的存储介质(硬盘等)内。想使用各个供应厂家所提供的电路部件的SoC的设计者,采用访问各个供应厂家的服务器,在办理完规定的手续后,把所希望的电路部件向自己的硬盘等内下载的办法,进行该电路部件的购入/导入。因此,可以把SoC的设计时间正好缩短花在电路部件的流通上的期间那么大的量。此外,由于不花费流通费用,故在供应商一侧,可以便宜与流通费用相对应的数量的钱地提供电路部件,在设计者一侧,则可以期待便宜与流通费用相对应的数量的钱地购入电路部件。
另外,在本发明的一个实施例的电路部件的销售时,除去把验证支持电路附加到电路部件本体上的形态之外,也可以仅仅把验证支持电路作为与该电路部件本体对应的选配产品,作为与电路部件本体分开的产品(另外的描述文件)进行销售。但是,在该情况下,电路部件本体与验证支持电路之间的连接,也必须预先由电路部件的提供者设定为可进行连接。在仅仅把验证支持电路作为单独的产品进行销售的情况下,结果就变成为在仅仅购入了电路部件本体之后,在需要验证支持电路的那一时刻,使用者可以以单体的形态购入验证支持电路。
倘采用上述销售形式,由于可以由电路部件的提供者预先把可以连接到电路部件本体上的验证支持电路附加到电路部件本体上,或者作为与电路部件本体对应的选配产品使之与电路部件本体独立地进行销售/流通,故可以使在电路部件购入者那里进行的电路部件的验证变得容易起来,与现有技术比,可以缩短电路系统开发期间。
如上所述,倘采用本发明的在SoC的设计中使用的电路部件的一个实施例,则在对于具有特定的电路功能的电路部件本体,由电路部件的提供者一侧与电路部件本体可离合地连接起来,同时,把已与电路部件本体的内部电路连接起来的验证用输出端子设定为使得即便是与电路部件本体之间的连接已被断开的情况下,也不会给用电路部件本体单体进行的动作造成影响。因此,在已导入了电路部件的使用者一侧,电路部件的动作验证将变得容易起来,同时,在进行逻辑合成之际作为电路系统可以仅仅逻辑合成必要的电路部件本体。因此,与现有技术比较,可以缩短在硬件描述语言级别进行的电路系统的动作验证和修正所花费的时间,结果变成为可以与上述时间的缩短量相对应地缩短SoC的开发、制造的周期。
虽然以上图示并说明了本发明的实施例,但是本专业的技术人员明白还可以进行各种变形、修正和用等效器件进行置换而不偏离本发明真正的宗旨。此外,还可以对本发明的教导进行许多修正以适合特定的情况和材料而不偏离其主旨。因此,本发明包括所附权利要求范围内的全部形态,而不限定于上边所说的特定的实施例。

Claims (2)

1.一种用硬件描述语言描述的集成电路装置的设计中使用的电路部件的验证方法,包括下列步骤:
把由验证支持电路的驱动电路生成的动作时钟和仿真信号提供给电路部件本体,对具备上述电路部件本体和上述验证支持电路、用硬件描述语言描述的电路部件或至少具有一个上述电路部件的用硬件描述语言描述的电路系统进行模拟,上述电路部件本体至少具有一种电路功能,上述验证支持电路可离合地与上述电路部件本体的内部连接,使得即便是在与上述电路部件本体之间的连接被切断的情况下也不会给上述电路部件本体的动作造成影响;和
通过上述验证支持电路的验证用输出端子,在显示画面上显示输出表示上述电路部件本体的动作状态的信号。
2.一种集成电路装置的制造方法,包括下列步骤:
对至少具有一个电路部件的用硬件描述语言描述的电路系统进行模拟,上述电路部件设置有具备输入输出端子并具有至少一种电路功能的电路部件本体和具有与上述电路部件本体的电路内部进行连接的验证用输出端子的验证支持电路,上述验证用输出端子被连接成可以与上述电路部件本体断开,同时,即便是在与上述电路部件本体之间的连接已经断开的情况下,也不会给上述电路部件本体的单独动作造成影响;
通过上述验证用输出端子向上述电路部件本体的外部输出上述电路部件本体内部的动作状态信号;
根据上述模拟执行的结果和所输出的上述动作状态信号,进行上述电路部件或上述电路系统的动作验证;
根据除去上述验证支持电路之外的上述电路系统的电路描述,进行逻辑合成;
根据由上述逻辑合成得到的逻辑电路,进行布局布线;和
根据已进行上述布局布线的布局布线数据,在衬底上边形成实际电路。
CNB02108050XA 2001-03-26 2002-03-26 电路部件的验证方法及其集成电路装置的制造方法 Expired - Fee Related CN1251326C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001087045A JP2002288255A (ja) 2001-03-26 2001-03-26 ハードウェア記述言語で記述されたシステムlsiの回路部品、及びその検証方法、検証支援回路、システムlsiの製造方法
JP087045/2001 2001-03-26

Publications (2)

Publication Number Publication Date
CN1378286A CN1378286A (zh) 2002-11-06
CN1251326C true CN1251326C (zh) 2006-04-12

Family

ID=18942340

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB02108050XA Expired - Fee Related CN1251326C (zh) 2001-03-26 2002-03-26 电路部件的验证方法及其集成电路装置的制造方法

Country Status (5)

Country Link
US (1) US7197731B2 (zh)
JP (1) JP2002288255A (zh)
KR (1) KR100444534B1 (zh)
CN (1) CN1251326C (zh)
TW (1) TWI221310B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7620301B2 (en) 2003-04-04 2009-11-17 Lg Electronics Inc. System and method for resuming playback
US7194658B2 (en) * 2003-07-24 2007-03-20 Sonics, Inc. Various methods and apparatuses for interfacing of a protocol monitor to protocol checkers and functional checkers
WO2007034957A1 (ja) * 2005-09-26 2007-03-29 Hitachi Kokusai Electric Inc. 基板処理装置
US7475368B2 (en) * 2006-01-20 2009-01-06 International Business Machines Corporation Deflection analysis system and method for circuit design
US7603643B2 (en) * 2007-01-30 2009-10-13 Cadence Design Systems, Inc. Method and system for conducting design explorations of an integrated circuit
US8276137B2 (en) * 2007-10-16 2012-09-25 International Business Machines Corporation Creating a virtual machine containing third party code
US8261215B2 (en) * 2008-12-22 2012-09-04 Cadence Design Systems, Inc. Method and system for performing cell modeling and selection
CN102693340B (zh) * 2012-05-19 2014-04-09 孙凌宇 基于多水平划分法和赋权超图的大规模集成电路划分方法
US8966429B2 (en) * 2012-09-11 2015-02-24 Apple Inc. Bit slice elements utilizing through device routing
US10581852B2 (en) * 2014-05-14 2020-03-03 Sequitur Labs, Inc. Hardware implementation methods and system for secure, policy-based access control for computing devices
US9361418B2 (en) * 2014-06-23 2016-06-07 Synopsys, Inc. Nanowire or 2D material strips interconnects in an integrated circuit cell
WO2016037048A1 (en) 2014-09-05 2016-03-10 Sequitur Labs, Inc. Policy-managed secure code execution and messaging for computing devices and computing device security
US10685130B2 (en) 2015-04-21 2020-06-16 Sequitur Labs Inc. System and methods for context-aware and situation-aware secure, policy-based access control for computing devices
US11847237B1 (en) 2015-04-28 2023-12-19 Sequitur Labs, Inc. Secure data protection and encryption techniques for computing devices and information storage
US11425168B2 (en) 2015-05-14 2022-08-23 Sequitur Labs, Inc. System and methods for facilitating secure computing device control and operation
US10700865B1 (en) 2016-10-21 2020-06-30 Sequitur Labs Inc. System and method for granting secure access to computing services hidden in trusted computing environments to an unsecure requestor

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5572437A (en) * 1990-04-06 1996-11-05 Lsi Logic Corporation Method and system for creating and verifying structural logic model of electronic design from behavioral description, including generation of logic and timing models
TW421761B (en) * 1994-04-12 2001-02-11 Yokogawa Electric Corp Verification support system
EP0691612A1 (en) 1994-07-07 1996-01-10 International Business Machines Corporation A test circuit of embedded arrays in mixed logic and memory chips
JPH08125024A (ja) 1994-10-19 1996-05-17 Fujitsu Ltd オンチップram試験システム
US5870585A (en) * 1995-10-10 1999-02-09 Advanced Micro Devices, Inc. Design for a simulation module using an object-oriented programming language
US5911059A (en) * 1996-12-18 1999-06-08 Applied Microsystems, Inc. Method and apparatus for testing software
US6096092A (en) * 1997-04-07 2000-08-01 Matsushita Electric Industrial Co., Ltd. Automatic synthesizing method for logic circuits
JP3575728B2 (ja) 1997-05-23 2004-10-13 東芝テック株式会社 インクジェットプリンタヘッド及びその製造方法
BR9914200A (pt) * 1998-09-30 2002-01-22 Cadence Design Systems Inc Métodos para projetar um sistema de circuito, para expandir uma metodologia existente para avaliar a viabilidade de um projeto de circuito, para realizar uma avaliação de viabilidade para um projeto de circuito, para refinar uma primeira regra de decisão para um projeto de circuito, para formar uma segunda regra de decisão para um projeto de circuito, para organizar os dados de experiência de um projetista relativos a uma pluralidade de blocos de circuito pré-projetados, para aumentar a eficiência de distribuição de lógica de cola e para distribuir uma pluralidade de elementos lógicos de cola entre os blocos de projeto e distribuir lógica de cola para execução em um esquema de projeto de dispositivo de circuito integrado, para converter uma interface especìfica de um bloco de circuito, para selecionar um coletor de circuito, para projetar um dispositivo que incorpora o projeto e habilitar um teste do dispositivo, para verificar o correto funcionamento de um projeto de circuito e para desenvolver uma bancada de teste de nìvel comportamental, interface de colar e sistema de interface
JP2000123061A (ja) * 1998-10-16 2000-04-28 Matsushita Electric Ind Co Ltd 集積回路装置の設計用データベース及び集積回路装置の設計方法
US6400173B1 (en) * 1999-11-19 2002-06-04 Hitachi, Ltd. Test system and manufacturing of semiconductor device
US6901562B2 (en) * 2000-01-18 2005-05-31 Cadence Design Systems, Inc. Adaptable circuit blocks for use in multi-block chip design
US6631504B2 (en) * 2000-01-18 2003-10-07 Cadence Design Systems, Inc Hierarchical test circuit structure for chips with multiple circuit blocks
US6701474B2 (en) * 2000-06-28 2004-03-02 Cadence Design Systems, Inc. System and method for testing integrated circuits
JP2003030262A (ja) * 2001-07-19 2003-01-31 Hitachi Ltd Ipの仕様と回路の比較結果の認定を特徴とするip認定方法、および前記認定方法により出荷されたip
US6775810B2 (en) * 2002-10-08 2004-08-10 Sun Microsystems, Inc. Boosting simulation performance by dynamically customizing segmented object codes based on stimulus coverage
US6879927B1 (en) * 2003-07-21 2005-04-12 Credence Systems Corporation Communication interface for virtual IC tester

Also Published As

Publication number Publication date
TWI221310B (en) 2004-09-21
KR20020076134A (ko) 2002-10-09
JP2002288255A (ja) 2002-10-04
US20020138814A1 (en) 2002-09-26
CN1378286A (zh) 2002-11-06
KR100444534B1 (ko) 2004-08-16
US7197731B2 (en) 2007-03-27

Similar Documents

Publication Publication Date Title
CN1251326C (zh) 电路部件的验证方法及其集成电路装置的制造方法
Bergamaschi et al. Designing systems-on-chip using cores
JP4464665B2 (ja) 高速チップ管理システム
US20070074139A1 (en) Method and apparatus for circuit design and retiming
US20050198611A1 (en) Method and apparatus for decomposing and verifying configurable hardware
US7331022B1 (en) Method and apparatus for automating pin assignments
US8863072B1 (en) FPGA and OS image build tool
JP2009518717A (ja) Edaツール設計ビューにおける情報を保護する方法およびプログラム・プロダクト
CN1959684A (zh) 混合信号电路模拟器
US9659123B2 (en) Systems and methods for flexibly optimizing processing circuit efficiency
US6993740B1 (en) Methods and arrangements for automatically interconnecting cores in systems-on-chip
CN1222909C (zh) 一种flash芯片的加载方法和jtag控制器
CN1539113A (zh) 层次集成电路设计和分析系统中对子模块设计的表达
TW201248169A (en) Motherboard with a multi-function BIOS and testing method
US7657851B2 (en) Device, system, and method for correction of integrated circuit design
CN1959946A (zh) 半导体装置的封装设计方法及制造方法和布局设计工具
JP2007257327A (ja) 設計支援装置、設計支援方法及び設計支援プログラム
JP2018112995A (ja) 迂回配線チェックプログラム、迂回配線チェック方法、および情報処理装置
JP2008204111A (ja) 半導体集積回路の設計支援装置、その設計支援方法、その製造方法、プログラム、及び記録媒体
JP6445242B2 (ja) 設計支援装置および設計支援方法
CN1430168A (zh) 实现即时反映对象信息中的变化的对象匹配管理系统
JP2004280279A (ja) トップダウン設計装置およびトップダウン設計プログラム
CN110110362B (zh) 一种使用嵌入式命令设计芯片的方法
JP2000113024A (ja) ネットリスト生成方法及びネットリスト生成装置
US7761835B2 (en) Semiconductor device design method, semiconductor device design system, and computer program for extracting parasitic parameters

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20060412