Microsoft PowerPoint - DSD02_verilog2b.pptx

Size: px
Start display at page:

Download "Microsoft PowerPoint - DSD02_verilog2b.pptx"

Transcription

1 한국기술교육대학교 장영조

2 한국기술교육대학교전기전자통신공학부 2

3 1. 구조적모델링 1. 모듈인스턴스와포트사양 2. 프리미티브게이트 3. 게이트지연시간 4. 파라미터 5. 인스턴스배열 6. generate 블록 2. 데이터플로우모델링 1. 연속할당문 2. 할당지연 3. 동작적모델링 1. 절차형블록 2. 절차형할당문 3. if~else문 4. case 문 5. 반복문 6. 태스크와함수 한국기술교육대학교전기전자통신공학부 3

4 할당문 연속할당문 : net 형객체에값을할당 assign 문 continuous_assign ::= assign [driving_strength] [delay] net_assignments; 절차형할당문 : variable 형객체에값을할당 always 블록, initial 블록, task, function 내부의할당문 blocking 할당문 : 할당기호 = 을사용 nonblocking 할당문 : 할당기호 <= 을사용 절차형연속할당문 (Procedural Continuous Assignment; PCA) assign - deassign 문, force - release 문 한국기술교육대학교전기전자통신공학부 4

5 할당문좌변의형태 할당문형태 연속할당 절차형할당 좌변 (Left-hand Side; LHS) Net (vector or scalar) Constant bit select of a vector net Constant part select of a vector net Constant indexed part select of a vector net Concatenation of any of the above four LHS Variables (vector or scalar) Bit-select of a vector reg, integer, or time variable Constant part select of a vector reg, integer, or time variable Memory word Indexed part select of vector reg, integer, or time variable Concatenation of regs; bit or part selects of regs 한국기술교육대학교전기전자통신공학부 5

6 assign 문을이용하여 net 형객체에값을할당 우변의값에변화 (event) 가발생했을때좌변객체에값의할당이일어남 단순한논리표현을이용한조합논리회로모델링에이용 암시적 (implicit) 연속할당문 net 선언문에연속할당문을포함시킨경우 wire mynet = enable & data; wire mynet; assign mynet = enable & data; 암시적연속할당문 명시적연속할당문 assign na = ~(in1 & in2); // 2 input NAND assign out = (sel==1)? d1 : d0; // 2-to-1 MUX assign carry = (cnt10==4 h9); assign sum = a + b; // 덧셈회로 module adder (sum_out, carry_out, carry_in, ina, inb); output wire [3:0] sum_out; output wire carry_out; input [3:0] ina, inb; 연속할당문을이용한 4비트가산기 input carry_in; assign {carry_out, sum_out} = ina + inb + carry_in; module 한국기술교육대학교전기전자통신공학부 6

7 예제 연속할당문 wire mem_we; assign mem_we = cs & wr; // 명시적연속할당 wire mem_rd = cs & rd; // 암시적연속할당 assign #10 out = in1 & in2; // 지연연속할당 assign #12 {c, sum} = a + b + cin; // 좌변비트결합 assign mux_out = (sel) : in1? in2; // 2 input MUX assign tc = (count == 4'h9); // 터미널카운팅 assign high_byte = data[15:8]; // 비트슬라이스우변 예제 연속할당문을사용한조합회로 assign mux4 = B? (C? i3 : i2) : (C? i1 : i0); // 4 to 1 mux, 조건연산자 assign total = (A + B) + C ; // adder, 산술연산자 assign sum = (A^B) ^C ; // sum, 논리연산자 assign carry = (A&B) (B&C) (C&A) ; // 캐리, 논리연산자 (1비트) assign agtb = (A>B); // 비교기, 관계연산자 assign aeqb = (A==B); // 비교기, 등가연산자 assign altb = (A<B); // 비교기, 관계연산자 한국기술교육대학교전기전자통신공학부 7

8 code add_ap.v, 연속할당문을사용한가산기 module add_ap (a, b, res); parameter size = 8; input [size-1:0] a, b; output wire [size:0] res; assign res = a + b; // res[size] 는캐리 module code add_sub.v, 연속할당문을사용한가감산기 module add_sub ( x, y, mode, res, ovf ); parameter size = 12; input [size-1:0] x, y; input mode; output wire [size-1:0] res; output wire ovf; assign {ovf, res} = mode? (x - y) : (x + y); module 한국기술교육대학교전기전자통신공학부 8

9 정규지연 - 연속할당문의지연값지정 assign 뒤에지연연산자 (#) 를사용하여지정 우변피연산자값의변화가좌변에할당되기까지의시간간격지정 wire out1; assign #10 out1 = in1 & in2; 암시적할당 wire #10 out1 = in1 & in2; // 선언과지연할당을같이 net 지연 - net 선언문에서지연값을지정 지정된 net 지연이경과한후에할당이이루어짐 해당 net 를구동하는모든구동자 ( 게이트프리미티브, 연속할당문등 ) 에영향을미침 wire #10 out1; assign out1 = in1 & in2; 한국기술교육대학교전기전자통신공학부 9

10 Verilog HDL 의 default 지연 지정된지연값보다입력신호의변화폭이작은경우, 입력신호의변화가출력에영향을미치지않음 관성지연은게이트수준모델링에도동일하게적용 code inertial.v, 관성지연 `timescale 1ns/1ns module inertial; reg a, b; wire out1, out2; assign #10 out1 = a b; assign #30 out2 = a & b; initial begin a = 0; b = 0; #50 a = 1; b = 0; #50 a = 1; b = 1; #20 a = 0; b = 0; #40 a = 1; b = 1; #50 a = 0; b = 0; module 한국기술교육대학교전기전자통신공학부 10

11 조합논리회로, 순차논리회로의설계, 테스트벤치의작성에사용 always 구문, initial 구문, task, function 내부에사용 설계의추상화가가장높다. 구체적인회로의구조를생성하기위한합성기의지원필요 합성기의성능에따라회로의구조나성능차이 설계자가정확한모델링을하여야한다. 절차형블록인 initial 과 always 블록사용 한개혹은여러개의절차형블록사용 블록상호간의실행은동시적 (concurrent) 이며병렬적 블록내부의동작적문장은순차적실행 절차형할당문 절차형블록내에서의할당문 블록킹 (blocking) 할당문 논블록킹 (non-blocking) 할당문 조건적인실행 if~else 문 case 문 반복적인실행 for, repeat, while, forever initial begin m=2; n=10; p=3; always begin a <=m+n; if (a>10) d <= a << 2; always begin if (p) k = a ; else k = d;.. 한국기술교육대학교전기전자통신공학부 11

12 절차형블록내부의문장은기술순서대로실행 시뮬레이션에서블록내부의시행은 time 0 에서시작 한국기술교육대학교전기전자통신공학부 12

13 code pro_blk1.v, 절차형블록실행흐름 `timescale 1ns/1ns module pro_blk1; reg a=0, b=0; reg c=0, d=0; initial begin #10 a = ~a; b = ~a; always begin #10c=~c;d=~c; module 한국기술교육대학교전기전자통신공학부 13

14 code pro_blk2.v, 절차형블록실행흐름 `timescale 1ns/1ns module pro_blk2; reg a, b, c, d; initial begin a=1; b=0; c=1; d=0; #40 $stop; initial begin #5 a = 0; b = 1; #15 a = 1; b = 0; 시간 (ns) 실행문 0 a=1,b=0,c=1,d=0 5 a=0,b=1 10 c=0 15 d=1 20 a=1,b=0 30 d=0,c=1 40 $stop initial begin #10 c = 0; #5 d = 1; #15 d = 0; c = 1; module 한국기술교육대학교전기전자통신공학부 14

15 module behave; reg a, b; 주기신호의생성 initial begin a = 1'b1; b = 1'b0; always #50 a = ~a; // 초기값지정 // 주기신호생성 always // 주기신호생성 #100 b = ~b; module 한국기술교육대학교전기전자통신공학부 15

16 initial 구문 시뮬레이션이실행되는동안한번만실행 시작실행시간은 0 시간 initial begin blocking_or_nonblocking statements; 절차형문장들로구성되며, 문장이나열된순서대로실행 논리합성이지원되지않으므로시뮬레이션을위한테스트벤치에사용 initial begin din = 6'b000000; // initialize at time zero #10 din = 6'b011001; // first pattern #10 din = 6'b011011; // second pattern #10 din = 6'b011000; // third pattern #10 din = 6'b001000; // last pattern 한국기술교육대학교전기전자통신공학부 16

17 always 블록 조합회로혹은순차회로의모델링 always 구문 always begin blocking_or_nonblocking (sensitivity_list) - always 문의실행을제어 sensitivity_list ( 감지신호목록 ) 에나열된신호들중하나이상에변화 (event) 가발생했을때 always 내부에있는 begin- 블록의실행이트리거됨 begin- 블록은절차형문장들로구성 blocking 할당문또는 nonblocking 할당문에따라실행방식이달라짐 시뮬레이션이진행되는동안무한히반복실행됨 한국기술교육대학교전기전자통신공학부 17

18 sensitivity_list 의사용 조합회로모델링 always 구문으로모델링되는회로의입력신호가모두나열되어야함 일부신호가감지신호목록에서빠지면, 합성이전의 RTL 시뮬레이션결과와합성후의시뮬레이션결과가다를수있음 함축적감지신호표현 을사용가능 (m, n) or b or c or d or f) y =(a & b) (c & d) f; 순차회로모델링 동기식셋 / 리셋을갖는경우 : 클록신호만포함 비동기식셋 / 리셋을갖는경우 : 클록신호, 셋, 리셋신호를포함 (posedge clk) (negedge clk or posedge rst) 한국기술교육대학교전기전자통신공학부 18

19 code shifter.v, 좌우이동및로드기 능이있는레지스터 module shifter(reset, clk, load, sl, sr, d, q); input reset, clk, load, sl, sr; input [7:0] d; output [7:0] q; reg [7:0] q; reset or posedge clk ) if (!reset) q <= 0; // 비동기리셋 else if (load) q <= d; // 동기형로드 else if (sl) q <= q << 1; // 왼쪽이동 else if (sr) q <= q >> 1; // 오른쪽이동 module 예제 감지신호목록의사용 a = repeat (posedge clk) x&y; // x&y 연산후 clk5 개의양의에지후 a 에전달 (*) // 조합회로의모든입력을감지신호목록에포함 (a, b, c ) // a or b or c 와동일표현 (posedge reset, negedge clk) // 동기형회로, 음의에지 clk 와 // 비동기 reset=1 에서활성화 (x[3:0]) // 벡터신호사용 ( {a,b} ) // 결합신호사용 한국기술교육대학교전기전자통신공학부 19

20 code mux2t1_bad.v, 감지신호목록에일부신호가빠진경우 감지신호목록에 sel 미포함 - 출력 y 의오동작 module mux2t1_bad(a, b, sel, y); input a, b, sel; output y; reg y; or b) // sel 미포함 if(~sel) y = a; else y = b; module 감지신호목록에 sel 포함 한국기술교육대학교전기전자통신공학부 20

21 동기리셋 비동기리셋 code dff4_srst.v, 동기리셋을가진 D 레지스터 code dff4_arst.v, 비동기리셋을가진 D 레지스터 module dff4_srst(rst, clk, d, q); input rst, clk; input [3:0] d; output [3:0] q; reg [3:0] q; clk) if (rst) q <= 0; // 동기리셋 else q <= d; module module dff4_arst(rst, clk, d, q); input rst, clk; input [3:0] d; output [3:0] q; reg [3:0] q; rst, posedge clk) if (rst) q <= 0; // 비동기리셋 else q <= d; module 위두개의코드에대한동작을비교하기위한테스트벤치를작성하고시뮬레이션으로그동작을확인하시오. 한국기술교육대학교전기전자통신공학부 21

22 always 구문이테스트벤치에사용되는경우 시뮬레이션시간의진행에관련된제어가포함되어야함 그렇지않으면 zero-delay 무한루프 (infinite loop) 가발생되어교착상태 (deadlock) 에빠지게되어시뮬레이션이진행되지않음 always clk = ~clk; // zero-delay infinite loop always #50 clk = ~clk; // 주기가 100ns 인신호 clk 생성 한국기술교육대학교전기전자통신공학부 22

23 절차형블록내부에서사용하는할당문 절차형할당문에의해값이갱신될때까지변수에할당된값을유지 할당문의좌변은 reg, integer, real, time 등의레지스터변수사용 always, initial, task, function 등의프로시저 (procedure) 내부에서사용 문장이나열된순서대로실행 (execute) 되어할당문좌변의변수값을갱신하는소프트웨어적특성 우변수식의 event 발생과는무관 할당문들의순서가시뮬레이션결과에영향을미칠수있음 연속할당 : 피연산자값에변화 (event) 가발생할때마다우변의식이평가되고, 그결과값이좌변의 net를구동 (drive) 하는하드웨어적특성과차이가있음. Blocking 할당문 할당기호 = 을사용 Nonblocking 할당문 할당기호 <= 을사용 암시적변수할당문 variable 선언문에서 variable 에대한초기값을설정 배열에대한함축적변수할당은허용되지않음 한국기술교육대학교전기전자통신공학부 23

24 module proc_assignment(a, b, c, clk, out); input a, b, clk; output out; reg out, c; clk) begin c = a & b; // blocking assignment out <= c; // nonblocking assignment module // 암시적변수초기값할당, 하드웨어가아닌시뮬레이션용도 reg[3:0] areg = 4'h4; // 위와동일한할당 reg[3:0] areg; initial areg = 4'h4; 한국기술교육대학교전기전자통신공학부 24

25 reg_lvalue = [delay_or_event_operator] expression; begin~ 사이에기술된문장의순서대로순차적인할당 각문장의할당에대한실행이완료된후다음문장으로제어가넘어간다. 블록문내에서시뮬레이션실행의시간제어가있을경우, 시간값은블록문내에서누적 initial begin rega = 0; // reg형변수에대한할당 regb[3] = 1; // 단일비트에대한할당 regc[3:5] = 7; // 부분비트에대한할당 {carry, acc} = rega + regb; // 결합에대한할당 한국기술교육대학교전기전자통신공학부 25

26 reg_lvalue <= [delay_or_event_operator] expression; begin~ 사이에기술된문장의순서와는다르게병렬적인할당 나열된할당문들의순차적인할당에대한블록킹없이정해진할당스케줄 (assignment scheduling) 에의해좌변할당 각문장의할당이끝나기를기다리지않고다음문장으로제어가넘어간다. 논블록킹할당문은할당문의우변을 read 혹은평가하는것과출력변수인좌변에 write 혹은할당하는것이분리된다. 우변의평가는 " 지금 (now)" 이루어지지만좌변에전달 (update) 되는것은 " 나중 (future)" 에이루어진다. 즉, 우변은블록문의실행이시작될때동시에평가된후, 문장의나열순서또는지정된지연값에따른할당스케줄에의해좌변의값이갱신 한국기술교육대학교전기전자통신공학부 26

27 code nblk1.v, intra 지연할당예 `timescale 1ns/1ns module nblk1; rega,b,c,d,e,f; // intra 지연을가진블로킹할당 initial begin a=#15 1; //15ns에서a에1 할당 b = #3 0; // 18 ns에서 b에 0 할당 c = #6 1; // 24 ns에서 c에 1 할당 //intra 지연을가진논블로킹할당 initial begin d <= #15 1; // 15 ns에서 d에 1 할당 e<=#3 0; //3ns에서e에0 할당 f <= #6 1; // 6 ns에서f에1 할당 module 한국기술교육대학교전기전자통신공학부 27

28 code nblk2.v, regular 지연할당예 `timescale 1ns/1ns module nblk2; reg a, b, c, d, e, f; // regular 지연을가진블로킹할당 initial begin #15 a = 1; // 15 ns 에서 a 에 1 할당 #3 b = 0; // 18 ns 에서 b 에 0 할당 #6 c = 1; // 24 ns 에서 c 에 1 할당 // regular 지연을가진논블로킹할당 initial begin #15 d <= 1; // 10 ns 에서 d 에 1 할당 #3 e <= 0; // 18 ns 에서 e 에 0 할당 #6 f <= 1; // 24 ns 에서 f 에 1 할당 module 한국기술교육대학교전기전자통신공학부 28

29 code nblk3.v, 블록킹할당예 code nblk4.v, 논블록킹할당예 module nblk3; reg [7:0] y1, y2; reg [3:0] a, b; reg clk; initial begin a = 5; b = 9; clk = 0; always clk = #10 ~clk; clk) begin y1 = a + b; // y1=14 y2 = y1 + a; module // y2=19 즉시할당 module nblk4; reg [7:0] y1, y2; reg [3:0] a, b; reg clk; initial begin a = 5; b = 9; clk = 0; always clk = #10 ~clk; clk) begin y1 <= a + b; // y1= 14, 14 y2 <= y1+ a; module // y2= x, 19, 지연할당 한국기술교육대학교전기전자통신공학부 29

30 절차형할당문을사용한디지털시스템모델링가이드 조합회로 - 블록킹할당문사용 순차회로 - 논블록킹할당문사용 하나의 initial 혹은 always 블록내부에서는블록킹과논블록킹할당문을섞어서사용하지말것 블록킹할당문은기술된순서에따라그실행의결과가매우달라지므로순서에유의할것 한국기술교육대학교전기전자통신공학부 30

31 code pipe1.v, 블록킹할당레지스터 code pipe2.v, 논블록킹할당레지스터 module pipe1 (clk, d, q3); input clk; input [3:0] d; output [3:0] q3; reg [3:0] q3, q2, q1; clk) begin q1 = d; q2 = q1; q3 = q2; module q3 = q2; q2 = q1; q1 = d; module pipe2 (clk, d, q3); input clk; input [3:0] d; output [3:0] q3; reg [3:0] q3, q2, q1; clk) begin q1 <= d; q2 <= q1; q3 <= q2; module pipe2 모듈의합성결과 pipe1 모듈의합성결과 한국기술교육대학교전기전자통신공학부 31

32 code acc_m.v, 조합회로와순차회로의혼합블록인누산기 code acc_s.v, 조합회로와순차회로의분리된블록인누산기 module acc_m (clk, reset, a, b, ci, acc); input ci, clk, reset; input [3:0] a, b; output [4:0] acc; reg [4:0] acc; // 조합회로와순차회로의혼합 ( negedge reset or posedge clk) if (~reset) acc <= 5'b0; else acc <= a + b + ci; module module acc_s(clk, reset, a, b, ci, acc); input ci, clk, reset; input [3:0] a, b; output [4:0] acc; reg [4:0] acc; reg co; reg [3:0] sum; // 레지스터순차회로 ( negedge reset or posedge clk) if (~reset) acc <= 5'b0; else acc <= {co, sum}; or b or ci) // 가산기조합회로 {co, sum} = a + b + ci; module 한국기술교육대학교전기전자통신공학부 32

33 if(expression) statement_true; [else statement_false;] 조건식이참 (0이아닌값 ) 이면, statement_true 부분실행 조건식이거짓 (0, x, z) 이면, statement_false 부분실행 else 부분이없으면, 변수는이전에할당받은값을유지 (latch 동작 ) if 문의내포 (nested) ( 즉, if 문내부에또다른 if 문이있는경우 ) if 문내부에하나이상의 else 문장이생략되는경우, 내부의 else 문은이전의가장가까운 if와결합됨 각조건에서두개이상의실행문을포함하면 begin~로묶는다. nested if if ( a ) if ( x > y) max = x; else max = y; // IF-1 // IF-2 // else of the IF-2 if ( a ) begin if ( x > y) max = x; else max = y; // IF-1 // IF-2 // else of the IF-1 한국기술교육대학교전기전자통신공학부 33

34 code mux4t1_b.v, if~else 문을사용한 4-to-1 mux module mux4t1_b (sel, in, y); input [1:0] sel; input [3:0] in; output y; reg y; * if (sel==2'b11) y = in[3]; // 조합회로, 블록킹할당 else if (sel==2'b10) y = in[2]; else if (sel==2'b01) y = in[1]; else y = in[0]; module 한국기술교육대학교전기전자통신공학부 34

35 code dec3t8_b.v, if~else 문을사용한 3-to-8 decoder module dec3t8_b (en, in, y); input en; input [2:0] in; output [7:0] y; reg [7:0] y; (en, in) begin y = 8'b0; // 모든출력비트를먼저 0으로만든다. if (en) if ( in == 3'b111) y[7] = 1'b1; // 조합회로, 블록킹할당 else if ( in == 3'b110) else if ( in == 3'b101) else if ( in == 3'b100) else if ( in == 3'b011) else if ( in == 3'b010) else if ( in == 3'b001) else else y = 8'b0; module y[6] = 1'b1; y[5] = 1'b1; y[4] = 1'b1; y[3] = 1'b1; y[2] = 1'b1; y[1] = 1'b1; y[0] = 1'b1; en in x x x y 한국기술교육대학교전기전자통신공학부 35

36 code lt_if.v, latch module lt_if (g, d, q); input g, d ; output q; reg q; (g, d) if (g==1) q = d; // no else, latch 생성 module if~else 문에서 else 가생략되면래치가생성된다 (unwanted latch). 조합회로에서는이를피하기위해서는반드시완전한 if~else 의매칭이이루어져야한다. 한국기술교육대학교전기전자통신공학부 36

37 code dff_arl_b.v, 비동기리셋과동기형로드를가진 D 레지스터 module dff_arl_b (rst, ld, clk, d, q); parameter size = 4; input rst, ld, clk; input [size-1: 0] d; output [size-1: 0] q; reg [size-1: 0] q; (negedge rst or posedge clk) if (~rst) q <= { size{ 1'b0} }; // 비동기리셋, 논블록킹할당 else if (ld) q <= d; // 동기형 load else q <= q; // hold module 한국기술교육대학교전기전자통신공학부 37

38 다중 (multi-way) 선택문 case(expression) case_item {, case_item} : statement_or_null; default [:] statement_or_null; case case 조건식의값과일치하는 case_item 의문장실행 조건식은각비트가 0, 1, x, z 를포함하여정확히같은경우에만일치로판단 조건식과모든 case_item 의비트크기는큰쪽에맞추어진다. case_item 의비교는열거된순서에따라서평가 case 조건식이 case_item 중하나와일치되면해당 case_item의문장이실행되고더이상의비교는하지않는다. 가장먼저검사되는 case_item의우선순위가가장높다. case_item들에대한비교에서일치되는항이없는경우에는 default 항실행 default 항이없으면변수는이전에할당받은값을유지 래치생성 하나의 case 문에서여러개의 default를사용할수없다. 각조건에서두개이상의실행문을포함하면 begin~로묶는다. case 문은중첩가능 casex z 와 x 를비교에서 don t care로처리 casez - z 를비교에서 don t care로처리 한국기술교육대학교전기전자통신공학부 38

39 code `timescale 1ns/1ns module case_sim ; reg [3:0] encode; integer ca1, ca2; initial begin encode = 0; #10 encode = 4'bxxxx; #10 encode = 4'b01xz; #10 encode = 4'b1xxx; #10 encode = 4'bx1xx; #10 encode = 4'b1111; #10 encode = 4'b0001; #10 encode = 4'b0xx0; #10 encode = 4'bx0xx; #10 encode = 4'b0010; #10 $stop; case_sim.v, case 문의실행비교 begin casex (encode) 4'b1xxx : ca1 = 4; 4'b01xx : ca1 = 3; 4'b001x : ca1 = 2; 4'b0001 : ca1 = 1; default : ca1 = 5; case case(encode) 4'b1xxx : ca2 = 4; 4'bx1xx : ca2 = 3; 4'bxx1x : ca2 = 2; 4'bxxx1 : ca2 = 1; default : ca2 = 5; case module 한국기술교육대학교전기전자통신공학부 39

40 code pri_enc.v, casex 을사용한우선순위인코더 module pri_enc(ain, enc); input [3:0] ain; output [1:0] enc; reg [1:0] enc; ain ) begin casex ( ain ) 4'b1xxx : enc = 2'b11; 4'b01xx : enc = 2'b10; 4'b001x : enc = 2'b01; 4'b0001 : enc = 2'b00; default : enc = 2'b00; // no valid input case module 한국기술교육대학교전기전자통신공학부 40

41 code sseg10.v, bcd to 7 세그먼트디코더 module sseg10 ( input [3:0] bcd, output reg [7:1] seg ); case(bcd) // LED gfedcba CC형 4'b0000: seg = 7'b ; // 0 4'b0001: seg = 7'b ; // 1 4'b0010: seg = 7'b ; // 2 4'b0011: seg = 7'b ; // 3 4'b0100: seg = 7'b ; // 4 4'b0101: seg = 7'b ; // 5 4'b0110: seg = 7'b ; // 6 4'b0111: seg = 7'b ; // 7 4'b1000: seg = 7'b ; // 8 4'b1001: seg = 7'b ; // 9 default: seg = 7'b ; // "-" for invalid code case module 한국기술교육대학교전기전자통신공학부 41

42 for ( initial_assignment; expression; step_assignment ) statement or statement group while ( expression ) statement or statement group repeat ( number ) statement or statement_group forever statement or statement_group for 문 : 반복횟수를제어하는변수에의해문장이반복실행 while 문 : 조건식의값이거짓이될때까지문장이반복실행 조건식의초기값이거짓이면문장은실행되지않음 repeat 문 : 지정된수만큼문장이반복실행 반복횟수를나타내는수식이 x 또는 z로평가되면반복횟수는 0이되고, 문장은실행되지않음 forever 문 : 문장이무한히반복적으로실행 한국기술교육대학교전기전자통신공학부 42

43 예제 반복문사용예 // forever loop initial begin // 100 후에시작하는 50 주기파형생성 clk = 0; #100 forever #25 clk = ~clk; // while loop initial begin count1 = 0; while(count1 < 64) begin $display("while loop count = %d", count1); count1 = count1 + 1; // for loop initial for (count2=0; count2<64; count2=count2+1) $display (" for loop count = %d", count2); // repeat loop initial begin count3 = 0; repeat (64) begin $display ("repeat loop count = %d", count3 ); count3 = count3 + 1; 한국기술교육대학교전기전자통신공학부 43

44 병렬적하드웨어생성 code for_lp.v, 단순한게이트회로 module for_lp (a, b, out); input [3:0] a, b; output [3:0] out; reg [2:0] i; // 루프 index, 비트수지정 reg [3:0] out; wire [3:0] a, b; begin for (i = 0; i <= 3; i = i + 1) out[i] = a[i] ^ b[i]; // 4 비트 xor 게이트생성 module 한국기술교육대학교전기전자통신공학부 44

45 code mult_sadd.v, shift-add 반복동작을이용한곱셈기 module mult_sadd(m, n, prod); parameter size=8, psize=size * 2; input [size-1:0] m, n; // m : 피승수, n : 승수 output [psize-1:0] prod; reg [size-1:0] sh_n; reg [size:0] pp; integer i; assign prod = {pp[size-1:0], sh_n}; // 곱셈출력 * begin sh_n = n; // 승수시프트레지스터 pp = 0; // 부분곱초기화 for (i=0; i <size; i = i+1) begin if (sh_n[0]) pp = pp + m; // 부분곱 sh_n = {pp[0], sh_n[size-1:1]}; // 오른쪽이동, 부분곱의낮은자리저장 pp = {1'b0, pp[size:1]} ; // 오른쪽순환 module 한국기술교육대학교전기전자통신공학부 45

46 mult_sadd 의 RTL 합성회로 한국기술교육대학교전기전자통신공학부 46

47 code add_cla.v, 캐리예견회로 (CLA) 를가진가산기 module add_cla(a, b, ci, co, s); input [3:0] a, b; input ci; output wire co; output wire [3:0] s; reg [3:0] carrychain; integer i; wire [3:0] p = a ^ b; // propagation stage wire [3:0] g = a & b; // generation stage wire [4:0] shiftcarry = {carrychain, ci}; wire [3:0] s = p ^ shiftcarry[3:0]; // 합 wire co = shiftcarry[4]; // 최종단캐리 or b or ci or g or p) begin // cla 회로 carrychain[0] = g[0] + (p[0] & ci); // 첫번째캐리예견 for (i = 1; i <= 3; i = i + 1) carrychain[i] = g[i] + (p[i] & carrychain[i-1]); module 한국기술교육대학교전기전자통신공학부 47

48 task 와함수 반복되는행위수준모델링부분을독립된코드의 task나함수 (function) 로정의하고, 이들을호출하여사용 규모가큰행위수준모델링을작은부분들로분할하여 task 또는함수로표현함 장점 소스코드의가독성 (readability) 과디버깅을용이하게함 종류 사용자정의 task, 함수 시스템 task, 함수 한국기술교육대학교전기전자통신공학부 48

49 function 적어도 1 개이상의 input 인수가필요 output, inout 인수를가질수없음 항상 1 개의결과값을 return 함 함수명을통해값을 return zero delay 를갖는조합회로구현 다른 function 호출가능 (task 는불가 ) zero simulation delay delay, event, timing control 문포함불가 task 0 개이상의 input, output, inout 인수포함 값을 return 하지않을수있음 output, inout 을통해다수개의값을 return delay, timing, event를갖고, multiple output을반환하는 source code에적용가능 task의 I/O에정의되지않은 module 내 reg로선언된변수 access 가능 다른 task 나 function 호출가능 non-zero simulation time 수행가능 delay, event, timing control 문포함가능 variable 자료형만가질수있으며, net 자료형은가질수없음 assign 문, 게이트프리미티브와모듈인스턴스는사용할수없음 initial 문과 always 문을포함할수없음 behavioral 문만포함가능함 한국기술교육대학교전기전자통신공학부 49

50 함수의정의 function [size_or_type] function_name; input declarations local variable declarations procedural_statement or statement_group function [size_or_type] 함수결과값의속성및범위지정 : [signed][range_type] 별도의지정이없으면, default 로 1 비트 reg 형이됨 함수가정의되면함수이름과동일한이름의변수가함수내부에선언됨 함수가정의되는영역에서함수이름과동일한이름의다른객체를선언하는 것이허용되지않음 한국기술교육대학교전기전자통신공학부 50

51 함수의규칙 함수는적어도하나이상의입력인수를포함해야한다. 함수는 output과 inout으로선언된어떠한인수도가질수없다. 함수는시간제어문장을가질수없다. 함수내부의어떠한구문도타이밍제어 또는 wait 등 ) 를포함할수없다. 함수는 task를호출할수없다. 함수는함수이름과동일한이름의내부변수에함수의결과값을할당하는문장을포함한다. 함수는 nonblocking 할당을가질수없다. 조합회로에사용 함수의호출 함수이름과입력인수사용 한국기술교육대학교전기전자통신공학부 51

52 예제 함수예 function [7:0] GetByte; // 함수정의 input [63:0] word; // 선언순서는호출모듈에서인수순서와동일 input [3:0] bytenum; integer bit; reg [7:0] temp; begin for (bit=0; bit<=7; bit=bit+1) temp[bit] = word[((bytenum-1)*8)+bit]; GetByte = temp; // 함수반환값, 함수이름과동일 function // 함수호출예 this_byte = GetByte(data, 4); 한국기술교육대학교전기전자통신공학부 52

53 code fshift.v, 함수를사용한시프터모델링 module fshift (data, direct, mode, result); input [7:0] data; input direct, mode; output [7:0] result; wire [7:0] result; assign result = (mode)? (rotate(data, direct)): (shift (data, direct)); function [7:0] shift; input [7:0] data; input direct; shift = (direct == 1)? (data >> 1) : (data << 1); function function [7:0] rotate; input [7:0] data; input direct; rotate = (direct)? {data[0], data[7:1]} : {data[6:0], data[7]}; function module 한국기술교육대학교전기전자통신공학부 53

54 task 의정의 task task_name; input, output, and inout declarations local variable declarations procedural_statement or statement_group task 인수가없거나 input, output 및 inout 의어떤종류의인수도사용가능 태스크호출시정의에서사용한순서로인수전달 태스크내부에 혹은 wait 와같은시간제어연산자사용가능 조합회로, 순차회로, 테스트벤치에사용 한국기술교육대학교전기전자통신공학부 54

55 code bit_count.v 태스크를사용하여 1 의개수카운트 module bit_count (clk, data, bnbr); input clk; input [15:0] data; output [4:0] bnbr; reg [4:0] bnbr; ( posedge clk) count_ones( data, bnbr); task count_ones; input [15:0] din; output [4:0] count; reg [4:0] count; reg [4:0] i; // loop index begin count = 0; for (i=0; i<16; i=i+1) if (din[i]) count = count + 1; // 1 count task 한국기술교육대학교전기전자통신공학부 55

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

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

Microsoft PowerPoint - DSD03_verilog3a.pptx

Microsoft PowerPoint - DSD03_verilog3a.pptx 한국기술교육대학교 장영조 한국기술교육대학교전기전자통신공학부 2 1. 조합회로설계 2. 순차회로설계 3. FSM 회로설계 4. ASM 을사용한설계 한국기술교육대학교전기전자통신공학부 3 조합논리회로의형태와설계에사용되는 Verilog 구문 조합논리회로의형태 조합논리회로설계에사용되는 Verilog 구문 논리합성이지원되지않는 Verilog 구문 논리게이트 Multiplexer

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

wire [n-1:0] a, b, c, d, e, f, g, h; wire [n-1:0] x; // internal wires wire [n-1:0] tmp0, tmp1, tmp2, tmp3, tmp4, tmp5; mux_2to1 mux001 (.x(tmp0),.a(a

wire [n-1:0] a, b, c, d, e, f, g, h; wire [n-1:0] x; // internal wires wire [n-1:0] tmp0, tmp1, tmp2, tmp3, tmp4, tmp5; mux_2to1 mux001 (.x(tmp0),.a(a [2010 년디지털시스템설계및실험중간고사 1 답안지 ] 출제 : 채수익 Verilog 문법채점기준 ( 따로문제의채점기준에명시되어있지않아도적용되어있음 ) (a) output이 always 문에서사용된경우, reg로선언하지않은경우 (-1 pts) (b) reg, wire를혼동하여사용한경우 (-1 pts) (c) always @( ) 에서모든 input을 sensitivity

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 - VHDL08.ppt [호환 모드]

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

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

한국기술교육대학교장영조 한국기술교육대학교전기전자통신공학부 1

한국기술교육대학교장영조 한국기술교육대학교전기전자통신공학부 1 한국기술교육대학교장영조 한국기술교육대학교전기전자통신공학부 1 본슬라이드는 M. Morris Mano and Charles Kime 의 Logic and Computer Design Fundamentals 의내용을참조하였습니다. 한국기술교육대학교전기전자통신공학부 2 1. 레지스터전송과데이터처리장치 2. 순차진행과제어 3. 명령어구조 (Instruction Set

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

Microsoft PowerPoint - verilog문법new.ppt

Microsoft PowerPoint - verilog문법new.ppt Verilog HDL Syntax HDL 이란? HDL(Hardware Description Language) VLSI 설계가복잡도증가및 time-to-market 감소 GLM 의 schematic 설계불가능 HDL 언어를이용한시스템및회로수준구현보편화 하드웨어기술언어논리회로의프로그래밍언어에의한표현네트리스트및프로그래밍언어적표현 다양한하드웨어설계방법지원 Structural

More information

슬라이드 1

슬라이드 1 보안회로설계 모델심설치 & Verilog testbench 기초문법 Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr 모델심설치 ModelSim ModelSim Made by Mentor HDL simulator VHDL, Verilog, System Verilog and optional SystemC HDL 에의해합성될회로의동작과정과결과예상

More information

Microsoft PowerPoint - Verilog_Summary.ppt

Microsoft PowerPoint - Verilog_Summary.ppt Verilog HDL Summury by 강석태 2006 년 3 월 1 Module module < 모듈이름 >(< 포트리스트 >) < 모듈내용 > endmodule C 언어의함수 (Function) 와같은개념. 대소문자구분. 예약어는소문자로만쓴다. 이름은영문자, 숫자, 언더바 (_) 만허용한다. 문장의끝은항상세미콜론 (;) 으로끝난다. end~ 로시작하는예약어에는

More information

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

Microsoft PowerPoint - ICCAD_Digital_lec02.ppt [호환 모드] IC-CAD CAD 실험 Lecture 2 장재원 주문형반도체 (ASIC * ) 설계흐름도개요 Lecture 1 REVIEW ASIC Spec. Front-end design Logic design Logic synthesis Behavioral-level design Structural-level design Schematic editor *Analog 회로설계시

More information

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

Microsoft PowerPoint - M07_RTL.ppt [호환 모드] 제 7 장레지스터이동과데이터처리장치 - 디지털시스템의구성 data path 모듈 : 데이터처리, 레지스터, 연산기, MUX, control unit 모듈 : 제어신호발생, 연산의순서지정 - register transfer operation : reg 데이터이동 / 처리 reg set,operation, sequence control - micro-operation

More information

Microsoft PowerPoint - DSD02_verilog2a.pptx

Microsoft PowerPoint - DSD02_verilog2a.pptx 한국기술교육대학교 장영조 한국기술교육대학교전기전자통신공학부 2 1. 구조적모델링 1. 모듈인스턴스와포트사양 2. 프리미티브게이트 3. 게이트지연시간 4. 파라미터 5. 인스턴스배열 6. generate 블록 2. 데이터플로우모델링 1. 연속할당문 2. 할당지연 3. 동작적모델링 1. 절차형블록 2. 절차형할당문 3. if~else문 4. case 문 5. 반복문

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

歯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

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

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

More information

슬라이드 1

슬라이드 1 보안회로설계 순차회로 Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr 조합과순차 조합회로 (combinational circuit) Memory가없다. 입력한값에따른출력 출력 = f ( 입력 ) 순차회로 (sequential circuit) Memory가있다. Memory에는회로의현상태가저장 출력은입력과현상태에의해결정

More information

8장 조합논리 회로의 응용

8장 조합논리 회로의 응용 8 장연산논리회로 가산기 반가산기와전가산기 반가산기 (Half Adder, HA) 8. 기본가 / 감산기 비트의 개 진수를더하는논리회로. 개의입력과출력으로구성. 개입력은피연산수 와연산수 y 이고, 출력은두수를합한결과인합 S(sum) 과올림수 C(carry) 를발생하는회로. : 피연산수 : 연산수 : 합 y C S y S C 올림수 올림수 전가산기 : 연산수

More information

게이트및스위치프리미티브 q predefined primitives v 정의나선언없이사용가능 v 단일출력을가짐 v 모듈내에서만사용가능 Ø initial과 always 구문내부에서는사용불가 Verilog 에서제공되는게이트및스위치프리미티브 n-input gates n-out

게이트및스위치프리미티브 q predefined primitives v 정의나선언없이사용가능 v 단일출력을가짐 v 모듈내에서만사용가능 Ø initial과 always 구문내부에서는사용불가 Verilog 에서제공되는게이트및스위치프리미티브 n-input gates n-out 디지털시스템설계및실습 3. 게이트수준모델링 1 게이트및스위치프리미티브 q predefined primitives v 정의나선언없이사용가능 v 단일출력을가짐 v 모듈내에서만사용가능 Ø initial과 always 구문내부에서는사용불가 Verilog 에서제공되는게이트및스위치프리미티브 n-input gates n-output gates three-state gates

More information

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y

More information

Microsoft Word - logic2005.doc

Microsoft Word - logic2005.doc 제 7 장 Flip-Flops and Registers 실험의목표 - S-R Latch 의동작을이해하도록한다. - Latch 와 Flip-flop 의차이를이해한다. - D-FF 과 JK-FF 의동작원리를이해한다. - Shift-register MSI 의동작을익히도록한다. - Timing 시뮬레이션방법에대하여습득한다. 실험도움자료 1. Universal Shift

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

Microsoft PowerPoint - chap06-5 [호환 모드]

Microsoft PowerPoint - chap06-5 [호환 모드] 2011-1 학기프로그래밍입문 (1) chapter 06-5 참고자료 변수의영역과데이터의전달 박종혁 Tel: 970-6702 Email: jhpark1@seoultech.ac.kr h k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 자동변수 지금까지하나의함수안에서선언한변수는자동변수이다. 사용범위는하나의함수내부이다. 생존기간은함수가호출되어실행되는동안이다.

More information

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

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

윈도우즈프로그래밍(1)

윈도우즈프로그래밍(1) 제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장

More information

v6.hwp

v6.hwp 93 6 장순차회로모델링 이장에서는앞에서배운여러가지모델링방법에대한지식을바탕으로많이사용되는기본적인순차회로블록들의모델링과순차회로설계방법에대해서배운다. 6. 레지스터 레지스터는 n-bit 데이터를저장하는기억소자이다. 데이터의저장은클럭에동기가되어이루어진다. 그림 6.은전형적인레지스터의블록도와동작표이다. register D D D2 D3 Load Reset Q Q Q2

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

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 6 장선택과반복 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break문 continue문 지금까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 3 가지의제어구조 조건문 문장이실행되는순서에영향을주는문장 조건에따라서여러개의실행경로가운데하나를선택

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 06 반복문 01 반복문의필요성 02 for문 03 while문 04 do~while문 05 기타제어문 반복문의의미와필요성을이해한다. 대표적인반복문인 for 문, while 문, do~while 문의작성법을 알아본다. 1.1 반복문의필요성 반복문 동일한내용을반복하거나일정한규칙으로반복하는일을수행할때사용 프로그램을좀더간결하고실제적으로작성할수있음.

More information

Microsoft PowerPoint - ch11_reg.pptx

Microsoft PowerPoint - ch11_reg.pptx 11 장레지스터 레지스터 (egister) 개요 데이터를저장할수있는기억소자 여러개의플립플롭으로구성. 메모리는단순데이터를저장하는소자이지만, 레지스터는저장뿐아니라저장된데이터를처리할수있는기능도있다. 카운터도클록펄스가입력되면미리정해진순서에따라상태가변하는레지스터이다. 카운터와레지스터의차이점 데이터를저장또는이동하는목적으로만사용 상태의순차적인특성을갖지않는다. 한국기술교육대학교전기전자통신공학부

More information

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

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

Microsoft PowerPoint - M01_VerilogHDL01.ppt [호환 모드] Verilog HDL 을이용한디지털시스템설계및실습 1. Verilog HDL 개요 Ver1.0 (2008)1 Verilog HDL 의역사 Verilog HDL 1983 년 Gateway Design Automation 사에서하드웨어기술언어인 HiLo 와 C 언어의특징을기반으로개발 1991 년 Cadence Design Systems 가 Open Verilog

More information

. 고성능마이크로프로세서 LU 와레지스터 파일의구조 (2.). 직접디지털주파수합성기 (FS) 의구조 3. 고성능마이크로프로세서부동소수점연산기 (Floating-Point Unit) 구조 (2) (2.) (2.) 2. 암호화를위한 VLSI 구조와설계의개요 (2.) 다음참

. 고성능마이크로프로세서 LU 와레지스터 파일의구조 (2.). 직접디지털주파수합성기 (FS) 의구조 3. 고성능마이크로프로세서부동소수점연산기 (Floating-Point Unit) 구조 (2) (2.) (2.) 2. 암호화를위한 VLSI 구조와설계의개요 (2.) 다음참 이비디오교재는정보통신부의 999년도정보통신학술진흥지원사업에의하여지원되어연세대학교전기전자공학과이용석교수연구실에서제작되었습니다 고성능마이크로프로세서 LU ( rithmetic Logic Unit) 와 Register File의구조 2. 연세대학교전기전자공학과이용석교수 Homepage: http://mpu.yonsei.ac.kr E-mail: yonglee@yonsei.ac.kr

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

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

Microsoft PowerPoint - M02_VerilogHDL02.ppt [호환 모드] Verilog HDL 을이용한디지털시스템설계및실습 5. 행위수준모델링 Ver1.0 (2008) 1 5.1.1 always 구문 행위수준모델링 조합논리회로와순차논리회로의설계, 설계된회로의시뮬레이션을위한 테스트벤치의작성에사용 always 구문, initial 구문, task, function 내부에사용 always 구문 always [@(sensitivity_list)]

More information

T100MD+

T100MD+ User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp 1 0 1.7 6 5 'A ' '/ u 4 4 2 2 ' " JS P 프로그래밍 " A ', 'b ', ' 한 ', 9, \ u d 6 5 4 ' c h a r a = 'A '; 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 < % @ p a g e c o n te n

More information

동기순차회로 p 조합논리회로 combinational logic circuit) v 출력이현재의입력에의해서만결정되는논리회로 p 순차논리회로 sequential logic circuit) v 현재의입력과이전의출력상태에의해서출력이결정 v 동기순차논리회로와비동기순차논리회로로

동기순차회로 p 조합논리회로 combinational logic circuit) v 출력이현재의입력에의해서만결정되는논리회로 p 순차논리회로 sequential logic circuit) v 현재의입력과이전의출력상태에의해서출력이결정 v 동기순차논리회로와비동기순차논리회로로 9 장동기순차회로 동기순차회로 p 조합논리회로 combinational logic circuit) v 출력이현재의입력에의해서만결정되는논리회로 p 순차논리회로 sequential logic circuit) v 현재의입력과이전의출력상태에의해서출력이결정 v 동기순차논리회로와비동기순차논리회로로분류. v v v 동기순차회로 : 클록펄스에의해서동작하는회로 비동기순차회로

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

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

Microsoft PowerPoint - a10.ppt [호환 모드] Structure Chapter 10: Structures t and Macros Structure 관련된변수들의그룹으로이루어진자료구조 template, pattern field structure를구성하는변수 (cf) C언어의 struct 프로그램의 structure 접근 entire structure 또는 individual fields Structure는

More information

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다 10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행

More information

Infinity(∞) Strategy

Infinity(∞) Strategy 반복제어 표월성 passwd74@cherub.sungkyul.edu 개요 for() 문 break문과 continue문 while문 do-while문 for() 문 for() 문형식 for( 표현식1; 표현식2; 표현식3) 여러문장들 ; 표현식 1 : 초기화 (1 번만수행 ) 표현식 2 : 반복문수행조건 ( 없으면무한반복 ) 표현식 3 : 반복문수행횟수 for()

More information

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A 예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf

More information

Frama-C/JESSIS 사용법 소개

Frama-C/JESSIS 사용법 소개 Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie

More information

Chapter_06

Chapter_06 프로그래밍 1 1 Chapter 6. Functions and Program Structure April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 문자의입력방법을이해한다. 중첩된 if문을이해한다. while 반복문의사용법을익힌다. do 반복문의사용법을익힌다.

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

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

슬라이드 1

슬라이드 1 정적메모리할당 (Static memory allocation) 일반적으로프로그램의실행에필요한메모리 ( 변수, 배열, 객체등 ) 는컴파일과정에서결정되고, 실행파일이메모리에로드될때할당되며, 종료후에반환됨 동적메모리할당 (Dynamic memory allocation) 프로그램의실행중에필요한메모리를할당받아사용하고, 사용이끝나면반환함 - 메모리를프로그램이직접관리해야함

More information

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

개요 데이터를저장할수있는기억소자 여러개의플립플롭으로구성. 메모리는단순데이터를저장하는소자이지만, 레지스터는저장뿐아니라저장된데이터를처리할수있는기능도있다. 카운터도클록펄스가입력되면미리정해진순서에따라상태가변하는레지스터이다. 카운터와레지스터의차이점 데이터를저장또는이동하는목적으로

개요 데이터를저장할수있는기억소자 여러개의플립플롭으로구성. 메모리는단순데이터를저장하는소자이지만, 레지스터는저장뿐아니라저장된데이터를처리할수있는기능도있다. 카운터도클록펄스가입력되면미리정해진순서에따라상태가변하는레지스터이다. 카운터와레지스터의차이점 데이터를저장또는이동하는목적으로 11 장레지스터 개요 데이터를저장할수있는기억소자 여러개의플립플롭으로구성. 메모리는단순데이터를저장하는소자이지만, 레지스터는저장뿐아니라저장된데이터를처리할수있는기능도있다. 카운터도클록펄스가입력되면미리정해진순서에따라상태가변하는레지스터이다. 카운터와레지스터의차이점 데이터를저장또는이동하는목적으로만사용 상태의순차적인특성을갖지않는다. 한국기술교육대학교전기전자통신공학부 2

More information

[2010 년디지털시스템설계및실험중간고사 2 답안지 ] 출제 : 채수익 1. (a) (10 pts) Robertson diagram Quotient 와 remainder 의 correction 을뒤로미루는것이 non-restoring division 이다. 즉, q =

[2010 년디지털시스템설계및실험중간고사 2 답안지 ] 출제 : 채수익 1. (a) (10 pts) Robertson diagram Quotient 와 remainder 의 correction 을뒤로미루는것이 non-restoring division 이다. 즉, q = [2010 년디지털시스템설계및실험중간고사 2 답안지 ] 출제 : 채수익 1. (a) (10 pts) Robertson diagram Quotient 와 remainder 의 correction 을뒤로미루는것이 non-restoring division 이다. 즉, q = 1, 2r 0 1, 2r

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

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

hwp

hwp BE 8 BE 6 BE 4 BE 2 BE 0 y 17 y 16 y 15 y 14 y 13 y 12 y 11 y 10 y 9 y 8 y 7 y 6 y 5 y 4 y 3 y 2 y 1 y 0 0 BE 7 BE 5 BE 3 BE 1 BE 16 BE 14 BE 12 BE 10 y 32 y 31 y 30 y 29 y 28 y 27 y 26 y 25 y 24 y 23

More information

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

Microsoft PowerPoint - ICCAD_Digital_lec03.ppt [호환 모드] IC-CAD CAD 실험 Lecture 3 장재원 주문형반도체 (ASIC * ) 설계흐름도개요 Lecture 2 REVIEW ASIC Spec. Front-end design Logic design Logic synthesis Behavioral-level design Structural-level design Schematic editor *Analog 회로설계시

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

Microsoft PowerPoint - DSD01_verilog1a.pptx

Microsoft PowerPoint - DSD01_verilog1a.pptx 한국기술교육대학교 장영조 한국기술교육대학교전기전자통신공학부 2 1. Verilog HDL 개요 2. Verilog 첫걸음 3. Verilog 어휘규칙 4. 모듈 5. 데이터형 6. 연산자 7. 인스턴스 8. 시스템태스크와함수 9. 컴파일러지시어 한국기술교육대학교전기전자통신공학부 3 Verilog HDL 1983 년 Gateway Design Automation

More information

PowerPoint Presentation

PowerPoint Presentation 5 불대수 IT CookBook, 디지털논리회로 - 2 - 학습목표 기본논리식의표현방법을알아본다. 불대수의법칙을알아본다. 논리회로를논리식으로논리식을논리회로로표현하는방법을알아본다. 곱의합 (SOP) 과합의곱 (POS), 최소항 (minterm) 과최대항 (mxterm) 에대해알아본다. 01. 기본논리식의표현 02. 불대수법칙 03. 논리회로의논리식변환 04.

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

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

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 누구나즐기는 C 언어콘서트 제 5 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 goto 문 이제까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장 조건에따라서여러개의같은처리를반복

More information

歯메뉴얼v2.04.doc

歯메뉴얼v2.04.doc 1 SV - ih.. 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 - - - 23 24 R S T G U V W P1 P2 N R S T G U V W P1 P2 N R S T G U V W P1 P2 N 25 26 DC REACTOR(OPTION) DB UNIT(OPTION) 3 φ 220/440 V 50/60

More information

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o8.pptx 메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 생체계측 디지털논리회로 Prof. Jae Young Choi ( 최재영교수 ) 생체계측 (2014 Fall) Prof. Jae Young Choi Section 01 논리게이트 디지털컴퓨터에서모든정보는 0 또는 1 을사용하여표현 게이트 (gate) 0, 1 의이진정보를처리하는논리회로여러종류가존재동작은부울대수를이용하여표현입력과출력의관계는진리표로표시 2 ND 게이트

More information

Microsoft Word - FunctionCall

Microsoft Word - FunctionCall Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack

More information

논리회로설계 6 장 성공회대학교 IT 융합학부 1

논리회로설계 6 장 성공회대학교 IT 융합학부 1 논리회로설계 6 장 성공회대학교 IT 융합학부 제 6 장플립플롭 조합회로 현재의입력상태에의해출력이결정 과거의상태에의해영향받지않음 순차회로 현재의입력 기억소자에기억된과거의입력의조합에의해출력이결정됨 조합회로를위한논리게이트 + 기억소자 순차회로의기억소자 플립플롭 (Flip Flop, F/F) 플립플롭 래치 (latch) 비트의정보를저장 플립플롭중가장간단한형태동기형플립플롭

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

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (I) Contents 변수와상수 블록과변수의범위 수식과연산자 제어문과반복문 문자와문자열 배열, 포인터, 메모리관리 구조체 디버거 (gdb) 사용법 2/17 Reference The C Programming language, Brian W. Kernighan, Dennis M. Ritchie, Prentice-Hall

More information

<4D F736F F F696E74202D20332EB5F0C1F6C5D0C8B8B7CEBFCD20B1B8C7F62E >

<4D F736F F F696E74202D20332EB5F0C1F6C5D0C8B8B7CEBFCD20B1B8C7F62E > 디지털회로 디지털논리의표현 디지털회로 디지털회로구현 dolicom@naver.com http://blog.naver.com/dolicom 논리 논리게이트 논리게이트 논리게이트 (Logic gate) 또는 로구성된 2 진정보를취급하는논리회 (logic circuit) 일반적으로 2 개이상의입력단자와하나의출력단자 기본게이트 : AND OR NOT 기본게이트로부터

More information

Microsoft Word - 제6장 Beyond Simple Logic Gate.doc

Microsoft Word - 제6장 Beyond Simple Logic Gate.doc 제 6 장 Beyond Simple Logic Gate 실험의목표 - MUX, DEMUX의동작을이해하도록한다. - encoder 와 decoder 의원리를익히고 MUX, DEMUX 와비교를해본다. - MUX 를이용하여조합회로를설계해본다. - tri-state gate 와 open-collector gate 의특성에대하여알아본다. 잘못된사용법에대하여어떤결과가발생하는지확인해본다.

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

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

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

tut_modelsim(student).hwp

tut_modelsim(student).hwp ModelSim 사용법 1. ModelSim-Altera 를이용한 Function/RTL 시뮬레이션 1.1. 테스트벤치를사용하지않는명령어기반시뮬레이션 1.1.1. 시뮬레이션을위한하드웨어 A B S C 그림 1. 반가산기 1.1.2. 작업디렉토리 - File - Change Directory 를클릭하여작업디렉토리지정. 1.1.3. 소스파일작성 - 모델심편집기나기타편집기가능

More information

수없기때문에간단한부분으로나눠서구현하고, 이를다시합침으로써전체를구현하게 된다. 실험에서는이미구현된 4-Bit ALU인 74LS181 Chip을사용한다. 이 Chip은 4-bit의 Data input A, B와 Selection input 4 bit, Carry In 1

수없기때문에간단한부분으로나눠서구현하고, 이를다시합침으로써전체를구현하게 된다. 실험에서는이미구현된 4-Bit ALU인 74LS181 Chip을사용한다. 이 Chip은 4-bit의 Data input A, B와 Selection input 4 bit, Carry In 1 Experiment 6. Use of Arithmetic Logic Unit and Flip-Flops Abstract 본실험에서는현대 CPU의가장근간이되는 Unit인산술및논리연산기 (Arithmetic Logic Unit, ALU) 와순차회로 (Sequential Circuit) 을이루는대표적인기억소자인플립플롭 (Flip-flop) 의기능을익히며, 간단한연산회로와순차회로를구현해본다.

More information

C 언어 프로그래밊 과제 풀이

C 언어 프로그래밊 과제 풀이 과제풀이 (1) 홀수 / 짝수판정 (1) /* 20094123 홍길동 20100324 */ /* even_or_odd.c */ /* 정수를입력받아홀수인지짝수인지판정하는프로그램 */ int number; printf(" 정수를입력하시오 => "); scanf("%d", &number); 확인 주석문 가필요한이유 printf 와 scanf 쌍

More information

9장 순차논리 회로

9장 순차논리 회로 9 장순차논리회로 순차논리회로개요 현재의입력과이전의출력상태에의해현재출력이결정되는회로 현재상태가다음상태의출력에영향을미치는논리회로 순차논리회로의구성도 X (t) Combination Logic Y (t) Y (t-1) Memory element Clock Timing delay device 2 9.1 동기식순차논리회로와비동기식순차회로 동기식순차회로 모든논리회로의동작이일정한신호에의해동작하는회로

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 08 함수 01 함수의개요 02 함수사용하기 03 함수와배열 04 재귀함수 함수의필요성을인식한다. 함수를정의, 선언, 호출하는방법을알아본다. 배열을함수의인자로전달하는방법과사용시장점을알아본다. 재귀호출로해결할수있는문제의특징과해결방법을알아본다. 1.1 함수의정의와기능 함수 (function) 특별한기능을수행하는것 여러가지함수의예 Page 4 1.2

More information

중간고사

중간고사 중간고사 예제 1 사용자로부터받은두개의숫자 x, y 중에서큰수를찾는알고리즘을의사코드로작성하시오. Step 1: Input x, y Step 2: if (x > y) then MAX

More information

CPX-E-SYS_BES_C_ _ k1

CPX-E-SYS_BES_C_ _ k1 CPX-E 8727 27-7 [875294] CPX-E-SYS-KO CODESYS, PI PROFIBUS PROFINET (). :, 2 Festo CPX-E-SYS-KO 27-7 ... 5.... 5.2... 5.3... 5.4... 5.5... 5 2... 6 2.... 6 2..... 6 2..2 CPX-E... 7 2..3 CPX-E... 9 2..4...

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

Microsoft PowerPoint - chap-06.pptx

Microsoft PowerPoint - chap-06.pptx 쉽게풀어쓴 C 언어 Express 제 6 장조건문 컴퓨터프로그래밍기초 이번장에서학습할내용 조건문이란? if 문 if, 문 중첩 if 문 switch 문 break문 continue문 goto 문 5장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 컴퓨터프로그래밍기초 2 조건문 조건에따라서여러개의실행경로가운데하나를선택

More information

Microsoft PowerPoint - DSD06b_Cont.pptx

Microsoft PowerPoint - DSD06b_Cont.pptx 한국기술교육대학교 장영조 본슬라이드는 M. Morris Mano and Charles Kime 의 Logic and Computer Design Fundamentals 의내용을참조하였습니다. 한국기술교육대학교전기전자통신공학부 2 1. 레지스터전송과데이터처리장치 2. 순차진행과제어 3. 명령어구조 (Instruction Set Architecture) 한국기술교육대학교전기전자통신공학부

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터

3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터 - Part2-3 3. 1 포인터란 3. 2 포인터변수의선언과사용 3. 3 다차원포인터변수의선언과사용 3. 4 주소의가감산 3. 5 함수포인터 3.1 포인터란 ü ü ü. ü. ü. ü ( ) ? 3.1 ü. ü C ( ).? ü ü PART2-4 ü ( ) PART3-4 3.2 포인터변수의선언과사용 3.2 포인터 변수의 선언과 사용 (1/8) 포인터 변수의

More information