컴퓨터 구조 실습 #1 - system C Lee, JongTae (dksakclsk @naver.com) Dept. Computer Eng. Hankuk University of Foreign Studies RTDCS. 2011
SystemC 란? 시스템 레벨 설계를 지원하기 위한 C++ 클래스 라이브러리 RTL(Register Transfer Level)지원 하드웨어 모델링 Testbench (test) reset Counter (counter) go value clk Clock(clk)
SystemC 의 장점 소프트웨어와 동일한 환경으로인해 모델링이 용이하다. 소프트웨어와 동일한 환경으로인해 모델링이 용이하다. 기존의 C 프로그램 개발 환경을 그대로 활용할 수 있다. 시뮬레이션이 빨라져 기능 검증 시간이 단축된 다. 컴파일러 또는 변환 프로그램을 이용하여 바로 합성 가능한 HDL을 얻을 수 있다. 하드웨어에 덜 적응된 일반 소프트웨어 개발자 도 하드웨어를 모델링 하여 개발 할 수 있다.
SystemC 설계방법 수동변환 SystemC model C,C++ System-level Model Verilog/HDL 시뮬레이션 (Simulation) 분석 (Analysis) 시뮬레이션 (Simulation) 개선 (Refinement) 합성 (Synthesis) 분석 결과 (Result) 합성 (Synthesis) 그외 작업들 그외 작업들
SystemC 개발환경 C/C++로 프로그램된 하드웨어, 소프트웨어 모델 들 일반적인 C/C++ 프로그램 개발 환경 클래스 라이브러리 Systemc.h 컴파일러(GNU g++) Libsystemc.a 링커(GNU Id) 디버거(GNU gdb) 신호파형 데이터 (vcd) 실행화일
SystemC 구조와 구성 모듈(Module) 프로세스(Process) 포트(Port) 신호선/시그널(Signal) 다양한 신호와 포트 클럭(Clock) 사건구동 시뮬레이션(Event-driven simulation) 디버깅 지원
SystemC 모델링의 동작 구조 사용자 모듈 (User Module) C++ 클래스 라이브러리(C++ class library) 시뮬레이터 커널(Simulator kernel) 다중 쓰래드(QT: quick thread) 운영체제(Operating System) 사용자 모듈 (User Module)
SystemC 설치 (Visual Studio 2005/2008)
< systemC_need_file.zip 압축 파일 내용> www.cyworld.com/01041161516 게시판에서 자 료다운 c:드라이브에 CA 폴더 생성 후 폴더에 download systemC_need_file.zip 파일 압축 해제 < systemC_need_file.zip 압축 파일 내용> DLL-19990828.zip GTKWave-win32-1.3.19.zip systemc-2[1].2.05jun06.tgz Zlib114.zip Ex1.zip
파일 확장자 표시 방법 (Windows 7)
파일 확장자 표시 방법 (Windows 7) 알려진 파일형식의 파일 확장명 숨기기 해제 → 확인
파일 확장자 표시 방법 (Windows XP)
파일 확장자 표시 방법 (Windows XP) 알려진 파일형식의 파일 확장명 숨기기 해제 → 확인
SystemC 설치 압축파일 관리 프로그램 필요, 없으면 설치 systemc-2[1].2.05jun06.tgz을 현재폴더에 압축을 푼다 systemc-2.2.05jun06_beta\msvc71\SystemC로 이 동 SystemC.sln 실행
SystemC 설치 Build(빌드) -> Batch Build(일괄 빌드) -> Configuration -> Debug 선택 Build를 눌러 실행 Build시 나오는 경고는 무 시 C:\CA\systemc-2.2.05jun06_beta\systemc- 2.2.05jun06_beta\msvc71\SystemC\Debug에 SystemC.lib파일이 생성되었는지 확인
SystemC 설치 C:\CA\GTKWave 폴더를 생성한다. DLL-1990828을 위의 폴더에 압축을 푼다. Zlib114.zip을 위의 폴더에 압축을 푼다. GTKWave-win32-1.3.19.zip을 위의 폴더에 푼다. < Zlib114 내용> < GTKWave내용> < DLL-1990828 내용> < C:\CA\ GTKWave >
SystemC 설치 Ex1을 CA에서 압축을 푼다. CA\Ex1 폴더에 파일이 있는지 확인한다. Visual Studio를 실행한다. 새로운 빈 프로젝트를 생성한다.(Win32 Console Application) 프로젝트 생성시 위의 폴더에 생성…(개인의 취 향)
빈 프로젝트 생성하기 Project 위치 기억 할 것.
빈 프로젝트 생성하기
Tools -> Options…
도구 -> 옵션 첫번째 빈칸 더블클릭(또는 검은색박스 클릭) -> 첫번째 빈칸 더블클릭(또는 검은색박스 클릭) -> 파랑색박스 클릭 -> 보라색박스 안의 경로 지정
Tools -> Options… C:\CA\systemc-2.2.05jun06_beta\systemc-2.2.05jun06_beta\msvc71\SystemC\Debug
도구 -> 옵션 첫번째 빈칸 더블클릭(또는 검은색박스 클릭) -> 첫번째 빈칸 더블클릭(또는 검은색박스 클릭) -> 파랑색박스 클릭 -> 보라색박스 안의 경로 지정 C:\CA\systemc-2.2.05jun06_beta\systemc-2.2.05jun06_beta\msvc71\SystemC\Debug
EX1파일을 추가
Project -> EX1 Properties… -1-
프로젝트 -> 속성 ( 또는 Alt + F7 ) -1-
Project -> EX1 Properties… -2-
프로젝트 -> 속성 ( 또는 Alt + F7 ) -2- SC_SIGNAL_WRITE_CHECK=DISABLE
Project -> EX1 Properties… -3-
프로젝트 -> 속성 ( 또는 Alt + F7 ) -3-
Project -> EX1 Properties… -4-
프로젝트 -> 속성 ( 또는 Alt + F7 ) -4-
Project -> EX1 Properties… -5- /vmg
프로젝트 -> 속성 ( 또는 Alt + F7 ) -5- /vmg
Project -> EX1 Properties… -6-
프로젝트 -> 속성 ( 또는 Alt + F7 ) -6- systemc.lib
Build 및 Execute EX1…
SystemC 설치 (Visual Studio 6.0)
SystemC 설치 rtdcs.hufs.ac.kr 에서 조교수업자료에서 자료를 받는다. c:드라이브에 CA 폴더 생성 후 폴더에 download systemC_need_file.zip 파일 압축 해제 DLL-19990828.zip GTKWave-win32-1.3.19.zip systemc-2[1].2.05jun06.tgz, SystemC.zip Zlib114.zip Ex1.zip
SystemC 설치 SystemC.zip을 현재폴더에 압축을 품 압축 푼 폴더에 systemc-2.0.1\msvc60\systemc 이동 Systemc.dsw 실행 Build -> Set Active Configuration -> Release or Debug 선택 Build -> Build systemc.lib C:\CA\systemc-2.0.1\msvc60\systemc\release에 systemc.lib 생성되었는지 확인
SystemC 설치 C:\CA\GTKWave 폴더를 생성한다. DLL-1990828을 위의 폴더에 압축을 푼다. Zlib114.zip을 위의 폴더에 압축을 푼다. GTKWave-win32-1.3.19.zip을 위의 폴더에 푼다.
SystemC 설치 Ex1을 CA에서 압축을 푼다. CA\Ex1 폴더에 파일이 있는지 확인한다. Visual Studio를 실행한다. 새로운 빈 프로젝트를 생성한다.(Win32 Console Application) 프로젝트 생성시 위의 폴더에 생성…(개인의 취 향)
VS 6.0 실행
new
Win32 console application
An empty project
Build -> setting
RTTI 체크
Additional include 추가 C:\CA\systemc-2.0.1\src
Library 추가 systemc.lib
파일 추가 프로젝트 뷰 창에서 file tab Source 폴더에 main.cpp , counter.cpp , test.cpp Header폴더에 test.h , counter.h
Tools -> options
Include files 디렉토리 추가 c:\CA\systemc-2.0.1\src
Library files 디렉토리 추가 C:\CA\systemc-2.0.1\msvc60\systemc\release
Build ex1.exe
Excute ex1.exe
Winwave 실행
Winwave 실행 (도스창에서 실행)
Winwave 실행 (탐색기에서 실행) wave.vcd 파일을 클릭한 채로 끌어와서 앞서 압축 풀어놓 은 winwave.exe 파일에 drop 한다. project 생성 시 기억해둔 위 치를 찾아가면 각자 설정한 project 이름으로 폴더가 생성 되어 있다. 들어가서 wave.vcd 파일확인
Signal search tree
Append 모듈 전체를 append or 하나씩 append
Zoom best fit
Finish…
과제… 오늘 배운 SystemC를 자신의 컴퓨터에 설치해보 기… 과제 양식 제출일 : 2011년 9월 30일 수업시간 전… 문제정의 해결방안 소스코드 실행화면 결론 제출일 : 2011년 9월 30일 수업시간 전…
수고하셨습니다.