KR20000061819A - 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교 검증 장치 및 그 방법 - Google Patents

다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교 검증 장치 및 그 방법 Download PDF

Info

Publication number
KR20000061819A
KR20000061819A KR1019990011182A KR19990011182A KR20000061819A KR 20000061819 A KR20000061819 A KR 20000061819A KR 1019990011182 A KR1019990011182 A KR 1019990011182A KR 19990011182 A KR19990011182 A KR 19990011182A KR 20000061819 A KR20000061819 A KR 20000061819A
Authority
KR
South Korea
Prior art keywords
comparison
simulation
result
results
output
Prior art date
Application number
KR1019990011182A
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 KR1019990011182A priority Critical patent/KR20000061819A/ko
Publication of KR20000061819A publication Critical patent/KR20000061819A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/445Program loading or initiating
    • G06F9/44589Program code verification, e.g. Java bytecode verification, proof-carrying code
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/47Retargetable compilers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 사용자로부터 작성된 프로그램의 시뮬레이션 장치 및 그 방법에 관한 것으로, 특히, 다양한 언어로 기술된 프로그램을 동시에 시뮬레이션 하여 그 결과를 자동으로 비교 검증하는 장치 및 그 방법에 관한 것이다. 이러한 본 발명은, 임의의 기준언어로서 작성된 프로그램의 시뮬레이션을 수행하며, 시뮬레이션 수행 결과를 출력하는 제1과정과, 비교언어로서 작성된 프로그램의 시뮬레이션을 수행하며, 수행 결과를 출력하는 제2과정과, 상기 출력되는 수행 결과의 인입이 이루어지면, 상기 수행 결과의 상호 비교를 수행하는 제3과정과, 상기 제3과정에서, 수행 결과의 비교 결과에 따라 시뮬레이션 지속 수행 여부를 결정하는 제4과정을 수행하는 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교-검증 장치 및 방법을 특징으로 한다.

Description

