KR20000038391A - Method for verifying multiple fpgas using fpga emulator - Google Patents

Method for verifying multiple fpgas using fpga emulator Download PDF

Info

Publication number
KR20000038391A
KR20000038391A KR1019980053382A KR19980053382A KR20000038391A KR 20000038391 A KR20000038391 A KR 20000038391A KR 1019980053382 A KR1019980053382 A KR 1019980053382A KR 19980053382 A KR19980053382 A KR 19980053382A KR 20000038391 A KR20000038391 A KR 20000038391A
Authority
KR
South Korea
Prior art keywords
fpga
completed
host
verification
board
Prior art date
Application number
KR1019980053382A
Other languages
Korean (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 전주범
Priority to KR1019980053382A priority Critical patent/KR20000038391A/en
Publication of KR20000038391A publication Critical patent/KR20000038391A/en

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/317Testing of digital circuits
    • G01R31/3181Functional testing
    • G01R31/3185Reconfiguring for testing, e.g. LSSD, partitioning
    • G01R31/318516Test of programmable logic devices [PLDs]
    • G01R31/318519Test of field programmable gate arrays [FPGA]
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

PURPOSE: A method for verifying multiple FPGAs is provided to reduce the number of test pins and a verification time by verifying multiple FPGAs with the use of a host and an FPGA emulator. CONSTITUTION: Circuit blocks logically designed with FPGA chips from a host are mapped(ST1). The FPGA chips(T-FPGA) to be verified out of the FPGA chips are selected(ST2). All paths are searched from test pins of an interface socket to the T-FPGA(ST3). Only the T-FPGA is placed to the FPGA board from the host if the step ST3 is completed(ST4). Other FPGA chips included in the paths reaching the T-FPGA are designed again to be placed(ST5). Logic design blocks except for a circuit block corresponding to the T-FPGA is mounted to the host after placed on the FPGA board(ST6).

Description

에프피쥐에이 애뮬레이터를 이용한 멀티 에프피쥐에이 검증방법Multi-FJA verification method using F-PJA emulator

본 발명은 에프피쥐에이 애뮬레이터를 이용한 멀티 에프피쥐에이 검증방법에 관한 것으로서, 더욱 상세하게는 필드 프로그래머블 게이트 어레이(FPGA:Field Programmable Gate Array) 애뮬레이터를 구성하는 FPGA칩들에 플레이스먼트된 설계블록들을 테스트하기 위하여 가상패스를 형성하고 형성된 가상패스를 이용하여 검증하고자 하는 FPGA를 테스트 소켓 없이 검증하는 에프피쥐에이(FPGA) 애뮬레이터를 이용한 멀티 FPGA 검증방법에 관한 것이다.The present invention relates to a method for verifying a multifuse amplification using a fpuA emulator, and more particularly, to test design blocks placed on FPGA chips constituting a field programmable gate array (FPGA) emulator. The present invention relates to a multi-FPGA verification method using an FFP emulator that forms a virtual path and verifies an FPGA to be verified using the formed virtual path without a test socket.

설계된 회로를 검증하기 위한 논리 애뮬레이터의 기초가 되는 필드 프로그래머블 게이트 어레이(FPGA: Field Programmable Gate Array)는 고속 소프트웨어 시뮬레이터보다 네 배 내지 여섯배 더 빠른 클럭 속도로 복잡한 논리 설계를 애뮬레이팅할 수 있다. FPGA에 근거한 애뮬레이터는 특정 목적 프로세서의 헤테로지니어스 네트워크로서, 각 FPGA 프로세서는 전체 시뮬레이팅되는 회로의 파티션(partition)과 공동으로 실행되도록 개별적으로 설계된 것이다. 상기와 같은 FPGA 논리 애뮬레이션 시스템은 수천개 내지 수만개의 게이트 범위에 이르는 복잡한 설계를 위하여 개발되었다. 실제로, 상기 시스템용 소프트웨어는 가장 복잡한 구성성분으로 고려된다. 애뮬레이션 시스템은 2차원 망상구조(mesh) 및 부분 크로스바 토폴로지로 FPGA들을 상호연결하도록 개발되었다. 또한, 상기 접속을 위한 구조적인 접근방법이 개발되어왔다. 상기 구조적인 접근방법 이외에 다른 접근방법은 가장 가까운 소자의 조합 및 크로스바 연결을 사용한다. 논리 파티션은 실제로는 파티션 플레이스먼트에 따라 FPGA들에 결선된다.Field Programmable Gate Array (FPGA), the basis of logic emulators for verifying designed circuits, can emulate complex logic designs at clock rates four to six times faster than high-speed software simulators. An FPGA-based emulator is a heterogeneous network of purpose-built processors, with each FPGA processor individually designed to run jointly with a partition of the entire simulated circuit. Such FPGA logic emulation systems have been developed for complex designs ranging from thousands to tens of thousands of gates. Indeed, the software for the system is considered the most complex component. Emulation systems have been developed to interconnect FPGAs in two-dimensional mesh and partial crossbar topologies. In addition, a structured approach for the connection has been developed. In addition to the above structural approach, another approach uses a combination of the nearest element and crossbar connection. The logical partition is actually wired to the FPGAs according to the partition placement.

종래의 FPGA 논리 애뮬레이션 시스템(5)이 도 1 에 도시되어 있다. 상기 FPGA 논리 애뮬레이션 시스템(5)은 논리 설계에 따라 FPGA들의 어레이를 상호접속시킴으로써 달성할 수 있다. 이러한 어레이는 설계된 회로를 다운로드시킬 수 있는 호스트(2) 및 논리 설계용 목적 시스템(8)에 유선으로 직접 접속된다. 메모리 소자(6)는 FPGA들의 어레이(10)에 접속될 수 있다. 상기 호스트는 PC 또는 워크스테이션일 수 있다.A conventional FPGA logic emulation system 5 is shown in FIG. The FPGA logic emulation system 5 can be achieved by interconnecting an array of FPGAs according to a logic design. This array is wired directly to the host 2 capable of downloading the designed circuit and the destination system 8 for logic design. Memory element 6 may be connected to array 10 of FPGAs. The host can be a PC or a workstation.

상기와 같은 구성을 가지는 FPGA 논리 애뮬레이션 시스템의 상세한 플레이스먼트 예가 도 2에 도시되어 있다. 도 2에서 참조번호 20은 호스트를 나타내고, 참조번호 30은 FPGA 보드를 나타내며, 참조번호 35는 인터페이스 소켓을 나타낸다. 상기 FPGA 보드(30)는 다수의 FPGA 칩들(A, B, C, D, E, F)로 구성된다. 각 FPGA칩들은 상기 호스트(20)로부터 다운로드된 논리설계에 따라 플레이스먼트된다. 상기 FPGA칩들과 상기 호스트(20)는 인터페이스 소켓(35)에 의해 상호접속된다. 상기 인터페이스 소켓(35)은 n개의 데이터 비트들을 동시에 전송할 수 있도록 상기 호스트(20)와 접속되어 있다. 상기 플레이스먼트가 완료되면, 상기 도 2에 도시된 바와 같이 상기 인터페이스 소켓(35)과 FPGA칩들이 상호 접속된다. 이 때, 상기 접속라인들은 두 종류로 구분할 수 있다. 첫 번째 카테고리는 상기 인터페이스 소켓(35)과 상기 FPGA칩들 사이에 직접 접속된 라인들(Ⅰ, Ⅱ, Ⅲ, Ⅳ)을 포함하고, 두 번째 카테고리는 상기 FPGA칩들 상호간에 접속된 라인들(r, s, t, u, v, w)을 포함한다. 상기 첫 번째 카테고리에 해당되는 접속라인들(Ⅰ, Ⅱ, Ⅲ, Ⅳ)은 상기 인터페이스 소켓(35)에 직접 접속되어 있으므로 상기 호스트(20)에서 직접 검증할 수 있다.An example of a detailed placement of an FPGA logic emulation system having the above configuration is shown in FIG. In FIG. 2, reference numeral 20 denotes a host, reference numeral 30 denotes an FPGA board, and reference numeral 35 denotes an interface socket. The FPGA board 30 is composed of a plurality of FPGA chips (A, B, C, D, E, F). Each FPGA chip is placed according to the logic design downloaded from the host 20. The FPGA chips and the host 20 are interconnected by an interface socket 35. The interface socket 35 is connected to the host 20 to transmit n data bits simultaneously. When the placement is completed, the interface socket 35 and the FPGA chips are interconnected as shown in FIG. In this case, the connection lines may be classified into two types. The first category includes lines I, II, III, and IV directly connected between the interface socket 35 and the FPGA chips, and the second category includes lines r, connected between the FPGA chips. s, t, u, v, w). Since the connection lines I, II, III, and IV corresponding to the first category are directly connected to the interface socket 35, the connection lines I, II, III, and IV may be directly verified by the host 20.

그러나, 상기 두 번째 카테고리에 해당되는 접속라인들(r, s, t, u, v, w)을 검증하려면 상기 인터페이스 소켓(35)과 직접 접속되지 않은 FPGA칩의 핀으로부터 상기 인터페이스 소켓(35)의 검증용 핀으로 접속되는 별도의 검증라인을 형성하거나 또는 검증하고자 하는 FPGA칩 주변에 테스트 소켓을 설치하여 논리분석기를 통해 검증하는 방법이 있다. 상기 방법은 FPGA 애뮬레이터가 플레이스먼트되어 각 논리블럭별로 매핑된 상태에서 수행되는 것으로서 FPGA 애뮬레이터의 특징을 활용하지 못하고 테스트 핀을 고정하여 사용하므로 검증해야할 FPGA 블록의 수가 많은 복잡한 FPGA 애뮬레이터의 경우에는 테스트 소켓이나 테스트 핀의 수가 늘어나게 되어 오버헤드가 발생되는 문제점이 있다.However, to verify the connection lines (r, s, t, u, v, w) corresponding to the second category, the interface socket (35) from the pin of the FPGA chip not directly connected to the interface socket (35). There is a method of verifying through a logic analyzer by forming a separate verification line connected to the verification pin of the test circuit or by installing a test socket around the FPGA chip to be verified. The above method is performed with the FPGA emulator placed and mapped to each logical block, and does not take advantage of the features of the FPGA emulator, but uses the test pins to fix the test socket in the case of a complex FPGA emulator having a large number of FPGA blocks to be verified. However, an increase in the number of test pins causes overhead.

이에 본 발명은 상기와 같은 문제점을 해결하기 위하여 발명된 것으로, 본 발명의 첫 번째 목적은 테스트 핀의 수를 감소시킬 수 있는 FPGA 애뮬레이터를 이용한 멀티 FPGA 검증방법을 제공하는 것이다.Accordingly, the present invention has been invented to solve the above problems, the first object of the present invention is to provide a multi-FPGA verification method using an FPGA emulator that can reduce the number of test pins.

본 발명의 두 번째 목적은 호스트와 FPGA 애뮬레이터를 사용하여 검증시간을 단축시킬 수 있는 FPGA 애뮬레이터를 이용한 멀티 FPGA 검증방법을 제공하는 것이다.A second object of the present invention is to provide a multi-FPGA verification method using an FPGA emulator that can shorten the verification time using a host and an FPGA emulator.

상기와 같은 목적을 달성하기 위하여, 본 발명에 따른 FPGA 애뮬레이터를 이용한 멀티 FPGA 검증방법은 호스트로부터 FPGA 보드의 FPGA칩들로 논리설계된 회로블럭들을 매핑하는 플레이스먼트 단계(ST1); 상기 플레이스먼트된 FPGA칩들 중 검증하고자 하는 FPGA(T-FPGA)를 선택하는 목표 FPGA 선택단계(ST2); 인터페이스 소켓의 테스트 핀으로부터 상기 T-FPGA까지의 모든 경로(path)를 검색하는 경로검색단계(ST3); 상기 경로검색단계(ST3)가 완료되면 상기 호스트로부터 상기 FPGA 보드로 상기 T-FPGA만 플레이스먼트시키는 재플레이스먼트 단계(ST4); 상기 T-FPGA에 이르는 경로들에 포함되는 다른 FPGA들을 다시 설계하여 플레이스먼트시키는 가상회로 플레이스먼트 단계(ST5); 상기 T-FPGA와 가상회로들이 상기 FPGA 보드상에 플레이스먼트된 후 상기 T-FPGA에 해당하는 회로블럭을 제외한 논리설계블록들을 상기 호스트상에 설치하는 단계(ST6); 상기 ST4, ST5, 및 ST6 단계들이 완료되면 상기 호스트와 상기 FPGA 보드로 구성된 FPGA 애뮬레이션 시스템을 설계자의 설계에 따라 작성된 테스트 패턴으로 시뮬레이션 하는 단계(ST7); 상기 테스트 패턴의 시뮬레이션이 완료되면 실제 논리회로상에 사용될 데이터를 입력하여 시뮬레이션하는 데이터 시뮬레이션 단계(ST8); 상기 데이터 시뮬레이션 단계(ST8)에서 오류가 없었는지를 확인함으로써 선정된 T-FPGA칩의 검증이 완료되었는지를 판단하는 단계(ST9); 상기 T-FPGA 검증완료 판단단계(ST9)에서 오류가 있었다면, 설계자에 의해 논리블럭들을 재설계하는 재설계단계(ST11); 상기 T-FPGA 검증완료 판단단계(ST9)에서 오류가 없었다면, 선정된 FPGA의 검증이 완료된 것으로 판단하고 모든 FPGA를 검증했는지를 판단하는 FPGA 보드 검증완료 판단단계(ST10); 및 상기 FPGA보드상의 모든 FPGA들의 검증이 완료되지 않은 경우는 다른 T-FPGA를 선택하는 단계(ST12)로 구성되는 것을 특징으로 한다.In order to achieve the above object, the multi-FPGA verification method using the FPGA emulator according to the present invention includes a placement step (ST1) for mapping the circuit blocks designed from the host to the FPGA chip of the FPGA board; A target FPGA selection step (ST2) of selecting an FPGA (T-FPGA) to be verified among the placed FPGA chips; A path search step (ST3) of searching all paths from the test pin of the interface socket to the T-FPGA; A re-placement step (ST4) of placing only the T-FPGA from the host to the FPGA board when the path search step (ST3) is completed; A virtual circuit placement step (ST5) of redesigning and placing other FPGAs included in paths leading to the T-FPGA; Installing logic design blocks on the host except for a circuit block corresponding to the T-FPGA after the T-FPGA and the virtual circuits are placed on the FPGA board (ST6); When the steps ST4, ST5, and ST6 are completed, simulating an FPGA emulation system including the host and the FPGA board in a test pattern written according to a designer's design (ST7); A data simulation step (ST8) of inputting and simulating data to be used on an actual logic circuit when the simulation of the test pattern is completed; Determining whether the verification of the selected T-FPGA chip is completed by checking whether there is no error in the data simulation step (ST8) (ST9); A redesign step (ST11) of redesigning logical blocks by a designer, if there is an error in the T-FPGA verification completion determination step (ST9); If there is no error in the T-FPGA verification completion determination step (ST9), the FPGA board verification completion determination step (ST10) to determine whether the verification of the selected FPGA is completed and to verify all the FPGA; And if the verification of all the FPGAs on the FPGA board is not completed, selecting another T-FPGA (ST12).

도 1은 종래의 논리 애뮬레이션 시스템의 블럭도이고,1 is a block diagram of a conventional logic emulation system,

도 2는 종래 플레이스먼트된 FPGA 보드를 포함한 FPGA 애뮬레이션 시스템을 도시한 블럭도이고,2 is a block diagram illustrating an FPGA emulation system including a conventionally placed FPGA board,

도 3은 본 발명에 따라 FPGA 애뮬레이터를 이용하여 멀티 FPGA를 검증하기 위한 가상패스 형성예를 도시한 도이고, 및3 is a diagram illustrating an example of virtual path formation for verifying multiple FPGAs using an FPGA emulator according to the present invention; and

도 4는 본 발명에 따른 FPGA 애뮬레이터를 이용한 멀티 FPGA검증방법을 설명하는 순서도이다.4 is a flowchart illustrating a multi-FPGA verification method using an FPGA emulator according to the present invention.

〈도면의 주요 부분에 대한 부호의 설명〉<Explanation of symbols for main parts of drawing>

300 : FPGA 보드 350 : 테스트 소켓300: FPGA board 350: test socket

A'∼F' : FPGA칩 a∼c : 라우팅 패스A 'to F': FPGA chip a to c: Routing path

t1, t2 : 테스트 핀 , , : 가상패스t1, t2: test pin , , : Virtual Path

이하, 본 발명의 FPGA 애뮬레이터를 이용한 멀티 FPGA 검증방법을 첨부된 도 3 및 도 4에 의거하여 상세히 설명한다. 도 3은 본 발명에 따라 FPGA 애뮬레이터를 이용하여 멀티 FPGA를 검증하기 위한 가상패스 형성예를 도시한 도이고, 및 도 4는 본 발명에 따른 FPGA 애뮬레이터를 이용한 멀티 FPGA검증방법을 설명하는 순서도이다.Hereinafter, a multi-FPGA verification method using the FPGA emulator of the present invention will be described in detail with reference to FIGS. 3 and 4. 3 is a diagram illustrating an example of forming a virtual path for verifying a multi-FPGA using an FPGA emulator according to the present invention, and FIG. 4 is a flowchart illustrating a multi-FPGA verification method using the FPGA emulator according to the present invention.

