KR20160078032A - 전자 설계 자동화를 위한 장치 및 방법 - Google Patents

전자 설계 자동화를 위한 장치 및 방법 Download PDF

Info

Publication number
KR20160078032A
KR20160078032A KR1020140188645A KR20140188645A KR20160078032A KR 20160078032 A KR20160078032 A KR 20160078032A KR 1020140188645 A KR1020140188645 A KR 1020140188645A KR 20140188645 A KR20140188645 A KR 20140188645A KR 20160078032 A KR20160078032 A KR 20160078032A
Authority
KR
South Korea
Prior art keywords
rule file
file
rule
flowchart
unit
Prior art date
Application number
KR1020140188645A
Other languages
English (en)
Inventor
강대권
Original Assignee
삼성전자주식회사
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 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020140188645A priority Critical patent/KR20160078032A/ko
Priority to US14/824,529 priority patent/US9836565B2/en
Priority to TW104141616A priority patent/TWI710951B/zh
Priority to CN201510977478.4A priority patent/CN105740494B/zh
Publication of KR20160078032A publication Critical patent/KR20160078032A/ko

Links

Images

Classifications

    • 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • 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/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
    • 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)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Structural Engineering (AREA)
  • Computational Mathematics (AREA)
  • Civil Engineering (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Architecture (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

전자 설계 자동화를 위한 장치 및 방법이 게시된다. 일 실시예에 따른 전자 설계 자동화 방법은 기준 설계 파일에 대한 제한이 부여된 룰 파일(rule file)을 로딩(loading) 하는 단계; 로딩 된 룰 파일로부터, 각각, 제한을 수행하기 위한 다수의 단위 동작을 추출(extract)하는 단계; 및 다수의 단위 동작 사이의 관계에 근거하여, 룰 파일에 대응되는 플로우 차트(flow chart)를 자동으로 생성하는 단계를 포함한다.

Description

전자 설계 자동화를 위한 장치 및 방법{APPARATUS AND METHOD FOR ELECTRONIC DESIGN AUTOMATION}
본 개시는 사용이 용이하거나 정확한 설계를 수행할 수 있는 전자 설계 자동화를 위한 장치 및 방법에 관한 것이다.
집적 회로가 고집적화 또는 소량화 되고 있다. 이에 따라, 집적 회로의 설계가 복잡해지고 있다. 예를 들어, 20nm 이하의 로직(logic) 공정, 즉 미세 공정에서는, DRC(Design Rule Check) 또는 OPC(Optical Proximity Check) 등에 사용되는 전자 설계 자동화 툴(Electronic Design Automation tool)의 언어로 코딩(coding)할 경우, 수천 줄 이상으로 작성될 수 있다. 이 경우, 코드 오류가 발생할 확률이 높고, 코드 오류에 의해 제품에 대한 불량 발생 확률이 증가될 수 있다.
사용이 용이하거나 정확한 설계를 수행할 수 있는 전자 설계 자동화를 위한 장치 및 방법을 제공하고자 하는 것이다.
일 실시예에 따른 전자 설계 자동화 방법은 기준 설계 파일에 대한 제한이 부여된 룰 파일(rule file)을 로딩(loading) 하는 단계; 로딩 된 룰 파일로부터, 각각, 제한을 수행하기 위한 다수의 단위 동작을 추출(extract)하는 단계; 및 다수의 단위 동작 사이의 관계에 근거하여, 룰 파일에 대응되는 플로우 차트(flow chart)를 자동으로 생성하는 단계를 포함한다.
일 실시예에 따른 전자 자동화 설계 장치는, 기준 설계 파일에 대한 제한이 부여된 룰 파일(rule file)을 분석하여 상기 룰 파일의 오류를 검출하고 정정하는 룰 파일 처리부; 및 상기 룰 파일 처리부에서 처리된 룰 파일로부터 집적 회로에 대한 최종 설계 파일을 생성하는 전자 설계 자동화 실행부를 포함하고, 상기 룰 파일 처리부는, 상기 룰 파일에 대응되는 플로우 차트(flow chart)를 생성하여 상기 분석, 및 오류의 검출 및 정정 동작을 수행한다.
다른 실시예에 따른 전자 자동화 설계 방법은, 기준 설계 파일에 대한 제한이 부여된 룰 파일(rule file)에 대응되는 플로우 차트(flow chart)를 자동으로 생성하는 단계; 플로우 차트를 분석하여 룰 파일의 오류를 디버깅(debugging)하는 단계; 및 오류가 정정된 룰 파일로부터 집적 회로에 대한 최종 설계 파일을 생성하는 단계를 포함한다.
일 실시예에 따른, 컴퓨터가 전자 자동화 설계(Electronic Design Automation)를 수행하기 위한 방법의 실행에 사용되는, 컴퓨터에서 실행가능한 명령들을 저장하는, 컴퓨터로 독출 가능한 저장 장치에서, 방법은, 적어도 하나의 룰 체크(rule check)를 위해 임의의 언어로 작성된 룰 파일(rule file)로부터 각 레이어(layer)를 추출하는 단계; 룰 파일로부터 추출된 레이어에 근거하여 도트 그래프(dot graph)를 생성하는 단계; 및 도트 그래프로부터 룰 파일에 대응되는 플로우 차트(flow chart)를 생성하는 단계를 포함한다.
일 실시예에 따른 집적 회로의 제조 방법은, 기준 설계 파일에 대한 제한이 부여된 룰 파일(rule file)에 대응되는 플로우 차트(flow chart)를 자동으로 생성하는 단계; 플로우 차트를 분석하여 룰 파일의 오류를 디버깅(debugging)하는 단계; 오류가 정정된 룰 파일로부터 집적 회로에 대한 최종 설계 파일을 생성하는 단계를 포함하는; 및 최종 설계 파일을 이용하여 집적 회로를 제조하는 단계를 포함한다.
일 실시예에 따른 전자 설계 자동화를 위한 장치 및 방법에 의하면, 전자 설계 자동화 툴에서 룰(rule)의 작성을 검증함에 있어, 자동으로 생성되는 체계적인 플로우 차트(flow chart)를 이용함으로써, 집적 회로를 용이하게 설계할 수 있는 장점이 있다. 이때, 플로우 차트 상에서 특정 룰 체크 구간을 선택하여 세부적인 알고리즘을 분석할 수 있어, 설계의 용이성이 증대될 수 있다.
일 실시예에 따른 전자 설계 자동화를 위한 장치 및 방법에 의하면, 전자 설계 자동화 툴에서 룰의 작성을 검증함에 있어, 자동으로 생성되는 체계적인 플로우 차트를 이용함으로써, 코드 오류 등을 용이하게 확인할 수 있어, 집적 회로를 정확하게 설계할 수 있는 장점이 있다. 이때, 생성된 플로우 차트와 유저(user)가 기입한 사항을 자동으로 비교하여, 자동으로 디버깅(debugging)함으로써, 설계의 정확성이 증대될 수 있다. 이에 따라, 제품 생산의 불량률이 줄어들 수 있다.
일 실시예에 따른 전자 설계 자동화를 위한 장치 및 방법에 의하면, 전자 설계 자동화 툴에서 룰(rule)의 작성을 검증함에 있어, 자동으로 생성되는 체계적인 플로우 차트(flow chart)를 이용함으로써, 집적 회로의 설계에 소요되는 시간을 줄일 수 있는 장점이 있다.
일 실시예에 따른 전자 설계 자동화를 위한 장치 및 방법에 의하면, 전자 설계 자동화 툴에서 룰(rule)의 작성을 검증함에 있어, 자동으로 생성되는 체계적인 플로우 차트(flow chart)를 이용함으로써, 집적 회로의 설계를 용이하고, 정확하며, 빠르게 수행할 수 있어, 제품의 생산비를 줄일 수 있는 장점이 있다.
도 1은 일 실시예에 따른 전자 설계 자동화 방법을 나타내는 도면이다.
도 2는 일 실시예에 따른 전자 설계 자동화 장치를 나타내는 도면이다.
도 3은 도 2의 룰 파일 처리부의 동작의 예를 나타내는 도면이다.
도 4 및 도 5는 일 실시예에 따른 룰 파일에서 각 레이어를 추출하는 예를 나타내는 도면이다.
도 6은 일 실시예에 따른 플로우 차트의 생성 방법을 나타내는 도면이다.
도 7은 일 실시예에 따른 플로우 차트의 예를 나타내는 도면이다.
도 8은 일 실시예에 따른 룰 파일을 나타내는 도면이다.
도 9는 일 실시예에 따른 룰 체크를 나타내는 도면이다.
도 10은 일 실시예에 따른 디버깅 방법을 나타내는 도면이다.
도 11은 다른 실시예에 따른 전자 설계 자동화 장치를 나타내는 도면이다.
도 12는 도 11의 기준 설계 자동화 장치에서 디스플레이 되는 화면의 일 예를 나타내는 도면이다.
도 13 및 도 14는 각각, 다른 실시예에 따른 전자 설계 자동화 방법을 나타내는 도면이다.
도 15 및 도 16은 각각, 다른 실시예에 따른 전자 설계 자동화 장치를 나타내는 도면이다.
도 17은 일 실시예에 따른 직접 회로의 제조 방법을 나타내는 도면이다.
도 18은 실시예에 따른 집적 회로의 제조 방법으로 제조된 모바일 장치를 나타내는 도면이다.
이하, 첨부한 도면을 참조하여 전자 설계 자동화 장치 및 방법의 실시 예를 설명한다. 달리 언급되지 아니하는 한, 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 전자 설계 자동화 방법을 나타내는 도면이다. 도 1을 참조하면, 일 실시예에 따른 전자 설계 자동화 방법은 기준 설계 파일에 대한 제한이 부여된 룰 파일(rule file)을 로딩(loading) 하는 단계(S110), 로딩 된 룰 파일로부터, 각각, 제한을 수행하기 위한 다수의 단위 동작을 추출(extract)하는 단계(S120) 및 다수의 단위 동작 사이의 관계에 근거하여, 룰 파일에 대응되는 플로우 차트(flow chart)를 자동으로 생성하는 단계(S130)를 포함한다.
현재의 전자 장치는 다양한 집적 회로들을 포함하고 있다. 집적 회로들은 복합적인 기능을 수행하는데, 소량화 및 고집적화에 따라 그 설계가 곤란하다. 이러한 문제를 해결하기 위해 전자 설계 자동화(Electronic Design Automation) 기술이 개발되고 사용되고 있다. 전자 설계 자동화를 실행하는 툴(tool)은 집적 회로를 구성하는 다양한 컴포넌트(component)를 계층적으로 정의하고 컴포넌트에 대한 반복적인 수행을 통해 집적 회로의 설계를 수행한다. 컴포넌트는 예를 들어, 액티브(active) 및 컨택(contact) 등일 수 있다. 기준 설계 파일은 전자 설계 자동화 툴을 이용하여 사용자(설계자)의 요구에 따라 설계된 집적 회로에 대한 파일이다. 사용자의 요구는 명세 문서(specification)에 의해 특정된다. 기준 설계 파일을 예를 들어, GDS(Graphic Data System) 및 CIF(Caltech Intermediate Format) 등을 이용하여 작성될 수 있다. GDS 등은 집적 회로에 포함되는 다양한 콤포넌트가 데이터 베이스(database)화된 것이다.
룰 파일은 임의의 프로그램 언어(program language)로 작성된다. 예를 들어, 룰 파일은 Standard Verification Rule Format (SVRF) 또는 Tcl Verification Format (TVF)등의 언어를 이용하여 작성될 수 있다. 룰 파일은 기준 설계 파일에 대해 임의의 목적으로 설계를 변경하거나 설계한 부분을 체크하기 위해 생성될 수 있다. 예를 들어, 룰 파일은 DRC(Design Rule Check) 또는 OPC(Optical Rule Check)을 위해 생성될 수 있다. 기준 파일에 대한 변경 또는 체크는 제한으로 지칭될 수 있다. DRC 또는 OPC를 위한 제한으로, 예를 들어, 제한은 기준 설계 파일에서 액티브 영역 사이의 거리가 특정 값 이하인 액티브 영역을 나타낼 수 있다.
제한은 이처럼 하나 이상의 룰 체크(rule check)를 포함할 수 있다. 제한은 사용자로부터 입력되는 명세 문서에 의해 설정될 수 있다. 전자 설계 자동화를 실행하는 툴을 실행하는 장치는 사용자에게 인터페이스를 제공하여, 제한을 수신할 수 있다. 룰 파일이 SVRF 또는 TVF 등의 언어로, 정확하게 제한을 반영하여 작성되었는지를 검증하기 위해, 전자 설계 자동화를 실행하는 툴을 실행하는 장치의 프로세서는, 룰 파일을 로딩한다(S110). 예를 들어, 룰 파일은 전자 설계 자동화를 실행하는 툴에서 파일 열기 기능을 통해, 로딩될 수 있다.
각 룰 체크는 다수의 단위 동작을 포함할 수 있다. 전자 설계 자동화를 실행하는 툴을 실행하는 장치의 프로세서는 룰 파일로부터 다수의 단위 동작을 추출(extract)한다(S120). 전술된 기준 설계 파일에서 액티브 영역 사이의 거리가 특정 값 이하인 액티브 영역을 체크하는 경우, 액티브 영역 사이의 거리와 특정 값을 비교하는 동작 및 비교 값에 따라 제한(또는 룰 체크)에 대응되는 액티브 영역으로 설정하는 동작 등이, 해당 룰 체크의 단위 동작에 포함될 수 있다. 본 개시에서 단위 동작은 단위 레이어(layer) 또는 단위 동작 레이어로 기재될 수 있다. 룰 파일로부터 다수의 단위 동작을 추출하는 좀더 구체적인 예는 후술된다.
전자 설계 자동화를 실행하는 툴을 실행하는 장치의 프로세서는 추출된 다수의 단위 동작 사이의 관계에 근거하여, 룰 파일에 대응되는 플로우 차트(flow chart)를 자동으로 생성한다(S130). 예를 들어, 단위 동작 1의 결과가 단위 동작 2에서 연산되는 경우, 단위 동작 1 및 단위 동작 2는 플로우 차트의 프로세스(process)가 되고, 단위 동작 1을 나타내는 프로세스로부터 단위 동작 2를 나타내는 프로세스로 플로우 라인(flow line)이 이어지는 플로우 차트가 생성될 수 있다. 룰 파일로부터 다수의 단위 동작을 추출하는 좀더 구체적인 예는 후술된다.
도 1의 전자 설계 자동화 방법은, 실시예에 따른 전자 설계 자동화 장치를 나타내는 도 2에서 실행될 수 있다. 도 2를 참조하면, 실시예에 따른 전자 설계 자동화 장치(200)는 룰 파일 처리부(210) 및 전자 설계 자동화 실행부(220)를 포함한다. 룰 파일 처리부(210)는 기준 설계 파일(RDF)에 대한 제한(CON)이 부여된 룰 파일(RUF)을 분석하여 룰 파일(RUF)의 오류를 검출하고 정정할 수 있다. 이하에서는 설명의 편의를 위해, 오류 검출 및 정정의 전후의 룰 파일(RUF)에 대한 도면 부호를 같게 표시한다. 전자 설계 자동화 실행부(220)는 룰 파일 처리부(210)에서 처리된 룰 파일(RUF), 즉 분석되어 오류가 정정된 룰 파일(RUF)로부터 집적 회로에 대한 최종 설계 파일(FDF)을 생성한다.
룰 파일 처리부(210)는 상기와 같은 동작을 수행하기 위해, 레이어 추출부(211) 및 플로우 차트 생성부(212)를 포함할 수 있다.룰 파일 처리부(210)는 외부로부터 처리된 룰 파일(RUF)을 수신하여 룰 파일(RUF)의 오류를 검출하고 정정하거나, 입력되는 기준 파일(RDF)과 제한(CON)으로 룰 파일(RUF)을 생성한 후 오류를 검출하고 정정할 수도 있다. 후자의 경우, 룰 파일 처리부(210)는 룰 파일(RUF)을 생성하는 룰 파일 생성부(214)를 더 포함할 수 있다.
레이어 추출부(211)는 룰 파일(RUF)의 각 레이어(layer)를 추출할 수 있다. 레이어 추출부(211)는 도 3에 도시되는 방법으로 룰 파일의 각 레이어를 추출할 수 있다. 도 2 및 도 3을 참조하면, 레이어 추출부(211)는 룰 파일(RUF)의 출력 레이어를 추출한다(S121). 룰 파일(RUF)의 출력 레이어는 룰 파일의 프로그램 코드 중 출력을 나타내는 프로그램 코드를 검색함으로써 수행될 수 있다. 예를 들어, 룰 파일(RUF)이 SVRF 또는 TVF 등의 언어로 작성된 경우, 룰 체크를 나타내는 프로그램 코드가 지시하는 레이어가 출력 레이어로 추출될 수 있다. 출력 레이어는 제한(CON)을 나타낼 수 있다. 전술된 기준 설계 파일에서 액티브 영역 사이의 거리가 특정 값 이하인 액티브 영역을 체크하고자 룰 파일(RUF)이 생성된 경우, 출력 레이어는 액티브 영역 사이의 거리가 특정 값 이하인 액티브 영역을 나타낼 수 있다.
다음으로, 룰 파일(RUF)의 출력 레이어로 유도된 다수의 단위 동작(단위 동작 레이어)이 단계적으로 추출된다(S122). 예를 들어, 기준 설계 파일에서 액티브 영역 사이의 거리가 특정 값 이하인 액티브 영역을 체크하기 위해, 액티브 영역 사이의 거리와 특정 값을 비교하는 동작 1 및 비교 값에 따라 제한(또는 룰 체크)에 대응되는 액티브 영역으로 설정하는 동작 2가 단위 동작 레이어로 포함될 수 있다. 이때, 출력 레이어는 액티브 영역 사이의 거리가 특정 값 이하인 액티브 영역을 나타낼 수 있다. 이러한 룰 파일은 동작 1로부터 동작 2가 유도되며, 동작 2로부터 출력 레이어가 유도된다. 동작 1로부터 동작 2로 유도된다 함은 동작 1이 동작 2의 입력 또는 소스(source)가 됨을 의미하고, 동작 2로부터 출력 레이어가 유도된다 함은 동작 2가 출력 레이어의 입력 또는 소스가 됨을 의미한다. 상기의 예에서 출력 레이어, 동작 2, 동작 1가 순차적으로 추출된다.
레이어 추출부(211)는 다수의 단위 동작 레이어의 소스 중 다른 단위 동작 레이어로부터 유도되지 아니한 소스를 룰 파일의 입력(입력 레이어)로 추출할 수 있다(S123). 입력 레이어는 제한 또는 룰 체크에 따라 다수의 객체 또는 소스(source)를 포함할 수 있다. 상기의 예에서 입력 레이어는 기준 설계 파일 상의 액티브 레이어(액티브 영역)를 포함할 수 있다. 입력 레이어는 전술된 동작 1로 유도된다. 단, 입력 레이어에 포함되는 소스는 다른 단위 동작 레이어로부터 유도되지 아니한다.
도 4 및 도 5는 실시예에 따른 룰 파일에서 각 레이어를 추출하는 예를 나타내는 도면이다. 도 2, 도 4 및 도 5를 참조하면, 예시된 룰 파일(RUF)은 기준 파일(RDF) 상의 액티브와 게이트(gate)가 교차되는 영역 중 컨택(contact)이 형성되지 아니하는 영역(빗금친 부분)에 대한 체크 또는 설계 변경에 대한 파일이다. 전술한 바와 같이 체크 또는 설계 변경이 제한(CON)으로 기술될 수 있다. 도 4에서 액티브는 레이어 1(LAY1)로, 게이트는 레이어 2(LAY2)로, 컨택은 레이어 3(LAY3)으로 도시된다. 이러한 룰 파일(RUF)의 입력 레이어(도 5의 Input)은 액티브(A), 게이트(B) 및 콘택(C)을 포함한다. 액티브와 게이트가 교차되는 영역 중 컨택이 형성되지 아니한 영역을 체크하기 위해, 세 개의 단위 동작 레이어가 수행될 수 있다. 동작 1은 기준 파일(RDF) 상의 액티브(A)와 게이트(B)를 소스로 하여 논리곱함으로써 액티브(A)와 게이트(B)가 교차되는 영역을 찾는다. 동작 2는 게이트(B)와 컨택(C)의 반전 값을 소스로 하여 논리곱함으로써 게이트(B) 중 컨택(C)이 형성되지 아니하는 영역을 찾는다. 동작 3은 동작 1 및 동작 2를 소스로 하여 논리곱함으로써, 액티브와 게이트가 교차되는 영역 중 컨택이 형성되지 아니한 영역을 찾는다. 동작 3은 상기의 제한(CON)을 출력(출력 레이어)으로 기술된다.
도 4 및 도 5의 예에서, 레이어 추출부(211)는 룰 파일(RUF)의 룰 체크를 나타내는 프로그램 코드를 검색하여 출력 CON을 추출하고, 출력 CON으로 유도된 동작 3을 추출하고, 동작 3으로 유도된 동작 1 및 동작 2를 추출한다. 이때, 동작 1 내지 동작 3의 소스(A, B, C, OPR1, OPR2) 중 다른 동작으로부터 유도되지 아니한 소스 A, B 및 C가 입력으로 추출될 수 있다.
다시 도 2를 참조하면 플로우 차트 생성부(212)는 추출된 룰 파일(RUF)의 각 레이어 사이의 관계에 근거하여, 플로우 차트를 생성할 수 있다. 플로우 차트는 도 6의 방법으로 생성될 수 있다. 도 6은 실시예에 따른 플로우 차트를 생성하는 일 예를 나타내는 도면이다. 도 2, 도 4 및 도 6을 참조하면, 플로우 차트 생성부(212)는 추출된 룰 파일(RUF)의 각 레이어에 근거하여 도트 그래프를 생성한다(S131). 도트 그래프는, 룰 파일(RUF)의 입력을 객체로 하고, 다수의 단위 동작 사이의 룰 파일(RUF)의 입력의 처리 흐름에 대응되는 방향성을 갖도록 생성될 수 있다. 예를 들어, 룰 파일(RUF)이 기준 파일(RDF)의 X 및 Y에 대한 "or" 연산을 수행한 결과 Z를 나타내는 파일일 수 있다. 이 경우, X 및 Y는 입력이고 "or" 은 단위 동작이며, Z 는 출력이다. 도트 그래프는 입력 X의 출력 Z로의 흐름 및 입력 Y의 출력 Z로의 흐름을 나타내도록 생성된다.
플로우 차트 생성부(212)는 도트 그래프에 의해 기술된 처리 흐름을 자동으로, 그래픽(graphic)의 플로우 차트로 생성한다(S132). 예를 들어, 도 5의 예에 대해 플로우 차트는 도 7과 같이 생성될 수 있다. 입력 레이어에 입력(소스) A, B 및 C가 포함되고, 입력 A 및 B로부터 동작 1을 나타내는 프로세스 OPR1으로 플로우 라인이 연결되고, 입력 B 및 C로부터 동작 2을 나타내는 프로세스 OPR2로 플로우 라인이 연결된다. 그리고, 프로세스 OPR1 및 OPR2로부터 동작 3을 나타내는 프로세스 OPR3로 플로우 라인이 연결된다. 프로세스 OPR3로부터 출력을 나타내는 프로세스 CON으로 플로우 라인이 연결됨으로써 도 5의 예에 대한 플로우 차트가 생성될 수 있다.
이상에서 설명된 플로우 차트는 하나의 룰 체크만을 포함하는 것으로 설명되었다. 그러나, 이에 한정되는 것은 아니다. 실시예에 대한 룰 파일(RUF)에는 둘 이상의 룰 체크가 포함될 수 있다. 일 실시예에 따른 룰 파일을 나타내는 도 8을 참조하면, 룰 파일(RUF)은 세 개의 룰 체크를 포함할 수 있다.
도 8의 룰 파일은 입력이 룰 체크 1 및 룰 체크 2의 소스가 되고, 룰 체크 1 및 룰 체크 2의 결과가 룰 체크 3의 소스가 되어 룰 파일의 최종 출력을 생성한다. 예를 들어, 룰 체크 1은 전술된 도 5와 같을 수 있다. 즉, 룰 체크 1은 액티브와 게이트가 교차되는 영역 중 컨택이 형성되지 아니한 영역에 대한 룰(rule)을 체크하는 것일 수 있다. 그리고, 룰 체크 2는 예를 들어, 액티브 영역 사이의 거리가 특정 값 이하인 액티브에 대한 룰을 체크하는 것일 수 있다. 도 9는, 기준 설계 파일에서, 레이어 1인 액티브 11, 12, 13 및 14 중 액티브 11 및 12는 거리가 d1인 반면, 액티브 13 및 14의 거리는 d1 보다 작은 d2로 설계된 예를 도시한다. 이에 대해, 룰 체크 2는 액티브 사이의 거리가 d2 이하인 액티브를 체크하는 것일 수 있다.
그리고 룰 체크 3는 액티브 영역 사이의 거리가 특정 값 이하인 액티브의, 액티브와 게이트가 교차되는 영역 중 컨택이 형성되지 아니한 영역에 대한 체크일 수 있다. 룰 체크 3을 처리한 결과가 반영되어 룰 파일(RUF)이 생성될 수 있다. 룰 파일(RUF)이 둘 이상의 룰 체크를 포함하는 경우, 생성되는 플로우 차트 또한, 둘 이상의 룰 체크가 포함될 수 있다.
이때, 룰 체크 1 내지 룰 체크 3은 룰 파일(RUF)에 포함된 모든 룰을 나타낼 수 있다. 이 경우, 플로우 차트는 룰 파일 전부에 대해 생성된 것이 된다. 다만, 이에 한정되는 것은 아니다. 룰 파일(RUF)은 룰 체크 1 내지 룰 체크 3 이외의 다른 룰 체크를 더 포함할 수 있고, 요청에 의해 룰 체크 1 내지 룰 체크 3에 대한 단위 동작 레이어만이 추출되어 룰 파일(RUF)의 일부에 대해 플로우 차트가 생성된 것일 수도 있다. 상기와 같이 생성된 플로우 차트는 후술되는 사용자 인터페이스(user interface)를 통해 디스플레이(display) 될 수 있다(도 6의 S133).
다시 도 2를 참조하면, 실시예에 따른 룰 파일 처리부(210)는 디버깅부(debugging unit, 213)를 더 포함할 수 있다. 디버깅부(213)는 플로우 차트를 분석하여 룰 파일(RUF)의 오류를 검출하고 정정한다. 예를 들어, 디버깅부(213)는 룰 파일(RUF)의 생성을 위해 입력된 기준 설계 파일에 대한 제한(CON)과 룰 파일(RUF)에 대해 생성된 플로우 차트를 비교하여 디버깅을 수행할 수 있다. 예를 들어, 디버깅부(213)는 룰 파일(RUF)의 입력과 플로우 차트의 시작 데이터를 비교함으로써 룰 파일(RUF)이 정확한 입력을 갖도록 생성되었는지를 분석할 수 있다.
일 실시예에 따른 디버깅 동작을 설명하는 도 10을 참조하면, 제한(CON)은 입력 A, B 및 D에 대해, ((A OR B) OR ((A OR B) AND D))를 수행하는 것으로 입력될 수 있다. 전술한 바와 같이, 제한(CON)은 도 10의 (a)와 같이 명세 문서로 입력될 수 있다. 그런데, 도 10의 (b)를 참조하면, 전술된 방법에 의해 생성된 플로우 차트(FCL)의 시작 데이터는 A, B 및 C이다. 디버깅부(213)는 명세 문서 상의 입력과 플로우 차트의 시작 데이터를 비교함으로써 룰 파일의 오류를 검출할 수 있다. 디버깅부(213)는 도 10의 (c)와 같이, 입력에 오류가 있음을 리포트(report) 할 수 있다.
그 밖에, 디버깅부(213)는 사용자 인터페이스를 통해 플로우 차트에 대해 피드백(feedback)을 수신하고, 플로우 차트에 대한 피드백에 근거하여 룰 파일(RUF)의 오류를 디버깅할 수 있다. 이에 대하여 설명한다.
도 11은 다른 실시예에 따른 전자 설계 자동화 장치를 나타내는 도면이다. 도 11을 참조하면, 전자 설계 자동화 장치(1100)는 도 1의 전자 설계 자동화 장치(200)와 마찬가지로 룰 파일 처리부(1110) 및 전자 설계 자동화 실행부(1120)를 포함한다. 도 11의 룰 파일 처리부(1110) 및 전자 설계 자동화 실행부(1120)는 도 2의 룰 파일 처리부(210) 및 전자 설계 자동화 실행부(220)와 동일한 기능을 수행할 수 있다. 도 11의 전자 설계 자동화 장치(1100)는 나아가, 기준 설계 파일 제공부(1130), 사용자 인터페이스부(1140) 및 영역 설정부(1150)를 더 포함할 수 있다.
기준 설계 파일 제공부(1130)는 전술된 기준 설계 파일(RDF)을 저장하고, 요청에 의해, 룰 파일 처리부(1110) 또는 전자 설계 자동화 실행부(1120)에 기준 설계 파일(RDF)을 제공할 수 있다. 기준 설계 파일(RDF)은 전술한 바와 같이, GDS 등일 수 있다.
사용자 인터페이스부(1140)는 룰 파일 처리부(1110)로부터 출력되는 룰 파일(RUF)과 관련된 정보 또는 전자 설계 자동화 실행부(1120)에서 생성된 최종 설계 도면(FDF)을 사용자에게 제공할 수 있다. 룰 파일 처리부(1110)로부터 출력되는 룰 파일(RUF)과 관련된 정보는 룰 파일(RUF)에 대한 플로우 차트 또는 프로그램 코드 등일 수 있다.
이를 위해, 사용자 인터페이스부(1140)는 디스플레이를 포함할 수 있다. 그 밖에 사용자 인터페이스부(1140)는 유무선 통신을 지원하여 플로우 차트 또는 최종 설계 도면을 외부로 출력할 수 있다. 또한, 사용자 인터페이스부(1140)를 통해 전술된 제한(CON)이 룰 파일 처리부(1110)에 명세 문서로 제공될 수 있다. 그 밖에, 사용자 인터페이스부(1140)는 플로우 차트에 대한 피드백 신호(INS)를 사용자로부터 수신할 수 있다.
영역 설정부(1150)는 피드백 신호(INS)에 근거하여 제어 신호(XCTR)를 생성할 수 있다. 피드백 신호(INS)는 플로우 차트의 일부 영역을 나타낼 수 있다. 플로우 차트의 각 영역은 서로 다른 룰 체크(예를 들어, 도 8의 룰 체크 1 내지 룰 체크 3)에 대응될 수 있다. 룰 파일 처리부(1110)는 제어 신호(XCTR)에 응답하여, 플로우 차트에서 지정된 영역에 대한 프로그램 코드를 사용자 인터페이스부(1140)를 통해 사용자에게 제공할 수 있다. 도 12는 도 11의 기준 설계 자동화 장치에서 디스플레이 되는 화면의 일 예를 나타내는 도면이다. 도 11 및 도 12를 참조하면, 사용자 인터페이스부(1140)는 플로우 차트가 디스플레이 되는 제1 디스플레이 영역(1141), 플로우 차트 상의 각 영역을 버튼(button) 형태로 제공하는 제2 디스플레이 영역(1142) 및 플로우 차트 중 지정된 영역에 대한 프로그램 코드를 제공하는 제3 디스플레이 영역(1143)을 디스플레이 할 수 있다.
전술한 바와 같이, 플로우 차트에는 다수의 룰 체크가 포함될 수 있고, 사용자는 제1 디스플레이 영역(1141)에 디스플레이 되는 플로우 차트 중 임의의 룰 체크를 터치(touch) 또는 클릭(click)함으로써 해당 룰 체크가 지정될 수 있다. 다만, 사용자는 제2 디스플레이 영역(1142)에 디스플레이 되는 버튼들 중 하나를 터치 또는 클릭함으로써 임의의 룰 체크를 지정할 수도 있다. 도 8의 예에 대래, 제2 디스플레이 영역(1142)은 각각 룰 체크 1, 룰 체크 2 및 룰 체크 3이 제1 디스플레이 영역(1141) 상에 표시되도록 지시하는 버튼 1, 버튼 2 및 버튼 3을 디스플레이 할 수 있다. 예를 들어, 사용자가 버튼 1을 클릭한 경우, 제1 디스플레이 영역(1141) 상의 플로우 차트에서 룰 체크 1에 대응되는 부분을 표시하거나, 제1 디스플레이 영역(1141) 상에 룰 체크 1만이 디스플레이 될 수 있다. 이와 함께, 버튼 1의 클릭에 응답하여, 제3 디스플레이 영역(1143)에는 룰 체크 1에 대한 프로그램 코드가 디스플레이 될 수 있다.
이렇듯, 일 실시예에 따른 전자 설계 자동화를 위한 장치 및 방법에 의하면, 전자 설계 자동화 툴에서 룰의 작성을 검증함에 있어, 자동으로 생성되는 체계적인 플로우 차트를 이용함으로써, 코드 오류 등을 용이하게 확인할 수 있어, 집적 회로를 정확하게 설계할 수 있다. 이때, 생성된 플로우 차트와 유저(user)가 기입한 사항을 자동으로 비교하여, 자동으로 디버깅(debugging)함으로써, 설계의 정확성이 증대될 수 있다. 이에 따라, 제품 생산을 불량률이 줄어들 수 있다. 또한, 일 실시예에 따른 전자 설계 자동화를 위한 장치 및 방법에 의하면, 전자 설계 자동화 툴에서 룰(rule)의 작성을 검증함에 있어, 자동으로 생성되는 체계적인 플로우 차트(flow chart)를 이용함으로써, 집적 회로의 설계에 소요되는 시간을 줄일 수 있고, 집적 회로의 설계를 용이하고, 정확하며, 빠르게 수행할 수 있어, 생산비를 줄일 수 있다.
도 13은 다른 실시예에 따른 전자 설계 자동화 방법을 나타내는 도면이다. 도 13을 참조하면, 전자 설계 자동화 방법은 적어도 하나의 룰 체크(rule check)를 위해 임의의 언어로 작성된 룰 파일로부터 각 레이어를 추출하는 단계(S1310), 룰 파일로부터 추출된 레이어에 근거하여 도트 그래프 생성하는 단계(S1320), 도트 그래프로부터 룰 파일에 대응되는 플로우 차트 생성하여 디스플레이 하는 단계(S1330), 플로우 차트의 제1 영역에 대한 설정을 수신하는 단계(S1340), 플로우 차트의 제1 영역에 대한 룰 파일의 프로그램 코드를 디스플레이 하는 단계(S1350) 및 디스플레이 된 프로그램 코드에 대한 피드백에 근거하여 룰 파일에 대한 디버깅 수행하는 단계(S1360)를 포함한다.
도 14는 다른 실시예에 따른 전자 설계 자동화 방법을 나타내는 도면이다. 도 14를 참조하면, 전자 설계 자동화 방법은 기준 설계 파일에 대한 제한이 부여된 룰 파일에 대응되는 플로우 차트를 자동으로 생성하는 단계(S1410), 플로우 차트를 분석하여 룰 파일의 오류를 디버깅하는 단계(S1420) 및 오류가 정정된 룰 파일로부터 집적 회로에 대한 최종 설계 파일을 생성하는 단계(S1430)를 포함한다.
도 13 및 도 14의 전자 설계 자동화 방법의 각 단계는 전술된 전자 설계 자동화 방법 또는 전자 설계 자동화 장치에서 설명되었으므로, 이에 대한 더 자세한 설명은 생략한다. 이상에서 설명된 전자 설계 자동화 방법은, 컴퓨터가 전자 자동화 설계를 수행하기 위한 방법으로, 이의 실행에 사용되는 컴퓨터에서 실행 가능한 명령들을 저장하는, 컴퓨터로 독출 가능한 저장 장치에 저장될 수 있다.
도 15는 다른 실시예에 따른 전자 설계 자동화 장치를 나타내는 도면이다. 도 15를 참조하면, 전자 설계 자동화 장치(1500)는 프로세서(1510), 저장부(1520), 메인 메모리(1530) 및 사용자 인터페이스(1540)를 포함한다. 프로세서(1510)는 전술된 룰 파일의 레이어 추출, 플로우 차트의 생성 및 디버깅 동작 등을 수행하거나 제어한다. 예를 들어, 프로세서(1510)는 도 2의 룰 파일 처리부(210) 및 전자 설계 자동화 실행부(220)를 포함하여, 전자 설계 자동화 방법을 수행할 수 있다. 또는 프로세서(1510)는 도 2의 룰 파일 처리부(210) 및 전자 설계 자동화 실행부(220)의 동작을 제어할 수 있다. 저장부(1520)에는 전자 설계 자동화 툴이 저장될 수 있다. 전자 설계 자동화 툴은 도 2의 룰 파일 처리부(210) 및 전자 설계 자동화 실행부(220)를 포함할 수 있다. 또한, 저장부(1520)에는 전자 설계 자동화 툴의 실행에 필요한 파일 또는 실행 결과가 저장될 수 있어, 룰 파일, 기준 설계 파일 또는 플로우 차트 등이 저장될 수 있다. 메인 메모리(1530)는 DRAM 또는 SRAM 등으로, 프로세서(1510)가 전자 설계 자동화 툴을 실행하기 위해, 저장부(1520)에 저장된 전자 설계 자동화 툴, 룰 파일 및 기준 설계 파일 등이 로딩(loading)될 수 있다. 사용자 인터페이스(1540)는 전술한 바와 같이, 사용자의 명세 문서 또는 피드백을 수신하거나, 사용자에게 플로우 차트 또는 최종 설계 파일 등을 제공할 수 있다. 사용자 인터페이스(1540)는 룰 파일에 대해 자동으로 생성된 플로우 차트를 디스플레이 하기 위한 디스플레이(1541)를 포함할 수 있다.
도 16은 다른 실시예에 따른 전자 설계 자동화 장치를 나타내는 도면이다. 도 16을 참조하면, 전자 설계 자동화 장치(SEV)는 도 15와 마찬가지로 프로세서(1510), 저장부(1520) 및 메인 메모리(1530)를 포함할 수 있다. 다만, 도 16의 전자 설계 자동화 장치(SEV)는 사용자 인터페이스로 송수신부(1540)를 포함한다. 송수신부(1540)는 네트워크(NT)로 연결되는 다수의 장치들(1600a, 1600b)로부터 사용자의 명세 문서 또는 피드백을 수신하거나, 사용자에게 플로우 차트 또는 최종 설계 파일 등을 제공할 수 있다.
도 17은 일 실시예에 따른 직접 회로의 제조 방법을 나타내는 도면이다. 도 17을 참조하면, 기준 설계 파일에 대한 제한이 부여된 룰 파일(rule file)에 대응되는 플로우 차트를 자동으로 생성하는 단계(S1710), 플로우 차트를 분석하여 룰 파일의 오류를 디버깅하는 단계(S1720), 오류가 정정된 룰 파일로부터 집적 회로에 대한 최종 설계 파일을 생성하는 단계(S1730) 및 최종 설계 파일을 이용하여 집적 회로를 제조하는 단계(S1740)를 포함할 수 있다. 전술한 바와 같이, 룰 파일로부터 생성된 플로우 차트를 이용하여 룰 파일에 대한 디버깅을 수행하여 최종 설계 파일이 생성될 수 있다. 최종 설계 파일로 집적 회로가 제조될 수 있다.
도 18은 일 실시예에 따른 집적 회로의 제조 방법으로 제조된 모바일 장치를 나타내는 도면이다. 도 18을 참조하면, 모바일 장치(1800)는 시스템 온 칩으로 구현되는 어플리케이션 프로세서(1810), 커뮤니케이션 프로세서(1820), 카메라(1830), 디스플레이(1840), 커뮤니케이션 모뎀(1850) 및 메모리들(1860, 1870)을 포함할 수 있다. 모바일 장치(1800)에서 어플리케이션 프로세서(1810)에 의해 어플리케이션(application)이 실행될 수 있다. 예를 들어, 카메라(1830)를 통해 영상이 촬영되면, 어플리케이션 프로세서(1810)는 촬영된 영상을 메모리(1870)에 저장하고, 디스플레이(1840)에 디스플레이할 수 있다. 어플리케이션 프로세서(1810)는 전술된 도 17의 제조 방법으로 제조된 집적 회로(또는 시스템 온 칩)일 수 있다. 촬영된 영상은 커뮤니케이션 프로세서(1820)의 제어에 따라 커뮤니케이션 모뎀(1850)을 통해 외부로 전송될 수 있다. 이때, 커뮤니케이션 프로세서(1820)는 영상을 전송하기 위해 임시적으로 영상을 메모리(1860)에 저장할 수 있다. 커뮤니케이션 프로세서(1820)는 그 밖에, 통화, 데이터 송수신을 위한 통신을 제어할 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 개시를 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 본 개시에 의한 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
200: 전자 설계 자동화 장치
210: 룰 파일 처리부
211: 레이어 추출부
212: 플로우 차트 생성부
213: 디버깅부
220: 전자 설계 자동화 실행부

Claims (20)

  1. 프로세서(processor)가, 기준 설계 파일에 대한 제한이 부여된 룰 파일(rule file)을 로딩(loading) 하는 단계;
    상기 프로세서가, 상기 로딩 된 룰 파일로부터, 각각, 상기 제한을 수행하기 위한 다수의 단위 동작을 추출(extract)하는 단계; 및
    상기 프로세서가, 상기 다수의 단위 동작 사이의 관계에 근거하여, 상기 룰 파일에 대응되는 플로우 차트(flow chart)를 자동으로 생성하는 단계를 포함하는 전자 자동화 설계(Electronic Design Automation) 방법.
  2. 제1항에 있어서, 상기 룰 파일로부터 다수의 단위 동작을 추출하는 단계는,
    상기 룰 파일의 출력을 추출하는 단계; 및
    상기 룰 파일의 출력으로 유도된 다수의 단위 동작을 단계적으로 추출하는 단계를 포함하는 전자 자동화 설계 방법.
  3. 제1항에 있어서,
    상기 다수의 단위 동작의 소스(source) 중 다른 단위 동작으로부터 유도되지 아니한 소스를 상기 룰 파일의 입력을 추출하는 단계를 더 포함하는 전자 자동화 설계 방법.
  4. 제1항에 있어서,
    상기 다수의 단위 동작을 추출하는 단계는,
    상기 룰 파일에 포함되는 모든 룰에 대한 단위 동작을 추출하는 단계를 포함하고,
    상기 플로우 차트를 생성하는 단계는,
    상기 룰 파일의 전체를 나타내는 플로우 차트를 생성하는 단계를 포함하는 전자 자동화 설계 방법.
  5. 제1항에 있어서,
    상기 다수의 단위 파일을 추출하는 단계는,
    상기 룰 파일에 포함되는 일부 룰에 대한 단위 동작을 추출하는 단계를 포함하고,
    상기 플로우 차트를 생성하는 단계는,
    상기 룰 파일의 일부를 나타내는 플로우 차트를 생성하는 단계를 포함하는 전자 자동화 설계 방법.
  6. 제1항에 있어서, 상기 플로우 차트를 생성하는 단계는,
    상기 룰 파일의 입력을 객체로 하고, 상기 다수의 단위 동작 사이의 상기 룰 파일의 입력의 처리 흐름에 대응되는 방향성을 갖는 도트 그래프 (dot graph)로부터 상기 플로우 차트를 자동으로 생성하는 단계를 포함하는 전자 자동화 설계 방법.
  7. 제1항에 있어서,
    사용자 인터페이스(user interface)를 통해 입력된, 상기 기준 설계 파일에 대한 제한 및 상기 플로우 차트를 비교하는 단계; 및
    상기 비교 결과에 따라, 상기 룰 파일의 오류를 검출하는 단계를 더 포함하는 전자 자동화 설계 방법.
  8. 제7항에 있어서, 상기 기준 설계 파일에 대한 제한 및 상기 플로우 차트를 비교하는 단계는,
    상기 기준 설계 파일에 대한 제한에 포함된 소스와 상기 플로우 차트의 시작 데이터가 일치하는지를 판단하는 단계를 포함하는 전자 자동화 설계 방법.
  9. 제7항에 있어서,
    상기 룰 파일의 오류를 디버깅(debugging)하는 단계를 더 포함하는 전자 자동화 설계 방법.
  10. 제1항에 있어서,
    상기 플로우 차트를 사용자 인터페이스를 통해 디스플레이 하는 단계;
    상기 사용자 인터페이스를 통해 상기 플로우 차트 중 일부의 영역을 설정하는 단계; 및
    상기 설정된 영역에 대한 상기 룰 파일의 프로그램 코드(program code)를 디스플레이하는 단계를 더 포함하는 전자 자동화 설계 방법.
  11. 제1항에 있어서,
    상기 플로우 차트를 분석하여 상기 룰 파일의 오류를 검출하는 단계;
    상기 룰 파일의 오류가 검출되면 정정하는 단계; 및
    상기 오류가 정정된 룰 파일로부터 집적 회로에 대한 최종 설계 파일을 생성하는 단계를 더 포함하는 전자 자동화 설계 방법.
  12. 제1항에 있어서,
    Standard Verification Rule Format (SVRF) 또는 Tcl Verification Format (TVF)을 이용하여, 상기 기준 설계 파일에 대한 제한에 따라, 상기 룰 파일을 생성하는 단계를 더 포함하는 전자 자동화 설계 방법.
  13. 기준 설계 파일에 대한 제한이 부여된 룰 파일(rule file)을 분석하여 상기 룰 파일의 오류를 검출하고 정정하는 룰 파일 처리부; 및
    상기 룰 파일 처리부에서 처리된 룰 파일로부터 집적 회로에 대한 최종 설계 파일을 생성하는 전자 설계 자동화 실행부를 포함하고,
    상기 룰 파일 처리부는,
    상기 룰 파일에 대응되는 플로우 차트(flow chart)를 생성하여 상기 분석, 및 오류의 검출 및 정정 동작을 수행하는 전자 자동화 설계(Electronic Design Automation) 장치.
  14. 제13항에 있어서, 상기 룰 파일 처리부는,
    상기 룰 파일의 각 레이어(layer)를 추출하는 레이어 추출부;
    상기 추출된 룰 파일의 각 레이어 사이의 관계에 근거하여, 상기 플로우 차트를 생성하는 플로우 차트 생성부; 및
    상기 플로우 차트를 분석하여 상기 룰 파일의 오류를 검출하고 정정하는 디버깅(debugging)부를 포함하는 전자 자동화 설계 장치.
  15. 제14항에 있어서, 상기 레이어 추출부는,
    상기 룰 파일의 출력 레이어(layer)로 유도된 제1 동작 레이어를 추출하고, 상기 제1 동작 레이어로 유도된 제2 내지 제x(x는 2 이상의 정수) 동작 레이어를 추출하며, 상기 제x 동작 레이어로 유도되는 다른 동작 레이어가 존재하지 아니한 경우, 상기 제1 내지 제x 동작 레이어의 소스(source) 중 다른 동작 레이어로부터 유도되지 아니한 소스를 상기 룰 파일의 입력 레이어로 추출하는 전자 자동화 설계 장치.
  16. 제15항에 있어서, 상기 플로우 차트 생성부는,
    상기 입력 레이어에 포함된 소스를 객체로 하고, 상기 제1 내지 제x 동작 레이어에서의 상기 소스의 처리 흐름에 대응되는 방향성을 갖는 도트 그래프(dot graph)로부터 상기 플로우 차트를 생성하는 전자 자동화 설계 장치.
  17. 제14항에 있어서,
    상기 전자 자동화 설계 장치는, 상기 기준 설계 파일에 대한 제한이 입력되는 사용자 인터페이스부를 더 포함하고,
    상기 디버깅부는,
    상기 사용자 인터페이스를 통해 입력된 상기 기준 설계 파일에 대한 제한에 포함된 소스와 상기 플로우 차트의 시작 데이터를 비교하여, 상기 룰 파일의 입력 레이어의 오류를 검출하고 정정하는 전자 자동화 설계 장치.
  18. 제14항에 있어서,
    상기 전자 자동화 설계 장치는, 상기 플로우 차트를 디스플레이하는 사용자 인터페이스부를 더 포함하고,
    상기 디버깅부는,
    상기 사용자 인터페이스를 통해 설정되는 상기 플로우 차트의 영역에 대응되는 상기 룰 파일의 프로그램 코드를, 상기 사용자 인터페이스를 통해 디스플레이하도록 제어하는 전자 자동화 설계 장치.
  19. 제14항에 있어서,
    상기 룰 파일 및 상기 기준 설계 파일이 저장되는 저장부; 및
    상기 룰 파일 및 상기 기준 설계 파일이 로딩(loading)되는 메인 메모리를 더 포함하는 전자 자동화 설계 장치.
  20. 제14항에 있어서,
    네트워크를 통해 연결되는 적어도 하나의 전자 장치로부터 상기 기준 설계 파일에 대한 제한을 수신하고, 상기 플로우 차트를 상기 적어도 하나의 전자 장치로 송신하는 송수신부를 더 포함하는 전자 자동화 설계 장치.
KR1020140188645A 2014-12-24 2014-12-24 전자 설계 자동화를 위한 장치 및 방법 KR20160078032A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020140188645A KR20160078032A (ko) 2014-12-24 2014-12-24 전자 설계 자동화를 위한 장치 및 방법
US14/824,529 US9836565B2 (en) 2014-12-24 2015-08-12 Electronic design automation method and apparatus thereof
TW104141616A TWI710951B (zh) 2014-12-24 2015-12-11 電子設計自動化方法、非暫時性電腦可讀取儲存媒體、以及偵測與積體電路相關聯的規則檔案中的錯誤的方法
CN201510977478.4A CN105740494B (zh) 2014-12-24 2015-12-23 电子设计自动化方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140188645A KR20160078032A (ko) 2014-12-24 2014-12-24 전자 설계 자동화를 위한 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20160078032A true KR20160078032A (ko) 2016-07-04

Family

ID=56164475

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140188645A KR20160078032A (ko) 2014-12-24 2014-12-24 전자 설계 자동화를 위한 장치 및 방법

Country Status (4)

Country Link
US (1) US9836565B2 (ko)
KR (1) KR20160078032A (ko)
CN (1) CN105740494B (ko)
TW (1) TWI710951B (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10496767B1 (en) * 2016-07-05 2019-12-03 Cadence Design Systems, Inc. System and method for enhanced characterization for system identification of non-linear systems
CN107092716A (zh) * 2017-03-15 2017-08-25 郑州航空工业管理学院 一种电子设计的实现方法和装置
CN108133103B (zh) * 2017-12-21 2021-07-30 大连芯巧电子科技有限公司 一种电子设计dfm检测系统、方法和介质
US10796059B2 (en) * 2018-03-22 2020-10-06 Taiwan Semiconductor Manufacturing Company, Ltd. Integrated circuit layout generation method and system
CN108509725B (zh) * 2018-04-02 2021-06-29 中国科学院电子学研究所 可定制逻辑器件版图和网表的自动生成方法
CN108932584A (zh) * 2018-06-15 2018-12-04 厦门集微科技有限公司 一种业务处理方法及装置
US10706204B2 (en) 2018-10-02 2020-07-07 International Business Machines Corporation Automated generation of surface-mount package design
CN112988143B (zh) * 2021-05-10 2021-08-13 苏州贝克微电子有限公司 Eda软件在芯片版图设计中的图形化二次开发方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63289608A (ja) * 1987-05-21 1988-11-28 Toshiba Corp 運用制御装置
JP2786206B2 (ja) * 1988-07-29 1998-08-13 株式会社日立製作所 機能設計図生成方法
JPH032977A (ja) * 1989-05-31 1991-01-09 Toshiba Corp 論理合成装置
JPH04111169A (ja) * 1990-08-31 1992-04-13 Ricoh Co Ltd 回路設計方式
JPH06290235A (ja) 1993-04-01 1994-10-18 Mitsubishi Electric Corp Lsiレイアウト検証テストデータ生成装置
US5706494A (en) * 1995-02-10 1998-01-06 International Business Machines Corporation System and method for constraint checking bulk data in a database
JPH1063699A (ja) 1996-08-22 1998-03-06 Mitsubishi Electric Corp 半導体設計検証ルールファイル自動生成装置
US6117180A (en) * 1997-02-24 2000-09-12 Lucent Technologies Inc. Hardware-software co-synthesis of heterogeneous distributed embedded systems for low overhead fault tolerance
JPH11174659A (ja) 1997-12-16 1999-07-02 Sony Corp マスクパタン検証装置とその方法、および、マスクパタン補正装置とその方法
US7129052B1 (en) 2000-07-12 2006-10-31 The United States Of America As Represented By The Department Of Health And Human Services Peptides and their utility in modulation of behavior of cells expressing α3β1 integrins
JP2002230070A (ja) 2001-01-30 2002-08-16 Mitsubishi Electric Corp レイアウト検証装置およびレイアウト検証方法
US7082584B2 (en) * 2003-04-30 2006-07-25 Lsi Logic Corporation Automated analysis of RTL code containing ASIC vendor rules
JP2005031591A (ja) 2003-07-11 2005-02-03 Sharp Corp フォトマスク検証方法
US7353468B2 (en) * 2003-09-26 2008-04-01 Ferguson John G Secure exchange of information in electronic design automation
JP2005275858A (ja) * 2004-03-25 2005-10-06 Fujitsu Ltd 図面入力装置、図面入力プログラム
US8799830B2 (en) * 2004-05-07 2014-08-05 Mentor Graphics Corporation Integrated circuit layout design methodology with process variation bands
US20060090144A1 (en) * 2004-10-27 2006-04-27 Lsi Logic Corporation Method of automating place and route corrections for an integrated circuit design from physical design validation
JP2006318978A (ja) * 2005-05-10 2006-11-24 Toshiba Corp パターン設計方法
JP2006350420A (ja) 2005-06-13 2006-12-28 Renesas Technology Corp レイアウト検証用ルールファイルのテスト装置、テスト方法及びテストプログラム
FR2897229B1 (fr) * 2006-02-07 2008-06-13 Thales Sa Procede distribue d'allocation dynamique de ressources temps frequence
US7886282B1 (en) * 2006-03-31 2011-02-08 Symantec Corporation Augmenting signature-based technologies with functional flow graphs
KR100877105B1 (ko) 2007-06-27 2009-01-07 주식회사 하이닉스반도체 반도체소자의 패턴 검증 방법
JP2009020725A (ja) 2007-07-12 2009-01-29 Sanyo Electric Co Ltd レイアウトデータの検証方法
WO2009114483A1 (en) * 2008-03-08 2009-09-17 Mentor Graphics Corporation High-frequency vlsi interconnect and intentional inductor impedance extraction in the presence of a multi-layer conductive substrate
JP2010287213A (ja) * 2009-05-11 2010-12-24 Nec Corp ファイル変換装置、ファイル変換方法およびファイル変換プログラム
KR20100127425A (ko) 2009-05-26 2010-12-06 주식회사 동부하이텍 디자인 룰을 검증하는 방법
US8352887B2 (en) * 2010-12-03 2013-01-08 Synopsys, Inc. High performance design rule checking technique
TW201227375A (en) * 2010-12-23 2012-07-01 Advantech Co Ltd Design guidance system and method for circuit board layout rule
CN102591997B (zh) * 2011-01-05 2014-02-26 上海华虹宏力半导体制造有限公司 多电压芯片设计的版图和原理图一致性比较方法
CN102368276A (zh) * 2011-09-14 2012-03-07 天津蓝海微科技有限公司 一种自动验证电学规则文件正确性的流程方法
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
CN102663170B (zh) * 2012-03-21 2014-08-20 上海复旦微电子集团股份有限公司 集成电路版图设计最小通孔数目设计规则的检查方法
US8793243B2 (en) * 2012-04-26 2014-07-29 Sap Ag Rule-based extendable query optimizer
CN102722610A (zh) * 2012-05-29 2012-10-10 李姮乐 一种由流程图自动产生覆盖率代码的方法及装置
US8769451B2 (en) * 2012-07-12 2014-07-01 Taiwan Semiconductor Manufacturing Company, Ltd. Semiconductor device design method, system and computer program product
US9182952B2 (en) * 2013-06-04 2015-11-10 Qualcomm Incorporated Automated graph-based programming
WO2016041594A2 (en) * 2014-09-17 2016-03-24 Siemens Aktiengesellschaft Method and digital tool for engineering software architectures of complex cyber-physical systems of different technical domains
US9424112B1 (en) * 2015-10-01 2016-08-23 Emc Corporation Execution plan generator and execution engine for interfacing with application programming interfaces

Also Published As

Publication number Publication date
TWI710951B (zh) 2020-11-21
US9836565B2 (en) 2017-12-05
CN105740494A (zh) 2016-07-06
US20160188773A1 (en) 2016-06-30
CN105740494B (zh) 2020-11-17
TW201636882A (zh) 2016-10-16

Similar Documents

Publication Publication Date Title
KR20160078032A (ko) 전자 설계 자동화를 위한 장치 및 방법
US8887135B2 (en) Generating test cases for functional testing of a software application
US8549478B2 (en) Graphical user interface input element identification
JP4395761B2 (ja) プログラムテスト支援装置およびその方法
US8204714B2 (en) Method and computer program product for finding statistical bounds, corresponding parameter corners, and a probability density function of a performance target for a circuit
WO2019137444A1 (zh) 用于执行机器学习的特征工程的方法及系统
US10769347B1 (en) Predicting no-defect-found physical failure analysis results using Bayesian inference and generalized linear models
US20150025872A1 (en) System, method, and apparatus for modeling project reliability
US10871951B2 (en) Code correction
JP2006185324A (ja) アプリケーション・プログラムの開発支援方法、プログラム、情報処理装置
US10275548B1 (en) Interactive diagnostic modeling evaluator
US8875064B2 (en) Automated design rule checking (DRC) test case generation
US11521077B1 (en) Automatic recommendation of predictor variable values for improving predictive outcomes
WO2016170618A1 (ja) 自動試験装置
CN112667230A (zh) 应用程序的用户界面开发方法、装置、设备及存储介质
US8010930B2 (en) Extracting consistent compact model parameters for related devices
CN117280321A (zh) 在版本控制系统中的变化估计
US11645192B2 (en) Graph-based method for inductive bug localization
CN112347723B (zh) 基于版图的rom代码提取验证方法及装置
US9760673B2 (en) Application specific integrated circuit (ASIC) test screens and selection of such screens
JP6447111B2 (ja) 共通化情報提供プログラム、共通化情報提供方法、および共通化情報提供装置
US8458632B2 (en) Efficient slack projection for truncated distributions
US20190347080A1 (en) Branch objects for dependent optimization problems
US9754071B1 (en) Integrated circuit (IC) design analysis and feature extraction
US7475369B1 (en) Eliminate false passing of circuit verification through automatic detecting of over-constraining in formal verification

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right