다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교 검증 장치 및 그 방법{APARATUS FOR SIMULATING A CODING PROGRAM AND METHOD THEREFOR}
본 발명은 사용자로부터 작성된 프로그램의 시뮬레이션 장치 및 그 방법에 관한 것으로, 특히, 다양한 언어로 기술된 프로그램을 동시에 시뮬레이션 하여 그 결과를 자동으로 비교 검증하는 장치 및 그 방법에 관한 것이다.
통상적으로 임의의 기능의 가지는 하드웨어 장치의 설계는, 사용자가 먼저 고수준 언어를 통한 프로그램 작성을 이룬 후 작성된 프로그램을 하드웨어 모델링을 위해 특히 고안된 저수준 언어로 변환시키고, 변환된 저수준 언어에 의해 요구되는 하드웨어 장치의 모델링이 수행됨으로서 이루어진다. 통상적으로 상기 고수준 언어로서는 C, C++ 등의 프로그램 언어가 사용되며, 하드웨어 장치 모델링을 위한 저수준 언어로서는 Verilog-HDL, VHDL 등이 있다. 그리고 상기한 HDL과 같은 저수준 언어를 통해 표현된 모델의 결과 디버깅(Debugging)은 시뮬레이션 웨이브 파형을 별도로 분석함으로서 이루어지게 된다. 그러나 이러한 하드웨어 장치 설계 방식에 있어 종래에는 고수준 언어의 디버깅과 저수준 언어의 디버깅이 각각 수행되도록 되어 있는데, 이러한 경우 이중적이고 반복적인 디버깅이 이루어질 수밖에 없어 많은 시간의 소모가 발생된다. 또한 저수준 언어의 경우 아키텍쳐에 따라 여러 버전이 존재하게 되는데 이때에도 버전에 따라 새로운 모델을 다시 웨이브 파형으로 디버깅해야만 하는 문제를 낳았다. 결국 이 경우에도 하드웨어 장치 설계에 있어 과도한 시간 소모가 발생하는 문제를 낳게 된 것이다.
첨부된 도 1a 및 도 1b에 도시된 종래의 프로그램의 시뮬레이션 결과를 비교하는 장치의 동작을 통해 상술한 종래 기술의 문제를 명확히 알 수 있다.
상기 도 1a 및 도 1b를 참조하여 종래 기술에 따른 문제를 설명하면, 먼저, 다른 언어로 표현된 동일한 모델을 검증하기 위해서는 텍스트 출력 파일을 비교하는 방식이 도 1a에 도시된 바와 같이 종래에 실시되었는데, 이러한 경우, 고수준 언어로 작성된 기준모델과 저수준 언어로 작성된 비교모델을 독립적으로 시뮬레이션 하여 그의 결과를 비교하는 방식을 실시 하였다. 즉, 기준모델을 고수준 언어로 작성한 후(10) 시뮬레이션(12)하여 그 결과를 텍스트 파일로 출력(14)하게 된다. 마찬가지로 비교모델은 저수준 언어로 작성한 후(11) 시뮬레이션(13)하고 그 결과 또한 텍스트 파일로 출력(15) 하였다. 그리고 상기 출력된 결과들에 있어서의 텍스트 파일 내용들을 상호 비교(16) 하였다. 이러한 방식은 모든 테스트 벡터를 시뮬레이션 한 후 그 결과를 비교함으로써 오류를 발견하고 수정할 수밖에 없어, 다시 처음부터 모든 테스트 벡터를 시뮬레이션함으로써 과도한 시간의 소모가 이루어지는 문제를 낳았다.
그리고, 아키텍쳐의 변화에 따라 수정된 저수준 언어의 시뮬레이션을 웨이브 파형의 출력을 통해 비교하는 방식이 있는데, 이는 도 1b에 도시된 바와 같은 방식을 통해 실시하였다. 이를 참조하면 저수준 언어로 작성된 기준모델과 아키텍쳐의 변화에 따라 다시 저수준 언어로 수정하여 작성한 비교모델을 독립적으로 시뮬레이션 하여 그의 결과를 비교하는 방식을 보여준다. 즉, 기준모델을 저수준 언어로 작성한 후(20) 시뮬레이션(22)하여 그 결과를 웨이브 파형으로 출력(24)하게 된다. 비교모델은 상기 작성된(20) 내용을 아키텍쳐의 변화에 따라 수정하여 또 다른 저수준 언어로 작성한 후(21) 시뮬레이션(23)하고 그 결과를 웨이브 파형으로 출력(25) 하였다. 그리고 상기 출력된 결과들에 있어서의 웨이브 파형들을 상호 비교(26)하였다. 이러한 방식은 저수준 언어로 표현된 모델의 구성이 바뀌어 다소의 수정이 있을 경우 이를 시뮬레이션하여 실시자의 눈(Eye)으로서 결과를 비교하는 방식이 된다. 이 경우 또한 각 결과를 웨이브 파형을 이용하게 되므로, 결과가 많게 되면 반복적인 검증이 지속적으로 필요하게 되어 설계자가 오류를 검출하지 못할 수 있으며 또한 디버깅 시간에 있어 많은 소모가 이루어진다.
따라서, 본 발명의 목적은 다양한 언어로 기술된 프로그램을 동시에 시뮬레이션 하여 그 결과를 자동으로 비교 검증하는 장치 및 그 방법을 제공함에 있다.
또한 본 발명의 목적은, 프로그램을 동시에 시뮬레이션 하여 그 결과를 비교 검증하는 장치 및 그 방법에 있어서, 디버깅 환경을 보다 편리하고 빠르도록 하며 동시에 자동으로 오류를 검증할 수 있도록 하여 설계자의 설계 시간을 절약하고 반복 작업에 따른 오류의 발생을 방지하는 장치 및 그 방법을 제공함에 있다.
이러한 목적 달성을 위해 본 발명에서는 임의의 기준언어로서 작성된 프로그램의 시뮬레이션을 수행하며, 시뮬레이션 수행 결과를 출력하는 제1과정과, 비교언어로서 작성된 프로그램의 시뮬레이션을 수행하며, 수행 결과를 출력하는 제2과정과, 상기 출력되는 수행 결과의 인입이 이루어지면, 상기 수행 결과의 상호 비교를 수행하는 제3과정과, 상기 제3과정에서, 수행 결과의 비교 결과에 따라 시뮬레이션 지속 수행 여부를 결정하는 제4과정을 수행함을 특징으로 하는 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교-검증 장치 및 방법을 제안한다.
도 1a 및 도 1b는 종래 기술에 따른 다양한 언어로 기술된 프로그램의 시뮬레이션 결과를 비교 검증하는 장치의 블록 구성과 그의 동작 상태를 나타내는 도면.
도 2는 본 발명의 바람직한 실시 예에 따른 다양한 언어로 기술된 프로그램의 시뮬레이션 결과를 비교하는 장치의 블록 구성도.
도 3은 본 발명의 바람직한 실시 예에 따른 다양한 언어로 기술된 프로그램의 시뮬레이션 결과를 비교하는 동작을 보여주는 흐름도.
이하 본 발명의 바람직한 실시 예를 첨부한 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성 요소들에 부가된 참조 부호를 통해 본 발명을 설명함에 있어, 비록 다른 도면상에 표시된 참조 부호일 지라도 동일한 구성 요소를 나타내는 경우에는 동일한 참조부호를 사용하고 있음에 유의해야 한다.
또한 하기 설명에서는 구체적인 회로의 구성 소자 등과 같은 많은 특정(特定) 사항들이 나타나고 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들 없이도 본 발명이 실시될 수 있음은 이 기술 분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 2는 본 발명의 바람직한 실시 예에 따른 다양한 언어로 기술된 프로그램의 시뮬레이션 결과를 비교하는 장치의 블록 구성도이며, 도 3은 본 발명의 바람직한 실시 예에 따른 다양한 언어로 기술된 프로그램의 시뮬레이션 결과를 비교하는 동작을 보여주는 흐름도로서 상기한 도 2의 블록 구성에 따른 동작 흐름도이다.
이하 상기 도면들의 참조하에 본 발명을 설명한다. 먼저, 본 발명의 요지는 하나의 모델에 대하여 고수준 언어와 저수준 언어(이하 설명의 편의상 고수준 언어는 C언어로서 칭하고, 저수준 언어는 VHDL로서 칭한다. 이는 본 발명의 출원 시점에 있어 가장 일반적으로 사용되는 언어가 됨에 따른 것이다.)로 모델링하고, 그에 따른 결과들을 실시간으로 자동으로 검증하도록 하는 것인데, 상기한 도면들에 따른 구성이 그러한 검증에 따라 구현되는 것이다. 참고로 동일한 모델에 있어 서로 다른 레벨의 언어인 C언어와 VHDL을 사용하는 이유를 살펴보면, C언어의 경우 설계자들의 사용이 보다 익숙한 것이 통 예이며, 또한 디버깅 능력과 이벤트 구동 시뮬레이터(Event Driven Simulator)보다 실행 및 검증 시간이 빠름에 따른 것이다. 따라서 설계자들은 C언어를 통해 알고리즘 및 행동(Behavioral) 레벨에서 구현하려는 모델을 기술하고, 이를 하드웨어로 구현할 수 있는 HDL로 변환하는 방식을 통해 필요한 모델의 설계를 이루게 된다. 그리고 설계를 행함에 있어 HDL모델의 개발 과정에서 동일한 기능을 이루지만 구조의 변화로 인하여 다양한 버전을 가질 수 있게 될 수도 있다. 결국 상기한 바와 같은 설계 환경에 있어 본 발명의 실시는 다음과 같이 이루어진다. 먼저, C나 초기 버전의 HDL을 하나의 기준모델로 하고 HDL이나 새로운 버전의 HDL을 비교 모델로 둔다. 상기 도 1에 있어 도시된 구성은 바로 그러한 동작을 이루는 구성이 된다. 도 1에 있어 도시된 시뮬레이션 결과 비교 장치(200)의 소프트웨어모델(220)을 기준 모델로 하고 하드웨어모델(230)을 비교 모델로 지정하여 구성한다. 상기 각 모델들은 내부로 유닉스 IPC(Inter Processing Communication) 인터페이스를 가지도록 한다. 이는 본 발명의 실시에 따른 프로그래밍 환경이 유닉스를 근간으로 하는 시스템에 있어서 이루어지기 때문이다. 그리고 상기 각 모델들로의 시뮬레이션 결과를 비교하여 검증하는 비교-검증부(210)가 구성되며, 이 또한 내부로 유닉스 IPC 인터페이스를 가지게 된다. 그러한 구성에 있어 유닉스 IPC 채널(240)의 메시지 큐를 이용하여 상기 소프트웨어모델(220)과 하드웨어모델(230)은 각기 발생된 출력 결과 데이터를 실시간으로 상기 비교-검증부(210)로 전달한다. 상기 비교-검증부(210)는 전달받은 출력 결과 데이터를 비교하고, 비교 결과가 다를 경우 각각의 모델에 있어 수행되는 시뮬레이션을 중지하도록 처리한다. 실행의 중지와 더불어 경보발생부(250)는 별도의 경보음 발생을 이루게 된다. 결국, 상기 도 1에 있어 도시된 시뮬레이션 결과 비교 장치(200)는 내부로 유닉스에 근간하는 소프트웨어모델(220), 즉 C언어나 그에 상응하는 고수준언어로 작성될 수 있는 모델을 포함하며, 동시에 VHDL, HDL이나 그에 상응하는 저수준언어로 작성될 수 있는 하드웨어모델(230)을 포함한다. 상기 소프트웨어모델(220)과 하드웨어모델(230)의 시뮬레이션이 이루어짐에 따라 출력되는 결과 데이터는 상기 비교-검증부(210)로 실시간으로 인가되며, 이때의 데이터 인가는 유닉스 IPC채널을 통해 이루어지게 된다. 그리고 상기 비교-검증부에서 상기 두 모델의 시뮬레이션 결과를 비교하여 비교 결과에 따라 실행 중지 및 유지 동작을 이루며, 동시에 경보 발생 여부를 판단하도록 하는 것이다.
상기 도 2를 통해 상기 도 1에 도시된 본 발명에 따른 시뮬레이션 결과 비교 장치(200)의 동작을 살펴본다. 먼저, 상기 도 2의 동작 흐름의 요지는 상기 두 모델로부터 인가되는 데이터의 비교-검증 처리를 위한 동기가 이루어지도록 하는 동작에 있다. 이는 상기 소프트웨어모델(220)의 시뮬레이션 시간과, 상기 하드웨어모델(230)의 시뮬레이션 시간의 차이에 따른 것이다. 즉, 출력 결과의 비교를 위해서는 데이터가 동일하게 인입되어 처리되어야 하는데 이때 바로 동기의 과정이 필요하게 되는 것이다. 상기 도 2에 따른 동작을 살펴보면, 상기 소프트웨어모델(220), 하드웨어모델(230), 비교-검증부(210)의 실행 파일을 각각 독립적으로 수행되도록 처리한다. 그러면 각각은 221단계 및 211단계, 231단계에 있어 시뮬레이션 및 비교 검증을 위해 해당되는 데이터의 처리를 이루게 된다. 그러한 데이터는 별도의 데이터 저장부로부터 독출된다. 상기 각 모델들이 독립적으로 해당 시뮬레이션 동작을 실해하게 되면, 상기 비교-검증부(210)는 두 모델의 데이터 처리 완료를 대기한다. 212단계에서 상기 비교-검증부(210)는 상기 두 모델의 데이터 처리 완료 제어 신호가 인입되는지를 판단하여 그 판단 결과에 따라 213단계에서 전송된 데이터의 비교 동작을 수행한다. 상기 전송된 데이터는 각 모델로부터 출력되는 데이터로서, 상기 221단계 및 231단계의 데이터 처리에 따른 시뮬레이션 결과 데이터가 되며, 이는 각 모델에 있어 222단계 및 232단계의 데이터 출력 동작을 통해 출력되어 상기 비교-검증부(210)의 213단계에서 인입되는 것이다. 그리고 상기 비교-검증부(210)는 214단계에서 상기 213단계의 비교 결과를 통해 출력 결과가 동일한지 여부를 판단한다. 그러한 경우 각 모델로 동일 여부의 신호를 전송하고, 각 모델은 223단계 및 234단계에서 전송된 동일 여부의 신호를 감지하여 상기 221단계 및 231단계의 동작을 되풀이 수행한다. 그러나 상기 214단계에서 출력 결과가 동일하지 않은 것으로 판단되면, 215단계의 에러 표시 동작, 또는 216단계의 경보 발생 동작을 이룬다. 그리고 217단계에서 상기 비교-검증부(210)는 비교-검증 동작의 지속 수행 여부를 판단하고, 그러한 경우 상기 211단계를 되풀이 수행한다. 그러나 비교-검증 동작의 지속 수행을 원치 않는 경우는, 시뮬레이션을 종료하게 된다. 한편, 상기 각 모델과 비교-검증부(210)간에 있어 전송되는 신호 및 데이터는 유닉스 IPC 채널(240)을 통하게 된다. 여기서 상기 신호는 각 모델이 데이터 처리를 완료했음에 따른 제어신호와, 상기 비교-검증부(210)로부터 출력 결과 동일 여부에 따라 각 모델로 전송되는 제어신호로 이루어지고, 상기 데이터는 각 모델의 데이터 처리 완료에 따라 전송되는 결과 데이터가 된다. 상기 제어신호는 통상 스트로부(Strobe)신호와 응답신호(Ack)를 각각 사용하며, 상기 각 모델들은 상기 응답신호의 수신여부로서 새로운 데이터의 처리 여부를 결정하는 것이다. 결국 상기한 바와 같은 동작을 반복 수행하여 모든 테스트 백터에 따른 시뮬레이션 처리를 지속 수행한다.
상술한 바와 같은 본 발명의 실시는 다음과 같은 세가지의 효과를 달성한다.
첫째, 시스템 자원과 검증 시간의 단축이 이루어진다. 즉, 상기한 비교-검증 장치는 데이터 처리된 각 모델들의 출력 결과를 매 순간마다 비교하게 되므로, 기존에 있어 웨이브나 텍스트와 같이 모든 시뮬레이션 결과를 인지함으로서 비교하는 경우에 발생된 시간의 낭비를 절감하는 것이다. 그리고 검증 중에 있어 오류 발생이 이루어진 경우 해당 모델로서 시뮬레이션을 수행하는 것은 의미가 없게되는데, 본 발명의 실시는 오류가 발생하면 즉시 실행을 멈추고 오류를 수정한 후 다시 시뮬레이션이 이루어지도록 하게 되어 시스템 자원의 낭비를 절감하게 된다.
두 번째로, 설계에 따른 인적 자원의 낭비와 오류를 방지한다. 즉, 자동화된 검증이 이루어지게 되므로 설계자의 디버깅 시간 절약이 이루어져 인적 자원의 절감이 가능하고, 사람에 의해 발생될 수 있는 비교 검증 오류, 반복 확인 작업에 따른 오류를 방지하는 효과를 가진다.
세 번째로, 다양한 언어로 표현된 모델의 경우에 있어서도 사용할 수 있으며, 버전이 변경되더라도 이를 그대로 사용할 수 있다. 즉, 여러 언어로 되거나 버전이 변경된 언어를 통해 작성되어 시뮬레이션이 이루어지더라도 필요한 임의의 모델이나 기존의 모델을 기준모델로 설정할 수 있게 되어 그대로 사용할 수 있는 것이다. 이는 설계자의 관점에서 보면 익숙해진 버전의 언어를 그대로 사용할 수 있는 것이다.

Claims (9)

  1. 사용자로부터 작성된 서로 다른 프로그램의 시뮬레이션 장치에 있어서,
    제1언어로서 작성된 프로그램의 시뮬레이션을 수행하며, 시뮬레이션 수행 결과를 출력하는 기준모델부와,
    제2언어로서 작성된 프로그램의 시뮬레이션을 수행하며, 수행 결과를 출력하는 비교모델부와,
    상기 기준모델부로부터 출력된 수행 결과와 상기 비교모델부로 출력된 결과를 상호 비교하여, 비교 결과를 통해 상기 각 모델에 있어 시뮬레이션 지속 수행 여부를 결정하는 비교-검증부로 이루어짐을 특징으로 하는 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교-검증 장치.
  2. 제1항에 있어서, 상기 비교-검증부는,
    상기 기준모델부와, 비교모델부로부터 출력되는 결과의 동기를 맞추고, 동기를 맞춘 경우에 있어서 출력된 결과의 비교를 수행함을 특징으로 하는 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교-검증 장치.
  3. 제1항에 있어서,
    상기 기준모델부 및 상기 비교모델부는 유닉스 아이피씨 채널을 통해 상기 비교-검증부와 제어신호 및 데이터 입출력을 이룸을 특징으로 하는 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교-검증 장치.
  4. 제1항에 있어서, 상기 비교-검증부는,
    상기 기준모델부로부터 출력된 수행 결과와 상기 비교모델부로 출력된 결과가 상호 다른 경우, 소정 경보 발생을 이루는 경보발생부를 더 구비하고 있음을 특징으로 하는 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교-검증 장치.
  5. 제1항에 있어서, 상기 기준모델부와 상기 비교모델부는,
    상기 비교-검증부로부터 출력 결과 비교 여부에 따라 출력되는 소정 제어신호의 인입여부에 따라 시뮬레이션 지속 수행 여부를 결정함을 특징으로 하는 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교-검증 장치.
  6. 사용자로부터 작성된 서로 다른 프로그램의 시뮬레이션 방법에 있어서,
    기준언어로서 작성된 프로그램의 시뮬레이션을 수행하며, 시뮬레이션 수행 결과를 출력하는 제1과정과,
    비교언어로서 작성된 프로그램의 시뮬레이션을 수행하며, 수행 결과를 출력하는 제2과정과,
    상기 출력되는 수행 결과의 인입이 이루어지면, 상기 수행 결과의 상호 비교를 수행하는 제3과정과,
    상기 제3과정에서, 수행 결과의 비교 결과에 따라 시뮬레이션 지속 수행 여부를 결정하는 제4과정으로 이루어짐을 특징으로 하는 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교-검증 방법.
  7. 제6항에 있어서, 상기 제3과정은,
    상기 출력되는 수행 결과가 서로 다른 시간차를 통해 인입되는 경우, 발생된 시간차의 동시를 맞춘 후 상기 수행 결과의 상호 비교를 수행하는 과정을 더 구비하고 있음을 특징으로 하는 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교-검증 방법.
  8. 제6항에 있어서,
    상기 제3과정에 있어서, 수행 결과의 비교 결과가 상호 다른 결과인 것으로 판단되면, 비리 정해진 형태의 경보 발생 및 오류 표시를 수행하는 과정을 더 구비하고 있음을 특징으로 하는 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교-검증 방법.
  9. 제6항에 있어서,
    상기 제3과정에 있어서, 수행 결과의 비교 결과가 상호 다른 결과인 것으로 판단되면, 비리 정해진 형태의 경보 발생 및 오류 표시를 수행하는 과정을 더 구비하고 있음을 특징으로 하는 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교-검증 방법.
