KR19990077413A - 평면어레이구조를갖는에뮬레이션모듈 - Google Patents

평면어레이구조를갖는에뮬레이션모듈 Download PDF

Info

Publication number
KR19990077413A
KR19990077413A KR1019990004544A KR19990004544A KR19990077413A KR 19990077413 A KR19990077413 A KR 19990077413A KR 1019990004544 A KR1019990004544 A KR 1019990004544A KR 19990004544 A KR19990004544 A KR 19990004544A KR 19990077413 A KR19990077413 A KR 19990077413A
Authority
KR
South Korea
Prior art keywords
emulation
processors
input
multiplexers
way
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.)
Granted
Application number
KR1019990004544A
Other languages
English (en)
Other versions
KR100343696B1 (ko
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 포만 제프리 엘
Publication of KR19990077413A publication Critical patent/KR19990077413A/ko
Application granted granted Critical
Publication of KR100343696B1 publication Critical patent/KR100343696B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/80Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors
    • G06F15/8007Architectures of general purpose stored program computers comprising an array of processing units with common control, e.g. single instruction multiple data processors single instruction multiple data [SIMD] multiprocessors
    • G06F15/8023Two dimensional arrays, e.g. mesh, torus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F30/331Design verification, e.g. functional simulation or model checking using simulation with hardware acceleration, e.g. by using field programmable gate array [FPGA] or emulation

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)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

증가된 개수의 에뮬레이션 프로세서들을 포함하는 에뮬레이션 모듈들이 복수개의 플레인들로 논리적으로 재구성되고 이 플레인들은 에뮬레이션 프로세서들의 개수가 증가함에 따라 도입되는 I/O 핀아웃 복잡성을 피하기 위해 멀티플렉서들에 의해 상호 접속된다. 에뮬레이션 모듈 칩 또는 보드 상의 프로세서들은 N개의 다른 플레인들 또는 어레이들로 파티션되고, 이 플레인들 또는 어레이들은 N-웨이 멀티플렉서들을 경유하여 오프-칩 또는 오프-보드 소자들을 사용하여 서로 상호 접속된다. 멀티플렉서들의 일 세트는 플레인들 각각에 대한 입력 기능을 제공한다. 또 다른 N-웨이 멀티플렉서는 상기 플레인들의 세트에 대한 출력 기능을 제공한다. 오프-보드 또는 칩 통신을 위한 출력 구동기는 N-웨이 출력 멀티프렉서에 접속된다. 마찬가지로, 입력 수신기는 오프-칩 또는 오프-보드 소스들로부터의 입력을 수신하고 에뮬레이션 프로세서들로 구성된 여러 어레이들에 입력 신호들을 제공하는 모든 N-웨이 멀티플렉서들에 상기 수신된 신호를 공급한다. 이러한 방식으로, 에뮬레이션 엔진들은 칩이나 모듈 핀 아웃 문제에 실질적으로 아무 영향을 주지 않고 그 용량이 증가된다.

Description

평면 어레이 구조를 갖는 에뮬레이션 모듈{EMULATION MODULE HAVING PLANAR ARRAY ORGANIZATION}
본 발명은 대체로 전기 회로를 에뮬레이트하는 머신들의 아키텍쳐 및 구조에 관한 것이다. 더 구체적으로, 본 발명은 개별의 에뮬레이션 프로세서들이 별도의 평면들 또는 어레이들로 구성되어 있고, 멀티플렉서 회로에 의해 서로 커플되는 에뮬레이션 엔진에 관한 것이다. 에뮬레이션 프로세서들 각각은 회로 밀도와 입력/출력 핀 제한성에 관한 문제점들을 해결하는 방식으로 구성된다.
에뮬레이션 디바이스들의 유용성은 집적 회로의 복잡성이 증가함에 따라 크게 증가되어 왔다. 기본적으로, 에뮬레이션 엔진은 하나 이상의 집적 회로 칩들의 세트의 논리적 디자인을 흉내내도록 동작한다. 칩들의 논리적 디자인에 대한 이들 칩들의 에뮬레이션은 이하에서 더 상세히 논의되는 몇가지 이유들 때문에 매우 바람직하다. 그러나, 에뮬레이션 엔진들의 이용은 집접 회로 칩 디바이스들의 구성 및 디자인을 위해 자동 툴들을 활용함에 따라서도 증가되었음에 주목한다. 특히, 디자인 자동 프로세스에 대한 입력의 일부로서, 바람직한 회로 칩 기능들의 로직에 대한 설명(logic descriptions)이 제공된다. 디자인 프로세스에서 이러한 설명들을 처리하기 위한 소프트웨어물은 디자인 자동 툴에 의해 제공되는 같은 로직 기능을 복제하도록 전기적으로 구성되는 에뮬레이션 엔진들의 활용과 잘 들어맞는다.
에뮬레이션 디바이스들의 활용은 이 디자인들이 소위 제조용 "실리콘 주조 공장(silicon foundry)에 맡기기 전에 논리 디자인의 전기 회로를 통해 테스트 및 확인되도록 해준다. 이러한 주조 공장에의 입력은 칩에 필요한 기능적 로직 설명(logic description)이고 그 출력은 처음에는 한 세트의 포토리소그래피 매스크들이고, 그 다음 이들은 원하는 전기 회로 칩 디바이스의 제조에 사용된다. 그러나, 기능적 로직 요건들을 위하여 디자인된 대로 작동하게 되는 이러한 매스크들의 구성과 회로 칩들의 초기 생산은 고비용이 든다. 이러한 주조 공장을 통해 선정된 로직 기능을 갖게 되는 주어진 디바이스의 임의의 제조 과정은 고비용의 그리고 시간 소비적인 프로세스이기 때문에 오직 한번에 완전히 수행되어야 한다. 에뮬레이션 엔진의 목적은 기능적 로직 디자인 단계로부터 이러한 주조 공장을 경유하는 칩 제조의 단계까지를 단일 과정으로 보장하는 것이다.
그러므로, 칩 제조의 초기 단계에서 로직 디자인이 정확하다고 하는 확인은 실리콘 주조 공장을 통한 고비용이고 시간 소비적인 제2 패스들의 필요를 제거함을 알 수 있다. 그러므로 에뮬레이션은 두가지 매우 큰 잇점들을 제공한다. 첫째는, 기능적 로직 디자인의 적당한 확인이 주조 공장을 통한 제2의 고비용 단계의 필요성을 제거한다는 것이고, 둘째는 맨처음에 디자인을 올바르게 만드는 것인데 이것은 디자인이 주조 공장에서 교정될 필요가 없음을 의미하고, 이에 따라, 제조의 지연이 상당히 줄어들고, 집적 회로 칩에 내장되는 특별한 기술 및 기술적 향상을 시장에 내놓는 시간이 크게 줄어들어, 가장 복잡한 기술적 솔루션들을 가능한 짧은 시간 내에 소비자에게 인도할 수 있는 기능에 긍정적인 효과를 준다.
에뮬레이션 시스템이 갖는 또 다른 잇점은 소프트웨어 초기 확인을 가능하게 해주는 전기 회로를 제공한다는 것인데, 소프트웨어 초기 확인은 에뮬레이터가 흉내내는 칩들을 작동시키는 것을 의미한다. 이에 따라, 소프트웨어는 실재 회로 칩이 이용 가능하게 되기 전에 적절히 디자인되고 평가되고 테스트될 수 있다. 또한, 에뮬레이션 시스템은 시뮬레이터-가속기 디바이스들로서도 작동 가능할 수 있기 때문에 고속의 시뮬레이션 플랫폼을 제공한다.
에뮬레이션 엔진들은 일반적으로 상호 접속된 에뮬레이션 프로세서들(EP)의 어레이를 포함한다. 각각의 에뮬레이션 프로세서 (이하, 어떤 때는 간단히 "프로세서"로서 언급됨) 는 특정한 로직 기능 (예를 들어, AND, OR, XOR, NOT, NOR, NAND, 등)을 평가하기 위해 프로그램된다. 프로그램된 프로세서들은, 함께 접속된 유닛으로서, 전체의 원하는 로직 디자인을 에뮬레이트한다. 그러나, 집적 회로 디자인의 크기가 커짐에 따라, 에뮬레이션 작업을 완수하기 위해 더 많은 에뮬레이션 프로세서들이 요구된다. 그러므로 본 발명의 목적은 더욱더 복잡한 회로와 로직 기능들을 에뮬레이트해야 하는 점점 더 어려워지는 작업을 완수하기 위해 에뮬레이션 엔진들의 용량을 증가시키고자 하는 것이다. 특히, 본 발명은 그 모듈들 각각 내의 에뮬레이션 프로세서들의 개수를 증가시킴으로써 이 목적을 달성한다.
특히, 본 발명은 ET3.5로 일컫는 기존의 에뮬레이션 엔진에 대한 향상을 나타낸다. 또한, 특히, 본 명세서에서는 향상된 모델이 설명될 것이고, 이 모델은 ET3.7 모델로서 일컬어진다.
K개의 에뮬레이션 프로세서들이 있는 에뮬레이션 엔진에서, 이상적인 상황은 각각의 프로세서가 k-1개의 다른 프로세서들 중 임의의 것에 접속될 수 있도록 하는 것이다. 그러나, 에뮬레이션 프로세서들 개수 K가 증가함에 따라, 프로세서-대-프로세서 접속들의 총수가 실질적으로 K의 제곱으로 증가한다. 특히, K개 프로세서들이 완전히 접속된 네트워크는 K(K-1) 개의 프로세서-대-프로세서 접속들을 요구한다. 이렇게 완전히 접속된 네트워크에서, 각각의 프로세서는 다른 프로세서들로의 K-1개의 접속들을 갖는다. 그러나, 커넥터 크기, 및/또는 핀 크기와 같은 물리적 제약들은 프로세서들의 개수 K가 클 때, 완전히 접속된 네트워크들의 구성을 전적으로 비현실적으로 만든다. 예를 들어, 완전히 조밀화된 ET3.5 에뮬레이션 엔진은 33,280 개의 프로세서들을 포함한다. ET3.5와 같은 디바이스 내에서 프로세서간 배선을 실제로 유지하기 위해, 프로세서들은 계층적으로 클러스터된다. 특히, ET3.5 시스템은, 디자인된 바대로, 1부터 8개까지의 회로 보드들을 포함할 수 있고, 각각의 회로 보드는 65개의 모듈들을 포함하고, 각각의 모듈은 64개의 에뮬레이션 프로세서들을 포함한다. 각각의 모듈 내의 프로세서 어레이는 완전히 접속되어 있다. 그러나, 각각의 모듈은 같은 보드 상의 다른 모듈들 하나에 각각에 단일 접속만을 갖는다. 유사하게, 각각의 보드는 시스템 내의 다른 보드들에의 비교적 적은 수의 접속만을 갖는다.
에뮬레이션 프로세서들은 ET3.5와 같은 에뮬레이션 엔진에 계층상 임의의 레벨 (엔진, 모듈의 보드)에 추가될 수 있다. 그러나, 각각의 레벨의 프로세서의 추가는 그에 따른 페널티를 갖는다. 예를 들어, 제2의 ET3.5 엔진의 추가는 용량 및 비용을 두배로 들게 하지만, 프로세서-대-프로세서 접속은 4배로 증가되고 이 접속은 엔진-대-엔진 케이블링에 의해 더 제한된다. 또한 새로운 보드들을 ET3.5 에뮬레이션 엔진에 추가하는 것은 기술, 전원, 및 쿨링 시스템의 업데이팅 뿐만 아니라 다른 프레임들 및/또는 케이지들(cages)로 물리적 패키징의 재처리를 필요로 한다. 각각의 보드에 더 많은 모듈들을 넣는 것은 기존의 ET3.5 기술에서 보드들이 이미 보드 크기, 층들의 개수, 및 보드 상에 존재하는 망들의 개수 면에서 현재 가능한 기술에까지 이미 와 있기 때문에 비실용적이다. 이러한 제약들의 결과, 본 발명에 의해 제공되는 개선점들은 에뮬레이션 칩 모듈 내의 같은 물리적 영역에 더 많은 에뮬레이션 프로세서들이 설치되는 시스템들에 대한 것이다.
그러나, 에뮬레이션 프로세서들 개수를 매번 두배로 할 때마다, 임의의 주어진 칩 다이 상에 프로세서들을 수용하는데 필요한 입력/출력 핀들의 수가 상당히 크게 증가하기 때문에, 에뮬레이션 프로세서들의 개수의 단순한 증가가 그 자체로 이러한 문제점에 대한 해결책은 아니다. 그러나, 기존의 시스템들은 모듈들로부터 또는 모듈들에 신호들을 전송할 목적으로 이미 핀 사이즈와 핀 스페이싱 면에서 그들의 필수적인 핀아웃 리미트에 와있다. 이에 따라, 프로세서들의 수가 4배 증가하는 것은 이에 대응하여 모듈들 각각에 대한 I/O 핀들이 수가 4배로 증가하는 것을 필요로 한다. 결국, 이것은 에뮬레이션 보드들에 상당한 변화들을 요한다. 그러나, 이러한 에뮬레이션 보드들의 변화는 매우 고비용이 든다. 또한, 주시한 바와 같이, 회로 보드들은 이미 현재의 기술이 제공할 수 있는 가장 진보된 프린트 배선 회로 보드들이다. 또한, 프로세서들의 수에 있어서 4배의 증가는 보통 프로세서-대-프로세서 상호 접속 수의 16배 증가를 의미한다.
에뮬레이션 디바이스들의 구조 및 동작을 보다 잘 이해하기 위해, 미국 특허 제 5,551,013호가 본 명세서에서 인용된다.
이에 따라, 본 발명의 목적은 증가된 용량들을 갖는 회로 에뮬레이션 디바이스들을 구성하는 것이다.
본 발명의 또 다른 목적은 더 빠르고 더 융통성 있는 회로 및 시스템 에뮬레이션 기능들을 제공하는 것이다.
본 발명의 또 다른 목적은 실리콘 주조 공장의 디자인 싸이클들을 통한 다중 패스들을 제거하는 것이다.
본 발명의 또 다른 목적은 배선, 쿨링, 보드 디자인, 핀아웃, 및 패키징을 포함한 에뮬레이션 장치의 다른 특징들에 큰 영향을 주지 않으면서 에뮬레이션 장치 내의 주어진 모듈 내에 에뮬레이션 프로세서들의 개수를 증가시키는 것이다.
본 발명의 또 다른 목적은 에뮬레이션 장치 아키텍쳐에 융통성을 제공하는 것이다.
마지막으로, 이것에 한정되는 것은 아니지만, 본 발명의 목적은 주어진 모듈 내에 채택될 수 있는 에뮬레이션 프로세서들의 개수를 특히 확장 및 증가시킬 수 있는 에뮬레이션 시스템에 대한 아키텍쳐를 제공하는 것이다.
도 1a 내지 도 1d는 에뮬레이션 엔진의 계층적 아키텍쳐를 기능적 블럭도 형태로 점차 상세히 나타낸 도면들.
도 2a 및 도 2b는 모듈당 에뮬레이션 프로세서들의 수가 4배로 증가되는 것에 따른 핀아웃 문제점을 나타낸 도면들.
도 3은 주어진 모듈 상에 배치된 에뮬레이션 프로세서들 각각에 연관된 구동기들 및 수신기들의 배치를 나타낸 도면들.
도 4는 도 2a 및 도 2b에 나타낸 입력/출력 핀 문제를 해결하기 위한 메카니즘으로서 에뮬레이션 프로세서 어레이들의 배열을 단지 논리적인 형태로 나타낸 도면으로서 반드시 물리적인 형태일 필요는 없음.
도 5는 본 발명의 바람직한 실시예로서 특히 평면 어레이들 간의 그리고 평면 어레이들과 오프-모듈 소자들 간의 통신 경로들을 설정하는 수단인 N-웨이 멀티플렉서들을 사용한 상호 접속을 통하여 에뮬레이션 프로세서들로 된 어레이들을 상호 접속시키는 것을 나타낸 기능적 블럭도 형태의 도면.
도 6은 특히 모듈 비트 버스에 대립되는 외부 비트 버스에 대한 접속을 나타낸다는 것을 제외하고는 도 5와 비슷한 도면.
도 7 및 도 8은 모듈 에뮬레이션 프로세서들이 4개가 아니라 3개의 논리적 평면 어레이들로 파티션되는 구조상의 융통성을 특히 나타낸 것으로서 도 5 및 도 6과 각각 유사한 도면들.
<도면의 주요 부분에 대한 부호의 설명>
30 : 에뮬레이션 모듈
40 : 에뮬레이션 프로세서
45a, 45b, 45c, 45d : 플레인0, 플레인1, 플레인2, 플레인3
50 : 수신기
60 : 구동기
70a, 70b, 70c, 70d, 90 : N-웨이 멀티플렉서
본 발명의 바람직한 실시예에 있어서, 임의의 주어진 모듈 상에 배치된 에뮬레이션 프로세서들의 개수는 바람직하게 적어도 4배 만큼 증가될 수 있다. 그런 다음 에뮬레이션 프로세서들은 같은 모듈 상에 존재하면서 효과적으로 구별되고 분리되는 논리적 어레이 프로세서 플레인들로 (또는 어레이들로) 그룹화된다. 본 명세서에서 쓰인 "플레인" 그리고/또는 "어레이" 란 용어는 기본적으로 논리적 구조들이다. 본 명세서에서 설명되는 어레이들은 3차원적 구성으로 몇개의 도면들에 도시되어 있지만, 이 구성은 단순히 예증을 위한 것일 뿐 3-D 구성의 에뮬레이션 프로세서들 또는 에뮬레이션 프로세서 어레이들의 스태킹된 배열을 의미하는 것만은 아니다. 또한, 상술한 바와 같이, 모듈 당 에뮬레이션 프로세서들의 개수는 본 발명에 있어서 적어도 4배 만큼 증가될 수 있다 (ET3.5에서 64개인 것으로부터 ET3.7에서 256개임). 모듈당 4개의 논리적 어레이들로 모듈들을 논리적으로 파티셔닝하는 것은 본 명세서의 예시적 논의의 목적상 편의를 위함이고, 임의의 개수의 프로세서들이 모듈을 파티셔닝하는데 알맞게 배치될 수 있다.
그러므로, 프로세서들의 개수의 증가는 보통 각각의 모듈에 대한 대응하는 입력/출력 핀들의 개수의 증가를 필요로 함을 알 것이다. 결국, 이것은 에뮬레이션 시스템 내의 회로 보드에 많은 변화들을 요구할 것이다. 에뮬레이션 보드들의 변화는 매우 고비용이 들고, 보드들은 이미 가능한 가장 진보된 프린트 배선 회로 보드이다. 이에 따라, 핀아웃 복잡성과 간격을 위한 물리적 기술적 제약들 내로 유지시키면서, 동시에, 에뮬레이션 디바이스들의 파워 및 복잡성을 증가시킬 필요 및 요구에 따른 문제점들이 있다.
본 발명의 바람직한 실시예에 따라, 에뮬레이션 엔진들을 위한 모듈들 내의 에뮬레이션 프로세서들은 복수개의 플레인들에 논리적으로 배열되고, 그리고 회로 밀도, 복잡성, 및 핀아웃에 연관된 문제점들을 해결하기 위해 신호 핀들의 타임 멀티플렉싱을 제공하기 위한 수단인 멀티플렉서들에 커플된다.
더 구체적으로, 본 발명에 따른 에뮬레이션 모듈은, 에뮬레이션 프로세서들로 구성된 N개의 어레이들을 포함한다. 이 어레이들 각각은 M개의 개별적인 프로세서들을 갖는다. N개의 어레이들 각각 내의 M개의 개별의 에뮬레이션 프로세서들 각각은 다른 N-1개의 어레이들 각각 상의 N-1개의 대응하는 에뮬레이션 프로세서들의 세트와 연관된다. 여기서, "어레이"라는 용어는 상기 "플레인"이라는 용어와 같은 의미로 사용된다. N-웨이 입력 멀티플렉서가 구비되는데, 이것은 N개의 어레이들 각각 상의 M개의 에뮬레이션 프로세서들 각각에 대응하여 결과적으로 모듈당 총 NM개의 멀티플렉서들이 있게 된다. 이들 N-웨이 입력 멀티플렉서들 각각은 그에 대응하는 에뮬레이션 프로세서의 입력에 접속된 출력을 갖고, 각각의 N-웨이 입력 멀티플렉서는, 그의 N개 입력들 중 N-1개의 입력들로서, 다른 플레인들 또는 어레이들에 있는 N-1개의 대응하는 에뮬레이션 프로세서들의 세트로부터의 출력들을 갖는다. N개의 N-웨이 입력 멀티플렉서들의 세트 각각에 대해 입력 구동기가 구비된다. 총 M개의 상기 입력 구동기들에 대한 이 멀티플렉서들의 출력들은 N개의 구별된 어레이들 내의 대응하는 에뮬레이션 프로세서들에 접속된다. 이 입력 구동기들 중 적어도 일부의 출력들은 N개의 구별된 입력 멀티플렉서들의 입력들로서 접속된다. 대응하는 에뮬레이션 프로세서들로 된 M개의 세트들 각각에 대한 N-웨이 출력 멀티플렉서가 또한 총 M개의 출력 멀티플렉서들로써 구비된다. 이들 출력 멀티플렉서들 각각은 별개의 어레이들 내의 N개의 대응하는 에뮬레이션 프로세서들의 세트로부터의 입력들을 갖는다. 그리고 마지막으로, N-웨이 출력 멀티플렉서들 각각에 대한 출력 구동기가 구비된다.
대안적으로, 본 발명의 바람직한 실시예는 에뮬레이션 프로세서들로 된 N개의 어레이들로서 설명될 수 있다. 에뮬레이션 프로세서들로부터의 출력들은 하나의 플레인 내의 에뮬레이션 프로세서의 출력이 다른 플레인 내의 다른 대응하는 에뮬레이션 프로세서의 입력에 접속될 수 있도록 구비된다. 이러한 방식으로, 개별의, 논리적인 플레인들 내의 에뮬레이션 프로세서들 간의 접속성이 제공된다. 유사한 방식으로, 개개의 플레인들 내의 N개의 개별의 에뮬레이션 프로세서들로부터의 출력들은 구동기를 통해 오프-모듈 회로에 제공되는 N개의 출력 신호들 중 하나를 선택하는 N-웨이 멀티플렉서에도 제공된다. 이러한 방식으로, 에뮬레이션 장치 내의 다른 모듈들 간의 접속성도 비슷하게 제공된다.
본원 발명에 대한 요지는 본 명세서의 결론 부분에 특별히 지적되고 별도로 청구된다. 그러나, 본 발명의 실시 방법 및 구성, 그 목적 및 잇점들은 첨부된 도면들과 연결하여 다음의 설명들을 참조함으로써 잘 이해될 수 있을 것이다.
도 1a는 에뮬레이션 엔진(10)의 가장 높은 계층적 레벨을 기능적 블럭 형태로 나타낸 것이다. 에뮬레이션 엔진(10)은 도 1b에 도시된 바와 같이 복수개의 에뮬레이션 보드들(20)을 포함한다. 에뮬레이션 보드들(20)은 복수개의 에뮬레이션 모듈들(30)을 포함한다. 에뮬레이션 모듈들(30)은 개개의 회로 칩 소자들을 포함하는데 이들의 핀아웃 간격과 핀 수는 이러한 엔진들의 아키텍쳐에 있어서 고려되어야만 한다. 각각의 에뮬레이션 모듈(30)은 복수개의 에뮬레이션 프로세서들(40)을 포함함을 더 주목한다. 상술한 바와 같이, 각각의 에뮬레이션 프로세서(40)는 특정한 로직 기능을 평가하도록 프로그램된다.
회로 칩 디자인 기술이 진보됨에 따라, 주어진 모듈에 존재하는 에뮬레이션 프로세서들의 수가 증가한다. 예를 들어, 도 2a는 64개의 에뮬레이션 프로세서들 (40)을 포함하는 에뮬레이션 모듈(30')을 나타낸다. 회로 디자인 및 패키징이 진보함에 따라, 에뮬레이션 프로세서들의 수가 이제 모듈당 256개 프로세서들까지로 증가되었다. 모듈당 프로세서들의 수의 증가는 확실히 에뮬레이션 엔진의 파워 및 융통성 면에서 이롭다. 그러나, 프로세서 패키징 밀도의 증가는 도 2a 및 도 2b의 대비에서 암시되는 바와 같이 제한된 입력/출력 핀 간격을 변화시키지 않는다. 사실상, 프로세서간 접속의 문제점은 회로 패키징 밀도가 증가함에 따라 크게 악화된다. 이러한 상황은 특히 에뮬레이션 프로세서(40)가 각각 이상적으로 두개의 입력 신호 수신기들(50)과 두개의 출력 구동기들(60)을 포함함을 나타낸 본 명세서의 도 3을 고찰함으로써 특히 이해할 수 있다. 그러므로, 제각기 두개의 입력/출력 쌍들을 갖는 64개의 에뮬레이션 프로세서들을 갖는 모듈 상에는, 128개의 구동기들과 128개의 수신기들, 그리하여 모듈당 총 256개의 입력/출력 핀들이 있다. 그러나, 만일 모듈당 에뮬레이션 프로세서들의 수를 4배로 증가시킨다면, I/O 핀 요건들이 같은 배수로 증가되는 것이 확실하여, 신호들을 모듈로부터 전송하거나 모듈로 수신하기에 충분한 간격을 갖기가 불가능한 정도까지 이르게 된다.
본 발명에 따르면, 모듈 상의 에뮬레이션 프로세서들은 개별의 어레이들로 체계화된다 특히, 도 4는 에뮬레이션 프로세서들로 된 이 어레이들이 논리적 (반드시 물리적일 필요는 없음) 플레인들(45a, 45b, 45c, 45d)로 구성되는 개념을 나타낸다. 본 명세서에서는 이해와 설명의 목적으로, 이 어레이들이 또한 "플레인들"로서 참조된다. 본 명세서에서는 단지 예증의 목적으로, 에뮬레이션 모듈들이 각각 256개의 에뮬레이션 프로세서들을 포함하고 이들 에뮬레이션 프로세서들(40)은 도 5 내지 도 8에 도시된 바와 같이 그리고 이하에서 보다 상세히 설명되는 바와 같이 플레인0, 플레인1, 플레인2, 및 플레인3으로 레이블된 에뮬레이션 프로세서들로된 4개의 논리적 플레인들 또는 어레이들로 구성된다고 가정된다. 이에 따라, 예증을 위해, 예시적인 에뮬레이션 모듈은 제각기 64개의 에뮬레이션 프로세서들로 된 4개의 어레이들로 구성되는 256개의 프로세서들을 포함한다.
도 5는 주어진 모듈상에 존재하는 에뮬레이션 프로세서들의 수를 증가시킴으로써 발생되는 아키텍쳐의 병목 현상을 완하하기 위해 채택된 본 발명의 메카니즘을 나타낸다. 특히, 에뮬레이션 프로세서들로 된 플레인들(45a 내지 45d) 각각은 각각의 플레인 내의 각 에뮬레이션 프로세서가 N-웨이 멀티플렉서로부터의 출력을 그의 입력으로서 갖도록 접속된다. 본 예에서 N=4이다. 예를 들기 위해, 멀티플렉서(70a)를 주시해보면, 이 멀티플렉서는 플레인0 내에 포함된 에뮬레이션 프로세서(40)에 대한 입력으로서 기능한다 (특정하게 도시된 것을 주시한다). 이 멀티플렉서는 4개의 입력들 (일반적으로는 N개의 입력들)을 갖는다. 이 입력들 중 세개는 (일반적으로는 N-1개 입력들) N-1개의 다른 플레인들 상의 에뮬레이션 프로세서들로부터의 출력 신호 라인들로부터 제공된다. 또한, 멀티플렉서(70a)에의 다른 하나의 입력은 수신기(50)로부터 제공된다. 이에 따라, 일반적으로, 멀티플렉서 (70a)는 N 입력들을 갖는 N-웨이 멀티플렉서이다. 이 입력들 중 N-1개는 다른 플레인들 상의 에뮬레이션 프로세서들(40)의 출력들로부터 온다. N-웨이 멀티플렉서에의 마지막 입력은 외부 소스로부터, 즉 같은 모듈 상에 있지 않은 소스로부터 온다. 같은 방식으로, N-웨이 멀티플렉서(70b)는 플레인1을, N-웨이 멀티플렉서 (70c)는 플레인2를, 그리고 N-웨이 멀티플렉서(70d)는 플레인3에 대해 기능한다. 이러한 상호 접속 구조는 모듈 내의 프로세서 상호 접속성을 제공한다.
또한, 다른 플레인들 내의 대응하는 에뮬레이션 프로세서 출력 신호 라인들은 N-웨이 멀티플렉서(90)에 공급되고 N-웨이 멀티플렉서(90)의 출력은 구동기(60)에 제공된다. 일반적으로, N-웨이 멀티플렉서(90)는 다른 플레인 내에 배치된 N개의 에뮬레이션 프로세서들 각각으로부터의 출력 신호를 수신한다. 또한, 일반적으로, 각각의 플레인에는 M개의 에뮬레이션 프로세서들(40)이 구비된다. 이에 따라, 각각의 모듈은 N개의 로직 플레인들 내에 각각 배열된 M개의 에뮬레이션 프로세서들로 된 어레이들 또는 플레인들로 구성되는 총 NM개의 에뮬레이션 프로세서들을 포함한다.
N-웨이 멀티플렉서(70a)에 대한 선택 비트들은 플레인0 (어레이 45a)으로부터의 에뮬레이션 프로세서 출력 제어 라인들로부터 제공된다. 유사하게, N-웨이 멀티플렉서들(70b, 70c, 70d)에 대한 선택 입력 신호 라인들은 플레인1 (어레이 45b), 플레인2 (어레이 45c), 및 플레인3 (어레이 45d)으로부터 각각 제공되는데, 이 선택 입력 신호 라인들은 도 5에 도시된 바와 같이 대응하는 플레인들로부터 제공된다. 일반적으로, 출력 멀티플렉서(90)에 대한 선택 신호 라인들을 제공하기 위해 N개의 플레인들 중 어떤 것이 사용될지를 피킹하는 것에 대해서 융통성이 있다. 멀티플렉서들 (70a 내지 70d)에 대해서도 마찬가지이다. 일반적으로, 멀티플렉서들로 보내진 선택 비트들은 멀티플렉서에 신호를 공급하는 4개의 에뮬레이션 프로세서들 중 두개로부터 나온다.
도 6은 도 5에 도시된 모듈 비트 버스 라인과 대비하여 본 발명에 따라 외부 비트 버스 라인의 처리를 더 구체적으로 나타낸다는 점을 제외하고는 도 5와 유사한 논리 블럭도이다. 그렇지 않다면, 이 도면들은 서로 같다. 도 5 및 도 6에 도시된 외부 비트 버스와 모듈 비트 버스 신호 라인들은 둘다 멀티플렉서들을 경유하여 같은 방식으로 접속된다. 그러나, 이 모듈 비트 버스는 모듈 상에 포함된 회로의 기능을 하는 반면에, 외부 비트 버스 신호 라인들은 모듈 경계들을 가로지른다.
도 7은 본 발명이 다른 방식으로 모듈을 파티션하는데 채택될 수 있다는 점을 나타내는 것을 제외하고는 도 5와 유사하다. 특히, 총 N-웨이 파티션 이하로 달성될 수 있다. 특히, 도 7 및 도 8은 그들이 모두 모듈 플레인들(0, 1, 2) (어레이들 45a, 45b, 및 45c)의 상호 접속을 위해 3-웨이 멀티플렉서를 사용하는 점에서 도 5 및 도 6에 정확히 대응한다. 특히, 도 5와 도 7에서 출력 멀티플렉서(95)는 출력 멀티플렉서(90)에 대응하고, 출력 구동기(65)는 출력 구동기(60)에 대응하고, 입력 수신기(55)는 입력 수신기(50)에 대응한다.
도 5 내지 도 8에 도시된 상호 접속 회로 및 방법에서, 개개의 에뮬레이션 프로세서들(40)은 여전히 독립적이다. 임의의 주어진 단계에서, 각각의 에뮬레이션 프로세서는 그 자체의 프로그램을 수행한다. 도 5 내지 도 8에 도시된 멀티플렉서 구성의 부가적인 잇점은 신호 동보의 형태에 대한 메카니즘이 제공된다는 점이고, 여기서 하나의 프로세서의 출력은 구동기를 통해 다른 모듈 내의 프로세서와 같은 모듈 내의 N-1개의 플레인들까지 내의 프로세서들에 동시에 보내진다.
도 5 내지 도 8 중, 도 5 내지 도 6을 특히 참조하면, 각각의 수신기(50)는 N개의 N-웨이 멀티플렉서들(70a, ..70d) 각각에 신호를 공급한다. 그러나, 더 바람직한 실시예들에 있어서, 상기 수신기와 함께 N개의 멀티플렉서들에 추가의 입력 신호들을 공급하는 수신기 하나를 더 채택할 수도 있다. 각각의 추가의 수신기에 대해, 멀티플렉서들에의 데이터 입력들의 개수가 대응하여 증가될 수 있고, 필요하다면 추가의 입력 제어 신호 라인들이 부가될 수 있다. 유사하게, 출력 멀티플렉서들(90)의 한 쌍은 대응하는 구동기들(60) 한쌍에 신호를 공급할 수 있다. 이 멀티플렉서들은 동일한 데이터 입력들을 갖지만, 다른 출력 제어 신호 라인들을 갖는다. 상기 논의는 특히 도 5에 대해 주어졌지만, 이러한 변형들은 외부 비트 버스 접속을 나타내는 도 6의 회로에 대해서도 응용될 수 있다.
상기로부터, 상술한 목적들이 본 명세서에서 설명된 본 발명에 의해 달성될 수 있음을 알 수 있다. 특히, 주 보드의 변경을 필요로 하지 않고 용량을 증가시키는 것에 따른 문제점이 논의되었다. 본 명세서에서 제시된 해결책은 회로 보드에 변화를 전혀 요하지 않는다. 기존의 모듈들과 핀 호환성이 있는 더 높은 용량의 새로운 모듈들이 제공된다. 또한, 회로 패키지 밀도의 기술면에 있어서의 향상은 본 발명에 의해 제공된 디자인 향상 내에 모두 포함되는 것을 알 것이다. 또한, 본 명세서에서 설명된 해결책은 내부의 보드-대-보드 케이블들의 개수의 증가를 필요로 하지 않는다. 이것은 이 케이블들이 고가라는 점에서 이익이 된다. 또한, 본 명세서에서 설명된 해결책에 의해 제공되는 본 발명은 에뮬레이션 시스템에 연관된 프레임, 전원, 쿨링 시스템, 또는 물리적 선반들에 어떠한 변형도 요하지 않는다. 향상된 시스템에 의해 소비되는 전력은, 보다 새로운 기술로서 낮은 전압에서 작동하고 이에 따라, 회로 패키징 밀도가 증가됨에도 불구하고 더 낮은 전력을 필요로 하기 때문에, 덜 조밀한 시스템들에 의해 소비되는 전력보다도 더 낮다. 또한, 에뮬레이션 엔진을 작동하고 구동하는데 필요한 임의의 소프트웨어에 어떠한 큰 변화도 요구하지 않는다. 단지 추가의 프로세서들의 개수에 대한 문제가 제기될 필요가 있을 뿐이다. 또한, 본 명세서에 개시된 에뮬레이션 시스템에 대한 인터페이스로서 또는 선단으로서 사용되는 임의의 워크스테이션에도 변화를 요하지 않는다.
본 발명은 특정한 바람직한 실시예에 따라 본 명세서에서 상세히 설명되었지만, 당해 분야의 통상의 기술자들에 의해 많은 변형들 및 변화들이 초래될 수 있다. 이에 따라, 첨부된 청구항들은 본 발명의 사상 및 범위 내에 들어오는 이러한 모든 변형들 및 변화들을 포함하도록 의도된다.

Claims (5)

  1. 에뮬레이션 모듈에 있어서,
    에뮬레이션 프로세서들로 구성된 N개의 어레이들 - 상기 어레이 각각은 적어도 M개의 개별의 에뮬레이션 프로세서들을 갖고, 각각의 어레이 내의 상기 M개의 에뮬레이션 프로세서들 각각에 대해 N-1개의 다른 어레이들 내에 N-1개의 대응하는 에뮬레이션 프로세서들로 이루어진 세트가 있음 -;
    상기 N개의 어레이들 각각 내의 상기 M개의 에뮬레이션 프로세서들 각각에 대응하고 총 NM 입력 멀티플렉서들을 구성하는 N-웨이 입력 멀티플렉서 - 상기 N-웨이 입력 멀티플렉서 각각은 그에 대응하는 에뮬레이션 프로세서의 입력에 접속된 출력을 갖고, 상기 N-웨이 입력 멀티플렉서 각각은 그의 N 입력들 중 N-1 입력으로서, N-1개의 대응하는 에뮬레이션 프로세서들로 된 상기 세트로부터의 출력들을 갖음 -;
    N개의 개별의 어레이들 내의 대응하는 에뮬레이션 프로세서들에 접속된 출력들을 갖는 N개의 N-웨이 입력 멀티플렉서들로 된 세트 각각에 대한 입력 구동기 - 총 M개의 상기 입력 구동기들에 대해, 상기 입력 구동기들 중 적어도 일부의 상기 출력은 N개의 개별의 어레이들 내의 대응하는 에뮬레이션 프로세서들에 접속된 상기 N개의 입력 멀티플렉서들의 입력으로서 접속됨 -;
    대응하는 에뮬레이션 프로세서들로된 M 세트들 각각에 대한 N-웨이 출력 멀티플렉서 - 총 M개의 출력 멀티플렉서들에 대해, 상기 각각의 N-웨이 출력 멀티플렉서는 개별의 어레이들 내의 N개의 대응하는 에뮬레이션 프로세서들의 세트로부터의 입력들을 갖음-; 및
    상기 N-웨이 출력 멀티플렉서들 각각에 대한 출력 구동기 - 상기 출력 구동기는 대응하는 출력 멀티플렉서로부터의 출력을 입력으로서 갖음 -
    를 포함하는 것을 특징으로 하는 에뮬레이션 모듈.
  2. 제1 항에 있어서,
    상기 NM 입력 멀티플렉서들 중 적어도 일부에 대한 입력 선택 제어 신호 라인들을 더 포함하는 것을 특징으로 하는 에뮬레이션 모듈.
  3. 제2 항에 있어서,
    상기 입력 선택 제어 신호 라인들은 상기 입력 멀티플렉서들의 출력이 접속되어 있는 같은 어레이로부터 공급되는 것을 특징으로 하는 에뮬레이션 모듈.
  4. 제1 항에 있어서,
    상기 M 출력 멀티플렉서들 중 적어도 일부에 대한 입력 선택 제어 신호 라인들을 더 포함하는 것을 특징으로 하는 에뮬레이션 모듈.
  5. 제4 항에 있어서,
    상기 선택 제어 신호 라인들은 상기 N개의 개별의 어레이들로부터 공급되는 것을 특징으로 하는 에뮬레이션 모듈.
KR1019990004544A 1998-03-31 1999-02-09 평면 어레이 구조를 갖는 에뮬레이션 모듈 Expired - Fee Related KR100343696B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/052,417 US6051030A (en) 1998-03-31 1998-03-31 Emulation module having planar array organization
US09/052,417 1998-03-31
US9/052,417 1998-03-31

Publications (2)

Publication Number Publication Date
KR19990077413A true KR19990077413A (ko) 1999-10-25
KR100343696B1 KR100343696B1 (ko) 2002-07-19

Family

ID=21977488

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990004544A Expired - Fee Related KR100343696B1 (ko) 1998-03-31 1999-02-09 평면 어레이 구조를 갖는 에뮬레이션 모듈

Country Status (3)

Country Link
US (1) US6051030A (ko)
JP (1) JP3049048B2 (ko)
KR (1) KR100343696B1 (ko)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6618698B1 (en) * 1999-08-12 2003-09-09 Quickturn Design Systems, Inc. Clustered processors in an emulation engine
US6901359B1 (en) * 2000-09-06 2005-05-31 Quickturn Design Systems, Inc. High speed software driven emulator comprised of a plurality of emulation processors with a method to allow high speed bulk read/write operation synchronous DRAM while refreshing the memory
US7043417B1 (en) 2000-09-06 2006-05-09 Quickturn Design Systems, Inc. High speed software driven emulator comprised of a plurality of emulation processors with improved multiplexed data memory
US20040115995A1 (en) * 2002-11-25 2004-06-17 Sanders Samuel Sidney Circuit array module
US20040117374A1 (en) * 2002-12-16 2004-06-17 Hung Lup Cheong Patrick Customized design portfolio integrating IP libraries and technology documents
US7386539B2 (en) * 2002-11-29 2008-06-10 Taiwan Semiconductor Manufacturing Company, Ltd. System, method, and user interface providing customized document portfolio management
US20040107214A1 (en) * 2002-11-29 2004-06-03 Hung Lup Cheong Patrick Customized document portfolio system integrating IP libraries and technology documents
US20040107197A1 (en) * 2002-11-29 2004-06-03 Shen Yu Yong System, method and user interface allowing customized portfolio management
US7260794B2 (en) * 2002-12-20 2007-08-21 Quickturn Design Systems, Inc. Logic multiprocessor for FPGA implementation
US7440884B2 (en) * 2003-01-23 2008-10-21 Quickturn Design Systems, Inc. Memory rewind and reconstruction for hardware emulator
EP1450278B1 (en) 2003-01-23 2013-04-24 Cadence Design Systems, Inc. Methods and apparatus for verifying the operation of a circuit design
US7505891B2 (en) * 2003-05-20 2009-03-17 Verisity Design, Inc. Multi-user server system and method
US7480611B2 (en) * 2004-05-13 2009-01-20 International Business Machines Corporation Method and apparatus to increase the usable memory capacity of a logic simulation hardware emulator/accelerator
US7739093B2 (en) * 2004-06-01 2010-06-15 Quickturn Design System, Inc. Method of visualization in processor based emulation system
US7606697B2 (en) * 2004-06-01 2009-10-20 Quickturn Design Systems, Inc. System and method for resolving artifacts in differential signals
US7738399B2 (en) * 2004-06-01 2010-06-15 Quickturn Design Systems Inc. System and method for identifying target systems
US7440866B2 (en) * 2004-06-01 2008-10-21 Quickturn Design Systems Inc. System and method for validating an input/output voltage of a target system
US7721036B2 (en) * 2004-06-01 2010-05-18 Quickturn Design Systems Inc. System and method for providing flexible signal routing and timing
US7640155B2 (en) * 2004-06-01 2009-12-29 Quickturn Design Systems, Inc. Extensible memory architecture and communication protocol for supporting multiple devices in low-bandwidth, asynchronous applications
US7412544B2 (en) 2004-06-18 2008-08-12 International Business Machines Corporation Reconfigurable USB I/O device persona
US7404160B2 (en) * 2005-02-18 2008-07-22 Quickturn Design Systems Inc. Method and system for hardware based reporting of assertion information for emulation and hardware acceleration
US8145469B2 (en) 2005-04-06 2012-03-27 Quickturn Design Systems, Inc. System and method for providing compact mapping between dissimilar memory systems
US7577558B2 (en) * 2005-04-06 2009-08-18 Quickturn Design Systems, Inc. System and method for providing compact mapping between dissimilar memory systems
WO2006133149A2 (en) 2005-06-03 2006-12-14 Quickturn Design Systems, Inc. Method for analyzing power consumption of circuit design using hardware emulation
US8090568B2 (en) * 2006-02-21 2012-01-03 Cadence Design Systems, Inc. Hardware emulator having a variable input primitive
WO2007096376A1 (en) * 2006-02-21 2007-08-30 Mentor Graphics Corporation Communication scheme between programmable sub-cores in an emulation environment
US7555424B2 (en) 2006-03-16 2009-06-30 Quickturn Design Systems, Inc. Method and apparatus for rewinding emulated memory circuits
US8027828B2 (en) * 2006-05-31 2011-09-27 Cadence Design Systems, Inc. Method and apparatus for synchronizing processors in a hardware emulation system
US7904288B1 (en) * 2006-11-06 2011-03-08 Cadence Design Systems, Inc. Hardware emulator having a variable input emulation group
US8352235B1 (en) 2007-10-31 2013-01-08 Cadence Design Systems, Inc. Emulation of power shutoff behavior for integrated circuits
US8108194B2 (en) 2008-04-25 2012-01-31 Cadence Design Systems, Inc. Peak power detection in digital designs using emulation systems
US8898051B2 (en) * 2009-06-12 2014-11-25 Cadence Design Systems, Inc. System and method for implementing a trace interface
US8473661B2 (en) * 2009-08-14 2013-06-25 Cadence Design Systems, Inc. System and method for providing multi-process protection using direct memory mapped control registers
US8959010B1 (en) 2011-12-08 2015-02-17 Cadence Design Systems, Inc. Emulation system with improved reliability of interconnect and a method for programming such interconnect
US8743735B1 (en) 2012-01-18 2014-06-03 Cadence Design Systems, Inc. Emulation system for verifying a network device
US9292639B1 (en) 2014-10-30 2016-03-22 Cadence Design Systems Inc. Method and system for providing additional look-up tables
US9379846B1 (en) 2014-12-19 2016-06-28 Cadence Design Systems, Inc. System and method of encoding in a serializer/deserializer
US9647688B1 (en) 2014-12-19 2017-05-09 Cadence Design Systems, Inc. System and method of encoding in a serializer/deserializer
US9702933B1 (en) 2015-10-22 2017-07-11 Cadence Design Systems, Inc. System and method for concurrent interconnection diagnostics field
US9697324B1 (en) 2015-11-05 2017-07-04 Cadence Design Systems, Inc. System for concurrent target diagnostics field
US10176100B1 (en) 2015-12-21 2019-01-08 Cadence Design Systems, Inc. Cache coherency process
US10198538B1 (en) * 2015-12-28 2019-02-05 Cadence Design Systems, Inc. Relocate targets to different domains in an emulator
US10198539B1 (en) 2017-03-02 2019-02-05 Cadence Design Systems, Inc. Systems and methods for dynamic RTL monitors in emulation systems
US12206532B1 (en) 2023-06-06 2025-01-21 Cadence Design Systems, Inc. Wireline receiver sampling circuit

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4434462A (en) * 1980-11-24 1984-02-28 Texas Instruments Incorporated Off-chip access for psuedo-microprogramming in microprocessor
US4933577A (en) * 1985-03-22 1990-06-12 Advanced Micro Devices, Inc. Output circuit for a programmable logic array
US5329470A (en) * 1988-12-02 1994-07-12 Quickturn Systems, Inc. Reconfigurable hardware emulation system
US5384499A (en) * 1991-04-25 1995-01-24 Altera Corporation High-density erasable programmable logic device architecture using multiplexer interconnections
AU2939892A (en) * 1991-12-06 1993-06-28 Richard S. Norman Massively-parallel direct output processor array
CA2129882A1 (en) * 1993-08-12 1995-02-13 Soheil Shams Dynamically reconfigurable interprocessor communication network for simd multiprocessors and apparatus implementing same
US5761484A (en) * 1994-04-01 1998-06-02 Massachusetts Institute Of Technology Virtual interconnections for reconfigurable logic systems
US5551013A (en) * 1994-06-03 1996-08-27 International Business Machines Corporation Multiprocessor for hardware emulation
US5659716A (en) * 1994-11-23 1997-08-19 Virtual Machine Works, Inc. Pipe-lined static router and scheduler for configurable logic system performing simultaneous communications and computation
US5606710A (en) * 1994-12-20 1997-02-25 National Semiconductor Corporation Multiple chip package processor having feed through paths on one die

Also Published As

Publication number Publication date
US6051030A (en) 2000-04-18
JP3049048B2 (ja) 2000-06-05
JP2000035899A (ja) 2000-02-02
KR100343696B1 (ko) 2002-07-19

Similar Documents

Publication Publication Date Title
KR100343696B1 (ko) 평면 어레이 구조를 갖는 에뮬레이션 모듈
US6035117A (en) Tightly coupled emulation processors
JP4225583B2 (ja) ハードウェア・ロジック・エミュレーション・システムで使用するための分配ロジック・アナライザ
US4914612A (en) Massively distributed simulation engine
JP4424760B2 (ja) 時間多重相互接続を用いたエミュレーション・システム
US6467017B1 (en) Programmable logic device having embedded dual-port random access memory configurable as single-port memory
JP3247663B2 (ja) 電気的に再構成可能なゲートアレイロジックを用いる方法及び、これによって構成される装置
US5485627A (en) Partitionable massively parallel processing system
US7420392B2 (en) Programmable gate array and embedded circuitry initialization and processing
EP0445454A1 (en) Hardware simulator
US8352242B2 (en) Communication scheme between programmable sub-cores in an emulation environment
US6832185B1 (en) Non-synchronous hardware emulator
JPH0432348B2 (ko)
US6647362B1 (en) Emulation system scaling
Morris et al. A re-configurable processor for Petri net simulation
EP1236222B1 (en) Universal hardware device and method and tools for use therewith
US20040254778A1 (en) Reconfigurable logic element with input swapping
US5913070A (en) Inter-connector for use with a partitionable massively parallel processing system
Morris et al. A scalable re-configurable processor
CN117252135A (zh) 一种晶上系统的原型验证系统
US20040225489A1 (en) Integrated self-testing of a reconfigurable interconnect
Wong et al. Automatic generation of functional test pattern for the SCHOLAR system
Noguchi et al. A Scalable Cellular Array Architecture

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

A201 Request for examination
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

N234 Change of applicant [patent]: notification of change of applicant and registration of full transfer of right
PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R14-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R17-X000 Change to representative recorded

St.27 status event code: A-5-5-R10-R17-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 10

FPAY Annual fee payment

Payment date: 20120608

Year of fee payment: 11

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 11

FPAY Annual fee payment

Payment date: 20130611

Year of fee payment: 12

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 12

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20140627

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20140627