FPGA 애뮬레이터를 이용하여 멀티 FPGA를 검증하기 위한 가상패스 형성예가 도 3에 도시되어 있다. 도 3에서 참조번호 300은 FPGA 보드를 나타내고, 참조번호 250은 인터페이스 소켓이다. 상기 FPGA 보드(300)는 다수의 FPGA 칩들(A', B', C', D', E', F')로 구성된다. 각 FPGA칩들은 플레이스먼트 동작이 완료되면 도 3에 실선으로 도시된 경로들(a, b, c 등)에 의해 상호 접속된다. 상기 FPGA칩들(A', B', C', D', E', F')은 상기 인터페이스 소켓(350)에 직접 접속된 FPGA칩들(A', D')이 아닌 FPGA칩 C'을 목적 FPGA(T-FPGA)로 정하는 경우, 상기 플레이스먼트 동작에 의하여 형성된 경로들을 최대한 활용하여 상기 인터페이스 소켓(350)의 제 1 테스트 핀(t1)으로부터 상기 T-FPGA인 C'를 거쳐 제 2 테스트핀(t2)까지의 경로를 형성하도록 도면상에 점선으로 도시된 가상경로를 형성한다. 상기 FPGA칩들 각각에 형성된 핀들은 해당 FPGA를 재프로그래밍함으로써 결선할 수 있다. 그러나, FPGA칩들 상호간의 가상경로는 와이어를 통해 연결해주어야 한다. 상기 T-FPGA를 검증하기 위해서는 상기 제 1 테스트핀(t1)으로부터 상기 제 2 테스트 핀(t2)까지의 닫힌 경로가 형성되어야만 한다. 즉, 상기 제 1 테스트핀(t1)으로부터 시작하여 FPGA칩(A')에 이르는 접속패스, 상기 FPGA칩(A')의 미사용핀(M)으로부터 상기 FPGA칩(C')의 미사용핀(L)까지 결선된 라인 , 접속라인 c, FPGA칩(B') 내부에 결선된 가상경로 , 접속라인 b, FPGA칩(D') 내부에 결선된 가상경로 , 접속라인 a, 및 제 2 테스트핀(t2)에 이르는 닫힌 경로가 형성된다. 상기 닫힌 경로에 속하는 모든 FPGA칩들은 상기 제 1 및 제 2 테스트핀(t1, t2)을 사용하여 검증할 수 있다.An example of virtual path formation for verifying multiple FPGAs using an FPGA emulator is shown in FIG. 3. In FIG. 3, reference numeral 300 denotes an FPGA board, and reference numeral 250 denotes an interface socket. The FPGA board 300 is composed of a plurality of FPGA chips A ', B', C ', D', E ', and F'. Each FPGA chip is interconnected by paths (a, b, c, etc.) shown in solid lines in FIG. 3 when the placement operation is completed. The FPGA chips A ', B', C ', D', E ', and F' are intended for the FPGA chip C 'rather than the FPGA chips A' and D 'directly connected to the interface socket 350. In the case of determining an FPGA (T-FPGA), the second test pin is passed from the first test pin t1 of the interface socket 350 to the T-FPGA C ′ through the paths formed by the placement operation. A virtual path shown by dotted lines is formed on the figure to form a path to (t2). Pins formed on each of the FPGA chips may be connected by reprogramming the corresponding FPGA. However, virtual paths between FPGA chips must be connected via wires. In order to verify the T-FPGA, a closed path from the first test pin t1 to the second test pin t2 must be formed. That is, a connection path starting from the first test pin t1 to the FPGA chip A ', an unused pin L of the FPGA chip C' from an unused pin M of the FPGA chip A '. Wired to) , Connection line c, virtual path connected inside FPGA chip (B ') , Connection line b, virtual path connected inside FPGA chip (D ') , A connecting path a and a closed path to the second test pin t2 are formed. All the FPGA chips belonging to the closed path may be verified using the first and second test pins t1 and t2.

도 3 에 도시된 바와 같은 가상경로를 통하여 FPGA칩들을 검증하기 위한 방법이 도 4에 도시된 순서도에 의해 설명될 것이다. 먼저, 도시되지 않은 호스트로부터 FPGA 보드(300)의 FPGA칩들(A', B', C', D', E', F')로 논리설계된 회로블럭들을 매핑하는 플레이스먼트 단계(ST1)가 수행된다. 상기 플레이스먼트 단계(ST1)가 완료되면, 매핑된 FPGA칩들 중 검증하고자 하는 FPGA(T-FPGA)를 선택하는 목표 FPGA 선택단계(ST2)가 수행된다. 상기 목표 FPGA선택단계(ST2)가 수행되면, 상기 인터페이스 소켓(350)의 테스트 핀(t1, t2)으로부터 상기 T-FPGA에 이르는 모든 경로(path)를 검색하는 경로검색단계(ST3)를 수행한다. 상기 경로검색단계(ST3)가 완료되면 호스트로부터 상기 FPGA 보드(300)로 상기 T-FPGA만 플레이스먼트시키는 재플레이스먼트 단계(ST4)가 수행된다. 상기 재플레이스먼트 단계(ST4)가 완료되면, 상기 T-FPGA에 이르는 경로들에 포함되는 다른 FPGA들을 다시 설계하여 플레이스먼트시키는 가상회로 플레이스먼트 단계(ST5)가 수행된다. 상기 T-FPGA와 가상회로들이 상기 FPGA 보드(300)상에 플레이스먼트되는 상기 ST4 단계 및 ST5 단계가 완료되면, 상기 T-FPGA에 해당하는 회로블럭을 제외한 논리설계블록들을 상기 호스트상에 설치하는 단계(ST6)가 수행된다. 상기 ST6 단계가 완료되면 상기 호스트와 상기 FPGA 보드(300)로 구성된 FPGA 애뮬레이션 시스템을 설계자의 설계에 따라 작성된 테스트 패턴으로 시뮬레이션 하는 단계(ST7)가 수행된다. 상기 테스트 패턴의 시뮬레이션이 완료되면 실제 논리회로상에 사용될 데이터를 입력하여 시뮬레이션하는 데이터 시뮬레이션 단계(ST8)를 수행한다. 상기 데이터 시뮬레이션 단계(ST8)가 완료되면 상기 ST8 단계에서 오류가 없었는지를 확인함으로써 선정된 T-FPGA칩의 검증이 완료되었는지를 판단하는 단계(ST9)를 수행한다. 상기 T-FPGA 검증완료 판단단계(ST9)에서 오류가 있었다면, 설계자에 의해 논리블럭들을 재설계하는 재설계단계(ST11)를 수행하고, 반면에 상기 T-FPGA 검증완료 판단단계(ST9)에서 오류가 없었다면, 선정된 FPGA의 검증이 완료된 것으로 판단하고 모든 FPGA를 검증했는지를 판단하는 FPGA 보드 검증완료 판단단계(ST10)를 수행한다. 상기 FPGA보드상의 모든 FPGA들의 검증이 완료되지 않은 경우는 다른 T-FPGA를 선택하는 단계(ST12)가 수행되고, 상기 ST3 단계로 진행된다.A method for verifying FPGA chips via a virtual path as shown in FIG. 3 will be described by the flow chart shown in FIG. First, a placement step ST1 of mapping logic blocks designed from the host (not shown) to the FPGA chips A ', B', C ', D', E ', and F' of the FPGA board 300 is performed. do. When the placement step ST1 is completed, a target FPGA selection step ST2 for selecting an FPGA (T-FPGA) to be verified among the mapped FPGA chips is performed. When the target FPGA selection step ST2 is performed, a path search step ST3 for searching all paths from the test pins t1 and t2 of the interface socket 350 to the T-FPGA is performed. . When the path search step ST3 is completed, a replacement step ST4 for performing placement of the T-FPGA from the host to the FPGA board 300 is performed. When the replacement step ST4 is completed, a virtual circuit placement step ST5 for redesigning and placing other FPGAs included in the paths to the T-FPGA is performed. When the steps ST4 and ST5 where the T-FPGA and the virtual circuits are placed on the FPGA board 300 are completed, logic design blocks excluding circuit blocks corresponding to the T-FPGA are installed on the host. Step ST6 is performed. When the step ST6 is completed, a step ST7 of simulating an FPGA emulation system including the host and the FPGA board 300 using a test pattern created according to a designer's design is performed. When the simulation of the test pattern is completed, a data simulation step ST8 is performed to input and simulate data to be used on an actual logic circuit. When the data simulation step ST8 is completed, the step ST9 is performed to determine whether verification of the selected T-FPGA chip is completed by checking whether there is no error in the ST8 step. If there is an error in the T-FPGA verification completion determination step ST9, a redesign step ST11 of redesigning the logic blocks is performed by a designer, while an error is performed in the T-FPGA verification completion determination step ST9. If not, the FPGA board verification completion determination step (ST10) to determine whether the verification of the selected FPGA is completed and to verify all the FPGA is performed. If the verification of all FPGAs on the FPGA board is not completed, a step ST12 of selecting another T-FPGA is performed, and the process proceeds to step ST3.

따라서, 상기와 같은 본 발명의 FPGA 애뮬레이터를 이용한 멀티 FPGA 검증방법에 의하면 다음과 같은 효과를 얻을 수 있다.Accordingly, according to the multi-FPGA verification method using the FPGA emulator of the present invention as described above, the following effects can be obtained.

첫째, 호스트와 FPGA 애뮬레이터를 사용하여 다수의 FPGA를 검증함으로써 테스트 핀의 수를 감소시키는 효과가 있다.First, the number of test pins can be reduced by validating multiple FPGAs using the host and the FPGA emulator.

둘째, 호스트와 FPGA 애뮬레이터를 사용하여 다수의 FPGA를 검증함으로써 검증시간을 단축시키는 효과가 있다.Second, the verification time is reduced by verifying multiple FPGAs using the host and the FPGA emulator.

이상, 본 발명을 상기한 실시예를 들어 구체적으로 설명하였지만, 본 발명은 이에 제한되는 것이 아니고, 당업자의 통상의 지식의 범위 내에서 그 변형이나 개량이 가능하다.As mentioned above, although this invention was demonstrated concretely by the above-mentioned Example, this invention is not limited to this, The deformation | transformation and improvement are possible within the range of common knowledge of a person skilled in the art.

Claims (1)

호스트로부터 필드 프로그래머블 게이트 어레이(FPGA: Field Programmable Gate Array) 보드의 FPGA칩들로 논리설계된 회로블럭들을 매핑하는 플레이스먼트 단계(ST1); 상기 플레이스먼트된 FPGA칩들 중 검증하고자 하는 FPGA(T-FPGA)를 선택하는 목표 FPGA 선택단계(ST2); 인터페이스 소켓의 테스트 핀으로부터 상기 T-FPGA까지의 모든 경로(path)를 검색하는 경로검색단계(ST3); 상기 경로검색단계(ST3)가 완료되면 상기 호스트로부터 상기 FPGA 보드로 상기 T-FPGA만 플레이스먼트시키는 재플레이스먼트 단계(ST4); 상기 T-FPGA에 이르는 경로들에 포함되는 다른 FPGA들을 다시 설계하여 플레이스먼트시키는 가상회로 플레이스먼트 단계(ST5); 상기 T-FPGA와 가상회로들이 상기 FPGA 보드상에 플레이스먼트된 후 상기 T-FPGA에 해당하는 회로블럭을 제외한 논리설계블록들을 상기 호스트상에 설치하는 단계(ST6); 상기 ST4, ST5, 및 ST6 단계들이 완료되면 상기 호스트와 상기 FPGA 보드로 구성된 FPGA 애뮬레이션 시스템을 설계자의 설계에 따라 작성된 테스트 패턴으로 시뮬레이션 하는 단계(ST7); 상기 테스트 패턴의 시뮬레이션이 완료되면 실제 논리회로상에 사용될 데이터를 입력하여 시뮬레이션하는 데이터 시뮬레이션 단계(ST8); 상기 데이터 시뮬레이션 단계(ST8)에서 오류가 없었는지를 확인함으로써 선정된 T-FPGA칩의 검증이 완료되었는지를 판단하는 단계(ST9); 상기 T-FPGA 검증완료 판단단계(ST9)에서 오류가 있었다면, 설계자에 의해 논리블럭들을 재설계하는 재설계단계(ST11); 상기 T-FPGA 검증완료 판단단계(ST9)에서 오류가 없었다면, 선정된 FPGA의 검증이 완료된 것으로 판단하고 모든 FPGA를 검증했는지를 판단하는 FPGA 보드 검증완료 판단단계(ST10); 및 상기 FPGA보드상의 모든 FPGA들의 검증이 완료되지 않은 경우는 다른 T-FPGA를 선택하는 단계(ST12)를 수행한 후 상기 ST3 단계로 진행되도록 구성되는 것을 특징으로 하는 에프피쥐에이 애뮬레이터를 이용한 멀티 에프피쥐에이 검증방법.A placement step (ST1) of mapping logically designed circuit blocks from a host to FPGA chips of a Field Programmable Gate Array (FPGA) board; A target FPGA selection step (ST2) of selecting an FPGA (T-FPGA) to be verified among the placed FPGA chips; A path search step (ST3) of searching all paths from the test pin of the interface socket to the T-FPGA; A re-placement step (ST4) of placing only the T-FPGA from the host to the FPGA board when the path search step (ST3) is completed; A virtual circuit placement step (ST5) of redesigning and placing other FPGAs included in paths leading to the T-FPGA; Installing logic design blocks on the host except for a circuit block corresponding to the T-FPGA after the T-FPGA and the virtual circuits are placed on the FPGA board (ST6); When the steps ST4, ST5, and ST6 are completed, simulating an FPGA emulation system including the host and the FPGA board in a test pattern written according to a designer's design (ST7); A data simulation step (ST8) of inputting and simulating data to be used on an actual logic circuit when the simulation of the test pattern is completed; Determining whether the verification of the selected T-FPGA chip is completed by checking whether there is no error in the data simulation step (ST8) (ST9); A redesign step (ST11) of redesigning logical blocks by a designer, if there is an error in the T-FPGA verification completion determination step (ST9); If there is no error in the T-FPGA verification completion determination step (ST9), the FPGA board verification completion determination step (ST10) to determine whether the verification of the selected FPGA is completed and to verify all the FPGA; And if the verification of all the FPGAs on the FPGA board is not completed, perform a step of selecting another T-FPGA (ST12) and proceed to the step ST3. This verification method in the mouse.
KR1019980053382A 1998-12-07 1998-12-07 Method for verifying multiple fpgas using fpga emulator KR20000038391A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980053382A KR20000038391A (en) 1998-12-07 1998-12-07 Method for verifying multiple fpgas using fpga emulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980053382A KR20000038391A (en) 1998-12-07 1998-12-07 Method for verifying multiple fpgas using fpga emulator

Publications (1)

Publication Number Publication Date
KR20000038391A true KR20000038391A (en) 2000-07-05

Family

ID=19561594

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980053382A KR20000038391A (en) 1998-12-07 1998-12-07 Method for verifying multiple fpgas using fpga emulator

Country Status (1)

Country Link
KR (1) KR20000038391A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010039736A (en) * 1999-07-22 2001-05-15 가나이 쓰토무 Logic dividing method, logic dividing system and recording medium for storing logic dividing program
KR100831945B1 (en) * 2007-01-17 2008-05-26 삼성중공업 주식회사 The method and system for testing of electronic circuit board

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010039736A (en) * 1999-07-22 2001-05-15 가나이 쓰토무 Logic dividing method, logic dividing system and recording medium for storing logic dividing program
KR100831945B1 (en) * 2007-01-17 2008-05-26 삼성중공업 주식회사 The method and system for testing of electronic circuit board

Similar Documents

Publication Publication Date Title
US5339262A (en) Method and apparatus for interim, in-situ testing of an electronic system with an inchoate ASIC
US6678645B1 (en) Method and apparatus for SoC design validation
US10089425B2 (en) Resource mapping in a hardware emulation environment
NL192892C (en) Computer-aided system for integrated circuit design.
US7366652B2 (en) Method of programming a co-verification system
US6058492A (en) Method and apparatus for design verification using emulation and simulation
US6754862B1 (en) Gaining access to internal nodes in a PLD
US8694931B1 (en) Systems and methods for super-threading of integrated circuit design programs
US7120571B2 (en) Resource board for emulation system
US7076416B2 (en) Method and apparatus for evaluating logic states of design nodes for cycle-based simulation
US8214195B2 (en) Testing in a hardware emulation environment
JP2002526908A (en) Block-based design method
JP2004531056A (en) Block-based design methodology using programmable components
WO2009075981A1 (en) Integrated prototyping system for validating an electronic system design
US7043596B2 (en) Method and apparatus for simulation processor
US7437282B2 (en) Method and apparatus to provide alternative stimulus to signals internal to a model actively running on a logic simulation hardware emulator
US20120136645A1 (en) Managing Communication Bandwidth in Co-Verification of Circuit Designs
US20020108094A1 (en) System and method for designing integrated circuits
US8352242B2 (en) Communication scheme between programmable sub-cores in an emulation environment
Tessier et al. The virtual wires emulation system: A gate-efficient ASIC prototyping environment
EP0410502B1 (en) Method and apparatus for emulating interaction between application specific integrated circuit (asic) under development and target system
Bombieri et al. Incremental ABV for functional validation of TL-to-RTL design refinement
US20030188278A1 (en) Method and apparatus for accelerating digital logic simulations
KR20040028598A (en) Vcd-on-demand system and method
US7337103B2 (en) Method and apparatus for the automatic correction of faulty wires in a logic simulation hardware emulator / accelerator

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination