컴퓨터 구조 실습 #4 - systemC process

Slides:



Advertisements
Similar presentations
Hankuk University of Foreign Studies Design and Verification Using FPGA Board Part I.
Advertisements

행사개요 년의 역사와 함께한 교훈을 되새기자.
10장. 시기별 학급경영 11조 염지수 이 슬 권용민 신해식.
일본 근세사. (1) 에도막부의 개창 ( ㄱ ) 세키가하라의 전투 (1600) - 히데요시의 사후 다섯 명의 다이로 ( 大老 ) 가운데 최대 영지 (250 만석 ) 를 보유하고 있던 도쿠가와 이에야스가 급부상. 이에 이에야스와 반목해 온 이시다 미쓰나리 ( 石田三成 ),
사 진 성명 학교 휴대폰 전공 / 학년 / 학번 ●교내 외 활동내역 활동명활동기간주요내용 ●공모전 수상경력 년 월 일년 월 일내 용내 용시행처 재학 / 휴학 본 주소 ※ 공모전 수상경력은 참고사항일 뿐 평가에 반영되지 않습니다 수상내용 생년월일 SNS/ 미니홈피.
아니마 / 아니무스 송문주 조아라. 아니마 아니마란 ? 남성의 마음속에 있는 여성적 심리 경향이 인격화 한 것. 막연한 느낌이나 기분, 예견적인 육감, 비합리적인 것에 대 한 감수성, 개인적인 사랑의 능력, 자연에 대한 감정, 그리.
대구가톨릭대학교 체육교육과 06 학번 영안중학교 체육교사 신웅섭 반갑습니다. 반야월초등학교 축구부 대륜중학교 축구부 대륜고등학교 대구가톨릭대학교 차석 입학 대구가톨릭대학교 수석 졸업 2014 년 경북중등임용 체육 차석 합격 영안중학교 체육교사 근무 소개.
보고구분 의사결정 지시사항● 정보전달● 영업팀 배포처 사업장 팀 지시 사항 ● 기안 : ( ☎, 247) ● 팀장 : ( ☎, 240)
일장 - 1 일 24 시간 중의 명기 ( 낮 ) 의 길이 ( 밤은 암기, 낮은 명기 ) 광주기성 - 하루 중 낮의 길이의 장단에 따라 식물의 꽃눈 형성이 달라지는 현상 일장이 식물의 개화현상을 조절하는 중요한 요인 단일식물 - 단일조건에서 개화가 촉진되는 식물 장일식물.
2 학년 6 반 1 조 고은수 구성현 권오제 김강서.  해당 언어에 본디부터 있던 말이나 그것에 기초하여 새로 만들어진 말  어떤 고장 고유의 독특한 말  Ex) 아버지, 어머니, 하늘, 땅.
2014년도 교원 및 기간제교사 성과상여금 전달교육 개 회 국기에 대한 경례 - 인사말
10October YES 영도어학원 안내문 10월 학기 재등록 일정 도곡캠퍼스 02) 환절기 건강조심 추석
선진 고양교육 “유아교육 행정 업무 연수” 유치원 회계실무 및 유아학비 연수 경기도고양교육청.
묵자 겸애, 비명, 비공, 상현, 상동, 천지, 명귀, 삼표 법.
Dept. of Electronics & Info. Eng. Prof. Jongbok Lee
ASIC의 개요 ASIC(Application Specific Integrated Circuit) 특정 용도 주문형 집적회로
쉽게 풀어쓴 C언어 Express 제5장 수식과 연산자 C Express Slide 1 (of 34)
노동법 실무 교육 ( 강의교안 ) 강사: 공인노무사 이우태 공인노무사 정광일 공인노무사 정호석
인천대학교 PINCOM 컴퓨터비전 스터디 계획 인천대학교 임베디드시스템공학과 김도건.
내 아이를 위한 구강관리.
제16장 원무통계 • 분석 ☞ 통계란 특정의 사실을 일정한 기준에 의하여 숫자로 표시한 것을 말한다.통계로서 활용할 수 있는 조건으로는 ① 동질성을 지녀야 하고 ② 기준이 명확하고 ③ 계속성이 지속되어야 하며 ④ 숫자로 표시하여야 한다 경영실적의.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
서울지방세무사회 부가세 교육 사진클릭-자료 다운 세무사 김재우.
Computer System Architecture
치매의 예방 김 은민 윤금 노인요양원 치매의.
4 컴퓨터에서 활용되는 디지털 논리회로 IT CookBook, 컴퓨터 구조와 원리 2.0.
VHDL, FPGA를 이용한 소리인식 스위치 (Matched Filter 사용)
가산기 설계.
Verilog HDL 이론.
공학실험.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
Ch2-2. VHDL Basic VHDL lexical element VHDL description
1장. 디지털 논리 회로 다루는 내용 논리 게이트 부울 대수 조합 논리회로 순차 논리회로.
직 무 기 술 서 직무code 직무명 직군 사업부명 AB 10 인사팀장 관리직 경영지원본부 소속 직무담당자 인원 작성년월일
Java의 정석 제 12 장 쓰레드(thread) Java 정석 남궁성 강의
컴퓨터 구조 실습 #1 - system C Lee, JongTae
                                  3장 가산회로 게이트를 이용한 2진 가산회로의 동작 원리 특성 1 비트 반 가산기, 전 가산기, 4비트 전 가산기 회로.
피부타입과 진단.
Flip-Flop 설계.
마산에 대하여 만든이 : 2204 김신우, 2202 권성헌.
병원용 소독수기를 소개합니다……… 1,980,000원 의료분야 소비자가격 : (부가세포함) <산화전위수의 활용분야>
VHDL Mealy and Moore model
컴퓨터 개론 및 실습 Dept. Computer Eng. Hankuk University of Foreign Studies
과학 탐구 토론 대회 1학년 2반 박승원 1학년 5반 권민성.
10. 소프트웨어 아키텍처 뷰 설계 명지대학교 융합소프트웨어학부 김정호 교수.
광고와 기억 단기기억에서 장기기억으로… 담당교수 : 남기매 J 01 윤신영 P 02 김규겸 E 03 박인철 Hu 03 홍선미
가산기 설계.
어린이집.
MONSTER CAR 구정재 한석우 김재형.
6장 마케팅 조사 박소현, 김중호, 박기찬.
한밭대학교 창업경영대학원 회계정보학과 장 광 식
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express Slide 1 (of 25)
IBM Corporation {haoxing, eleve, kravets,
타인을 내편으로 만드는 12가지 방법 고객서비스팀.
DEGITAL LOGIC CIRCUIT Term Project – 4 bit ALU.
음양오행과 물리학 조 원 : 김용훈, 양범길, 박수진, 윤진희, 이경남, 박미옥, 박지선 (11조)
문제해결 과정 제안서 LEARNING NETWORKS February, 2006.
인천경제자유구역 영종지구 영종하늘도시 개발사업
센터 코칭 결과 소 속 제천센터 코칭대상 엔지니어, 상담사 코칭일시
이야기 치료에 대하여 <8조 학문적 글쓰기 발표> 주희록 최은지
▶서류관리 프로그램 1. 로그인….2 2. 서류등록 … 서류도착 서류스티커발행
Lecture 03 제어문과 메소드 Kwang-Man Ko
C.
화재대피와 응급처치 (1) 여러분, 정말 반갑습니다 *^^*.
동 행 코 칭 결 과 방문 상황 BEST WORST 김형* PRO 총평 목 / 디지털 평촌 센터
Python 기본.
중국문학개론 한부와 겅건안문학 중어중국학과 ㅇ이진원 한부와 건안문학.
Presentation transcript:

컴퓨터 구조 실습 #4 - systemC process Lee, JongTae (dksakclsk @naver.com) Dept. Computer Eng. Hankuk University of Foreign Studies RTDCS. 2011

과제 참고 사항 이번 과제는 소스 첨부하지 않으셔도 됩니다. 소스 코딩 대신 소스 분석에 대한 부분을 문제 해석이나 해결 방안 등의 항목에 기술하세요. 앞으로 시스템 등록정보 첨부 여부는 상관하지 않겠습니다. 대신 양심껏 과제에 임해주시길…

systemC의 요소들 Clock Module Process Data type

프로세스 모듈의 기능을 모델링 Return value, argument가 없음 계층 구조를 가질 수 없음

프로세스 종류 SC_METHOD SC_THREAD SC_CTHREAD

SC_METHOD 지정된 정적 센서티비티에 의해서 해당 프로세스 수행 Combinational logic 기능을 모델링 할 때 적합 내부에 무한루프를 가질 수 없음 Suspend 시킬 수 없음 (wait() 함수 사용 할 수 없음) 모듈의 구축자(SC_CTOR)에서 프로세스를 등록할 때 지정된 정적 센서티비티의 신호들이 변할 때 마다 해당 프로세스를 수행한다. SC_METHOD는 다른 프로세스와는 다르게 독자적인 thread를 갖지 않는다. 즉, 센서티비티에 등록된 event가 발생하면 해당 프로세스가 함수로서 수행된다. 조합로직과 같이 내부상태를 유지하지 않는 기능을 모델링하는데 적합하다

SC_THREAD 지정된 정적 센스티비티에 의해서 해당 프로세스 수행 독자적인 쓰레드 형성 반드시 무한루프를 가져야함 반드시 하나 이상의 wait()함수가 있어야 한다. wait()를 만나면 센스티비티에 등록된 사건이 발생할 때까지 대기 SC_METHOD 프로세스는 함수를 수행하는 것이지만, SC_THREAD는 독자적인 thread를 형성 SC_METHOD와는 다르게 내부에 항상 무한루프를 갖고 있어야 한다. 프로세스 수행을 잠시 중지(suspend)시키는 함수가 반드시 하나 이상 있어야 한다. Wait() : 센서티비티에 등록된 사건이 발생할 때 까지 기다린다. Wait(event) : 프로세스 등록 때 지정된 정적 센서티비티를 일시적으로 무시하고 동적으로 센서티비티를 지정

SC_CTHREAD 정적 센스티비티로 클럭의 한쪽 모서리(edge)만을 사용할 수 있다. 독자적인 쓰레드 형성 반드시 무한루프를 가져야함 반드시 하나 이상의 wait()함수가 있어야 한다. wait()를 만나면 센스티비티에 등록된 클럭의 모서리가 발생할 때까지 대기 wait(n) : 센서티비티에 등록된 클럭의 모서리가 n번 발생할 때까지 기다린다. wait_until(expression) : 프로세스 등록 때 지정된 정적 센서티비티를 일시적으로 무시하고 동적으로 센서티비티를 지정할 때 사용 expression이 참이 될때까지 프로세스의 수행이 멈춘다. Expression은 불리안으로 계산되는 표현식.

Sensitivity 해당 프로세스를 기동 또는 수행하는 조건 정적 센스티비티 : 프로세스를 등록할 때 지정하는 것으로 컴파일 시점에 정해진다. Ex) stream style – sensitive << A << B; function style – sensitive(A); sensitive(B); 동적 센스티비티 : 프로세스가 수행되는 동안 변화시키는 것 센서티비티에 등록할 신호 또는 포트의 데이터타입이 bool인 경우 sensitive_pos 또는 sensitive_neg를 sensitive 대신 사용할 수 있다. 특히 SC_METHOD 프로세스의 경우 특정 모듈의 모든 입력을 정적 센서티비티로 지정하는 것이 바람직하다. 만약 일부 입력신호가 센서티비티에서 빠지면 입력이 변했는대도 출력이 변하지 않는 경우가 생길 수 있다.

프로세스 정리 SC_METHOD SC_THREAD SC_CTHREAD 기동트리거 Signal events Clock edge 무한 루프 NO YES 등록 형태 SC_METHOD(pro); sensitive(sig); sensitive_pos(sig); sensitive_neg(sig); SC_THREAD(pro); SC_CTHREAD(pro, clock.pos()); SC_CTHREAD(pro, clock.neg()); 정지와 복구 해당사항없음 wait(); wait(); wait(n); 동적센스티비티 Next_trigger(ev); wait(ev); 기타 wait_until(exp); watching(exp); - Pro : process, sig : signal, ev : event, exp : expression, n : 양수

실습 및 과제 프로세스 방식과 프로세스 기동 조건이 다른 5개의 adder 모듈을 만든다 각 adder의 기능은 input A와 B를 합하는 것 다음 실습시간에 제출

5개의 adder 1 -> 방식 : METHOD , Sensitivity : A,B 2 -> 방식 : THREAD , Sensitivity : clk(positive) 3 -> 방식 : THREAD , Sensitivity : A,B 4 -> 방식 : THREAD , Sensitivity : A,B, clk(positive) 5 -> 방식 : CTHREAD, Sensitivity : clk(positive)

adder * R_M * adder R_T1 stimulus * adder * R_T2 * adder A * R_T3 B * SC_METHOD R_M * adder SC_THREAD R_T1 stimulus * adder * SC_THREAD R_T2 * adder A * B SC_THREAD R_T3 * clk * adder SC_CTHREAD R_C clock(clk) *

7개의 파일 adder_method.h adder_thread1.h adder_thread2.h adder_thread3.h adder_cthread.h test.h main.cpp

adder_method.h

adder_method.h

adder_thread1.h

adder_thread1.h

adder_thread2.h

adder_thread2.h

adder_thread3.h

adder_thread3.h - sensitive << A << B << clk.pos(); 도 가능

adder_cthread.h

adder_cthread.h SC_CTHREAD(do_adder, clk.pos());

test.h wait() 는 프로세스의 수행을 잠시 멈추었다가 해당 모듈에서 지정한 센서티비티에 등록한 event (여기서는 clk) 가 발생할 때 상쇄된다. 상쇄된 이 후 그 다음 명령을 실행한다.

main.cpp

R_M과 R_T2 그리고 R_T3가 동일한 결과를 보이고 있고, R_T1과 R_C가 역시 동일한 결과를 보이고 있다. 서로 다른 프로세스 형식을 사용해도 같은 결과를 낼 수 있다는 것을 알 수 있다. R_M과 R_T2 그리고 R_T3는 조합로직과 같은 결과이고 R_T1과 R_C는 내부에 플립플롭이 있는 것과 같은 결과를 보인다