DBPIA-NURIMEDIA

Size: px
Start display at page:

Download "DBPIA-NURIMEDIA"

Transcription

1 232 정보과학회논문지 : 시스템및이론제 32 권제 5 호 (2005.6) 빠른하드웨어 / 소프트웨어통합합성을위한데이타플로우명세로부터의하드웨어합성 (Hardware Synthesis From Coarse-Grained Dataflow Specification For Fast HW/SW Cosynthesis) 정현욱 하순회 (Hyunuk Jung) (Soonhoi Ha) 요약이논문에서는빠른하드웨어 / 소프트웨어통합합성을위해데이타플로우그래프 (DFG: Dataflow Graph) 로부터하드웨어를자동으로합성하는내용을다룬다. 이데이타플로우그래프에서노드는 FIR(Finite Impulse Response) 필터나 DCT(Discrete Cosine Transform) 블록과같이크기가어느정도되는하드웨어블록을나타내며, 이노드의포트는한번수행할때마다하나이상의데이타샘플을주고받을수있다. 즉, 멀티레이트데이타샘플 (multi-rate data sample) 을교환한다. 이러한특성들은기존의 Behavioral Synthesis 와구별되는점이며, 따라서 Behavioral Synthesis 보다어려운문제가된다. 본논문에서제안하는설계방법을사용하면알고리즘을명세하는데이타플로우그래프는하드웨어리소스의할당과스케줄정보에따라다양한하드웨어구조로매핑될수있다. 따라서하드웨어설계시에면적 / 성능트레이드오프관계를손쉽게관리할수있으며, 하드웨어를자동으로합성하는기존의방식보다구현가능한하드웨어설계공간을더욱넓혀주는효과를거둘수있다. 키워드 : 하드웨어 / 소프웨어통합설계, 시스템수준설계, 데이타플로우그래프, VHDL, 자동하드웨어합성 Abstract This paper concerns automatic hardware synthesis from data flow graph (DFG) specification for fast HW/SW cosynthesis. A node in DFG represents a coarse grain block such as FIR and DCT and a port in a block may consume multiple data samples per invocation, which distinguishes our approach from behavioral synthesis and complicates the problem. In the presented design methodology, a dataflow graph with specified algorithm can be mapped to various hardware structures according to the resource allocation and schedule information. This simplifies the management of the area/performance tradeoff in hardware design and widens the design space of hardware implementation of a dataflow graph compared with the previous approaches. Through experiments with some examples, the usefulness of the proposed technique is demonstrated. Key words :HW/SW Codesign, System Level Design, Dataflow Graph(DFG), VHDL, Automatic Hardware Synthesis 1. 서론 시스템온칩 (SoC: System-on-Chip) 설계시에설계복잡도가증가하고적기시장출하 (time-to-market) 에대한 본연구는국가지정연구실프로그램 ( 번호 M ), 두뇌한국 21 프로젝트, SystemIC 2010 프로젝트에의해지원되었으며, 이연구를위해연구장비를지원하고공간을제공한서울대학교컴퓨터연구소에감사드립니다. 비회원 : 서울대학교전기컴퓨터공학부 jung@iris.snu.ac.kr 정회원 : 서울대학교전기컴퓨터공학부교수 sha@iris.snu.ac.kr 논문접수 : 2005년 1월 24일심사완료 : 2005년 3월 16일 압력이점점늘어남에따라시스템수준의설계방법론 (system level design methodology) 이더욱주목을받고있다. 시스템수준설계에서는시스템수준의명세가체계적인방법을통해최적의아키텍처로매핑되고, 빠른설계공간탐색을위해그매핑이구현되기전에평가되어야한다. 우리는시스템수준의명세를위해여러명세모델들중에서데이타플로우모델 (Dataflow Model) 을사용한다. 이모델은읽기쉽고, 정형적인특성을가지기때문에많은상위수준설계환경 [1-3] 에서적용하고있으며특히신호처리와멀티미디어응용에서많이사용되고있다.

2 빠른하드웨어 / 소프트웨어통합합성을위한데이타플로우명세로부터의하드웨어합성233 이데이타플로우모델은 Behavioral Synthesis에서사용하는 CDFG(Control/Data Flow Graph)[4] 와는다르다. CDFG에서는노드가덧셈또는곱셈과같은간단한연산을나타내는데반해, 그림 1(a) 의데이타플로우그래프 G(V, E) 에서는노드가 FIR 필터나 DCT 블록과같이상대적으로큰블록을나타낸다. 그러므로데이타플로우그래프의노드는 I/O 타이밍, 데이타타입, 내부상태 (internal state) 와같은복잡한특성을가진다. 지금부터명확한설명을위해두용어, 하드웨어리소스 (hardware resource) 와하드웨어콤포넌트 (hardware component) 를다음과같이구분하고자한다. 하드웨어리소스는한노드가라이브러리형태로하드웨어로구현된것을의미하며, 하드웨어콤포넌트는 FPGA나 ASIC과같은단위로서하드웨어리소스들이결합되어집합적으로이루어진것을의미한다. 그림 1: (a) 초기데이타플로우명세 (b) 하드웨어로매핑된분할된서브그래프 (c) 멀티레이트그래프의순차수행 (d) 멀티레이트그래프의병렬수행 (e) 멀리레이트그래프의하이브리드수행한노드가수행이되면입력단에서명시한개수만큼의데이타샘플을소비하고출력단에서명시한개수만큼데이타샘플을내보낸다. 본논문에서는 SDF (Synchronous Dataflow) 모델 [5] 과이모델을확장한 FRDF(Fractional Rate Dataflow) 모델 [6] 을사용한다. 이모델들의특징은포트에서입출력되는데이타샘플을개수가미리정해져있어서수행되는동안고정되어있다는점이다. 그리고그개수가 1보다큰경우에는멀티레이트그래프 (multi-rate graph) 라고한다. 그림1에서보는바와같이데이타플로우그래프에서명시한데이타샘플레이트 (data sample rate) 에의하면노드 B 가한번수행된후에노드 C는네번수행되어야한다. 앞으로한노드의한번수행을그노드의인스턴스라고부르기로하겠다. 이렇게데이타플로우모델을제한함으로서시스템성능을예측하기위한중요한메모리제한성, 종료여부등의속성을검증할수있다. 제안하는설계방법론에서는데이타플로우그래프의한노드에해당하는기능블록하나가하드웨어 / 소프트 웨어분할의단위가된다. 본논문의설계환경에서는각기능블록들이소프트웨어구현을위해서는 C 코드로, 하드웨어구현을위해서는 VHDL 코드로기술되어있다고가정하고있으며, 기존의 IP 블록들도약간의인터페이스코드를붙이면데이타플로우블록으로사용할수있다. 하드웨어 / 소프트웨어분할이수행된후에는하드웨어또는소프트웨어콤포넌트 (Component) 로매핑되는몇개의서브그래프로나뉘게된다. 그림 1(b) 는하드웨어콤포넌트로매핑되는서브그래프의예를보여주고있으며서브그래프의경계에 Rcv(receive), Snd (send) 등의인터페이스블록이자동으로붙게된다. 그림 2는데이타플로우명세로부터시작하는하드웨어 / 소프트웨어통합설계절차를단순화하여보여주고있다. 그림에서보듯이각 Processing Element(PE, 소프트웨어의경우는프로세서, 하드웨어의경우는하드웨어 IP또는 Component) 에서수행되는각노드의성능은노드-PE 데이타베이스에서주어진다고가정한다. 본논문에서제안하는설계환경에서는초기데이타플로우명세가자동으로분할되고스케줄되는데, 각노드들의성능과가격에기반해서각데이타플로우가어느 PE로매핑될지를결정한다. 분할기법에관한자세한내용은 [7] 에서소개하고있다. 선택한아키텍처에대해분할과스케줄링이모두수행되고나면소프트웨어와하드웨어코드가자동으로생성되고, 시스템성능을검증하기위해통합시뮬레이션이수행된다. 만약에시스템성능이원하는만큼만족스럽지않으면, 아키텍처선택과정으로되돌아가서다른 PE 또는아키텍처를선택하여야한다. 이와같이반복되는설계과정에걸리는시간을줄이기위해서는데이타플로우명세로부터하드웨어와소프트웨어코드를자동으로생성하는일이매우중요해진다. 또한코드를자동으로생성하면코딩하는시간뿐만아니라디버깅시간까지도절약할수있는효과까지거둘수있다. 그림 2 제안하는시스템설계과정

3 234 정보과학회논문지 : 시스템및이론제 32 권제 5 호 (2005.6) 본논문은그림 2 중에서특별히어두운색으로표시한하드웨어의자동합성과정에초점을맞추고있으며, 이는하드웨어설계와검증과정의시간을줄이기위해서꼭필요한일이다. 데이타플로우노드들이수행되는순서를스케줄이라고부르는데, 이스케줄과구현에필요한각노드의하드웨어리소스의개수가이전의분할 (Partitioning) 단계에서주어지므로, 하드웨어를합성하는문제는라이브러리로부터하드웨어리소스들을할당하고각블록들간의인터페이스코드 (interface code) 와전체적으로필요한제어코드 (control code) 들을합성하는일이된다. 물론합성된하드웨어는데이타플로우모델의규칙 (dataflow semantic) 을지키도록설계되어원래알고리즘기술에서의도한것과똑같이수행되어야한다. 멀티레이트데이타플로우그래프 (multi-rate dataflow graph) 는멀티미디어응용에서자주사용된다. 멀티레이트그래프로부터하드웨어콤포넌트를합성할때는알고리즘의병렬성에의해조금더자유도가큰설계공간을고려할수있다. 데이타플로우그래프로부터자동으로하드웨어를합성하는연구가몇몇이루어졌었지만, 이병렬성을고려하는연구는지금까지없었다. 기존연구를크게두가지접근방식으로나누면, 그림 1(c) 와같이완전히순차적으로수행하는경우 [8,9] 와그림 1(d) 와같이완전히병렬적으로수행하는경우 [10] 가있다. 본논문에서는이두가지방식을포함함과동시에그중간단계의구현 ( 그림 1(e)) 까지지원함으로서다양한하드웨어성능 / 면적트레이드오프관계를고려할수있는방법을제안하려한다. 본논문이기여하는바를명확히열거하면다음과같다. 1. 하드웨어합성의자동화 : 데이타플로우모델로명세한알고리즘으로부터하드웨어를자동으로합성함으로써설계공간을신속히탐색할수있게하였으며, 시간이오래걸리고에러가많이발생하는, 하드웨어블록의연결및통합작업을자동화하였다. 2. 합성된하드웨어동작의정확성보장 (correct by construction) : 스케줄정보에따라하드웨어의동작이데이타플로우모델의규칙대로이루어지도록부가로직 (glue logic) 들과콘트롤러 (controller) 를합성하였다. 따라서자동으로합성된하드웨어는데이타플로우알고리즘명세에서의도한대로정확히동작할수있다. 3. 하드웨어설계공간의다양화 : 스케줄링과정과하드웨어합성과정을분리함으로써주어진하나의데이타플로우명세로부터다양한하드웨어아키텍처를구현할수있었다. 사용자는단순히스케줄과리소스공유정보만을변경하면나머지합성과정은자동으로 이루어진다. 이러한기법을통해, 데이타플로우기반으로하드웨어를자동생성하는기존접근방식보다하드웨어구현의설계공간을훨씬넓힐수있었다. 본논문의구성은다음과같다. 다음장에서는본연구에동기를부여한예제와함께몇몇관련연구들을소개하고, 3장에서그예제를이용하여제안하는기법을설명하고자한다. 그리고, 4장에서는하드웨어로구현되는각블록의타입에관해자세히기술하고, 실험결과들은 5장에정리하였다. 마지막으로 6장에서남은과제들을검토하고결론을맺고자한다. 2. 기존연구들과동기부여예제빠른하드웨어 / 소프트웨어통합합성을하기위해서, 상위수준명세또는 C/C++ 로쓰여진소프트웨어명세로부터하드웨어를자동으로합성하기위한많은연구가있었다. 하드웨어기술언어 (HDL: Hardware Description Language) 들로부터 Behavioral 수준합성을하는연구 [4,11,12] 는오랫동안이루어져왔지만제한적인성공을거두는데그쳤고, C나 C++ 명세로부터하드웨어합성을하는연구 [13-15] 는최근까지지속되고있다. 최근의연구들은포인터분석과병렬성검출및이용등과같이 C/C++ 명세의제약점들을극복하려는시도에초점이모아지고있다. 그러나이러한연구들은하드웨어블록을자동으로구현하는것을주목적으로하는것이고본논문에서언급하는내용은주어진하드웨어라이브러리블록을이용하여시스템수준에서통합하여하드웨어를구성하는방법에관한것이라는점에서차이가있다. 한편, 빠른프로토타이핑을위해 SDL(Specification and Description Language) 명세로부터하드웨어를합성하는연구 [16,17] 가있었다. 이접근방식은시스템수준의설계를목적으로한다는점에서우리의접근방식과유사하지만명세하는모델과응용의범위가다르다. SDL은 Asynchronously Communicating Process를모델로사용하며주로통신시스템의기술을목표로하는반면에, 본논문에서는멀티미디어응용의기술을목표로하여잘정의된모델인 SDF[5] 를사용한다. 그림 3은 2차원 DCT(discrete cosine transform) 알고리즘의데이타플로우그래프표현이다. 이그래프는비교적큰 64와 8의데이타샘플레이트 (data sample rate) 로표현된멀티레이트데이타플로우그래프 (multirate dataflow graph) 이다. 이알고리즘은다양한하드웨어구조로구현될수있는데, Ptolemy[10] 방식에서는두개의 Transpose 블록사이에 8개의 DCT1D 블록리소스를사용하여완전히병렬적으로구현한다 ( 그림 4(a)). 그림을살펴보면 Transpose 블록이 64개의데이

4 빠른하드웨어 / 소프트웨어통합합성을위한데이타플로우명세로부터의하드웨어합성235 그림 3 2차원 DCT 알고리즘의데이타플로우명세 (a) (b) (c) 그림 4(a) Ptolemy[10], (b) Meyr의연구 [9], (c) GRAPE[3] 으로부터생성된하드웨어구조타샘플을출력한후에 8개의 DCT1D 리소스들이동시에수행가능한상태가됨을알수있다. 그리고블록들사이가버퍼없이곧바로연결되어있다. 이러한병렬구현은가장빠른수행시간을갖게되지만 16개의 DCT1D 리소스를사용해야하므로, 우리실험결과에따르면하드웨어면적이약 243,000 게이트 (gate) 에이르게되어면적면에서손해가가장크다. Meyr의접근방식 [8,9,18] 에서는데이타플로우그래프와일대일대응관계로하드웨어가합성된다. 다시말하면, 그래프의한노드가그대로하드웨어블록리소스하나로생성되는것이다. 그림 4(b) 에나타난바와같이 8개의데이타샘플을입력으로받아 8개의데이타샘플을출력하는 DCT1D 블록 1) 이하나밖에없기때문에 64 개의데이타샘플을받아 64개데이타샘플을출력하려면하나의 DCT1D 블록이순차적으로 8번수행되어야 1) 원래 Meyr 의연구에서는노드가한번수행될때마다출력단에는한개의데이타샘플만이생성된다. 따라서이예제에서 8개의데이타샘플을출력하기위해서는노드가 8번수행되어야한다. 그러나효율적인구현을위해서그림 3의 DCT1D 블록에 8개의다른출력단이있다고가정하였다. 한다. 만약에 DCT1D 블록의내부가파이프라인형태로구현되어있다면, 8번의순차적수행이파이프라인되어겹쳐서수행될수는있다. 이러한순차적구현에서는 64개의데이타샘플을모아두기위해 FIFO큐와 MUX 같은부가회로가필요하지만병렬구현에서의하드웨어크기와비교해서는매우미미한정도에불과하다. 이접근방식의어려운점은정밀한그래프분석 [18] 을통해서많은제어신호 (control signal) 들의타이밍을미리계산해야한다는점이다. 또하나의제약점은이러한타이밍계산과콘트롤러합성을위해모든하드웨어블록들이고정된수행시간만을가질수있다는점이다. Ade가연구한 GRAPE 시스템 [3,19,20] 또한하드웨어를순차적인방식으로구현한다. Meyr의방식과다른점이있다면각각의하드웨어블록들이그내부에로컬콘트롤러 (local controller) 를가지고있어복잡하게중앙콘트롤러 (central controller) 를구현할필요가없다는점이다 ( 그림 4(c)). GRAPE 시스템에서는이웃한블록들간에핸드셰이킹프로토콜 (handshaking protocol) 을사용하여각블록이언제수행할수있는지를판단한다. 이예제에서는 Transpose 블록이한번수행된후에 DCT1D 블록이순차적으로 8번수행되는데, 각수행마다핸드셰이킹에필요한제어신호 (control signal) 를반복적으로주고받아야한다. 따라서 GRAPE 시스템은노드의수행시간이고정되지않고가변적인경우에도문제없이잘수행된다는장점이있으나핸드셰이킹을사용하는노드간의비동기적통신 (asynchronous communication) 이수행시간을증가시키는단점을가지고있다. 또한데이타플로우그래프로표현한노드들의크기가작은경우에는구현에포함된 FIFO 버퍼들과로컬콘트롤러의크기를무시할수없다. 따라서최적화된 ASIC 설계에서는작은블록들간에위와같은분산제어 (distributed control) 와비동기적통신을사용하지않는경우가대부분이다. 그림 4에서 (a) 와 (b) 는병렬구현과순차구현의양극단을보여주고있다. 그러나그외에다른많은구현방식이존재할수있다. 그림 5에그중일부를소개하였다. 그림 5(a) 를보면그림 3의두 DCT1D 노드가하나의 DCT1D 리소스를공유하고있다. 이 DCT1D 리소스는 16번수행되는데, 8번은 column DCT를위해서, 8 번은 row DCT 연산을위해서수행된다. 이구현은성능은가장느리지만가장적은하드웨어면적을차지한다. 만약에더나은성능이필요하다면 column DCT와 row DCT 를위해리소스를각각따로할당하고그림 4(b) 와같이파이프라인형태로동시에수행할수있다. 그래도시각제약조건을맞추기어려운경우에는그림

5 236 정보과학회논문지 : 시스템및이론제 32 권제 5 호 (2005.6) 3. 제안하는하드웨어합성기법 그림 5 일반적으로사용되는 DCT의하드웨어구조 (a) 하나의 DCT1D 리소스사용 (b) 네개의 DCT1D 리소스사용 5(b) 에서각 DCT1D 노드에대해 DCT1D 리소스를두개씩할당한것처럼더많은리소스를할당하면된다. 본논문에서는기존연구에포함되었던완전병렬구현과완전순차구현을포함함과동시에앞에서설명한리소스공유와, 병렬과순차의중간형태의구현까지모두고려할수있는기법을제시하고자한다. 이기법을사용함으로써데이타플로우명세로부터자동생성될수있는하드웨어설계공간이넓어질수있다. 제어회로의설계에서는블록의수행시간이가변적인경우도포함하기위하여 [21] 에서제시한제어기법을그대로적용하였다. [21] 에서는데이타플로우의명세가멀티레이트인경우는고려하지않고데이타플로우그래프와일대일대응관계로하드웨어를생성하였지만, 본연구에서는멀티레이트로명세된데이타플로우가여러가지방식으로구현될수있도록자동화하는것을주내용으로하고있으며, 리소스를공유하는코드를생성하는내용까지포함하고있다. 아래의표 1에서는보다명확한이해를돕기위해서지금까지소개한각접근방식을비교하여정리하였다. 앞에서언급한내용이지만, 제안하는방법에서는분할단계로부터스케줄정보를얻는다. 그림 6은스케줄정보의한예를보여주고있는데, 그림 4(b) 의하드웨어아키텍쳐를얻기위한스케줄정보이다. 이는크게두부분으로이루어져있는데먼저리소스할당테이블 (Resource Allocation Table) 이기술되고그뒤에매핑 / 스케줄정보 (Mapping/Schedule Information) 가기술된다. 리소스할당테이블은단순히리소스타입의이름과그리소스의개수를열거한것이다. 그림 6을보면 Transpose와 DCT1D 리소스가각각두개씩있음을알수있다. 매핑 / 스케줄정보는노드의각인스턴스의리소스매핑과수행시간및타이밍정보를정의하고있다. 매핑 / 스케줄정보는또한루프 (Loop) 에의해계층적으로묶일수있는데, 자세한정보는다음의 BNF를통해구조적으로기술하였다. <schudule information> ::= <allocation table> <mapping_schedule information> <allocation table> ::= set of <allocation item> <allocation item> ::= <resource type name> <number of resources> <mapping_schedule information> ::= set of <mapping_ schedule item> <mapping_schedule item> ::= <instance mapping_ schedule> < loop mapping_schedule> <instance mapping_schedule> ::= <node name> <mapped resource number> <start timing> <execution time> <loop mapping_schedule> ::= loop <loop count> <start timing> <loop period> { <mapping_schedule information> } Transpose_ 을예로들어설명하면다음과같다. Transpose_1 노드의첫번째인스턴스는두 Transpose 리소스중에서두번째리소스 (Resource 표 1 데이타플로우명세로부터하드웨어합성하는방식비교 접근방식 Ptolemy Meyr의방식 GRAPE 제안하는방식 멀티레이트의구현 병렬구현 순차구현 순차구현 병렬 / 순차 / 하이브리드 리소스할당 블록간통신 복수할당 (multiple-resource allocation) 동기적레지스터버퍼사용 단일할당 (single-resource allocation) 동기적레지스터버퍼사용 단일할당 (single-resource allocation) 비동기적 FIFO 버퍼사용 복수 / 단일 / 공유할당 (multiple/single/shared allocation) 동기적레지스터버퍼사용 블록수행제어 중앙제어방식 중앙제어방식 분산제어방식 중앙제어방식 블록수행시간 고정 고정 가변 가변

6 빠른하드웨어 / 소프트웨어통합합성을위한데이타플로우명세로부터의하드웨어합성237 Number = 1) 를사용하고시작타이밍 (start timing) 은 17 수행시간 (execution time) 은 1 사이클임을의미한다. 만약하드웨어설계자가그림 5(a) 와같이하나의 DCT1D 리소스로공유하는구조로하드웨어를생성하고자한다면그림 6의내용에서다음과같이 DCT1D 리소스의개수를 1로바꾸고 DCT1D_1 노드가매핑된리소스를첫번째리소스 (0번리소스 ) 로바꾸어주기만하면된다. DCT1D 1 DCT1D_ 이는단하나의 DCT1D 리소스가할당되고, DCT1D_1 노드의모든여덟번의인스턴스들이 0번리소스로매핑됨을의미한다. 부가적으로설명하면 DCT1D_1 노드는루프 (Loop) 에의해여덟번수행되므로여덟개의인스턴스를가진다. 시작타이밍과수행시간에사용되는시간단위는클럭사이클 (clock cycle) 이다. 시작시각은루프안에서의상대적인시각을의미하므로루프안의맨처음에나오는매핑 / 스케줄정보의시작시각은 0으로시작되어야한다. Loop { DCT1D_ } 와같은내용이의미하는바는 DCT1D 노드의모든 (8개의) 인스턴스들은첫번째 (0번) 리소스를사용하고그리소스는수행시간이 2 사이클인데 8번연속적으로수행된다는것이다. 루프 (Loop) 명령의인자들이의미하는바는순서대로반복횟수, 시작시각, 반복의주기이므로, 이루프는 1에시작하여 2 사이클간격으로 8번반복수행된다. 그림 5(b) 와같이하드웨어를바꾸어생성하려면스케줄정보를 Loop { DCT1D_ , DCT1D_ } 와같이넣어주면된다. 이스케줄정보는 DCT1D_0 노드의첫번째, 세번째, 다섯번째, 일곱번째인스턴스는 0번리소스에, 두번째, 네번째, 여섯번째, 여덟번째리소스는 1번리소스에매핑되도록만들어준다. 그리고데이타플로우그래프는무한루프처럼반복수행되므로전체스케줄또한하나의루프로간주한다. 그림 6 그림 4(b) 의아키텍쳐를위한스케줄정보 제안하는하드웨어합성기법은주어진스케줄정보를가지고그에상응하는하드웨어아키텍쳐를합성해내는것이다. 그림 6의스케줄정보로부터그림 4(b) 의하드웨어가자동으로합성되는데, 이과정에필요한두가지핵심요소는콘트롤러합성과 MUX, 레지스터와같은부가회로들의합성이다. 먼저콘트롤러를만들기위해서두가지자료구조가필요한데, 하나는리소스제어를위해또하나는노드의출력버퍼를위해필요하다. 리소스제어를위해서는리소스입력단의 MUX제어신호와공유리소스의 start 신호 (start signal) 가필요한데스케줄정보를분석하여이리소스에매핑된인스턴스정보와각인스턴스들의시작및종료시간을정리하여만들어진다. 노드의출력버퍼제어신호는비교적간단한데, 어느리소스의출력데이타샘플을언제버퍼에담을지를스케줄정보를분석하여결정하면된다. 이내용들을구체적으로정리하면다음과같다. <resource start information> ::= set of <mapped instance start time> <resource input mux information> ::= set of <mapped instance input mux information> <mapped instance input mux information> ::= <input buffer name> <mapped instance start time> <mapped instance end time> <output buffer control information> ::= set of <output buffer assignment> <output buffer assignment> ::= <resource output signal name> <buffer latch timing> 위의내용에서리소스시작정보 (resource start information) 는각리소스별로매핑된인스턴스들의시작시간들을집합으로가지고있으며, 리소스입력단의 MUX 제어정보 (resource input mux information) 와출력버퍼제어정보 (output buffer control information) 는각포트별로정보가구성된다. MUX 제어정보의경우는매핑된각인스턴스들의입력버퍼이름과시작및종료시간을하나의자료구조로묶어서이들의집합으로구성하며, 출력버퍼의제어정보는각리소스출력의이름과그출력시각을하나의자료구조를묶어서이들의집합으로구성한다. 자료구조가다만들어지고나면이자료구조로부터 VHDL 코드가생성된다. 맨먼저카운터 (counter) 를사용해서루프 (Loop) 의제어신호들이생성된다. 그림 7(a) 는그림 4(b) 의 DCT1D 에대한버퍼, 루프, MUX

7 238 정보과학회논문지 : 시스템및이론제 32 권제 5 호 (2005.6) 를제어하는신호들의타이밍을보여준다. Loop0는가장상위수준에서의제어를담당하고나머지루프들은순서대로번호가매겨진다. Loop_Counter 신호는매클럭마다증가하며 Loop_IterNum 신호는매루프주기의마지막에한번씩증가한다. 그후에버퍼 /MUX의제어신호와각리소스의 start 신호 (start signal) 가생성된다. 이신호들의타이밍은루프제어신호 (Looping control signal) 에의해결정된다. 예를들면, DCT1D_0 의출력버퍼는 Loop1_IterNum = 0이고 Loop1_ Counter = 1일때데이타를로드한다. MUX와 start 신호들도같은방식으로제어되는데, MUX의경우는대상리소스가수행되는동안계속입력데이타의값을유지하고있어야하므로카운터값의범위에의해제어된다. 본설계환경에서생성하는제어신호들의연결구조는그림 7(b) 에나타나있으며, 제어신호들의 VHDL 코드는앞에서만든자료구조를바탕으로다음과같이생성된다. 스케줄에루프가존재하는경우는그림 7(a) 처럼루프의 Iteration조건까지반영하여시간조건문이보다복잡하게나타날수있으나다음의 VHDL 코드에서는이해를돕기위하여간단하게카운터 (Counter) 의값만을이용하여조건문을나타내었다.... elsif Counter = <latch timing_n> then <output buffer signal name> <= <resource output signal_n name>; end if; end if; end process; 하드웨어블록의수행시간이수행중에변하는경우에는최소수행시간을스케줄정보에기술하고블록내부로부터생성되는 done 신호 (done signal) 를콘트롤러가검사하도록한다. Done 신호가참이아닐때는콘트롤러가카운터값을계속같은값으로유지하면서 done 신호가참이될때까지기다리는방식으로동작한다. 이콘트롤러동작에관한자세한내용은 [21] 에소개되어있다. --<start signal code> <start signal name> <= '1' when Counter = <instance_1 start time> else '1' when Counter = <instance_2 start time> else... '1' when Counter = <instance_n start time> else '0'; (a) --<input mux code> <resource input signal name> <= <input buffer_1 name> when Counter >= <start time_1> and Counter <= <end time_1> else <input buffer_2 name> when Counter >= <start time_2> and Counter <= <end time_2> else... <input buffer_n name>; --<output buffer code> process(clk, rst) begin if rst = '1' then <output buffer signal name> <= (others => '0'); elsif rising_edge(clk) then if Counter = <latch timing_1> then <output buffer signal name> <= <resource output signal_1 name>; elsif Counter = <latch timing_2> then <output buffer signal name> <= <resource output signal_2 name>; (b) 그림 7(a) 타이밍다이어그램과 VHDL 코드 (b) 그림 4(b) 의 DCT1D 블록을위한제어신호의하드웨어구조 4. 블록타입그림 3에서사용된 DCT1D와 Transpose 블록은단순히조합회로 (combinational logic) 로구현되어있다. 따라서별다른제어신호를필요로하지않는다. 그러나

8 빠른하드웨어 / 소프트웨어통합합성을위한데이타플로우명세로부터의하드웨어합성239 블록들은 clock과 reset 신호를필요로하는레지스터를내부에가지고있는순차회로 (sequential logic) 으로구성될수도있다. 게다가각블록의수행시간은외부메모리접근이나조건부연산과같은동적인특성으로인해미리고정되어있지않을수도있다. 본논문에서제안하는설계환경에서는이러한블록들의성질을반영하여각라이브러리블록들의타입을 4가지로분류하였다. 덧셈기 (adder) 와같은경우는조합회로, 누산기 (accumulator) 와같이한 cycle이면수행이완료되는단사이클순차회로 (single-cycle sequential logic), 수행하는데여러사이클이소요되는다사이클순차회로 (multi-cycle sequential logic) 로나뉘며, 다사이클순차회로는수행시간이고정되어있는경우와수행시간이가변적인경우로다시나누었다. 다사이클순차회로는콘트롤러가 clock, reset, start 신호를넣어주어야하며, 가변수행시간다사이클순차회로는블록내부에서 done 신호를만들어서수행이종료되었음을알려주어야한다. 그림 8(a) 는네가지타입으로구성된예제를보여주고있다. 이예제는라이브러리블록들과생성된콘트롤러를통합하여그림 8(b) 와같은하드웨어로만들어진다. 그림 8(c) 에는예상되는제어신호들의타이밍을그려넣었다. 여기서는 A, B, C 각블록들의수행시간을각각 30, 20, 80이고, D의수행시간은가변적이라고가정하였다. 그러므로 D 블록의 done 신호는수행중에변할수있다. 모든경우에각블록들은 strict execution을가정한다. 다시설명하면, 각블록은모든입력데이타샘플들이유효한값을가진후에수행가능하며, 모든출력데이타샘플들의값이유효해진후에블록의수행을끝마친것으로본다. 이것은각입출력단에서명세한데이타샘플개수만큼입출력버퍼가필요함을의미한다. 반면에 Meyr의연구 [9] 에서는멀티레이트예제에서도한번에한개의데이타샘플만을입출력한다. 그림9의간단한예제를살펴보자. 제안하는방식에서는 Ramp 블록의출력데이타샘플들을저장하기위해 Add4 블록의입력버퍼를 4개할당한다. Meyr의방식에서는 Add4블록이 4번수행되므로한개의버퍼만이필요할것이다. 사실두접근방식은 Add4블록의내부구현에서도차이를보인다. Meyr의방식에서는 Add4 블록이내부상태레지스터를가지는순차회로로만들어져있다. 멀티레이트예제에대해 strict execution을가정하는것이버퍼면적에있어큰오버헤드를초래할때는 Meyr의방식과같은직렬적인 I/O (serial I/O) 구현이더좋다고할수있다. 이러한단점을극복하기위해서 FRDF(fractional rate dataflow) 모델 [6] 을사용한다. 이방식을사용하면똑같은알고리즘을기술하면서도 그림 8(a) 다양한타입을블록으로구성된 DFG의예 (b) 합성된하드웨어구조 (c) 제어신호들의예상타이밍 (a) (b) 그림 9 보통의데이타플로우명세 (a) 와 FRDF 명세 (b) 의하드웨어구현 Meyr 방식의 Add4블록의직렬적인 I/O(serial I/O) 로구현할수있다. 그림 9(b) 에같은알고리즘을기술한 FRDF 그래프와그하드웨어구현을묘사하였다. Add4 블록의출력단에있는 1/4이라는분수꼴의샘플레이트 (fractional sample rate) 는 Add4블록이 4번수행되는동안하나의데이타샘플만을출력으로내보낸다는것을의미한다. 다시설명하면, 위 Add4블록은매수행마다한개의입력을받고네번째수행마다한개의출력을내보낸다.

9 240 정보과학회논문지 : 시스템및이론제 32 권제 5 호 (2005.6) 5. 실험 실험에서도그림 3의예제를그대로사용하였다. 합성을위해서는 Synopsys Design Compiler를사용하였으며 clock 주기는 20ns로고정하였다. 실험결과, DCT1D 블록한개의수행시간 (propagation delay) 은 30.2ns로 2사이클을차지하였다. 본논문의접근방식의효율성을입증하기위해서그림 5(a) 와같은구조를가지는하드웨어를손으로직접작성하여비교하였다. 이구현은한개의 DCT1D리소스와 64 16비트레지스터를가지는 Transpose 메모리로구성되어있으며, 콘트롤러와 MUX, 카운터등과같은부가회로가포함되어있다. 그림 4에서소개한다른접근방식의합성결과들도표 2에비교하여놓았다. GRAPE 시스템의경우는구할수가없어서논문에소개되어있는방식을예상하여하드웨어를수동으로구현하였다. 그러므로실제 GRAPE 시스템의결과와는차이가있을수있음을미리밝혀둔다. 표 2를보면자동으로하드웨어를생성했을때, 버퍼와콘트롤러가생성규칙에따라보수적으로이루어지므로손으로생성한것보다조금더많은하드웨어면적을차지함을알수있다. 그림 10에는다양한하드웨어구현의성능 / 면적트레이드오프관계를볼수있도록그래프로나타내었다. 그림 5(a) 의예제를수동으로구현한것과자동으로구현것을표 2에서비교하여보면, 면적면에서는 21%, 성능면에서는 6% 정도의오버헤드를가지는것을확인할수있다. 이는버퍼를제어하는코드를생성할때에, 리소스가공유되는경우와루프를돌면서각기다른버퍼에결과를적는경우, 블록간의데이타레이트가 2대3 등으로서로맞지않는경우를일반적으로해결하기위하여, 각각의버퍼마다따로따로조건문을넣어제어하기때문이다. 그림 5(a) 의예에서는 DCT1D의 8개출력 그림 10 표 2의면적-수행시간그래프을모두하나의제어신호로제어할수있음에도불구하고자동생성된코드에서는이신호들이따로따로생성되어표 2에서와같이면적상의오버헤드를가지게되었다. 이러한경우는대부분의예제들에서발생할수있기때문에, 다음연구에서는같은조건들을검사하여제어코드를보다간결하게생성할계획이며이를통해보다최적화된결과를얻을수있을것으로기대하고있다. 성능면에서는, 안전한버퍼링과다음블록의수행을보장하기위해서자동생성할때블록사이에서 1 사이클의마진을두었기때문에, 그림 5(a) 의구현에서 2 사이클의차이가나게되었다. 또다른실험으로는 H.263 디코더알고리즘의일부를사용하였다. 이예제는 Dequantize, IDCT, MC(motion cmpensation) 블록을포함하고있다. 이명세 ( 그림 11) 에서는배열타입과사용자정의타입을사용하였으며자동으로하드웨어신호정의와포트매핑을위한코드, 콘트롤러등의모든부가회로를생성하였다. 그리고 MC 블록은수행중에프레임메모리접근을위한메모리접근회로가필요하기때문에블록정의시에메모리 Design type (number of DCT1D resource) Manual (1) 그림 5(a) Auto (1) 그림 5(a) Auto (2) 그림 4(b) Auto (4) 그림 5(b) Ptolemy(16) 그림 4(a) GRAPE (2) 그림 4(c) Area (gates) 표 2 실험결과 : 2 차원 DCT Clock period (ns) Latency Cycles Total (ns) Throughput (sample/ms) 31, , , , , ,

10 빠른하드웨어 / 소프트웨어통합합성을위한데이타플로우명세로부터의하드웨어합성241 Design Type Area (gates) 표 3 실험결과 (H.263 디코더 ) Latency (1 Macro Block) Clock period (ns) Cycles Total (us) Throughput (frame/ms) (CIF format) Manual 124, Auto 186, 를접근하는데이타입출력포트의속성을 SRAM 으로하였다. 이속성은메모리접근에필요한포트를자동으로생성하고블록들간의프레임전달은메모리주소인포인터로만이루어지게만들어준다. 또한프레임데이타와 mode, dx, dy등의파라미터들은 FRDF로명세하여버퍼크기를줄이도록구현하였다. 이실험에서는그림 11의데이타플로우명세로부터자동생성된하드웨어와같은블록라이브러리로같은기능을수동으로구현한하드웨어를비교하였다. 표 3을통해서, 두하드웨어설계의성능은매우비슷하고자동으로생성된하드웨어가면적이조금더큰것을알수있다. 표 2와 3의내용에서본바와같이제안하는방법을통해서다양한하드웨어구현이스케줄정보파일만수정하면간단히자동으로생성될수있다. 그리고자동으로생성된하드웨어구현이질적으로수동설계에매우가까워졌다. 성능면에서는미미한수준의오버헤드를가지고있으며, 면적면에서는버퍼콘트롤러의오버헤드가존재하지만제어조건코드를자동생성후에손으로손쉽게최적화할수있으며, 이부분의자동화는가까운미래에이루어질것이다. 그림 11 H.263 디코더알고리즘일부의데이타플로우명세 6. 결론이논문에서는하나의데이타플로우명세로부터다양한하드웨어구조를합성하는방법을다루고있다. 이과정에서공유하드웨어리소스와루프 (Loop) 로이루어진스케줄을고려하였으며, 성능과면적면에서실제설계에적용할수있을만큼의하드웨어를자동으로생성하였다. 이논문에는포함되지않았지만시스템설계과 정에서하드웨어리소스의자동할당및스케줄이주요한이슈이며그과정은분할단계에서이루어진다. 이논문에서는그스케줄정보를바탕으로실제하드웨어를구현하는내용을다루었다. 실험예제로서는 2차원 DCT알고리즘과 H.263 디코더를사용하여제안하는기법이실제 VHDL코드를생성함을보여주었으며, 이 VHDL 코드들은 Synopsys 툴을통해검증하였다. 남은과제로서생성되는하드웨어면적을좀더줄이기위해버퍼콘트롤러를최적화하고버퍼들을공유하는방법이필요하며, 실험결과를보면자동생성오버헤드의대부분이이버퍼콘트롤러에기인하고있기때문에버퍼의최적화기법이적용될경우수동설계에거의근접할수있을것으로예상한다. 참고문헌 [1] Synopsys Inc., 700 E. Middlefield Rd., Mountain View, CA 94043, USA. COSSAP User s Manual : VHDL Code Generation. [2] J. T. Buck, S. Ha, E. A. Lee and D. G. Messerschmitt. Ptolemy: A framework for simulating and prototyping heterogeneous systems. Int l Journal of Computer simulation, special issues on "Simulation software development," vol.4, pp , April, [3] M. Ade, R. Lauwereins, and J. A. Peperstraete. Hardware-software codesign with GRAPE. IEEE Int l Workshop on Rapid System Prototyping, pp , June, [4] G. De Micheli. Synthesis and Optimization of Digital Circuits. New York, McGraw-Hill, Inc., [5] E. A. Lee and D. G. Messerschmitt. Synchronous data flow. Proc. of the IEEE, September, [6] H. Oh and S. Ha. Fractional rate dataflow model and efficient code synthesis for multimedia applications. ACM SIGPLAN Notice Vol. 37, pp , July [7] H. Oh and S. Ha. Hardware-software cosynthesis of multi-mode multi-task embedded systems with real-time constraints. International Workshop on Hardware/Software Codesign, pp , May [8] P. Zepter and T. Groker and H. Meyr. Digital receiver design using VHDL generation from data

11 242 정보과학회논문지 : 시스템및이론제 32 권제 5 호 (2005.6) flow graphs. Proceedings of the Design Automation Conference [9] J. Horstmannshoff and H. Meyr. Optimized system synthesis of complex RT level building blocks from multirate dataflow graphs. International Symposium on System Synthesis, pp , Nov, [10] M. C. Williamson and E. A. Lee. Synthesis of parallel hardware implementations from synchronous dataflow graph specifications. In 30th Asilomar Conference on Signals, Systems, and Computers, Pacific Grove, California, USA, November [11] Y.-L. Lin. Recent Devleopments in High-Level Synthesis. ACM Transactions on Design Automation of Electronic Systems, Vol. 2, No. 1, pp 2-21, Jan [12] D. W. Knapp. Behavioral Synthesis: Digital System Design Using the Synopsys Behavioral Compiler. Prentice Hall, [13] L. Semeria, K. Sato, and G. De Micheli. Synthesis of Hardware Models in C With Pointers and Complex Data Structures. IEEE Transactions on VLSI Systems Vol. 9, pp , Dec [14] L. Semeria and G. De Micheli. Resolution, Optimization, and Encoding of Pointer Variables for the Behavioral Synthesis from C. IEEE Trans. on Computer-Aided Design of Integrated Circuits and Systems Vol. 20, pp , Feb [15] N. Vanspauwen, E. Barros, S. Cavalcante, and C. Valderrama. On the Importance, Problems and Solutions of Pointer Synthesis. 15th Symposium on Integrated Circuits and Systems Design, pp , Sept [16] F. Slomka, M. Dorfel, and R. Munzenberger. Generating Mixed Hardware/Software systems from SDL Specifications. 9 th International Symposium on Hardware/Software Codesign, pp , April [17] O. Bringmann, W. Rosenstiel, A. Muth, G. Farber, F. Slomka, and R. Hofmann. Mixed Abstraction Level Hardware Synthesis from SDL for Rapid Prototyping. IEEE Int l Workshop on Rapid System Prototyping, pp , June [18] J. Horstmannshoff, T. Grotker, and H. Meyr. Mapping multi-rate dataflow to complex RT level hardware models. In ASAP. IEEE, [19] J. Dalcolmo, R. Lauwereins, M. Ade. Code generation of data dominated DSP applications for FPGA targets. IEEE Int l Workshop on Rapid System Prototyping, pp , [20] G. Bilsen, M.Engels, R. Lauwereins and J. Peperstraete. Cyclo-static dataflow. IEEE Transactions on Signal Processing Vol. 44, pp , Feb [21] H. Jung, K. Lee, and S. Ha. Efficient hardware controller synthesis for synchronous dataflow graph in system level design. IEEE Transactions on VLSI Systems Vol. 10, pp , August 정현욱 1998년 2월서울대학교컴퓨터공학과학사. 2000년 2월서울대학교컴퓨터공학과석사. 2000년 3월~현재서울대학교전기컴퓨터공학부박사과정. 관심분야는하드웨어- 소프트웨어통합설계, 시스템수준설계, 하드웨어자동합성 하순회 1985 년 2 월서울대학교전자공학과학사 1987 년 2 월서울대학교전자공학과석사 1992 년미국 UCB 전기컴퓨터공학과박사 년 ~1994 년현대전자근무 년 ~ 현재서울대학교컴퓨터공학부교수관심분야는하드웨어 - 소프트웨어통합설계, 내장형시스템을위한설계방법론

Microsoft PowerPoint - 30.ppt [호환 모드]

Microsoft PowerPoint - 30.ppt [호환 모드] 이중포트메모리의실제적인고장을고려한 Programmable Memory BIST 2010. 06. 29. 연세대학교전기전자공학과박영규, 박재석, 한태우, 강성호 hipyk@soc.yonsei.ac.kr Contents Introduction Proposed Programmable Memory BIST(PMBIST) Algorithm Instruction PMBIST

More information

MAX+plus II Getting Started - 무작정따라하기

MAX+plus II Getting Started - 무작정따라하기 무작정 따라하기 2001 10 4 / Version 20-2 0 MAX+plus II Digital, Schematic Capture MAX+plus II, IC, CPLD FPGA (Logic) ALTERA PLD FLEX10K Series EPF10K10QC208-4 MAX+plus II Project, Schematic, Design Compilation,

More information

ºÎ·ÏB

ºÎ·ÏB B B.1 B.2 B.3 B.4 B.5 B.1 2 (Boolean algebra). 1854 An Investigation of the Laws of Thought on Which to Found the Mathematical Theories of Logic and Probabilities George Boole. 1938 MIT Claude Sannon [SHAN38].

More information

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for 2003 Development of the Software Generation Method using Model Driven Software Engineering Tool,,,,, Hoon-Seon Chang, Jae-Cheon Jung, Jae-Hack Kim Hee-Hwan Han, Do-Yeon Kim, Young-Woo Chang Wang Sik, Moon

More information

À±½Â¿í Ãâ·Â

À±½Â¿í Ãâ·Â Representation, Encoding and Intermediate View Interpolation Methods for Multi-view Video Using Layered Depth Images The multi-view video is a collection of multiple videos, capturing the same scene at

More information

Microsoft PowerPoint - hw8.ppt [호환 모드]

Microsoft PowerPoint - hw8.ppt [호환 모드] 8.1 데이터경로와제어장치 Chapter 8 데이터경로와제어장치 많은순차회로의설계는다음의두부분으로구성 datapath: data의이동및연산을위한장치 control unit에상태신호제공 control ol unit: datapath th 에서적절한순서로 data 이동및연산을수행할수있도록제어신호제공. 먼저, datapath를설계 다음에, control unit

More information

Microsoft PowerPoint - VHDL08.ppt [호환 모드]

Microsoft PowerPoint - VHDL08.ppt [호환 모드] VHDL 프로그래밍 8. 조합논리회로설계 한동일 학습목표 테스트벤치의용도를알고작성할수있다. 간단한조합논리회로를설계할수있다. 하나의로직회로에대해서다양한설계방식을구사할수있다. 제네릭을활용할수있다. 로직설계를위한사양을이해할수있다. 주어진문제를하드웨어설계문제로변환할수있다. 설계된코드를테스트벤치를이용하여검증할수있다. 2/37 테스트벤치 (test bench) 테스트벤치

More information

4 CD Construct Special Model VI 2 nd Order Model VI 2 Note: Hands-on 1, 2 RC 1 RLC mass-spring-damper 2 2 ζ ω n (rad/sec) 2 ( ζ < 1), 1 (ζ = 1), ( ) 1

4 CD Construct Special Model VI 2 nd Order Model VI 2 Note: Hands-on 1, 2 RC 1 RLC mass-spring-damper 2 2 ζ ω n (rad/sec) 2 ( ζ < 1), 1 (ζ = 1), ( ) 1 : LabVIEW Control Design, Simulation, & System Identification LabVIEW Control Design Toolkit, Simulation Module, System Identification Toolkit 2 (RLC Spring-Mass-Damper) Control Design toolkit LabVIEW

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

Microsoft Word - logic2005.doc

Microsoft Word - logic2005.doc 제 8 장 Counters 실험의목표 - Catalog counter 의동작원리에대하여익힌다. - 임의의 counter를통하여 FSM 구현방법을익힌다. - 7-segment display 의동작원리를이해한다. 실험도움자료 1. 7-segment display 7-segment는디지털회로에서숫자를표시하기위하여가장많이사용하는소자이다. 이름에서알수있듯이 7개의 LED(

More information

Microsoft PowerPoint - hw4.ppt [호환 모드]

Microsoft PowerPoint - hw4.ppt [호환 모드] 4.1 initial 과 always Chapter 4 Verilog의특징 보통의 programming언어와같은 procedural statement을제공 추상적인 behavioral model 기술에사용 순차적으로수행하는보통의 programming 언어와는다르게병렬적으로수행하는언어임 module Behavioral Model 논리설계 병렬수행 module

More information

VHDL 기초 VHDL 두원공과대학정보통신미디어계열이무영

VHDL 기초 VHDL 두원공과대학정보통신미디어계열이무영 기초 두원공과대학정보통신미디어계열이무영 2! 담당 : 이무영, 본관 325 호, mylee@doowon.ac.kr! 강의교재! 3 월 : 기존교재복습 ( 기초와응용, 홍릉과학출판사, 이대영외 3 명공저 )! 4 월이후 : 추후공지! 실습도구! 한백전자 HBE-DTK-240! www.hanback.co.kr ( 디지털 -FPGA) 자료참고할것임.! 천안공대류장열교수님온라인컨텐츠

More information

Software Requirrment Analysis를 위한 정보 검색 기술의 응용

Software Requirrment Analysis를 위한 정보 검색 기술의 응용 EPG 정보 검색을 위한 예제 기반 자연어 대화 시스템 김석환 * 이청재 정상근 이근배 포항공과대학교 컴퓨터공학과 지능소프트웨어연구실 {megaup, lcj80, hugman, gblee}@postech.ac.kr An Example-Based Natural Language System for EPG Information Access Seokhwan Kim

More information

<333820B1E8C8AFBFEB2D5A6967626565B8A620C0CCBFEBC7D120BDC7BFDC20C0A7C4A1C3DFC1A42E687770>

<333820B1E8C8AFBFEB2D5A6967626565B8A620C0CCBFEBC7D120BDC7BFDC20C0A7C4A1C3DFC1A42E687770> Journal of the Korea Academia-Industrial cooperation Society Vol. 13, No. 1 pp. 306-310, 2012 http://dx.doi.org/10.5762/kais.2012.13.1.306 Zigbee를 이용한 실외 위치추정 시스템 구현 김환용 1*, 임순자 1 1 원광대학교 전자공학과 Implementation

More information

°í¼®ÁÖ Ãâ·Â

°í¼®ÁÖ Ãâ·Â Performance Optimization of SCTP in Wireless Internet Environments The existing works on Stream Control Transmission Protocol (SCTP) was focused on the fixed network environment. However, the number of

More information

6.24-9년 6월

6.24-9년 6월 리눅스 환경에서Solid-State Disk 성능 최적화를 위한 디스크 입출력요구 변환 계층 김태웅 류준길 박찬익 Taewoong Kim Junkil Ryu Chanik Park 포항공과대학교 컴퓨터공학과 {ehoto, lancer, cipark}@postech.ac.kr 요약 SSD(Solid-State Disk)는 여러 개의 낸드 플래시 메모리들로 구성된

More information

박선영무선충전-내지

박선영무선충전-내지 2013 Wireless Charge and NFC Technology Trend and Market Analysis 05 13 19 29 35 45 55 63 67 06 07 08 09 10 11 14 15 16 17 20 21 22 23 24 25 26 27 28 29 30 31 32 33 36 37 38 39 40

More information

¼º¿øÁø Ãâ·Â-1

¼º¿øÁø Ãâ·Â-1 Bandwidth Efficiency Analysis for Cooperative Transmission Methods of Downlink Signals using Distributed Antennas In this paper, the performance of cooperative transmission methods for downlink transmission

More information

디지털공학 5판 7-8장

디지털공학 5판 7-8장 Flip-Flops c h a p t e r 07 7.1 7.2 7.3 7.4 7.5 7.6 7.7 7.8 7.9 7.10 7.11 292 flip flop Q Q Q 1 Q 0 set ON preset Q 0 Q 1 resetoff clear Q Q 1 2 SET RESET SET RESET 7 1 crossednand SET RESET SET RESET

More information

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA FPS게임 구성요소의 중요도 분석방법에 관한 연구 2 계층화 의사결정법에 의한 요소별 상관관계측정과 대안의 선정 The Study on the Priority of First Person Shooter game Elements using Analytic Hierarchy Process 주 저 자 : 배혜진 에이디 테크놀로지 대표 Bae, Hyejin AD Technology

More information

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형 언어 변환 1.4. 기대 효과 4.4. 프로그램 Restructuring 4.5. 소스 모듈 관리 2. SeeMAGMA 적용 전략 2.1. SeeMAGMA

More information

歯Chap1-Chap2.PDF

歯Chap1-Chap2.PDF ASIC Chip Chip Chip Proto-Type Chip ASIC Design Flow(Front-End) ASIC VHDL Coding VHDL Simulation Schematic Entry Synthesis Test Vector Gen Test Vector Gen Pre-Simulation Pre-Simulation Timing Verify Timing

More information

High Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a lo

High Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a lo High Resolution Disparity Map Generation Using TOF Depth Camera In this paper, we propose a high-resolution disparity map generation method using a low-resolution Time-Of- Flight (TOF) depth camera and

More information

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_ Sena Technologies 백서 : Latency/Throughput Test September 11, 2008 Copyright Sena Technologies, Inc 2008 All rights strictly reserved. No part of this document may not be reproduced or distributed without

More information

<30352DB9E9C1BEC8A32E687770>

<30352DB9E9C1BEC8A32E687770> ISSN 1598-0170 (Print) ISSN 2287-1136 (Online) http://www.jksii.or.kr 임베디드 소프트웨어의 인터페이스 결함허용성 향상 기법 A Method for Improving Interface Fault Tolerance in the Embedded Software 최 인 화 1 백 종 호 2* 황 준 2 In Hwa

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Verilog: Finite State Machines CSED311 Lab03 Joonsung Kim, joonsung90@postech.ac.kr Finite State Machines Digital system design 시간에배운것과같습니다. Moore / Mealy machines Verilog 를이용해서어떻게구현할까? 2 Finite State

More information

Chapter ...

Chapter ... Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준

More information

05(533-537) CPLV12-04.hwp

05(533-537) CPLV12-04.hwp 모바일 OS 환경의 사용자 반응성 향상 기법 533 모바일 OS 환경의 사용자 반응성 향상 기법 (Enhancing Interactivity in Mobile Operating Systems) 배선욱 김정한 (Sunwook Bae) 엄영익 (Young Ik Eom) (Junghan Kim) 요 약 사용자 반응성은 컴퓨팅 시스템에서 가장 중요 한 요소 중에 하나이고,

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

2002년 2학기 자료구조

2002년 2학기 자료구조 자료구조 (Data Structures) Chapter 1 Basic Concepts Overview : Data (1) Data vs Information (2) Data Linear list( 선형리스트 ) - Sequential list : - Linked list : Nonlinear list( 비선형리스트 ) - Tree : - Graph : (3)

More information

PowerPoint Presentation

PowerPoint Presentation Korea Tech Conference 2005 년 5 월 14 일, 서울 2005 년 5 월 14 일 CE Linux Forum Korea Tech Conference 1 Parallel port 를이용한가전제품 제어 임효준 LG 전자 imhyo@lge.com 2005 년 5 월 14 일 CE Linux Forum Korea Tech Conference 2

More information

Microsoft PowerPoint - DSD03_verilog3b.pptx

Microsoft PowerPoint - DSD03_verilog3b.pptx 한국기술교육대학교 장영조 한국기술교육대학교전기전자통신공학부 2 . 조합회로설계 2. 순차회로설계 3. FSM 회로설계 4. ASM 을사용한설계 한국기술교육대학교전기전자통신공학부 3 input clk 유한상태머신 (Finite State Machine; FSM) 지정된수의상태로상태들간의천이에의해출력을생성하는회로 디지털시스템의제어회로구성에사용 Moore 머신 :

More information

(SW3704) Gingerbread Source Build & Working Guide

(SW3704) Gingerbread Source Build & Working Guide (Mango-M32F4) Test Guide http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document History

More information

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA 무선 센서 네트워크 환경에서 링크 품질에 기반한 라우팅에 대한 효과적인 싱크홀 공격 탐지 기법 901 무선 센서 네트워크 환경에서 링크 품질에 기반한 라우팅에 대한 효과적인 싱크홀 공격 탐지 기법 (A Effective Sinkhole Attack Detection Mechanism for LQI based Routing in WSN) 최병구 조응준 (Byung

More information

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770> IT OOKOOK 87 이론, 실습, 시뮬레이션 디지털논리회로 ( 개정 3 판 ) (Problem Solutions of hapter 7) . 반감산기와전감산기를설계 반감산기반감산기는한비트의 2진수 에서 를빼는회로이며, 두수의차 (difference, ) 와빌림수 (barrow, ) 를계산하는뺄셈회로이다. 에서 를뺄수없으면윗자리에서빌려와빼야하며, 이때빌려오는수는윗자리에서가져오므로

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

I

I I II III (C B ) (C L ) (HL) Min c ij x ij f i y i i H j H i H s.t. y i 1, k K, i W k C B C L p (HL) x ij y i, i H, k K i, j W k x ij y i {0,1}, i, j H. K W k k H K i i f i i d ij i j r ij i j c ij r ij

More information

DE1-SoC Board

DE1-SoC Board 실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically

More information

09권오설_ok.hwp

09권오설_ok.hwp (JBE Vol. 19, No. 5, September 2014) (Regular Paper) 19 5, 2014 9 (JBE Vol. 19, No. 5, September 2014) http://dx.doi.org/10.5909/jbe.2014.19.5.656 ISSN 2287-9137 (Online) ISSN 1226-7953 (Print) a) Reduction

More information

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA 논문 10-35-03-03 한국통신학회논문지 '10-03 Vol. 35 No. 3 원활한 채널 변경을 지원하는 효율적인 IPTV 채널 관리 알고리즘 준회원 주 현 철*, 정회원 송 황 준* Effective IPTV Channel Control Algorithm Supporting Smooth Channel Zapping HyunChul Joo* Associate

More information

63-69±è´ë¿µ

63-69±è´ë¿µ Study on the Shadow Effect of 3D Visualization for Medical Images ased on the Texture Mapping D.Y. Kim, D.S. Kim, D.K. Shin, D.Y. Kim 1 Dept. of iomedical Engineering, Yonsei University = bstract = The

More information

Microsoft Word - PLC제어응용-2차시.doc

Microsoft Word - PLC제어응용-2차시.doc 과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다 이장에서사용되는 MATLAB 명령어들은비교적복잡하므로 MATLAB 창에서명령어를직접입력하지않고확장자가 m 인 text 파일을작성하여실행을한다. 즉, test.m 과같은 text 파일을만들어서 MATLAB 프로그램을작성한후실행을한다. 이와같이하면길고복잡한 MATLAB 프로그램을작성하여실행할수있고, 오류가발생하거나수정이필요한경우손쉽게수정하여실행할수있는장점이있으며,

More information

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D> VHDL 프로그래밍 D. 논리합성및 Xilinx ISE 툴사용법 학습목표 Xilinx ISE Tool 을이용하여 Xilinx 사에서지원하는해당 FPGA Board 에맞는논리합성과정을숙지 논리합성이가능한코드와그렇지않은코드를구분 Xilinx Block Memory Generator를이용한 RAM/ ROM 생성하는과정을숙지 2/31 Content Xilinx ISE

More information

KCC2011 우수발표논문 휴먼오피니언자동분류시스템구현을위한비결정오피니언형용사구문에대한연구 1) Study on Domain-dependent Keywords Co-occurring with the Adjectives of Non-deterministic Opinion

KCC2011 우수발표논문 휴먼오피니언자동분류시스템구현을위한비결정오피니언형용사구문에대한연구 1) Study on Domain-dependent Keywords Co-occurring with the Adjectives of Non-deterministic Opinion KCC2011 우수발표논문 휴먼오피니언자동분류시스템구현을위한비결정오피니언형용사구문에대한연구 1) Study on Domain-dependent Keywords Co-occurring with the Adjectives of Non-deterministic Opinion 요약 본연구에서는, 웹문서로부터특정상품에대한의견문장을분석하는오피니언마이닝 (Opinion

More information

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770> IT OOKOOK 87 이론, 실습, 시뮬레이션 디지털논리회로 ( 개정 3 판 ) (Problem Solutions of hapter 9) . T 플립플롭으로구성된순서논리회로의해석 () 변수명칭부여 F-F 플립플롭의입력 :, F-F 플립플롭의출력 :, (2) 불대수식유도 플립플롭의입력 : F-F 플립플롭의입력 : F-F 플립플롭의출력 : (3) 상태표작성 이면,

More information

Microsoft PowerPoint - VHDL02_full.ppt [호환 모드]

Microsoft PowerPoint - VHDL02_full.ppt [호환 모드] VHDL 프로그래밍 2. VHDL 언어사용해보기 한동일 학습목표 기존프로그래밍언어의간단한예를다룬다. VHDL 언어의간단한예를다룬다. 각언어의실제적인사용예를파악한다. 기존프로그래밍언어와비교되는 VHDL언어의차이점을이해한다. 엔티티선언의의미를파악한다. 아키텍처선언의의미를파악한다. VHDL 언어의문장구조를눈에익힌다. 디지털로직과이의 VHDL 표현과정을이해한다. 2/23

More information

Microsoft PowerPoint - es-arduino-lecture-03

Microsoft PowerPoint - es-arduino-lecture-03 임베디드시스템개론 : Arduino 활용 Lecture #3: Button Input & FND Control 2012. 3. 25 by 김영주 강의목차 디지털입력 Button switch 입력 Button Debounce 7-Segment FND : 직접제어 7-Segment FND : IC 제어 2 디지털입력 : Switch 입력 (1) 실습목표 아두이노디지털입력처리실습

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

USER GUIDE

USER GUIDE Solution Package Volume II DATABASE MIGRATION 2010. 1. 9. U.Tu System 1 U.Tu System SeeMAGMA SYSTEM 차 례 1. INPUT & OUTPUT DATABASE LAYOUT...2 2. IPO 중 VB DATA DEFINE 자동작성...4 3. DATABASE UNLOAD...6 4.

More information

45-51 ¹Ú¼ø¸¸

45-51 ¹Ú¼ø¸¸ A Study on the Automation of Classification of Volume Reconstruction for CT Images S.M. Park 1, I.S. Hong 2, D.S. Kim 1, D.Y. Kim 1 1 Dept. of Biomedical Engineering, Yonsei University, 2 Dept. of Radiology,

More information

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 26(11),

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Nov.; 26(11), THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. 2015 Nov.; 26(11), 985991. http://dx.doi.org/10.5515/kjkiees.2015.26.11.985 ISSN 1226-3133 (Print)ISSN 2288-226X (Online) Analysis

More information

Chap 6: Graphs

Chap 6: Graphs 그래프표현법 인접행렬 (Adjacency Matrix) 인접리스트 (Adjacency List) 인접다중리스트 (Adjacency Multilist) 6 장. 그래프 (Page ) 인접행렬 (Adjacency Matrix) n 개의 vertex 를갖는그래프 G 의인접행렬의구성 A[n][n] (u, v) E(G) 이면, A[u][v] = Otherwise, A[u][v]

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The 4 th Lecture 유명환 ( yoo@netplug.co.kr) 1 시간 (Time) 에대한정의 INDEX 2 왜타이머 (Timer) 와카운터 (Counter) 인가? 3 ATmega128 타이머 / 카운터동작구조 4 ATmega128 타이머 / 카운터관련레지스터 5 뻔뻔한노하우 : 레지스터비트설정방법 6 ATmega128

More information

untitled

untitled PMIS 발전전략 수립사례 A Case Study on the Development Strategy of Project Management Information System 류 원 희 * 이 현 수 ** 김 우 영 *** 유 정 호 **** Yoo, Won-Hee Lee, Hyun-Soo Kim, Wooyoung Yu, Jung-Ho 요 약 건설업무의 효율성

More information

Chapter 4. LISTS

Chapter 4. LISTS C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or

More information

歯DCS.PDF

歯DCS.PDF DCS 1 DCS - DCS Hardware Software System Software & Application 1) - DCS System All-Mighty, Module, ( 5 Mbps ) Data Hardware : System Console : MMI(Man-Machine Interface), DCS Controller :, (Transmitter

More information

Microsoft PowerPoint - AC3.pptx

Microsoft PowerPoint - AC3.pptx Chapter 3 Block Diagrams and Signal Flow Graphs Automatic Control Systems, 9th Edition Farid Golnaraghi, Simon Fraser University Benjamin C. Kuo, University of Illinois 1 Introduction In this chapter,

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

07.... 01V28.

07.... 01V28. National Election Commission 9 September S M T W T F S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23/30 24 25 26 27 28 29 11 November S M T W T F S 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

More information

Chap 6: Graphs

Chap 6: Graphs 5. 작업네트워크 (Activity Networks) 작업 (Activity) 부분프로젝트 (divide and conquer) 각각의작업들이완료되어야전체프로젝트가성공적으로완료 두가지종류의네트워크 Activity on Vertex (AOV) Networks Activity on Edge (AOE) Networks 6 장. 그래프 (Page 1) 5.1 AOV

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

Chap 6: Graphs

Chap 6: Graphs AOV Network 의표현 임의의 vertex 가 predecessor 를갖는지조사 각 vertex 에대해 immediate predecessor 의수를나타내는 count field 저장 Vertex 와그에부속된모든 edge 들을삭제 AOV network 을인접리스트로표현 count link struct node { int vertex; struct node

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

03-최신데이터

03-최신데이터 Database Analysis II,,. II.. 3 ( ),.,..,, ;. (strong) (weak), (identifying relationship). (required) (optional), (simple) (composite), (single-valued) (multivalued), (derived), (identifier). (associative

More information

thesis

thesis ( Design and Implementation of a Generalized Management Information Repository Service for Network and System Management ) ssp@nile nile.postech.ac..ac.kr DPE Lab. 1997 12 16 GMIRS GMIRS GMIRS prototype

More information

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월

지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., KOSPI200.,. * 지능정보연구제 16 권제 1 호 2010 년 3 월 지능정보연구제 16 권제 1 호 2010 년 3 월 (pp.71~92),.,.,., Support Vector Machines,,., 2004 5 2009 12 KOSPI200.,. * 2009. 지능정보연구제 16 권제 1 호 2010 년 3 월 김선웅 안현철 社 1), 28 1, 2009, 4. 1. 지능정보연구제 16 권제 1 호 2010 년 3 월 Support

More information

<4D F736F F F696E74202D20B1E2BCFAC1A4BAB8C8B8C0C72DB0E8C3F8C1A6BEEE2DC0CCC0E7C8EF2E BC0D0B1E220C0FCBFEB5D>

<4D F736F F F696E74202D20B1E2BCFAC1A4BAB8C8B8C0C72DB0E8C3F8C1A6BEEE2DC0CCC0E7C8EF2E BC0D0B1E220C0FCBFEB5D> Programmable Logic Device 설계특성 2006. 4. 6. 이재흥한밭대학교정보통신컴퓨터공학부 발표순서 1. PLD의개요및구조 2. CPLD/FPGA의구조 3. CPLD/FPGA 설계및검증방법 4. Embedded SW와 FPGA Design 질의 & 응답 2 ASIC vs PLD Standard ICs General-purpose processors,

More information

8-VSB (Vestigial Sideband Modulation)., (Carrier Phase Offset, CPO) (Timing Frequency Offset),. VSB, 8-PAM(pulse amplitude modulation,, ) DC 1.25V, [2

8-VSB (Vestigial Sideband Modulation)., (Carrier Phase Offset, CPO) (Timing Frequency Offset),. VSB, 8-PAM(pulse amplitude modulation,, ) DC 1.25V, [2 VSB a), a) An Alternative Carrier Phase Independent Symbol Timing Offset Estimation Methods for VSB Receivers Sung Soo Shin a) and Joon Tae Kim a) VSB. VSB.,,., VSB,. Abstract In this paper, we propose

More information

인문사회과학기술융합학회

인문사회과학기술융합학회 Vol.5, No.5, October (2015), pp.471-479 http://dx.doi.org/10.14257/ajmahs.2015.10.50 스마트온실을 위한 가상 외부기상측정시스템 개발 한새론 1), 이재수 2), 홍영기 3), 김국환 4), 김성기 5), 김상철 6) Development of Virtual Ambient Weather Measurement

More information

Microsoft PowerPoint - VHDL12_full.ppt [호환 모드]

Microsoft PowerPoint - VHDL12_full.ppt [호환 모드] VHDL 프로그래밍 12. 메모리인터페이스회로설계 한동일 학습목표 ROM 의구조를이해하고 VHDL 로구현할수있다. 연산식의구현을위해서 ROM 을활용할수있다. RAM 의구조를이해하고 VHDL 로구현할수있다. FIFO, STACK 등의용도로 RAM 을활용할수있다. ASIC, FPGA 업체에서제공하는메가셀을이용하여원하는스펙의메모리를생성할수있다. SDRAM 의구조를이해한다.

More information

그림 1 DC 마이크로그리드의구성 Fig. 1 Configuration of DC Micro-grid 그림 2 전력흐름도 Fig. 2 Power Flow of each component 그림 3 전력관리개념 Fig. 3 Concept of Energ Management Unit 1 Unit 2 Output Impedence z1 Output Impedence

More information

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp l Y ( X g, Y g ) r v L v v R L θ X ( X c, Yc) W (a) (b) DC 12V 9A Battery 전원부 DC-DC Converter +12V, -12V DC-DC Converter 5V DC-AC Inverter AC 220V DC-DC Converter 3.3V Motor Driver 80196kc,PWM Main

More information

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp RUF * (A Simple and Efficient Antialiasing Method with the RUF buffer) (, Byung-Uck Kim) (Yonsei Univ. Depth of Computer Science) (, Woo-Chan Park) (Yonsei Univ. Depth of Computer Science) (, Sung-Bong

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information

슬라이드 1

슬라이드 1 6-1 리스트 (list) 란순서를가진항목들을표현하는자료구조 리스트를구현하는두가지방법 배열 (array) 을이용하는방법 구현간단 삽입, 삭제시오버헤드 항목의개수제한 연결리스트 (linked list) 를이용하는방법 구현복잡 삽입, 삭제가효율적 크기가제한되지않음 6-2 객체 : n 개의 element 형으로구성된순서있는모임 연산 : add_last(list,

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

MVVM 패턴의 이해

MVVM 패턴의 이해 Seo Hero 요약 joshua227.tistory. 2014 년 5 월 13 일 이문서는 WPF 어플리케이션개발에필요한 MVVM 패턴에대한내용을담고있다. 1. Model-View-ViewModel 1.1 기본개념 MVVM 모델은 MVC(Model-View-Contorl) 패턴에서출발했다. MVC 패턴은전체 project 를 model, view 로나누어

More information

API 매뉴얼

API 매뉴얼 PCI-TC03 API Programming (Rev 1.0) Windows, Windows2000, Windows NT, Windows XP and Windows 7 are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations

More information

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석

학습영역의 Taxonomy에 기초한 CD-ROM Title의 효과분석 ,, Even the short history of the Web system, the techniques related to the Web system have b een developed rapidly. Yet, the quality of the Webbased application software has not improved. For this reason,

More information

슬라이드 1

슬라이드 1 CHAP 6: 큐 yicho@gachon.ac.kr 1 큐 (QUEUE) 큐 : 먼저들어온데이터가먼저나가는자료구조 선입선출 (FIFO: First-In First-Out) ( 예 ) 매표소의대기열 Ticket Box 전단 () 후단 () 2 큐 ADT 삽입과삭제는 FIFO 순서를따른다. 삽입은큐의후단에서, 삭제는전단에서이루어진다. 객체 : n 개의 element

More information

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

08년요람001~016

08년요람001~016 Challenge to the Greatness, Beautiful Leader 2008 2009 06 07 JANUARY 01 JUNE 06 FEBRUARY MARCH 02 03 JULY AUGUST 07 08 APRIL MAY 04 05 SEPTEMBER OCTOBER 09 10 2008 schooling schedule 08 09 2008 schooling

More information

#유한표지F

#유한표지F www.yuhan.ac.kr www.yuhan.ac.kr 대 학 요 람 2008 422-749 경기도 부천시 소사구 경인로 636(괴안동 185-34) Tel : 02)2610-0600 / 032)347-0600 유 한 대 학 대학요람 2008 2008 대학요람 설립자 유일한 박사의 숭고한 정신과 철학을 실천하는 대학 눈으로 남을 볼 줄 아는 사람은 훌륭한

More information

Chap06(Interprocess Communication).PDF

Chap06(Interprocess Communication).PDF Interprocess Communication 2002 2 Hyun-Ju Park Introduction (interprocess communication; IPC) IPC data transfer sharing data event notification resource sharing process control Interprocess Communication

More information

Service-Oriented Architecture Copyright Tmax Soft 2005

Service-Oriented Architecture Copyright Tmax Soft 2005 Service-Oriented Architecture Copyright Tmax Soft 2005 Service-Oriented Architecture Copyright Tmax Soft 2005 Monolithic Architecture Reusable Services New Service Service Consumer Wrapped Service Composite

More information

MR-3000A-MAN.hwp

MR-3000A-MAN.hwp ITS Field Emulator for Traffic Local Controller [ MR-3000A ] User's Manual MORU Industrial Systems. www.moru.com - 1 - 1. 개요 MR-3000A는교통관제시스템에있어서현장용교통신호제어기의개발, 신호제어알고리즘의개발및검증, 교통신호제어기생산 LINE에서의자체검사수단등으로활용될수있도록개발된물리적모의시험장치이다.

More information

제8장 자바 GUI 프로그래밍 II

제8장 자바 GUI 프로그래밍 II 제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

정보기술응용학회 발표

정보기술응용학회 발표 , hsh@bhknuackr, trademark21@koreacom 1370, +82-53-950-5440 - 476 - :,, VOC,, CBML - Abstract -,, VOC VOC VOC - 477 - - 478 - Cost- Center [2] VOC VOC, ( ) VOC - 479 - IT [7] Knowledge / Information Management

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 NuPIC 2013 2013.11.07~11.08 충남예산 FPGA 기반제어기를위한통합 SW 개발환경구축 유준범 Dependable Software Laboratory 건국대학교 2013.11.08 발표내용 연구동기 효과적인 FPGA 기반제어기를위한통합 SW 개발환경 연구진행현황 개발프로세스 FBD Editor FBDtoVerilog 향후연구계획 맺음말 2

More information

디지털 ASIC 설계 (1주차) MAXPLUS II 소개 및 사용법

디지털 ASIC 설계    (1주차)  MAXPLUS II  소개 및 사용법 디지털 ASIC 설계 (1 주차 ) MAXPLUS II 소개및사용법 신흥대학전자통신과김정훈 jhkim@shc.ac.kr 차례 1. Why Digital 2. Combinational logic ( 조합회로 ) 소개 3. Sequential logic ( 순차회로 ) 소개 4. MAX+PLUSII 소개 5. MAX+PLUSII Tools 설계환경 6. 예제소개

More information

02 _ The 11th korea Test Conference The 11th korea Test Conference _ 03 03 04 06 08 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 34

02 _ The 11th korea Test Conference The 11th korea Test Conference _ 03 03 04 06 08 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 34 The 11th Korea Test Conference June 29, 2010 TEL : (02) 313-3705 / FAX : (02) 363-8389 E-mail : info@koreatest.or.kr http://www.koreatest.or.kr 02 _ The 11th korea Test Conference The 11th korea Test Conference

More information

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < >

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < > . 변수의수 ( 數 ) 가 3 이라면카르노맵에서몇개의칸이요구되는가? 2칸 나 4칸 다 6칸 8칸 < > 2. 다음진리표의카르노맵을작성한것중옳은것은? < 나 > 다 나 입력출력 Y - 2 - 3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < > 2 2 2 2 2 2 2-3 - 5. 다음진리표를간략히한결과

More information