Top

SystemC를 이용한 시스템 설계

  • 원서명System Design with SystemC (ISBN 1402070721)
  • 지은이Thorsten Groter, Stan Liao, Grant Martin, Stuart Swan
  • 옮긴이국일호
  • ISBN : 8989975204
  • 25,000원
  • 2003년 03월 01일 펴냄
  • 페이퍼백 | 264쪽 | 189*230mm

책 소개

SoC(System-on-chip)시대의 도래와 함께 설계과정에서 많은 어려움이 빚어지고 있다. 설계자들은 설계물의 사양설정과 분할 그리고 검증에 새로운 방법으로 재고할 필요가 생겼다. 하드웨어와 소프트웨어 엔지니어와 HDL또는 Veriilog와 같은 하드웨어 기술 언어를 사용하는 하드웨어 설계자 사이의 서로 다른 언어와 개발도구의 차이로 인하여 수많은 문제를 야기하고 있다.

SystemC언어와 플랫폼의 모델링은 다양한 추상화 수준에서 시스템 기능의 표현과 모듈간 통신 그리고 하드웨어와 소프트웨어의 구현을 위한 가장 적절한 해결책으로 탄력을 받아가고 있다. 증가하는 설계의 복잡도에도 불구하고 빠르게 시스템의 주요 기능을 검증하도록 실행형 설계 사양을 신속하게 작성돼야 하며, 단지 C/C++언어만 을 이용하더라도 적절한 추상화 수준을 유지할 수 있고, 용이하게 하드웨어와 소프트웨어를 통합하고 성능을 시험해 볼 수 있도록 단일의 공용 언어사용이 요구되고 있고, IP의 사용이 현실화 돼야 한다. SystemC는 완전히 C++언어에 기초한 것으로 표준 시뮬레이터의 완전한 소스 코드를 http://www.systemc.org에서 무료로 다운 받아 사용할 수 있으며 PC 또는 워크스테이션에서 실행 시켜 볼 수 있다.

`SystemC를 이용한 시스템 설계`는 SystemC의 강력한 강력한 모델링 능력을 보여주고 또한 여러 가치 있는 예제와 시스템 수준 모델링 기법을 소개한 포괄적인 입문서다. SustemC 언어를 정의하고 구현했으며 표준 시뮬레이터 작성에 깊이 관여했던 케이던스 디자인 시스템즈와 시납시스의 문가들에 의하여 작성된 이 책에는 SystemC를 성공적으로 사용하는데 필요한 중요 개념들이 설명돼 있다. SystemC의 초기 버젼에서 가능했던 하드웨어 모델링 뿐만 아니라 SystemC 2.0의 새로운 시스템 수준 모델링 기능 또한 심도있게 다루었다.

이 책은 복잡한 시스템 설계에 종사하는 전문 기술자뿐만 아니라 학술 연구자들 그리고 학생들에게 유용하리라고 본다. 이 책에 포함된 모든 예제와 기법들은 무료로 배포되는 컴파일러와 디버거에서도 잘 작동할 것이다, 상용 툴을 전혀 사용하지 않고도 완전히 무료로 시스템 설계가 가능하다. 예제 소스코드를 무료로 입수하는 방법은 첫번째 장에서 설명했다.

저자/역자 소개

<저자 소개>

토스텐 그뢰트커(Thorsten Grotker)
는 현재 시놉시스사의 시스템 수준 설계자동화 그룹(System-Level Design Automation Group of Synopsys, Inc.)에서 기술 매니저로 일하고 있다. 1977년 시놉시스사에 입사하기 전에 인티그레이티드 시스템즈(Integrated Systems for Signal Processing Lab.)의 신호처리 연구실에서 연구원으로 일했다. 독일 아첸에 소재한 아첸 대학(Aachen University of Technology, Aachen, Germany)에서 전기전자 공학을 수학하고 박사 학위를 취득했다.

스탠 리아오(Stan Liao)는 1966년 시납시스사에 처음 입사한 이래 고등 기술 그룹(Advanced Technology Group of Synopsys, Inc.)에서 수석 엔지니어로 근무하고 있다. 메사추세츠 공과 대학(Messachusettes Institute of Technology)에서 전기전자 및 컴퓨터과학으로 공학 박사 학위를 취득했다.

그랜 마틴(Grant Martin)은 케이던스 디자인 시스템즈 사(Cadence Design Systems, Inc.)의 특별 연구원이다. 그는 스코트랜드에 소재한 버로스 머쉰스 리미티드(Burroughs Machines Limited)와 캐나다 소재 벨 노던 리서치/노던 텔레콤(Bell-Northern Research/Northern Telecom)에서 일했다. 캐나다의 워터루 대학(University of Waterloo, Canada)에서 수학을 공부하고 학사 및 석사학위(순열 조합 및 최적화, Combinatorics and Optimazation)를 받았다.

스튜어트 스완(Stuart Swan)은 1991년 케이던스 디자인 시스템즈 사에 처음 입사한 이래 시스템 설계 및 검증 그룹(System Design and Verification Group)에서 선임 설계자(Senior Architect)로 있다. 그 전에는 자일로그(Zilog, Inc.)와 밸리드 로직 시스템즈(Valid Logic Systems)에서 근무했다. 스탠포드 대학(Stanford University)에서 전자공학으로 학사 학위를 받았다.


<역자 소개>

국일호
goodkook@anslab.co.kr

경희대학교에서 공학박사 학위(전자공학 전공)를 받았고 주식회사 앤스랩(AnsLab Co.,Ltd.)의 대표이자 주식회사 코덱실(CODECSiL Ltd.)의 공동대표로 있다.

목차

목차
  • 1 서론 / Introduction
  • 2 SystemC의 기본 구성 / Fundamentals of SystemC
  • 3 계산 모델 / Models of Computation
  • 4 SystemC를 이용한 전통적인 하드웨어 모델링 / Classical Hardware Modeling in SystemC
  • 5 기능적 모델링 / Functional Modeling
  • 6 인수화 모듈과 채널 / Parameterized Modules and Channels
  • 7 인터페이스와 채널 설계 / Interface and Channel Design
  • 8 트랜잭션 수준 모델링 / Transaction-Level Modeling
  • 9 모듈 간 통신의 설계 구체화 / Communication Refinement
  • 10 테스트벤치, 트레이스 그리고 디버깅 / Testbenches, Tracing and Debugging

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안

정오표

P.3, 1행 획기적인 기여 할 것이다. → 획기적으로 기여 할 것이다.
P.16, 5행 sc_start(t;→sc_start(t);
P.27, 6행 “채널은 인터페이스를 구현하고 있다(channel implements an interface”)→“채널은 인터페이스를 구현하고 있다(channel implements an interface)”
P.30, 13~15행 (4) 시뮬레이터의 스케쥴러는 해당 채널에 감응된 프로세스들을 활성화 한다.
(5) 활성화된 프로세스들의 실행이 종료되면 스케쥴러는 채널의 ‘갱신’함수를 호출하여 새 값으로 갱신되도록 한다.→
(4) 시뮬레이터는 사건이 발생된 채널에 구현되어 있는 갱신함수 update()를 호출하여 새 값으로 갱신 하며,
(5) 시뮬레이터는 다음 델타-싸이클에서 사건이 발생한 채널에 감응이 지정된 프로세스를 호출한다.
따라서 갱신이 완료된 이후 호출된 프로세스는 갱신된 채널 값을 읽게 된다.
P.33 그림 2.3, 두 번째 그림의 (b) 표기 빠짐
P.34,18행 영역 안에 SC_METHOD(conpute)→영역 안에 SC_METHOD(compute)
P.41, 5행 앞의 예에서 본 것과 같이 sensitivie << a << b;→앞의 예에서 본 것과 같이 sensitive << a << b;
P.41, 12행 지정하는 sensitivie는 → 지정하는 sensitive는
P.43, 7행 sensitivite는 별도의 → sensitive는 별도의
P.44, 28행 sc_in sum; → sc_out sum;
P.57, 11행 이산-사건(discrete-event MOC) 계산모델의 → 이산-사건 계산모델(discrete-event MOC)의
P.82, 27행 임의 정밀도 정수형이 되 경우 → 임의 정밀도 정수형이 되어야 하는 경우
P.83, 15행 두 변수에 저장될 값은 u = 230-1, v = 240-1이 된다. → 두 변수에 저장될 값은 u = 230-1, v = 240-1이 된다.
P.85, 15행 문자열 상수에는 것은 ‘0’, ‘1’, ‘X’, ‘z’만→문자열 상수에는 ‘0’, ‘1’, ‘X’, ‘Z’만
P.86, 15행 충돌 해결을 처리 → 충동 해결의 처리
P.125, 11행 마침내 유닛0 → 마침내 유닛1
P.127, 6행 많은 노력을 동원해서 → 많은 노력을 기울여
P.136, 4행 인수로 사용하고 있다.> → 인수로 사용하고 있다.
P.143, 19행 설계 자산 보호의 어렵게 → 설계 자산 보호가 어렵게
P.143, 22행 민감하지 않도록 작성 → 민감하지 않게 작성
P.144, 5행 sc_out > → sc_out >
P.145, 25행 템플릿 또는 구성자의 인수들이 별도 지정되지 않을 경우 기본값을 갖도록 작성되는 것이 좋다.
→ 템플릿 또는 구성자의 인수들이 별도 지정되지 않을 경우 기본값을 갖도록 작성되는 것이 좋다.
P.157, 15행 연결됐을 경우에도 단순 인터페이스 연결됐을 경우, 단순 인터페이스
P.160, 12행 할당된 값은 델타-싸이클 지연후 → 할당된 값이 델타-싸이클 지연후
P.197, 2행 어느 한쪽에 변경하여 → 어느 한쪽을 변경하여
P.205, 17행 SOURCE와 A1 어댑터 FIFO_WRITE_HS를 대체 → SOURCE와 A1를 FIFO_WRITE_HS로 대체
P.214, 4행 분석은 에서 보는 → 분석은 앞에서 보았던
P.228, 22행 WIF(Waveform Intercmediate File) → WIF(Waveform Intermediate File)
P.262, 36행 inference of registers(레이스터 추론) → inference of registers(레지스터 추론)