KR1019990011182A 1999-03-31 1999-03-31 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교 검증 장치 및 그 방법 KR20000061819A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990011182A KR20000061819A (ko) 1999-03-31 1999-03-31 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교 검증 장치 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990011182A KR20000061819A (ko) 1999-03-31 1999-03-31 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교 검증 장치 및 그 방법

Publications (1)

Publication Number Publication Date
KR20000061819A true KR20000061819A (ko) 2000-10-25

Family

ID=19578324

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990011182A KR20000061819A (ko) 1999-03-31 1999-03-31 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교 검증 장치 및 그 방법

Country Status (1)

Country Link
KR (1) KR20000061819A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100612818B1 (ko) * 2004-01-15 2006-08-18 주식회사 영일교육시스템 통신 시뮬레이션 프로그램이 저장된 저장 매체 및 통신시뮬레이션 시스템
CN113496105A (zh) * 2020-03-20 2021-10-12 洛极豪斯私人有限公司 用于数字电路设计的综合用hdl的rtl描述的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100612818B1 (ko) * 2004-01-15 2006-08-18 주식회사 영일교육시스템 통신 시뮬레이션 프로그램이 저장된 저장 매체 및 통신시뮬레이션 시스템
CN113496105A (zh) * 2020-03-20 2021-10-12 洛极豪斯私人有限公司 用于数字电路设计的综合用hdl的rtl描述的方法

Similar Documents

Publication Publication Date Title
US7962869B2 (en) Method and system for debug and test using replicated logic
US5404496A (en) Computer-based system and method for debugging a computer system implementation
US20070055911A1 (en) A Method and System for Automatically Generating a Test-Case
US7231627B2 (en) Merging a hardware design language source file with a separate assertion file
US5960182A (en) Hardware-software co-simulation system, hardware-software co-simulation method, and computer-readable memory containing a hardware-software co-simulation program
Narayan et al. Translating system specifications to VHDL
US8140315B2 (en) Test bench, method, and computer program product for performing a test case on an integrated circuit
US10929584B1 (en) Environmental modification testing for design correctness with formal verification
US10699044B2 (en) Integrated circuit design model splitting for formal verification
JP2002366602A (ja) ソフトウエア及びハードウエアのシミュレーション方法及びシステム並びにプログラム
US8863054B1 (en) Innovative verification methodology for deeply embedded computational element
KR20000061819A (ko) 다양한 언어로 기술된 프로그램의 시뮬레이션 결과 비교 검증 장치 및 그 방법
CN111338761B (zh) 一种51单片机虚拟中断控制器及实现方法
US7236917B1 (en) Method and apparatus for generating minimal node data and dynamic assertions for a simulation
US20070198957A1 (en) Circuit simulator and circuit simulation program storage medium
JP3196675B2 (ja) 言語処理方式
US6813751B2 (en) Creating standard VHDL test environments
US7630876B1 (en) Method and system for filtering unknown values in ASIC design simulation
US7277840B2 (en) Method for detecting bus contention from RTL description
US7225419B2 (en) Methods for modeling latch transparency
JPH10177590A (ja) 論理回路モデルのデバッグ装置およびデバッグ方法
US11892504B1 (en) Method and system for debugging metastability in digital circuits
CN111880768B (zh) 一种ip核代码级安全需求描述方法
US10726180B1 (en) Systems and methods for fixing X-pessimism from uninitialized latches in gate-level simulation
US20080077895A1 (en) Method for generating a timing path software monitor for identifying a critical timing path in hardware devices coupled between components

Legal Events

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