KR19980063723A - 아키텍쳐 시스템 디자인 방법 - Google Patents
아키텍쳐 시스템 디자인 방법 Download PDFInfo
- Publication number
- KR19980063723A KR19980063723A KR1019970065492A KR19970065492A KR19980063723A KR 19980063723 A KR19980063723 A KR 19980063723A KR 1019970065492 A KR1019970065492 A KR 1019970065492A KR 19970065492 A KR19970065492 A KR 19970065492A KR 19980063723 A KR19980063723 A KR 19980063723A
- Authority
- KR
- South Korea
- Prior art keywords
- design
- rtl
- editor
- tasks
- data
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Steps, Ramps, And Handrails (AREA)
Abstract
본 발명은 집적 회로 디자인을 위한 컴퓨터 실행 아키텍쳐 디자인 방법에 관한 것이다. 집적 회로의 양태에 대한 알고리즘 작도가 안출되는데(단계 202), 여기에서 집적회로의 레지스터 전달 논리(RTL; Register Transfer Logic) 실행이 한 세트의 디자인 작업(400, 500)을 실행함으로써 생성된다(단계204-212). 상기 RTL 실행은 디자인 작업이 임의 순서로 실행되도록 다른 디자인 작업으로 분기함으로써 디자인 작업중 하나를 실행한후 수정된다. 데이터는 다수의 데이터 편집기(14-22) 중 하나를 통해 쌍방향 편집될 수 있는 공통 데이터베이스(12)에 저장된다.
Description
본 발명은 집적 회로 디자인에 관한 것으로서, 특히 집적 회로 아키텍쳐를 디자인하기 위한 대화식 방법에 관한 것이다.
요즘의 집적 회로의 복잡성은 디자인 사이클 타임을 감소하기 위해 고레벨 합성 방법을 사용하는 아키텍쳐에 기초된 디자인의 발전을 가져왔다. 예를 들면, 전형적인 고레벨 합성 방법은 회로의 레지스터 전달 레벨(RTL : register transfer level) 하드웨어 실행을 생성하기 위하여 집적 회로 양태의 알고리즘 작도(description)를 사용한다. 상기 방법은 일련의 디자인 작업, 이를테면 스케줄링, 자원 할당, 바인딩(양태 스테이트먼트를 특정 하드웨어 컴포넌트로 매핑), 및 제어기 생성을 포함한다. 이런 디자인 작업은 집적 회로 디자인의 복잡성에 유사한 정도의 복잡성에 상당히 의존한다.
고레벨 합성을 위한 종래 기술의 방법은 한 세트의 양태 스테이트먼트와 특정 집적 회로 수행을 기술하는 제약 조건으로 이루어지는 입력을 사용한다. 일련의 디자인 작업은 마침내 하드웨어 실행을 제공하도록 자동적으로 실행된다. 각각의 디자인 작업은 감지하기에 상당히 어려운 양태 스테이트먼트에 대한 관계를 가지는 데이터를 산출하고, 그 결과 디자이너는 양태 작도에서 특별한 하드웨어 컴포넌트를 특정 스테이트먼트와 결합하는데 어려움을 가진다. 디자인 에러가 하드웨어 실행에서 검출된다면, 디자이너는 변화하는 양태 스테이트먼트를 결정하는데 어려움을 가진다. 하드웨어와 양태 스테이트먼트 사이의 낮은 가시도는 종종 자동화된 디자인 작업의 몇 번의 반복이 요구되는 시도와 에러 처리의 하드웨어 최적화를 형성한다. 디자인 작업의 상당한 부분은 이전 반복으로부터 변화하지 않는 집적 회로의 잉여 계산에 전용된다. 계산 자원의 소비는 시간과 비용 낭비이다.
그러므로, 디자인 시간과 비용을 감소하기 위해 하드웨어와 양태 사이의 가시도를 증가시키는 각각의 디자인 작업에 의해 산출된 데이터와의 다중 대화식을 허용하는 아키텍쳐 디자인 방법의 필요성이 대두되었다.
본 발명의 목적은 집적 회로 디자인을 위한 컴퓨터 실행 아키텍쳐 디자인 방법을 제공하는 것이다.
도 1은 대화식 아키텍쳐 디자인 시스템의 블록도.
도 2는 대화식 디자인 시스템의 순서도.
도 3은 알고리즘 작도와 연관된 제어 단계 매핑의 타이밍도.
도 4는 알고리즘 작도의 하드웨어 실행에 대한 구성도.
도 5는 수정된 알고리즘 작도의 하드웨어 실행에 대한 구성도.
도 6은 대화식 알고리즘 디자인 시스템을 실행하기 위한 컴퓨터의 블록도.
*도면의 주요부분에 대한 부호의 설명*
12 : 마이크로 아키텍쳐 디자인 데이터 베이스
14 : 계층 편집기 16 : 양태 편집기
18 : 구조 편집기 20 : 타이밍 편집기
22 : 개요 라이브러리 편집기 24 : 디자인 유틸리티
도 1은 각각 서로 다른 디자인 작업을 제어하는 다중, 직관 및 상보 편집기를 포함하는 대화식 아키텍쳐 디자인 시스템의 블록도를 도시한다. 마이크로 아키텍쳐 디자인 데이터베이스(12)는 공통 데이터베이스에서 변화하는 타입의 데이터를 저장하는 메모리를 포함한다. 예를들면, 집적회로를 나타내는 양태, 구조 및 타이밍 데이터 타입은 마이크로 아키텍쳐 디자인 데이터베이스(12)에 저장된다. 데이터는 계층 편집기(14), 양태 편집기(16), 구조 편집기(18), 타이밍 편집기(20), 개요 라이브러리 편집기(22) 및 디자인 유틸리티(24)에 의해 판독 또는 기록하기 위해 접근하기 쉽다. 마이크로 아키텍쳐 디자인 데이터베이스(12)에 저장된 데이터는 각각의 편집기와 디자인 유틸리티(24)에 의해 이해될 수 있는 소정 형식으로 저장된다.
계층 편집기(14)는 계층 블록으로 집적 회로 디자인을 분할하기 위해 사용된다. 디자이너는 전형적으로 상기 디자인 상술과 특별한 블록의 양태 복잡성을 기초하여 회로를 분할한다. 예를들면, 버스와 인터페이싱하는 디지털 신호 처리(DSP) 코어는 버스 인터페이스 블록과 DSP 코어 블록으로 추가 분할될 수 있다. 계층 편집기(14)에 생성된 데이터는 추가 처리를 위해 마이크로 아키텍쳐 디자인 데이터베이스(12)에 저장된다. 마이크로 아키텍쳐 데이터베이스(12)로부터의 계층 데이터는 검토 또는 특별한 블록의 재분할을 위해 계층 편집기914)의 그래픽 인터페이스를 통해 재호출된다.
상기 계층 편집기(14)에 의해 정의된 개별 블록의 알고리즘 양태를 기술하기 위한 데이터는 마이크로 아키텍쳐 디자인 데이터베이스(12)에 저장된다. 양태 데이터가 검색되어 디스플레이 장치에서의 검토를 위해 그래픽 또는 문자 형식으로 배열된다. 양태 데이터가 특정 기능 또는 동작을 정의하는 일련의 스테이트먼트로서 기입되기 때문에, 양태 편집기(16)는 전형적으로 내장 구문 점검(built-in syntax checking)을 갖는다. 양태 데이터는 전형적으로 분할된 블록이 계층 편집기(14)에서 한정된 후에 제공된다.
구조 편집기(18)는 마이크로 아키텍쳐 디자인 데이터베이스(12)에 저장된 레지스터 전달 레벨(RTL) 데이터를 관리한다. RTL 데이터는 계층 편집기(14)에서 생성되는 분할된 블록의 하드웨어 컴포넌트를 표현한다. RTL 데이터는 디자이너에 의해 쌍방향으로 제공되거나 편집되고 또는 마이크로아키텍쳐 디자인 데이터베이스(12)에 존재하는 데이터를 사용하는 디자인 유틸리티(24)내의 유틸리티에 의해 생성된다. RTL 데이터는 구조 편집기(18)의 그래픽 인터페이스를 통해 구성도로서 표시하기 위해 그래픽 또는 문자로 배열된다.
타이밍 편집기(20)는 양태 편집기(16)에서 생성된 양태 스테이트먼트의 사이클에 기반을 둔 타이밍을 위한 편집 환경을 제공한다. 타이밍 데이터는 마이크로 아키텍쳐 디자인 데이터베이스(12)에 저장되고 디자인에 의해 쌍방향으로 제공되거나 디자인 유틸리티(24)의 유틸리티에 의해 생성된다. 타이밍 편집기(20)는 상기 알고리즘 작도의 관련 스케줄링을 검토하고 배열하기 위해 그래픽 또는 문자 형식으로 타이밍 데이터를 표시하기 위한 그래픽 인터페이스를 포함한다.
개요 라이브러리 편집기(22)는 RTL 라이브러리 컴포넌트 접근, 편집 또는 형성을 위한 환경을 제공한다. RTL 라이브러리 컴포넌트는 마이크로 아키텍쳐 디자인 데이터베이스(12)에 저장된다. 라이브러리 컴포넌트를 위한 데이터는 RTL 컴포넌트의 속성, 이를테면 지연, 클록킹 방법 등을 포함한다. 라이브러리 컴포넌트의 데이터는 쌍방향 검토와 편집을 위해 개요 라이브러리 편집기(18)의 그래픽 인터페이스를 통해 접근된다.
디자인 유틸리티(24)는 특별한 디자인 작업을 자동화하기 위해 아키텍쳐 디자인 시스템(10)에 의해 사용되는 실행가능한 프로그램을 포함한다. 예를들면, 디자인 유틸리티(24)는 양태 스테이트먼트의 사이클을 기본으로하여 생성되는 유틸리티를 포함한다. 상기 스케줄링은 양태 스테이트먼트와 연관된 타이밍도로서 타이밍 편집기(20)를 통해 검토된다. 디자인 유틸리티(24)의 다른 유틸리티는 구조 편집기(918)에서 검토되고 편집되는 구성도를 가지는 분할된 블록의 RTL 구조를 생성한다. 디자인 유틸리티(24)의 유틸리티에 의해 자동적으로 생성되는 데이터는 적당한 편집기를 사용하여 디자이너에 의해 쌍방향으로 수정될 수 있다.
디자인 유틸리티(24)에 포함된 중요한 유틸리티는 특정 양태와 타이밍을 실행하기 위해 특정 시간에 RTL 컴포넌트에 제어 신호를 요구하는 상태 머신을 포함하는 제어 유니트를 형성하는 제어기 발생기이다. 제어기 발생은 전형적으로 자동적이고 상기 디자인 처리의 최종 단계로서 수행된다.
도 2는 단계 202 내지 212를 포함하는 아키텍쳐 디자인 시스템(10)의 디자인 순서도를 도시하고, 상기 단계중 하나를 실행함으로써 서로 다른 순서로 수행하고 임의 다른 단계를 분기하도록 구성된다. 단계 202에서, 양태 또는 알고리즘 작도는 계층 편집기(14)에 의해 분할된 각각의 블록을 위해 형성 또는 편집된다. 양태 데이터는 전형적으로 C 언어와 같은 문자 기초된 프로그래밍 언어로 작성되는 한 세트의 동작 또는 기능 스테이트먼트로서 양태 편집기(16)를 통해 기입된다. 또한 양태 데이터는 순서도를 사용하여 그래픽적으로 기입될 수 있다. 상기 알고리즘 작도는 양태 편집기(16)의 그래픽 인터페이스를 통해 검토 또는 편집된다.
단계 204에서, 제어 단계가 상기 분할된 블록의 알고리즘 작도로부터 시스템 클록의 특별한 사이클로 매핑된다. 제어 단계 매핑은 양태 스테이트먼트가 수행될 수 있는 특별한 클록 사이클에 대한 양태 스테이트먼트의 링킹 과정으로서 정의된다. 제어 단계는 상기 양태 스테이트먼트에 의해 정의된 기능 또는 동작을 수행하기 위해 상기 사이클에 기반을 둔 타이밍을 기술한다. 상기 제어 단계를 도시하는 타이밍도는 타이밍 편집기(20)에서 검토 또는 편집된다.
단계 206에서, 상기 RTL 컴포넌트는 상기 디자인 상술과 연관되어 할당된다. 디자인을 실행하는데 사용될 상기 RTL 컴포넌트 각각의 양은 제어 단계 매핑(단계 204)의 결과에 따라 결정된다. 상기 현재 RTL 컴포넌트 할당은 마이크로 아키텍쳐 디자인 데이터베이스(12)에 저장되고 구조 편집기(18)를 사용함으로써 시험된다. 디자인에 사용될 특별한 RTL 컴포넌트 양의 한계는 종종 상기 디자인 상술에 의해 부과된다. 상기 한계를 디자인 데이터로 편입하기 위하여, RTL 컴포넌트 데이터는 구조 편집기(18)에서 검색되고 상기 현재 RTL 컴포넌트 할당을 수정하기 위해 쌍방향으로 편집된다.
RTL 컴포넌트의 상호 연결(단계 208)은 디자인 유틸리티(24)에 포함된 상호 연결 유틸리티를 실행함으로써 자동적으로 발생될 수 있다. 상기 상호 연결 유틸리티는 완전히 새로운 상호연결 구조를 형성할 수 있거나 새로운 상호연결을 존재하는 불완전한 상호연결 구조에 추가할 수 있다. 선택적으로, 모든 또는 일부의 상기 상호 연결은 상기 현재 상호 연결을 검토하고 수정하기 위해 구조 편집기(18)를 사용하여 디자이너에 의해 쌍방향으로 제공될 수 있다. 상호 연결 단계(208)는 상기 현재 RTL 컴포넌트 사이의 신호를 운반하는 도체의 형성을 포함한다. 추가적으로, RTL 컴포넌트 공유와 통신 프로토콜을 위해 요구되는 승산기와 3상 구동기와 같은 스위칭 장치가 상호 연결 단계 208에서 생성된다. 상기 도체와 스위칭 장치는 상기 제어 단계 매핑과 양태 대구조 매핑 단계 204와 210에 의해 유도된 제약 조건을 고려하는 동안 상기 디자인 상술에 따라 발생된다. 상호 연결 데이터는 마이크로 아키텍쳐 디자인 데이터베이스(12)에 저장된다.
구조 매핑(단계 210)은 블록의 양태 작도의 변수와 동작을 특정 RTL 컴포넌트와 결합시킨다. 그러므로, 양태 편집기(16)에서 검토되고 편집된 알고리즘 또는 양태 스테이트먼트는 구조 편집기(18)에서 검토되고 편집된 RTL 컴포넌트에 링크된다. RTL 컴포넌트와 양태 스테이트먼트는 디스플레이 장치에서 동시에 검토될 수 있다. 특별한 RTL 컴포넌트가 상기 디스플레이의 한 영역에서 선택될ㄸ, 상기 연관된 양태 스테이트먼트는 양태 스테이트먼트와 RTL 컴포넌트 사이의 링크를 더욱 명확히 나타내기 위해 다른 디스플레이에서 강조된다. 이런 링크는 상기 제어기 발생기 유틸리티(단계 212)가 디자인의 특정 양태, 타이밍 및 자원 할당을 실행하는 제어 유니트를 형성하도록 한다. 디자인 유틸리티(24)의 매핑 유틸리티는 자동적으로 양태 스테이트먼트와 특정 RTL 컴포넌트 사이의 링크를 발생한다. 선택적으로, 특별한 RTL 컴포넌트는 디자인 특정 컴포넌트 이용을 달성하기 위하여 상기 요구된 링크를 한정하도록 쌍방향으로 구조 편집기(18)와 양태 편집기(16)를 사용함으로써 특별한 양태 동작을 수행하기 위해 특정화될 수 있다.
아키텍쳐 디자인 시스템(10)에서 각각의 편집기를 위한 사용자 인터페이스를 제공함으로써, 본 발명은 디자이너가 각각의 디자인 단계에서 각각의 디자인 작업에 의해 발생된 데이터를 검토 및/또는 수정할 수 있게 한다. 오리지널 디자인 동안, 단계 202 내지 212는 종종 순차적으로, 자동적으로 또는 쌍방향으로 수행된다. 특정 조건하에서, 상기 단계 202 내지 212의 순차적 실행은 새로운 디자인이 스크래치로부터 시작될 때 적당하다.
그러나, 디자인 활동의 상당한 부분은 새로운 상술에 따르도록 존재하는 RTL 수행을 수정 또는 개조하는데 전용된다. 상기 수정 또는 개조는 종종 상기 존재하는 RTL 수행의 일부만의 변경을 요구한다. 종래 기술의 디자인 시스템은 단계 202 내지 212를 순차적으로 실행하고, 그결과 이들이 마치 오리지널 디자인 것처럼 상기 수정을 취급한다. 임의 변경은 디자이너가 단계 202의 처음으로부터 재시작할 것을 요구한다. 그 결과 디자인과 계산 자원은 변경하지 않는 상기 RTL 수행의 일부에 적합한 잉여 계산에 낭비된다. 더욱이, 디자이너는 종래 기술의 디자인 시스템이 재사용될 필요가 있는 상기 수행부를 변경하는 것을 방지할 수 없다.
아키텍쳐 디자인 시스템(10)의 하나의 특징은 마이크로 아키텍쳐 디자인 데이터베이스(12)에 제공되는 디자인 데이터를 저장하기 위한 공통 데이터베이스이다. 각각의 편집기가 동일한 디자인 데이터에 접근하여 해석되기 때문에, 상기 디자인 데이터의 양태, 타이밍, 구조 및 매핑 타입 사이의 일관성이 보장된다. 마이크로 아키텍쳐 디자인 데이터베이스(12)는 각각의 디자인 데이터 엘리먼트 특성을 유지하는 하나 이상의 표를 포함한다. 상기 특성은 상기 단계 202-210의 각각에 의해 상기 표에 추가되거나 표로부터 삭제된다. 예를들면, 디자이너가 양태 스테이트먼트의 특별한 제어 단계 매핑을 수정한다면, 상기 스테이트먼트의 존재하는 제어 단계 매핑은 상기 표로부터 삭제되고 상기 새로운 매핑이 추가된다. 변화하지 않는 상기 표의 특성은 완전히 유지된다. 그러므로, 변화되는 특성만이 상기 단계 202-210의 순차적 실행에서 갱신된다. 다른 실시예에서, 플래그 또는 다른 표시기가 특성이 변화하는 트랙에 사용될 수 있다. US 특허 5,533,179는 변화하는 특성만을 변형하는 예를 개시한다.
각각의 편집기는 디자이너로 하여금 디자인 작업이 상기 디자인의 어떤 부분에서 수행될 수 있는지를 결정하도록 해주는 사용자 인터페이스를 가진다. 각각의 편집기는 디자인 데이터의 신뢰가능한 대화식 편집을 제공하기 위해 상기 디자인의 임의 단계에서 상기 공통 데이터베이스에 접근하고, 그 결과 디자인 작업은 임의 특정 순서로 수행될 필요가 없다. 예를들면, 디자이너는 우선 단계 206를 수행할 수 있고 순차적으로 단계 208, 202 204 210 및 212의 순서로 분기할 수 있다.
아키텍쳐 디자인 시스템(10)의 다른 특징은 변화되지 않은 디자인 데이터에 관련된 디자인 작업이 반복될 필요가 없다는 것이다. 특히, 디자인 유틸리티(24)의 유틸리티는 디자이너가 특별한 디자인 작업을 수행하는 디자인 일부를 선택하고 제어하도록 하는 각각의 편집기와 연관된다. 결과적으로, 변화하지 않는 디자인의 일부는 재계산 되지 않는다. 필요 없거나 잉여 디자인 작업을 제거함으로써, 디자인과 계산 자원은 더욱 효과적으로 사용된다.
디자인 작업의 교대 순서의 장점은 현존하는 집적 회로 디자인이 서로 다른 응용에 사용하기 위해 변형되는 경우의 예에 의해 이해될 수 있다. 상기 현존하는 디자인은 우선 계층 편집기(14)에서 고정 및 프로그램가능한 부분으로 분할되고, 그결과 상기 고정된 부분은 서로 다른 응용에 재사용 되는 반면, 상기 프로그램가능한 부분만이 변경된다. 이런 분할된 시스템에서, 상기 단계 206과 208이 우선 상기 고정된 부분에 포함된 상기 RTL 컴포넌트를 할당하고 상호 연결하기 위해 실행된다. 다음에 단계 202가 상기 특별한 응용의 디자인 상세에 따른 특별한 양태를 정의하기 위해 실행된다. 다음에, 상기 프로그램가능한 부분은 상기 데이터베이스를 완성하기 위해 상기 제어 단계와 구조 매핑을 설정하도록 단계 204와 210를 실행함으로써 발생된다. 최종적으로, 상기 제어 유니트는 단계 212에서 발생된다.
교대 순서로 디자인 작업을 수행하는 장점의 다른 예는 새로운 명령이 본 발명을 사용하여 디자인되고 마이크로 아키텍쳐 디자인 데이터베이스(12)에 존재하는 데이터베이스를 가지는 현존하는 마이크로프로세서에 추가될 때 보여진다. 종래 기술의 방법은 상기 마이크로프로세서의 완전한 재디자인을 달성하기 위해 단계 202로부터 단계 212까지 순서로의 디자인 작업 실행을 요구한다. 종래 기술 시도는 특히 현존하는 마이크로프로세서의 상당한 부분이 이전에 대규모의 디버깅과 최적화를 받게 되는 경우 비효율적이다.
본 방법은 이전에 최적화된 부분이 새로운 명령에 의해 영향을 받지 않는다면 디자이너가 그것을 유지하도록 한다. 디자인 유틸리티(24)의 유틸리티는 유틸리티가 상기 편집기 중 하나를 사용하여 디자이너에 의해 선택되는 데이터에만 동작하는 선택 모드를 가진다. 현존하는 마이크로프로세서에 새로운 명령을 추가하는 예에서, 디자이너는 상기 새로운 명령을 수행하기 위해 필요로 되는 마이크로프로세서의 부분을 선택한다. 상기 적당한 유틸리티는 단지 디자이너에 의해 선택된 부분만을 변경하기 위해 상기 선택 모드에서 실행된다.
예를들면, 상기 새로운 명령을 기술하는 양태 스테이트먼트는 양태 편집기(16)를 사용하여 단계 202에서 상기 현존하는 마이크로프로세서의 알고리즘 작도에 추가된다. 상기 새로운 양태 스테이트먼트는 양태 편빅기(16)의 사용자 인터페이스를 통해 디자이너에 의해 쌍방향으로 식별되고 선택된다. 단계 204는 상기 선택된 스테이트먼트를 제어 단계로 매핑하기 위해 상기 선택된 모드에서 실행된다. 추가적 RTL 컴포넌트가 상기 추가된 명령을 수행하는데 요구되지 않는다고 가정하면, 단계 210은 단지 상기 선택된 새로운 양태 스테이트먼트가 상기 현존하는 RTL 수행으로 매핑되도록 실행된다. 상기 디자인은 상기 현존하는 RTL 아키텍쳐가 상기 수정된 명령 세트를 수행하도록 하는 새로운 제어기를 발생하기 위해 현존하는 단계 212에 의해 수행된다. 이런 경우에, 상기 새로운 디자인은 마이크로 프로세서의 이전에 최적화되고 디버깅된 부분을 보존하면서 단지 단계 202,204, 210 및 212만을 실행함으로써 수행된다.
본 발명을 사용하는 디자인 데이터베이스의 안출과 편집 절차는 입력 INP1와 INP2에서 인가되는 2개 값의 평방 함수의 차이를 계산하여 디자인되는 회로의 예에 의해 볼 수 있다. 양태 편집기(16)를 사용하여, 아래의 표 1에 도시된 양태 스테이트먼트 1 내지 5를 포함하는 상기 요구된 함수의 알고리즘 작도가 작성된다.
표 1
1. X=INP1
2. Y=INP2
3. X1=X*X
4. Y1=Y*Y
5. OUT=X1-Y1
상기 알고리즘작도가 상기 디자인 데이터베이스내에 기입될 때, 상기 RTL 수행은 특별한 디자인 작업에 추가되는 디자인 제한 조건에 따라 단계 204 내지 212를 수행함으로써 자동적으로 발생된다. 선택적으로, 디자이너는 상기 알고리즘 작도와 RTL 수행의 특별한 특징을 쌍방향으로 주문대로 형성할 수 있다. 예를들면, 디자이너는 쌍방향으로 상기 RTL 수행이 매 4번째 사이클의 출력을 제공하고 단일 2사이클 파이프라인식 승산기 회로를 사용하도록 강요한다고 가정하라. 제어 단계 매핑은 우선 단계 206에서 RTL 컴포넌트 할당에 의해 수반되는 단계 204를 실행함으로써 완료된다.
도 3은 표 1의 알고리즘 스테이트먼트를 위한 제어 단계 매핑을 도시하는 타이밍도(300)이다. 명료함을 위하여, 각각의 스테이트먼트가 실행되는 시스템 클록의 사이클은 공유된다. 파형(301과 302)은 사이클(T1) 동안 INP1과 INP2에서 각각 수신되는 입력값 X와 Y를 도시한다. 파형(303)은 상기 곱셈 X1=X*X가 사이클 T1과 T2 동안 수행된다는 것을 나타내며, 파형(304)은 상기 곱셈 Y1=Y*Y가 사이클 T2와 T3 동안 수행된다는 것을 나타낸다. 파형(302와 303)은 동일한 2사이클 파이프라인식 승산기가 둘다의 곱셈을 수행하기 때문에 사이클 T2 동안 중첩한다. 파형(305)은 디자이너에 의해 부과된 4번째 사이클 제한 조건 때문에 사이클 T4 동안 발생되는 출력값 OUT=X1-Y1를 도시한다.
상기 제어 단계 매핑이 끝날 때, 단계 206은 구조 편집기(18)를 사용하여 특별한 RTL 컴포넌트, 이를테면 상기 단일 2사이클 파이프라인식 승산기를 지정함으로써 쌍방향으로 수행된다. 또한 요구된 감산기 회로와 중간 값 Y, X1 및 Y1을 저장하기 위한 2개의 레지스터가 쌍방향으로 할당된다. 대안 절차로서, 상기 RTL 수행은 디자인 유틸리티(24)로부터의 각각의 단계와 연관된 유틸리티를 사용하여 단계 206 내지 212를 수행함으로써 자동적으로 완료될 수 있다.
상기 파이프라인식 승산기, 상기 감산기 및 상기 2개의 레지스터가 쌍방향으로 할당된다고 가정하면, 상기 구조 매핑(단계 210)는 종종 상기 상호 연결이 단계 206에서 할당된 특정 RTL 컴포넌트를 특별한 알고리즘 동작에 링크하도록 발생하기 이전에 수행된다. 예를 들면, 단계 206에서 할당된 파이프라인식 승산기는 표 1의 양태 스테이트먼트 3과 4의 곱셈 동작에 매핑된다. 유사하게, 표 1의 양태 스테이트먼트 5의 감산 동작은 단계 206에서 할당된 상기 감산기 회로에 링크될 수 있으며, 중간 값 Y, X1 및 Y1은 단계 206에서 할당된 특별한 레지스터에 매핑될 수 있다.
상기 양태 작도 후, 상기 제어 단계 매핑, 상기 RTL 컴포넌트 할당 및 상기 구조 매핑은 만족스럽게 완료되고, 상기 상호 연결과 상기 제어 유니트는 상기 RTL 수행을 완료하기 위해 자동적으로 발생된다(단계 208, 212). 상기 예로부터 본 발명의 방법은 도 2에 도시된 순서로 단계 202 내지 212의 엄격한 실행을 요구하지 않지만, 오히려 디자이너가 집적 회로 디자인을 가장 효과적으로 완성하기 위해 한 단계로부터 임의 다른 단계로 분기하도록 한다는 것을 알 수 있다.
도 4는 집적 회로 실시예에서 타이밍도(300)에 도시된 타이밍에 의해 제한되는 바와 같이 표 1의 양태 스테이트먼트 1 내지 5의 예시적 RTL 수행(400)을 도시하는 구성도이다. RTL 수행(400)은 파이프라인식 승산기(401), 감산기(402), 레지스터(403과 404), 3상 구동기(405), 제어 유니트(406) 및 멀티플렉서(407, 408 및 409)를 포함한다. 입력 INP1은 값 X를 수신하고 입력 INP2은 값 Y를 수신한다. 출력은 표 1의 양태 스테이트먼트 1 내지 5에 의해 정의된 알고리즘에 따라 계산된 결과 OUT=X2-Y2를 제공한다. 사이클 타이밍은 시스템 클록 VCLK에 의해 제공된다.
RTL 컴포넌트는 본 발명을 수행하는 이미 개시된 단계에 따라 할당된다. 특히, 파이프라인식 승산기(401)는 표 1의 양태 스테이트먼트 3과 4의 곱셈 동작을 수행하도록 단계 206에서 쌍방향으로 할당된다. 유사하게, 감산기(402)는 표 1의 양태 스테이트먼트 3과 4의 곱셈 동작을 수행하도록 단계 206에서 쌍방향으로 할당된다. 레지스터(403과 404)는 표 1의 중간 값 Y, X1 및 Y1을 저장하도록 단계 206에서 할당된다. 상호 연결 도체와 멀티플렉서(407-409)는 단계 208에서 자동적으로 발생된다.
제어 유니트(406)는 상기 특정 알고리즘 작도와 타이밍을 수행하기 위한 특별한 컴포넌트에 제어 신호 C1-C6를 제공하기 위해 자동적으로 발생된다. 예를 들면, 3상 구동기(405)는 상기 출력에 상기 계산된 결과 OUT를 제공하거나 3상 모드의 3상 구동기(405)를 설정하기 위해 제어 유니트(406)로부터 사이클 T4 동안 제어 신호 C2를 수신하는 제어 입력을 가진다.
도 5는 디자인 상세 변화가 4개의 클록 사이클 동안의 출력에 저장되고 표시될 수 있는 상기 계산된 결과 OUT를 요구하는 표 1의 스테이트먼트 1-5의 RTL 수행(500)을 도시하는 구성도이다. 개시점으로서 도 4의 RTL 수행(400)의 상기 현존하는 데이터베이스를 사용하여, 상기 상세 변화는 RTL 수행(400)의 상기 3상 구동기(405)에 대신하도록 새로운 레지스터(505)를 할당함으로서 수행된다는 것을 알 수 있다. 따라서, 디자이너는 쌍방향으로 상기 데이터베이스로부터 3상 구동기(405)를 삭제하고 구조 편집기(18)를 사용하여 레지스터(505)를 할당하기 위해 직접 단계 206으로 진행하고 한다. 이런 특별한 디자인 작업으로의 분기를 위한 직접 진입은 변화되지 않는 단계 202와 204가 경유될 수 있기 때문에 디자인 효율을 개선한다.
단계 208에서, 레지스터(505)는 상기 구조 편집기(18)를 사용하여 도체(504)를 추가함으로써 감산기(402)에 상호 연결된다. 유사하게, 도체(501-503)는 구조 편집기(18)를 사용하여 상기 현존하는 데이터베이스로부터 쌍방향으로 형성되거나 수정된다. 상기 RTL 수행(500)의 수정된 부분만이 단계 206과 208에서 편집될 필요가 있다는 것에 유의하라. 순차적 동작은 상기 선택된 새로운 엘리먼트를 나타내는 데이터만이 재계산되도록 선택 모드에서 수행될 수 있다. 변화하지않는 나머지 RTL 컴포넌트는 상기 데이터베이스에 유지되어 RTL 수행(500)에 재사용된다. 상대적으로 작고 국부화된 수정을 위한 구조 매핑(단계 210)은 전형적으로 계산된 결과 OUT=X2-Y2가 레지스터(505)에 저장된다는 것을 상술하도록 쌍방향으로 수행된다.
단계 212가 RTL 수행(400)에서의 제어 유니트(406)를 자동적으로 발생하도록 미리 실행되더라도, 단계 212는 다른 함수가 수행되기 때문에 제어 유니트(506)를 발생하도록 재실행된다. 특히, 제어 유니트(406)는 사이클 T4 동안 3상 구동기(405)를 인에이블하는 반면, 제어 유니트(506)는 다음 제어 신호 C7이 요구될 때까지 클록 사이클 T4에서 계산된 결과 OUT를 저장하기 위한 레지스터(505)에 도체(502)상의 제어 신호 C7를 제공한다.
상기 예는 어떻게 디자이너가 다른 구조를 가지는 RTL 수행(400과 500)을 생성하도록 RTL 컴포넌트를 수정하기 위해 마이크로 아키텍쳐 디자인 데이터베이스(12)의 데이터를 쌍방향으로 보강 완충하는지를 보여준다. 상기 구조 차이는 상기 알고리즘 작도에서의 스테이트먼트 수정없이 특별한 RTL 컴포넌트와 수행과 상호 연결을 쌍방향으로 수정하기 위해 구조 편집기(18)를 사용함으로써 생성된다. 특히, 레지스터(505)와 도체(501-504)는 RTL 수행(400)을 수정하기 위해 구조 편집기(400)를 수정하기 위해 구조 편집기(18)를 사용하고 다음에 RTL 수행(500)의 디자인을 완성하기 위해 다른 디자인 작업으로 분기함으로써 상기 디자인 데이터베이스에 쌍방향으로 추가된다.
본 발명은 또한 종래 기술 방법을 사용하여 형성된 회로로부터 구조적으로 구별되는 RTL 수행을 형성한다. 예를들면, 종래 기술의 디자인 방법은 표 1에 도시된 양태 스테이트먼트에 의해 개시된 바와 같은 유사한 기능을 수행하는 회로의 구성도를 형성할 수 있다. 종래 기술의 디자인 프로그램은 입력 데이터로서 상기 양태 스테이트먼트를 사용하여 실행되고 상기 회로 구성을 나타내는 데이터는 상기 출력에서 형성된다. 상기 출력 데이터는 특별한 종래 기술의 디자인 프로그램의 구조 특성을 가지는 수행을 초래한다.
대조적으로, 본 발명을 사용하여 형성된 RTL 수행은 특별한 프로그램에 의해 제한되지 않고 오히려 디자이너에 의해 수정되고 최적화될 수 있는 구조를 가진다. 디자이너는 디자인 데이터베이스를 쌍방향으로 수정하기 위해 상기 방법의 적당한 단계로 부가한다. 특히, 디자이너는 이미 개시된 바와 같이 알고리즘 작도에서 스테이트먼트를 수정하지 않고 상기 RTL 수행과 상호 연결을 쌍방향으로 수정하기 위해 구조 편집기(18)로 분기할 수 있다. 결과적으로, 디자인은 종래 방법에 의해 형성되는 구조와 구별되는 구조를 가지는 RTL 수행을 형성하도록 수정될 수 있다.
RTL 수행은 전형적으로 집적 회로의 구성도를 포함한다. 이런 구성도로부터 발생된 데이터는 집적 회로를 제조하기 위해 반도체 기판상에서의 RTL 수행에 대한 물리적 구조를 제작하기 위한 포토마스크를 형성하는데 사용된다. RTL 수행을 산출하기 위한 본 디자인 방법은 상기 RTL 수행을 포함하는 집적 회로 제조를 위한 제조 과정의 디자인 일부를 포함한다.
도 6은 제어 회로(602), 입력 장치(604), 출력 장치(606) 및 메모리(608)를 포함하는 집적 회로를 디자인하는데 사용되는 컴퓨터(600)의 블록도를 도시한다. 입력 장치(604)는 컴퓨터(600)에 입력 데이터를 기입하기 위한 수단을 제공한다. 여기에서 데이터는 디자이너에 의해 쌍방향으로 기입되고, 입력 장치(604)는 전형적으로 키보드를 포함한다. 그러나, 입력 장치(604)는 또한 다른 타입의 입력 장치, 이를테면 디스크 또는 테이프 드라이브, 모뎀 또는 스캐닝 장치를 포함할 수 있다. 입력 데이터는 입력 장치(604)로부터 제어 회로(602)에 결합되고, 입력 데이터가 어떻게 처리되는지를 결정하는 메모리(608)에 저장된 편집 프로그램 중 하나를 실행한다.
출력 장치(606)는 전형적으로 디자인되는 집적회로 아키텍쳐 시스템을 나타내는 제어 회로(602)로부터 수신된 데이터를 쌍방향으로 표시하기 위한 디스플레이 모니터를 포함한다. 출력 장치(606)는 컴퓨터(600)에서 발생되거나 저장되는 데이터를 표시 또는 전송하는 다른 타입의 장치, 이를테면 프린터, 모뎀 및 디스크 또는 테이프 드라이브를 포함할 수 있다.
제어 회로(602)는 아키텍쳐 디자인 시스템(10)에 포함된 디자인 작업을 수행하기 위해 메모리(608)에 저장된 소프트웨어 프로그램을 실행한다. 상기 디자인 작업은 디자인 유틸리티(24)를 저장하기 위해 제공된 메모리(608)의 영역에 저장된 유틸리티 프로그램 중 하나를 실행함으로써 자동적으로 수행된다. 제어 회로(602)는 전형적으로 마이크로 프로세서를 포함하지만, 제어 회로(602)의 기능은 상태 머신을 포함하는 로직 회로의 다른 타입에 의해 제공될 수 있다. 제어 회로(602)는 또한 컴퓨터(600)와 디자인 작업을 쌍방향으로 수행하는 디자이너 사이의 그래픽적 인터페이스를 제공하는 메모리(608)내에 저장된 편집 프로그램을 실행한다. 이런 편집 프로그램은 계층 편집기(14), 양태 편집기(16), 구조 편집기(18), 타이밍 편집기(20) 및 개요 라이브러리 편집기(22)를 포함한다.
제어 회로(602)는 컴퓨터 내부의 데이터 흐름뿐만 아니라 입력 장치(604)로부터 수신되는 입력 데이터와 출력 장치(606)에 전송되는 디스플레이 데이터를 관리한다. 제어 회로(602)는 유틸리티 프로그램 또는 편집기의 지시하에서 마이크로 아키텍쳐 디자인 데이터베이스(12)로서 지정된 메모리(608)의 공통 디자인 데이터베이스에 저장된 데이터를 검색하고, 수정하며, 저장한다.
컴퓨터 수행되는 아키텍쳐 디자인 방법은 집적 회로 디자인을 위해 제공된다는 것이 이해될 것이다. 집적 회로의 알고리즘 작도가 제공되고 집적 회로의 RTL 수행이 한 세트의 디자인 작업을 수행함으로써 상기 아키텍쳐 시스템의 알고리즘 작도로부터 발생된다. 상기 디자인 작업은 특별한 순서로 수행될 필요가 없다. 오히려, 디자이너는 어떤 적당한 순서로 디자인 작업을 완성하기 위해 한 디자인 작업으로부터 임의 다른 디자인 작업으로 쌍방향으로 분기할 수 있다.
상기 아키텍쳐 디자인 방법은 추가로 디자이너가 적당한 단계로 직접 진행하고 상기 단계와 연관된 편집기의 사용자 인터페이스를 통해 쌍방향으로 요구된 변화를 형성함으로써 더욱 효율적으로 현존하는 RTL 수행을 쌍방향으로 수정하도록 한다. 디자이너는 수정된 부분을 쌍방향으로 식별하고 단지 수정된 부분에서 디자인 작업을 임의로 수행하기 위해 쌍방향으로 다른 단계로 분기함으로써 수정된 RTL 수행을 완료한다.
이상에서는 본 발명의 양호한 일 실시예에 따라 본 발명이 설명되었지만, 첨부된 청구 범위에 의해 한정되는 바와 같은 본 발명의 사상을 일탈하지 않는 범위 내에서 다양한 변형이 가능함은 본 발명이 속하는 기술 분야의 당업자에게는 명백하다.
본 발명의 아키텍쳐 디자인 방법은 추가로 디자이너가 적당한 단계로 직접 진행하고 상기 단계와 연관된 편집기의 사용자 인터페이스를 통해 쌍방향으로 요구된 변화를 형성함으로써 더욱 효율적으로 현존하는 RTL 수행을 쌍방향으로 수정하도록 한다.
Claims (5)
- 아키텍쳐 레벨에서 시스템 디자인을 컴퓨터로 수행하기 위한 방법에 있어서,상기 시스템의 알고리즘 작도로부터 다수의 디자인 작업(202-212)을 통해 상기 시스템의 레지스터 전달 레벨(RTL) 수행을 발생하는 단계; 및상기 다수의 디자인 작업을 서로 다른 순서로 실행하기 위해 상기 다수의 디자인 작업(202-212) 중 다른 하나로부터 상기 다수의 디자인 작업(202-212) 중 하나로 분기하는 단계를 포함하는 것을 특징으로 하는 방법.
- 아키텍쳐 레벨로 시스템을 디자인하는 방법에 있어서,상기 시스템의 알고리즘 작도로부터 다수의 디자인 결정을 포함하는 다수의 디자인 작업(202-212)을 통해 상기 시스템(400)의 레지스터 전달 레벨(RTL) 수행을 발생하는 단계; 및상기 다수의 디자인 작업(202-212)내에서 상기 다수의 디자인 결정을 쌍방향으로 한정 또는 수정하는 단계를 포함하는 것을 특징으로 하는 방법.
- 제 2항에 있어서, 상기 다수의 디자인 작업(202-212)은,RTL 컴포넌트(206)를 할당하는 단계와;상기 알고리즘 작도(202)를 형성하고 편집하는 단계와;상기 알고리즘 작도와 상기 RTL 컴포넌트로부터 제어 단계 매핑(204)을 발생하는 단계와;RTL 컴포넌트(208) 사이의 상호 연결 단계; 및상기 알고리즘 작도로부터 상기 RTL 컴포넌트와 상기 상호 연결로의 구조적 매핑(210)을 발생하는 단계를 포함하는 것을 특징으로 하는 방법.
- 컴퓨터 판독가능 저장 매체에 있어서,알고리즘 시스템의 알고리즘 작도로부터 아키텍쳐 시스템을 묘사하는 공통 디자인 데이터베이스(12)를 발생하기 위해 다수의 컴퓨터 실행가능 디자인 작업(202-212)을 저장하기 위한 메모리(24)의 제 1 영역; 및상기 공통 디자인 데이터베이스(12)를 쌍방향으로 검토하고 수정하며, 상기 다수의 컴퓨터 실행가능한 디자인 작업(202-212)을 다른 순서로 실행하기 위해 다수의 데이터 편집기(14-22)를 저장하기 위한 메모리(14-22)의 제 2 영역을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 저장 매체.
- 집적 회로에 있어서,상기 집적 회로의 알고리즘 작도로부터 다수의 디자인 결정을 포함하는 다수의 디자인 작업(202-212)을 통해 상기 집적 회로의 레지스터 전달 레벨(RTL) 수행을 발생하는 단계; 및상기 다수의 디자인 작업내에서 상기 디자인 결정을 쌍방향으로 한정 또는 변형하는 단계에 따라 디자인된 집적 회로.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/758,331 US5912819A (en) | 1996-12-03 | 1996-12-03 | Method for designing an architectural system |
US8/758,331 | 1996-12-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR19980063723A true KR19980063723A (ko) | 1998-10-07 |
Family
ID=25051360
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970065492A Withdrawn KR19980063723A (ko) | 1996-12-03 | 1997-12-03 | 아키텍쳐 시스템 디자인 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US5912819A (ko) |
EP (1) | EP0847022A3 (ko) |
JP (1) | JPH10171848A (ko) |
KR (1) | KR19980063723A (ko) |
CN (1) | CN1195825A (ko) |
TW (1) | TW358962B (ko) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6305006B1 (en) | 1998-05-18 | 2001-10-16 | Mentor Graphics Corporation | Generating candidate architectures for an architectural exploration based electronic design creation process |
US6917909B1 (en) | 1998-05-18 | 2005-07-12 | Lev A. Markov | Facilitating guidance provision for an architectural exploration based design creation process |
US6314552B1 (en) * | 1998-05-18 | 2001-11-06 | Lev A. Markov | Electronic design creation through architectural exploration |
JP2000123061A (ja) * | 1998-10-16 | 2000-04-28 | Matsushita Electric Ind Co Ltd | 集積回路装置の設計用データベース及び集積回路装置の設計方法 |
GB2348970B (en) * | 1998-12-29 | 2003-10-22 | Sgs Thomson Microelectronics | Maintenance of a system model |
JP3842489B2 (ja) * | 1999-06-30 | 2006-11-08 | 株式会社東芝 | 回路設計装置、回路設計方法および回路設計プログラムを格納したコンピュータ読み取り可能な記録媒体 |
US6671857B1 (en) | 1999-08-18 | 2003-12-30 | Matsushita Electric Industrial Co., Ltd. | Method of designing integrated circuit device using common parameter at different design levels, and database thereof |
US7023566B2 (en) | 2000-12-12 | 2006-04-04 | Xerox Corporation | Page description language on demand printing |
US7302670B2 (en) * | 2000-12-21 | 2007-11-27 | Bryan Darrell Bowyer | Interactive interface resource allocation in a behavioral synthesis tool |
US6601230B2 (en) * | 2001-04-05 | 2003-07-29 | Agilent Technologies, Inc. | Low power circuit design through judicious module selection |
WO2003077184A1 (en) * | 2002-03-08 | 2003-09-18 | Mentor Graphics Corporation | Array transformation in a behavioral synthesis tool |
CN101131713B (zh) * | 2002-04-17 | 2012-01-11 | 富士通株式会社 | Asic和可编程逻辑器件并行开发系统和开发方法 |
CN100395758C (zh) * | 2002-10-14 | 2008-06-18 | 英业达股份有限公司 | 应用在线路布局工程上设定与激活群组化显示的方法 |
DE10324565A1 (de) * | 2003-05-30 | 2004-12-30 | Chipvision Desigin Systems Ag | Verfahren und Vorrichtung zum Schaltungsentwurf mittels High-Level-Synthese |
JP2005242812A (ja) * | 2004-02-27 | 2005-09-08 | Nec Electronics Corp | 回路設計支援システム、回路設計支援方法及びプログラム |
CN100373388C (zh) * | 2005-09-16 | 2008-03-05 | 北京中星微电子有限公司 | 一种快速生成逻辑电路的方法 |
US7735050B2 (en) | 2006-02-09 | 2010-06-08 | Henry Yu | Managing and controlling the use of hardware resources on integrated circuits |
US8484589B2 (en) * | 2011-10-28 | 2013-07-09 | Apple Inc. | Logical repartitioning in design compiler |
IT201900000625A1 (it) | 2019-01-15 | 2020-07-15 | Texa Spa | Metodo di redazione di schemi elettrici |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5555201A (en) * | 1990-04-06 | 1996-09-10 | Lsi Logic Corporation | Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including interactive system for hierarchical display of control and dataflow information |
US5533179A (en) * | 1994-12-01 | 1996-07-02 | Motorola, Inc. | Apparatus and method of modifying hardware description language statements |
-
1996
- 1996-12-03 US US08/758,331 patent/US5912819A/en not_active Expired - Lifetime
-
1997
- 1997-10-21 TW TW086115537A patent/TW358962B/zh not_active IP Right Cessation
- 1997-11-17 EP EP97120069A patent/EP0847022A3/en not_active Withdrawn
- 1997-12-02 JP JP9347013A patent/JPH10171848A/ja active Pending
- 1997-12-02 CN CN97123063A patent/CN1195825A/zh active Pending
- 1997-12-03 KR KR1019970065492A patent/KR19980063723A/ko not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
TW358962B (en) | 1999-05-21 |
US5912819A (en) | 1999-06-15 |
JPH10171848A (ja) | 1998-06-26 |
EP0847022A2 (en) | 1998-06-10 |
CN1195825A (zh) | 1998-10-14 |
EP0847022A3 (en) | 1999-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR19980063723A (ko) | 아키텍쳐 시스템 디자인 방법 | |
US6574788B1 (en) | Method and system for automatically generating low level program commands as dependency graphs from high level physical design stages | |
US4922432A (en) | Knowledge based method and apparatus for designing integrated circuits using functional specifications | |
EP1966689B1 (en) | Non-graphical model dependencies in graphical modeling environments | |
US7765529B1 (en) | Transforming graphical objects in a graphical modeling environment | |
US7712050B2 (en) | Hierarchical presentation techniques for a design tool | |
US7302670B2 (en) | Interactive interface resource allocation in a behavioral synthesis tool | |
JP2013152620A (ja) | 高位合成装置,高位合成方法,高位合成プログラム,集積回路の設計方法 | |
US6480985B1 (en) | Method and apparatus for graphically presenting an integrated circuit design | |
US6816828B1 (en) | Logic simulation method in which simulation is dynamically switchable between models | |
Snow et al. | A technology-relative computer-aided design system: Abstract representations, transformations, and design tradeoffs | |
US6090151A (en) | Electronic device parameter estimator and method therefor | |
US9223910B1 (en) | Performance and memory efficient modeling of HDL ports for simulation | |
JPH10256383A (ja) | 半導体装置及びその回路構成方法 | |
Lis et al. | VHDL synthesis using structured modeling | |
JP2008117318A (ja) | ハードウェア検証用プログラミング記述生成装置、高位合成装置、ハードウェア検証用プログラミング記述生成方法、ハードウェア検証用プログラム生成方法、制御プログラムおよび可読記録媒体 | |
JPH05101141A (ja) | 高位合成装置 | |
Kucukcakar et al. | Matisse: an architectural design tool for commodity ICs | |
US9733911B2 (en) | Value transfer between program variables using dynamic memory resource mapping | |
US8196085B1 (en) | Interactive design optimization techniques and interface | |
JPH1031693A (ja) | 専用アプリケーション・サブシステムの合成方法 | |
US9547735B2 (en) | System and method for viewing and modifying configurable RTL modules | |
US5740070A (en) | Apparatus for automatically generating logic circuit | |
JP3476688B2 (ja) | ネットリスト生成方法及びネットリスト生成装置 | |
Todman et al. | Customisable hardware compilation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 19971203 |
|
PG1501 | Laying open of application | ||
PC1203 | Withdrawal of no request for examination | ||
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |