KR20070049391A - 시스템씨를 기반으로 하는 하드웨어의 설계 방법 - Google Patents

시스템씨를 기반으로 하는 하드웨어의 설계 방법 Download PDF

Info

Publication number
KR20070049391A
KR20070049391A KR1020050106503A KR20050106503A KR20070049391A KR 20070049391 A KR20070049391 A KR 20070049391A KR 1020050106503 A KR1020050106503 A KR 1020050106503A KR 20050106503 A KR20050106503 A KR 20050106503A KR 20070049391 A KR20070049391 A KR 20070049391A
Authority
KR
South Korea
Prior art keywords
module
hardware
hardware module
software
memory
Prior art date
Application number
KR1020050106503A
Other languages
English (en)
Other versions
KR100779014B1 (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 KR1020050106503A priority Critical patent/KR100779014B1/ko
Publication of KR20070049391A publication Critical patent/KR20070049391A/ko
Application granted granted Critical
Publication of KR100779014B1 publication Critical patent/KR100779014B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명은 시스템씨를 기반으로 하드웨어를 설계함으로써 개발 기간을 단축하는 것으로서, C함수로 설계된 JPEG-2000 시스템을 소프트웨어 모듈과 하드웨어 모듈로 분리하는 단계, 소프트웨어 모듈과 상기 하드웨어 모듈의 통신을 위해 채널을 형성하는 단계, 소프트웨어 모듈에 마스터 라이브러리(master library)를 적용하는 단계, 하드웨어 모듈에 슬레이브 라이브러리(slave library)를 적용하는 단계, C함수로 설계된 하드웨어 모듈을 행동적 시스템씨(behavioral SystemC)로 설계하여 합성 가능한 하드웨어 모듈로 형성하는 단계, 그리고 합성 가능한 하드웨어 모듈을 시스템씨 컴파일러로 컴파일하는 단계를 포함한다. 이와 같이, C언어로 설계된 JPEC-2000 부호화 시스템을 재사용하여 시스템씨를 기반으로 하는 하드웨어를 설계함으로써 제품 개발의 시간을 단축 할 수 있고, 하드웨어와 소프트웨어의 통합 설계를 통해 개발 도중에 코시뮬레이션이 가능하다.
소프트웨어, 하드웨어, 코시뮬레이션, 합성, 시스템씨

Description

시스템씨를 기반으로 하는 하드웨어의 설계 방법{METHOD OF DESIGNING HARDWARE BASED ON A SYSTEMC}
도 1은 본 발명의 한 실시예에 따른 소프트웨어 알고리즘으로 설계된 JPEG-2000 부호화 시스템에 대한 순서도이다.
도 2는 본 발명의 한 실시예에 따른 언타임 레벨(untime level)에서의 JPEG-2000 부호화 시스템에 관한 블록도이다.
도 3은 본 발명의 한 실시예에 따른 합성 MQ 코더의 시스템씨 모델에 대한 블록도이다.
도 4는 본 발명의 한 실시예에 따른 JPEG-2000 부호화 시스템을 검증하는 것에 대한 순서도이다.
본 발명은 시스템씨를 기반으로 하드웨어를 설계하는 방법에 관한 것으로서, 특히 JPEG-2000 부호화 시스템에서 하드웨어를 설계하는 방법에 관한 것이다.
JPEG-2000은 기존의 JPEG에 다양한 기능을 종합한 차세대 정지영상규격으로서, 특히 국제전기통신연합 ITU-RSG8과 ISO, IEC, JTC1, SC29 및 WG1에서 표준화를 수행하고 있다. 이것은 자연영상, 과학영상, 의료영상, 원격탐사영상, 문서영상, 그래픽영상 등과 같이 서로 다른 특성을 갖는 다양한 형태의 정지영상에 하나의 통합된 부호를 부여한다.
이러한 JPEG-2000은 의료영상, 원격탐사, 영상저장, 그래픽스 및 컴퓨터 합성영상, 팩시필리, 인쇄 및 출판영상, 레이저 인쇄, 디지털카메라, 스캐너 및 디지털 복사기, 경제 문서, 보안용 카메라, 지구영상처리, 사진 및 미술품의 디지털도서관 및 카메라폰 등 정지영상이 관련되는 전분야에 걸쳐 다양하게 이용될 수 있다.
이와 같은 JPEG-2000의 부호화 시스템은 소프트웨어 개발자에 의해 C-model로 설계된다.
JPEG-2000 부호화 시스템은 프로그래밍 언어를 이용하여 하나의 이미지(image)를 적절하게 나누는 타일링(tilling) 작업을 진행하고, 분할된 이미지에 대한 부호화(encoding)를 수행한다. 이어, JPEC-2000의 부호화 시스템의 하드웨어(hardware, HW)를 설계하기 위해 모델링(modeling)을 진행한다.
그런 다음, 하드웨어 개발자는 소프트웨어 시스템을 바탕으로하여 ASIC 설계 흐름을 따라 RTL(register transfer level)의 VHDL 이나 Verilog로 재작성한다.
한편, 이와 같이 하드웨어 설계를 위한 프로그램의 재작성은 설계자의 수작업으로 진행되므로 시스템에 오류가 발생하기 쉽다.
또한, 소프트웨어(software, SW) 개발자와 하드웨어 개발자가 서로 다른 언 어로 개발함으로써 서로 다른 수준의 테스트벤치(testbench)를 가지고 시스템 검증을 진행해야하므로 개발 도중의 코시뮬레이션(co-simulation)을 진행하기 어렵다. 이로 인해 종래의 시스템 검증은 하드웨어 개발을 완료한 다음에 이루어진다.
코시뮬레이션은 소프트웨어의 시뮬레이션과 하드웨어 에뮬레이션을 동기화하는 것으로서, 매우 큰 기능 블록으로 독립적으로 분리된 순수 소프트웨어 시뮬레이션 프로세스와 순수 에뮬레이션 가속화 프로세스를 보다 사용자 친화적으로 만들기 위한 것이다.
이러한, 코시뮬레이션 진행시 오류가 발생할 경우, 하드웨어 설계자는 하드웨어 설계를 처음 단계부터 다시 시작해야 하므로 개발 기간이 길어진다.
따라서, 본 발명의 기술적 과제는 시스템씨를 기반으로 하드웨어를 설계함으로써 개발 기간을 단축하는 것이다.
본 발명에 따른 시스템씨를 기반으로 하드웨어를 설계하는 방법으로, C함수로 설계된 JPEG-2000 시스템을 소프트웨어 모듈과 하드웨어 모듈로 분리하는 단계, 상기 소프트웨어 모듈과 상기 하드웨어 모듈의 통신을 위해 채널을 형성하는 단계, 상기 소프트웨어 모듈에 마스터 라이브러리(master library)를 적용하는 단계, 상기 하드웨어 모듈에 슬레이브 라이브러리(slave library)를 적용하는 단계, 상기 C함수로 설계된 상기 하드웨어 모듈을 행동적 시스템씨(behavioral SystemC)로 설계하여 합성 가능한 하드웨어 모듈로 형성하는 단계, 그리고 상기 합성 가능한 하드웨어 모듈을 시스템씨 컴파일러로 컴파일하는 단계를 포함한다.
상기 채널은 시스템씨 랩퍼(SystemC wrapper)를 통해 형성하는 시스템씨를 기반으로 할 수 있다.
상기 시스템씨 랩퍼는 상기 마스터 및 상기 슬레이브 라이브러리의 풀 핸드쉐이크(full-handshake) 방법으로 형성할 수 있다.
상기 소프트웨어 모듈이 상기 하드웨어 모듈의 동작을 요청(req) 및 응답(ack) 신호를 통해 제어하는 시스템씨를 기반으로 할 수 있다.
상기 소프트웨어 모듈과 상기 하드웨어 모듈 사이에 주고 받는 신호는 객체지향적 C언어의 클래스(class)형태로 정의하여 사용할 수 있다.
상기 합성 가능한 하드웨어 모듈 형성 단계는, 상기 C함수로 설계된 상기 하드웨어 모듈을 독립적 모듈, 메모리 인터페이스 및 메모리로 나누는 단계, 상기 독립적 모듈과 상기 메모리 인터페이스 사이에 데이터 전달을 위한 제1 포트를 선언하는 단계, 상기 메모리 인터페이스와 상기 메모리 사이에 데이터 전달을 위한 제2 포트를 선언하는 단계를 포함한다.
상기 제1 포트 및 상기 제2 포트는 상기 채널을 기반으로 지정할 수 있다.
상기 독립적 모듈간의 데이터 전달은 이진(binary) 변수를 사용하여 제3 포트를 생성함으로써 전달할 수 있다.
상기 메모리에 저장된 전역변수를 사용하여 상기 독립적 모듈간의 데이터룰 전달하는 경우, 상기 메모리 인터페이스를 통해 상기 메모리에 접근함으로써 데이터를 전달할 수 있다.
첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기 술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다.
도면에서 여러 층 및 영역을 명확하게 표현하기 위하여 두께를 확대하여 나타내었다. 명세서 전체를 통하여 유사한 부분에 대해서는 동일한 도면 부호를 붙였다. 층, 막, 영역, 판 등의 부분이 다른 부분 위에 있다고 할 때, 이는 다른 부분 바로 위에 있는 경우뿐 아니라 그 중간에 또 다른 부분이 있는 경우도 포함한다. 반대로 어떤 부분이 다른 부분 바로 위에 있다고 할 때에는 중간에 다른 부분이 없는 것을 뜻한다.
그러면 본 발명의 실시예에 따른 시스템씨를 기반으로 하드웨어를 설계하는 방법에 대하여 도 1 내지 도 4를 참고로 하여 상세하게 설명한다.
도 1은 본 발명의 한 실시예에 따른 소프트웨어 알고리즘으로 설계된 JPEG-2000 부호화 시스템에 대한 순서도이고, 도 2는 본 발명의 한 실시예에 따른 언타임 레벨(untime level)에서의 JPEG-2000 부호화 시스템에 대한 블록도이고, 도 3은 본 발명의 한 실시예에 따른 버스 액큐래잇 레벨(bus accurate level)에서 합성된 MQ 코더의 시스템씨 모델에 대한 블록도이고, 도 4는 본 발명의 한 실시예에 따른 JPEG-2000 부호화 시스템을 검증하는 것에 대한 순서도이다.
도 1에 도시한 바와 같이, C-model로 설계된 JPEG-2000 부호화 시스템(90)은 반도체 회로의 명확한 모델에 대한 이미지(image)를 식별하고(S10), 이미지를 적절하게 분할하는 이미지 타일링(image tiling) 작업을 수행하고(S20), 분할된 이미지 를 디지털화 하여 각 이미지 패킷(packet)에 헤더(header)를 더하고(S30), 이것을 이산 웨이블렛 변환기(Discrete wavelet transform)에 전달하여 이미지를 시간(t) 및 주파수(f)에 대하여 국부성을 가진 신호를 생성하고(S40), 블락 코딩(block coding) 과정을 통해 CX(context), D(decision) 및 확률 테이블(Qe)의 값을 생성한 다음(S50), MQ 코더(coder)에 CX(context), D(decision) 및 확률 테이블(Qe) 값을 전달하여 이미지 데이터를 압축하고(S60), 압축된 이미지 데이터는 Tier2에 전달되어 하나의 코드 블락에 대한 처리가 끝나면 데이터 종결(termination) 부호를 더한 패킷을 생성한 다음(S70), 이미지 데이터를 비트(bit) 단위로 나열하여 이미지 데이터 비트 스트림(bit stream)을 형성하는(S80) C함수들로 구성되어 있다. 여기서, 압축된 이미지 데이터는 0 또는 1로 표현되며 1byte 단위로 저장한다.
그런 다음, C-model로 작성한 JPEG-2000을 재사용하여 SystemC-model을 기반으로한 하드웨어를 설계하기 위해 도 2에 도시한 바와 같이, 기존의 C-model을 하드웨어 모듈(hardware module)(HWM)과 소프트웨어 모듈(software module)(SWM)로 나눈다.
본 발명에서의 하드웨어 모듈(HWM)은 C-model로 작성되어 이미지 데이터를 압축하는 MQ 코더(coder)(S60)를 포함하고, 소프트웨어 모듈(SWM)은 C-model로 작성한 JPEG-2000 부호화 시스템 중 하드웨어 모듈(HWM) 부분을 제외한 C함수(S20, S30, S40, S50, S70, S80)를 포함한다.
이어, 소프트웨어 모듈(SWM)과 하드웨어 모듈(HWM)을 동시에 시뮬레이션 할 수 있도록 만든다.
소프트웨어 모듈(SW)은 순차적으로 작업을 진행하는 반면, 하드웨어 모듈(HW)은 하드웨어가 포함하는 모든 모듈이 동시에 작업을 진행한다.
따라서, 소프트웨어 모듈(SWM)과 하드웨어 모듈(HWM) 사이의 통신을 위해 시스템씨 랩퍼(SystemC wrapper)를 설계하여 채널(ch1, ch2)을 생성한다. 그리고 JPEG-2000 부호화 시스템의 순차적인 처리를 위해 소프트웨어 모듈(SWM)에 마스터 라이브러리(master library)를 사용하고, 하드웨어 모듈(HWM)에 슬레이브 라이브러리(slave library)를 사용한다. 이것은 하드웨어 모듈(HWM)인 MQ 코더가 C함수의 호출을 통해 수행되던 부분을 하드웨어적으로 시뮬레이션하기 위한 방법으로으로서, 마스터인 소프트웨어 모듈(SW)이 슬레이브인 하드웨어 모듈(HW)의 동작을 요구 신호(request signal, req) 및 응답 신호(acknowledge signal, ack)를 통해 제어함으로써 데이터를 순차적으로 처리할 수 있다. 이러한 이유로 시스템씨 랩퍼는 마스터 라이브러리 및 슬레이브 라이브러리의 풀 핸드쉐이크(full-handshake) 방법을 사용하여 만들 수 있다.
그리고 하드웨어 모듈(HWM)과 소프트웨어 모듈(SWM) 사이에 주고 받는 신호는 객체지향적인 C언어의 클래스(class) 형태로 정의한다.
이어, 소프트웨어 모듈(SWM)과 하드웨어 모듈(HWM) 사이에 통신 여부를 언타임드 레벨(untimed level)에서 시뮬레이션을 수행하여 확인한다.
그런 다음, 도 3에 도시한 바와 같이, MQ 코더를 설계하는데 사용된 C언어를 재사용하여 하드웨어에도 적용이 가능한 시스템씨로 MQ 코더(700)를 버스 액큐래이트 레벨(bus accurate level)에서 설계하여 합성 가능한 MQ 코더(700)를 형성한다.
우선, C함수로 작성된 MQ 코더의 각 C함수를 하드웨어 모듈(HWM)이 포함하는 MQ 모듈(module)(145)과 메모리 인터페이스(memory interface)(140), 그리고 메모리(memory)(150, 155, 160, 165)로 정의한다.
MQ 모듈(145)은 MQ 코더(700) 내부 변수들을 초기화 하는 mqc_init_enc 모듈(100), 리셋 신호(reset signal)가 MQ 코더(700)로 인입할 경우 MQ 코더(700) 내부 변수들을 리셋하는 mqc_reset 모듈(105), 입력된 데이터를 부호화 하는 mqc_encode 모듈(110), 확률 테이블(Qe) 값을 재정의 하여 부호화 하는 mqc_renorme 모듈(115), 데이터를 부호화 하는 mqc_setcurctx 모듈(120), 부호화된 출력을 1byte씩 처리하는 mqc_byteout 모듈(125), MQ 코더(700)로 입력된 모든 데이터에 대한 부호화 작업이 완료되었을 때 종료 신호(termination signal)를 발생하는 mqc_flush 모듈(130) 및 부호화된 데이터의 길이를 계산하는 mqc_bytelength 모듈(135)을 포함한다.
메모리(150, 155, 160, 165)는 MQ 코더(700) 설계시 필요한 전역변수를 저장하고, 메모리 인터페이스(140)는 데이터를 처리하는 MQ 모듈(145)과 메모리(150, 155, 160, 165) 사이의 데이터를 처리 장소로 보내주는 역할을 한다.
그런 다음, MQ 모듈(145)과 메모리 인터페이스(140) 간의 통신을 위한 제1 포트(P1, P2, P3, P4, P5, P6, P7, P8)와 메모리 인터페이스(140)와 메모리(150, 155, 160, 165) 간의 통신을 위한 제2 포트(P9, P10, P11, P12)를 생성한다. 이때, 제1 및 제2 포트(P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, P11, P12)는 앞서 서술한 시스템씨 랩퍼를 통해 생성된 채널(ch1, ch2)을 기반으로하여 만든다.
그리고 mqc_encode 모듈(110)과 mqc_renorme 모듈(115), mqc_encode 모듈(110)과 mqc_setcurctx 모듈(120), mqc_encode 모듈(110)과 mqc_byteout 모듈(125), mqc_renorme 모듈(115)과 mqc_flush 모듈(130), mqc_byteout 모듈(125)과 mqc_flush 모듈(130) 간의 데이터 전달은 이진(binary) 변수를 사용하여 제3 포트(P13, P14, P15, P16, P17)를 생성함으로써 전달한다. 한편, 메모리(150, 155, 160, 165)에 저장된 전역변수를 사용하여 데이터를 전달하는 경우, 메모리 인터페이스(140)을 통해 메모리(150, 155, 160, 165)에 접근하여 데이터를 전달한다. 이때, 메모리(150, 155, 160, 165)에 접근하는 mqc_encode 모듈(110), mqc_renorme 모듈(115), mqc_setcurctx 모듈(120), mqc_byteout 모듈(125) 및 mqc_flush 모듈(130)은 메모리 데이터를 읽고(read) 쓰는(write)데에 필요한 신호들을 고려하여 설계한다.
이러한 설계 방법을 통해 시스템씨로 설계된 MQ 코더(700)는 C언어를 재사용하여 설계함에 따라 종래와 같이 하드웨어 개발자가 소프트웨어 시스템을 바탕으로하여 ASIC 설계 흐름을 따라 처음부터 RTL(register transfer level)의 VHDL 이나 Verilog로 설계자의 수작업으로 재작성하지 않으므로 개발기간을 단축할 수 있다.
또한, 하드웨어 모듈(HWM)과 소프트웨어 모듈(SWM)이 통합 설계되어 있으므로 개발 도중에도 코시뮬레이션(co-simulation)이 가능하다.
그런 다음, 도 4에 도시한 바와 같이, 버스 액큐래이트 레벨에서 설계된 MQ 코더(S200)를 FPGA 라이브러리를 적용한(S215) 시스템씨 컴파일러(compiler)로 (S210) 하드웨어적인 언어.db/HDL로 합성(S230)하고, .db/HDL로 합성된 MQ 코더를 FPGA 컴파일러를 통해 시뮬레이션을 하고(S235) 이로써 얻어진 네트리스트 결과물(end netlist)(S240)을 iPROVE와 같은 보드(board)를 사용하여 FPGA칩(field programmable gate array chip)에 다운로드(S250)하고, FPGA칩과 컴퓨터에 입력된 소프트웨어 모듈(SWM)의 프로그램을 버스 시스템인 PCI(peripheral component interconnect)를 통하여 FPGA칩과 소프트웨어 모듈(SW)의 프로그램이 입력된 컴퓨터 통신을 실행하여 JPEG-2000 C-model을 이용한 인코딩 결과와 시스템씨로 설계하여 합성된 MQ 코더를 이용한 인코딩 결과가 일치하는 것을 검증할 수 있다.
따라서, 소프트웨어 알고리즘 수준에서 빠르고 손쉽게 RTL 수준의 재설계 없이 하드웨어를 설계함으로써, 기존의 설계보다 빠르게 하드웨어를 설계할 수 있다.
본 발명에 따르면 C언어로 설계된 JPEC-2000 부호화 시스템을 재사용하여 시스템씨를 기반으로 하는 하드웨어를 설계함으로써 제품 개발의 시간을 단축 할 수 있다.
또한, 하드웨어와 소프트웨어의 통합 설계를 통해 개발 도중에 코시뮬레이션이 가능하다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만, 당해 기술 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다. 따라서, 본 발명의 권리 범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.

Claims (9)

  1. C함수로 설계된 JPEG-2000 시스템을 소프트웨어 모듈과 하드웨어 모듈로 분리하는 단계,
    상기 소프트웨어 모듈과 상기 하드웨어 모듈의 통신을 위해 채널을 형성하는 단계,
    상기 소프트웨어 모듈에 마스터 라이브러리(master library)를 적용하는 단계,
    상기 하드웨어 모듈에 슬레이브 라이브러리(slave library)를 적용하는 단계,
    상기 C함수로 설계된 상기 하드웨어 모듈을 행동적 시스템씨(behavioral SystemC)로 설계하여 합성 가능한 하드웨어 모듈로 형성하는 단계, 그리고
    상기 합성 가능한 하드웨어 모듈을 시스템씨 컴파일러로 컴파일하는 단계
    를 포함하는 시스템씨를 기반으로 하는 하드웨어 설계 방법
  2. 제1항에서,
    상기 채널은 시스템씨 랩퍼(SystemC wrapper)를 통해 형성하는 시스템씨를 기반으로 하는 하드웨어 설계 방법.
  3. 제2항에서,
    상기 시스템씨 랩퍼는 상기 마스터 및 상기 슬레이브 라이브러리의 풀 핸드쉐이크(full-handshake) 방법으로 형성하는 시스템씨를 기반으로 하는 하드웨어 설계 방법.
  4. 제1항에서,
    상기 소프트웨어 모듈이 상기 하드웨어 모듈의 동작을 요청(req) 및 응답(ack) 신호를 통해 제어하는 시스템씨를 기반으로 하는 하드웨어 설계 방법.
  5. 제1항에서,
    상기 소프트웨어 모듈과 상기 하드웨어 모듈 사이에 주고 받는 신호는 객체지향적 C언어의 클래스(class)형태로 정의하여 사용하는 시스템씨를 기반으로 하는 하드웨어 설계 방법.
  6. 제1항에서,
    상기 합성 가능한 하드웨어 모듈 형성 단계는,
    상기 C함수로 설계된 상기 하드웨어 모듈을 독립적 모듈, 메모리 인터페이스 및 메모리로 나누는 단계,
    상기 독립적 모듈과 상기 메모리 인터페이스 사이에 데이터 전달을 위한 제1 포트를 선언하는 단계,
    상기 메모리 인터페이스와 상기 메모리 사이에 데이터 전달을 위한 제2 포트 를 선언하는 단계
    를 포함하는 시스템씨를 기반으로 하는 하드웨어 설계 방법.
  7. 제6항에서,
    상기 제1 포트 및 상기 제2 포트는 상기 채널을 기반으로 지정하는 시스템씨를 기반으로 하는 하드웨어 설계 방법.
  8. 제6항에서,
    상기 독립적 모듈간의 데이터 전달은 이진(binary) 변수를 사용하여 제3 포트를 생성함으로써 전달하는 시스템씨를 기반으로 하는 하드웨어 설계 방법.
  9. 제8항에서,.
    상기 메모리에 저장된 전역변수를 사용하여 상기 독립적 모듈간의 데이터룰 전달하는 경우, 상기 메모리 인터페이스를 통해 상기 메모리에 접근함으로써 데이터를 전달하는 시스템씨를 기반으로 하는 하드웨어 설계 방법.
KR1020050106503A 2005-11-08 2005-11-08 시스템씨를 기반으로 하는 하드웨어의 설계 방법 KR100779014B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050106503A KR100779014B1 (ko) 2005-11-08 2005-11-08 시스템씨를 기반으로 하는 하드웨어의 설계 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050106503A KR100779014B1 (ko) 2005-11-08 2005-11-08 시스템씨를 기반으로 하는 하드웨어의 설계 방법

Publications (2)

Publication Number Publication Date
KR20070049391A true KR20070049391A (ko) 2007-05-11
KR100779014B1 KR100779014B1 (ko) 2007-11-22

Family

ID=38273375

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050106503A KR100779014B1 (ko) 2005-11-08 2005-11-08 시스템씨를 기반으로 하는 하드웨어의 설계 방법

Country Status (1)

Country Link
KR (1) KR100779014B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100928181B1 (ko) * 2007-06-22 2009-11-25 재단법인서울대학교산학협력재단 디지털 시스템 설계 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09153077A (ja) * 1995-12-01 1997-06-10 Pfu Ltd デジタル回路設計支援システムおよびデジタル回路のハードウェアおよびソフトウェアの設計方法
KR100297551B1 (ko) * 1999-05-12 2001-09-26 노명래 멀티 기능 모듈을 지원하는 하드웨어/소프트웨어 코-에뮬레이터를 위한 장치 및 방법
JP3803561B2 (ja) 2001-06-29 2006-08-02 松下電器産業株式会社 論理回路設計方法
KR100552668B1 (ko) * 2001-12-24 2006-02-20 한국전자통신연구원 하드웨어-소프트웨어 인터페이스 합성방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100928181B1 (ko) * 2007-06-22 2009-11-25 재단법인서울대학교산학협력재단 디지털 시스템 설계 방법

Also Published As

Publication number Publication date
KR100779014B1 (ko) 2007-11-22

Similar Documents

Publication Publication Date Title
US6606588B1 (en) Design apparatus and a method for generating an implementable description of a digital system
US7509647B2 (en) Method and apparatus for modeling dataflow systems and realization to hardware
TWI329821B (en) Transferring software assertions to hardware description language code
US7069204B1 (en) Method and system for performance level modeling and simulation of electronic systems having both hardware and software elements
Haubelt et al. SystemCoDesigner: automatic design space exploration and rapid prototyping from behavioral models
KR100779014B1 (ko) 시스템씨를 기반으로 하는 하드웨어의 설계 방법
US7343572B1 (en) Vector interface to shared memory in simulating a circuit design
Tumeo et al. Prototyping pipelined applications on a heterogeneous fpga multiprocessor virtual platform
Madl et al. Formal performance evaluation of AMBA-based system-on-chip designs
Abid et al. Efficient system-level hardware synthesis of dataflow programs using shared memory based FIFO: HEVC decoder case study
Klingauf et al. From TLM to FPGA: rapid prototyping with SystemC and transaction level modeling
KR20080022878A (ko) Jpeg2000 인코더를 설계하는 방법
Derrien et al. Automatic synthesis of efficient interfaces for compiled regular architectures
Viskic et al. Design exploration and automatic generation of MPSoC platform TLMs from Kahn Process Network applications
Portero et al. Study of High Level design methodologies for a MPEG frames I Compressor for a HW/SW Implementation
Baganne et al. A multi-level design flow for incorporating IP cores: Case study of 1D wavelet IP integration
Zhenxin et al. A UML-based approach for heterogeneous IP integration
Thomas et al. Framework for development and distribution of hardware acceleration
Walstrom System-level design refinement using SystemC
Danowitz Exploring abstract interfaces in system-on-chip integration
Park et al. Reusable component IP design using refinement-based design environment
Gupta et al. System Design of Digital Camera Using Specfic
Varma A Study of FPGA Resource Utilization for Pipelined Windowed Image Computations
Fayad Co-design and communication synthesis of embedded systems for multimedia applications
SFAR et al. TRANSACTION LEVEL MODELS'STRUCTURING: FROM IDIOMS TO TLM-2.

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20111020

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee