디지털시스템설계및실습 1. Verilog HDL 문법 한국기술교육대학교전기전자통신공학부 Ver1.0 (2008)1

Size: px
Start display at page:

Download "디지털시스템설계및실습 1. Verilog HDL 문법 한국기술교육대학교전기전자통신공학부 Ver1.0 (2008)1"

Transcription

1 디지털시스템설계및실습 1. Verilog HDL 문법 Ver1.0 (2008)1

2 Verilog HDL 의역사 q Verilog HDL v 1983년 Gateway Design Automation사에서하드웨어기술언어인 HiLo와 C 언어의특징을기반으로개발 v 1991년 Cadence Design Systems가 Open Verilog International (OVI) 라는조직을구성하고 Verilog HDL을공개 v 1993년 IEEE Working Group이구성되어표준화작업을진행 v 1995년 12월 IEEE Std 로표준화 v 2001년에 IEEE Std 로개정 v Verilog HDL의확장형태인 SystemVerilog가개발되어 IEEE 표준화를추진 Ver1.0 (2008)2

3 Verilog HDL 과 C 언어 q C 언어와유사점 v 문법은매우유사 v 절차형 (procedural) 및순차형실행은동일 v if~else문, case 문, for loop 문등사용 v 연산자 : 논리 (&,, ^..), 산술 ( +, -, * /..), 비교 (<, >=, ==,..) qhdl 언어의특성 v 동시성 (concurrent) v 병렬성 (parallel) v 추상화 (abstraction) Ver1.0 (2008) 3

4 HDL 의 3 가지 Modeling q 구조적 (Structural) 모델링 v 논리게이트, 플립플롭등을사용한연결도표현 v 기존설계한회로를포함한네트리스트 (netlist) 사용 q 데이터플로우 (dataflow) 모델링 v 데이터이동을표현 v 연산자를사용한연속할당문 q 동작적 (behavioral) 모델링 v if~else, case, while, for 등과같은구문사용 v 인간의사고에가장근접한표현 Ver1.0 (2008) 4

5 Verilog 언어의기능 q시뮬레이션 (simulation) : full set q합성 ( synthesis) : subset qlibrary : system 함수 q문서화 (documentation) : full set Verilog HDL 합성 assign, if~else, case, for always Simulation, 문서화 initial, $finish $fopen Library specify $width table Ver1.0 (2008) 5

6 설계흐름도와추상화레벨 High level Abstraction Specification 사양 : 동작모델, 속도, 전력, 가격, 소형화.. C, System C, SystemVerilog Design Entry Behavioral Simulation 설계입력 : 블록도와입출력신호연결도그래픽혹은문서입력 Verilog, VHDL High level Synthesis Functional (RTL) Simulation RTL : 동작적표현, 클럭타이밍 Adder, 디코더, ALU, 레지스터.. Verilog, VHDL Gate level Synthesis Gate level Simulation 게이트레벨,: 논리, 프리미티브게이트연결도 Verilog, VHDL Low level Abstraction Technology Mapping Timing Simulation 하드웨어 : SoC, ASIC, FPGA. 배치및배선, 타이밍검증 EDIF, JEDEC Ver1.0 (2008) 6

7 Verilog 첫걸음 Ver1.0 (2008) 7

8 반가산기 (Half Adder) 설계 진리표 x y co s 논리식 S = x xor y co = xy 모듈정의 module HA (x, y, co, s); input x; input y; output co, s; HA module name x y co input output s Ver1.0 (2008) 8

9 반가산기 (Half Adder) 설계 q 모듈구조 Ver1.0 (2008) 9

10 반가산기 (Half Adder) 설계 q 모델링 // code : HA_s.v module HA_s (x, y, co, s); input x; input y; output co, s; // 하위모듈호출, 구조적모델링 and U1 (co, x, y); // 프리미티브게이트인스턴스 xor U2 (s, x, y); endmodule // code : HA_d.v module HA_d (x, y, co, s); input x; input y; output co, s; // 연속할당문, 데이터플로우모델링 assign s = x ^ y ; // bitwise XOR 논리연산자 assign co = x & y; // bitwise AND 논리연산자 endmodule Ver1.0 (2008) 10

11 반가산기 (Half Adder) 설계 q 모델링 // code : HA_b.v module HA_b (x, y, co, s); input x; input y; output co, s; reg co, s; // 절차형블록문, 동작적모델링 (x or y) begin s = x ^ y ; // blocking 할당문 co = x & y; end endmodule // code : HA_t.v module HA_t (x, y, co, s); input x, y; output co, s; reg co, s; // 절차형블록문, 진리표의동작적모델링 (x or y) case ({x,y}) 2'b00 : {co,s} = 2'b00; 2'b01 : {co,s} = 2'b01; 2'b10 : {co,s} = 2'b01; 2'b11 : {co,s} = 2'b10; default : {co,s} = 2'b00; endcase endmodule Ver1.0 (2008) 11

12 설계검증 q 테스트벤치 시뮬레이션을위한입력여기 (stimulus) 파형 // code : TB_HA.v `timescale 1ns/1ps // 시뮬레이션시간단위 module TB_HA; reg x, y; wire cout, sum; // DUT instance HA_b U1 (.x(x),.y(y),.co(cout),.s(sum) ); 시뮬레이션파형 // input stimulus initial begin x=0; y=0; #200; // 200 ns 지연 x=0; y=1; #200; // 200 ns 지연 x=1; y=0; #200; x=1; y=1; #200; $finish; // 시뮬레이션종료 end endmodule Ver1.0 (2008) 12

13 1.3 Verilog 어휘규칙 q 어휘토큰 (lexical tokens) v 여백 (white space) v 주석 (comment) v 연산자 (operator) v 수 (number) v 문자열 (string) v 식별자 (identifier) v 키워드 (keyword) Ver1.0 (2008) 13

14 Verilog 어휘규칙 q 여백 (white space) v 빈칸 (space), 탭 (tab), 줄바꿈 v 어휘토큰들을분리하기위해사용되는경우를제외하고는무시 v 공백 (blank) 과탭은문자열에서의미있게취급 q 주석 (comment) v HDL 소스코드의설명을위해사용되며, 컴파일과정에서무시됨 v 단일라인주석문 ; // 로시작되어해당라인의끝까지 v 블록주석문 ; /* ~ */ 로표시 Ø 블록주석문은내포 (nested) 될수없음 q 연산자 (operator) v 단항연산자, 2 항연산자, 3 항연산자 Ver1.0 (2008) 14

15 Verilog 어휘규칙 q 식별자 (identifier) v 객체에고유의이름을지정하기위해사용 v 대소문자를구별하여인식 v 가독성을위해밑줄사용가능 v 단순식별자 ; 일련의문자, 숫자, 기호 $, 밑줄등으로구성 Ø 첫번째문자는숫자나기호 $ 사용불가, 문자또는밑줄만사용 v 확장식별자 (escaped identifier); Ø \ (back slash) 로시작되며, 여백 ( 빈칸, 탭, 줄바꿈 ) 등으로끝남 Ø 프린트가능한 ASCII 문자들을식별자에포함시키는수단을제공 q 키워드 (keyword) v Verilog 구성요소를정의하기위해미리정의된식별자 v 확장문자가포함된키워드는키워드로인식되지않음 Ver1.0 (2008) 15

16 Verilog 어휘규칙 예 : 유효한식별자의예 shiftreg_a busa_index error_condition merge_ab _bus3 n$657 예 : 확장식별자의예 \busa+index \-clock \***error-condition*** \net1/\net2 \{a,b} \a*(b+c) Ver1.0 (2008) 16

17 Verilog 어휘규칙 q 수표현 (number representation) v 정수형 (integer) ; 10 진수, 16 진수, 8 진수, 2 진수 v 형식 : [size_constant]'<base_format> <number_value> Ø [size_constant]: 값의비트크기를나타내는상수 ü 0 이아닌 unsigned 10 진수가사용되며, 생략될수있음 ü unsized 수 ( 즉, 단순 10 진수또는비트크기가지정되지않은수 ) 는 32 비트로표현됨 ü 상위비트가 x(unknown) 또는 z(high-impedance) 인 unsized unsigned 상수는그상수가사용되는수식의비트크기만큼확장됨 Ø 'base_format : 밑수 (base) 를지정하는문자 (d, D, h, H, o, O, b, B) ü signed 를나타내기위해문자 s 또는 S 가함께사용될수있음 Ø number_value : unsigned 숫자를사용하여값을표현 ü 'base_format 에적합한숫자들로구성 Ø base_format 과 number_value 사이에 + 또는 - 부호사용불가 Ver1.0 (2008) 17

18 Verilog 어휘규칙 q 수표현 (number representation) v 비트크기와밑수를갖지않는단순 10진수는 signed 정수로취급 v 부호지정자없이밑수만지정되면 unsigned 정수로취급 v 밑수지정자와부호지정자 s가함께사용되면 signed 정수로취급 Ø 부호지정자 s는비트패턴에는영향을미치지않으며, 비트패턴의해석에만영향을미침 v 음수는 2의보수 (2 s complementary) 형식으로표현됨 v 지정된비트크기보다 unsigned 수의크기가작은경우 Ø MSB 왼쪽에 0이삽입 Ø MSB가 x 또는 z이면, x 또는 z가왼쪽에삽입 v 값에물음표 (? ) 가사용되면 z로취급 v 첫번째문자를제외하고는밑줄 (underscore) 이사용될수있으며, 이는수의가독성 (readability) 을좋게함 Ver1.0 (2008) 18

19 Verilog 어휘규칙 Number # of Bits Base Dec. Equiv. Stored Decimal b10 2 Binary d5 3 Decimal o5 8 Octal ha 8 Hex b5 Invalid! 3 b01x 3 Binary - 01x 12 hx 12 Hex - xxxxxxxxxxxx 8 b0000_ Binary bx01 8 Binary - xxxxxx01 bz Unsized Binary - zz...zz(32bits) 8 HAD 8 Hex Ver1.0 (2008) 19

20 Verilog 어휘규칙 예 : unsized 상수 1250 // 부호없는 10진수 'o765 // 부호없는 8진수 'shab74 // 부호있는 16진수 'b1100_111 // 부호없는 2진수 'bz // zz...zz (32 bits) 4af // illegal (hexadecimal format requires 'h) 예 : sized 상수 3'b110 // 3비트 2진수, 110 4'b1zx0 // 4비트 2진수, 1zx0 9'O513 // 9비트 8진수, 1_0100_1011 8'hef // 8비트 16진수, 1110_1111 8'bz // 8비트 2진수, z로채워짐, zzzzzzzz 6'b1 // 6비트 2진수, 00_0001 6'shA // 6비트부호있는 16진수, 00_1010 6'h97 // 6비트 16진수, 01_0111, 상위 2비트잘려짐 12'd15 // 12비트 10진수, 0000_0000_1111 Ver1.0 (2008)

21 Verilog 어휘규칙 예 : signed 8'shE0 // 1110_0000, -32에대한 2의보수, // 8 he0와동일 -8'shE0 // -(8'1110_0000), , 즉 d100 // = 'sd100 // -100 = d6 // -6에대한 5비트 2의보수, 'sb1010 // -6 12'sb0010 // 0000_0000_0010, +2 예 : 밑줄을사용한수의표현 27_195_000 16'b0011_0101_0001_ 'h12ab_f001 Ver1.0 (2008) 21

22 Verilog 어휘규칙 예 : MSB 자동삽입 reg [11:0] a, b, c, d; initial begin a = 'hx; // yields xxx b = 'h3x; // yields 03x c = 'hz3; // yields zz3 d = 'h0z3; // yields 0z3 end Ver1.0 (2008) 22

23 Verilog 어휘규칙 v 실수형 (real) ; IEEE Std (IEEE standard for double-precision floating-point number) 표현형식 value.value baseeexponent decimal notation scientific notation (the E is not case sensitive) 예 : 실수표현 e4 0.5e-0 5.6E-2 87E _26e-5 예 : 문법적오류 E3.2e-7 Ver1.0 (2008) 23

24 Verilog 어휘규칙 q 문자열 (string) v 이중인용부호 ( ) 사이에있는일련의문자들 v 단일라인에존재해야하며, 여러라인에걸친문자열은사용불가 v 8비트 ASCII 값으로표현되는 unsigned 정수형상수로취급 v 문자열변수는 reg형의변수이며, 문자열내의문자수에 8을곱한크기의비트폭을가짐 예 : string 저장 reg [8*18:1] str1; initial begin str1 = "Hello Verilog HDL!"; end Ver1.0 (2008) 24

25 Verilog 어휘규칙 예 : string 저장및인쇄 module str_test; reg [8*10:1] str1; initial begin str1 = Hello ; $display( %s is stored as %h", str1, str1); str1 = {str1, "!!!"}; $display( %s is stored as %h", str1, str1); end endmodule Hello is stored as c6c6f Hello!!! is stored as c6c6f Ver1.0 (2008) 25

26 Verilog 어휘규칙 v 특수문자앞에확장문자 (escaped character) 를사용하면일부 특수문자를문자열에포함시킬수있음 확장문자를이용한특수문자의표현 확장문자열 확장문자열에의해생성되는특수문자 \n New line character \t Tab character \\ \ character \" " character \ddd A character specified in 1~3 octal digits (0 d 7) Ver1.0 (2008) 26

27 Verilog 논리값 (Logic Value) v 4 logic value 논리값 설명 0 1 z or Z x or X zero, low, or false one, high, or true high impedance (tri-stated or floating) unknown or uninitialized Ver1.0 (2008) 27

28 논리강도 (Logic strength) q8 개의논리강도 4 개의 driving, 3 개의 capacitive, 2 개의 high impedance (no strength) strength strength specification display level name keyword mnemonic 7 supply drive supply0 supply1 Su0 Su1 6 strong drive strong0 strong1 St0 St1 5 pull drive pull0 pull1 Pu0 Pu1 4 large capacitive large La0 La1 3 weak drive weak0 weak1 We0 We1 2 medium capacitive medium Me0 Me1 1 small capacitive small Sm0 Sm1 0 high impedance highz0 highz1 HiZ0 HiZ1 Ver1.0 (2008) 28

29 Ver1.0 (2008) Velilog Keyword 29 always and assign automatic begin buf bufif0 bufif1 case casex casez cell cmos config deassign default defparam design disable edge else end endcase endconfig endfunction endgenerate endmodule endprimitive endspecify endtable endtask event for force forever fork function generate genvar highz0 highz1 if ifnone initial instance inout input integer join large liblist localparam macromodule medium module nand negedge nmos nor not noshowcancelled notif0 notif1 or output parameter pmos posedge primitive pull0 pull1 pulldown pullup pulsestyle_onevent pulsestyle_ondetect rcmos real realtime reg release repeat rnmos rpmos rtran rtranif0 rtranif1 scalared signed showcancelled small specify specparam strength strong0 strong1 supply0 supply1 table task time tran tranif0 tranif1 tri tri0 tri1 triand trior trireg unsigned use vectored wait wand weak0 weak1 while wire wor xnor xor

30 Verilog HDL 의모듈 모듈 (module) 설계의기본단위, design entity module module_name (port_list); port 선언 reg 선언 wire 선언 parameter 선언 하위모듈호출 always, initial 문 function, task 정의문 assign 문 function, task 호출문 endmodule Semicolon 모듈선언부 body No Semicolon Ver1.0 (2008) 30

31 모듈정의 (definition) // 암시적내부연결 ( Implicit Internal Connection ) module module_name (port_name, port_name,... ); module_items endmodule // 명시적내부연결 (Explicit Internal Connection) module module_name (.port_name (signal_name ),.port_name (signal_name ),... ); module_items endmodule Ver1.0 (2008) 31

32 모듈정의 (definition) qmodule items v module_port_declarations v data_type_declarations v module_instances v primitive_instances v procedural_blocks v continuous_assignments v task_definitions v function_definitions Ver1.0 (2008) 32

33 모듈정의 (definition) 포트연결예 // code :ex1.v 모듈정의의암시적연결, 등가비교기 module ex1 ( a1, b1, out1); input [3:0] a1, b1; output out1; assign out1 = ( a1 >= b1 ); // continuous assignment endmodule // code : ex2.v 모듈정의에포트선언목록을포함한암시적연결 // 2 input MUX with 2 bit widths module ex2 (input wire [1:0] i0, i1, input wire sel, output wire [1:0] out2); wire t0, t1; assign out2 = {t1, t0}; // concatenation assign t1 = sel? i1[1] : i0[1]; assign t0 = sel? i1[0] : i0[0]; endmodule Ver1.0 (2008) 33

34 모듈정의 (definition) 포트연결예 // 예 모듈정의의명시적연결예 module exp_port1 (.a(n1),.b(n2) ); // n1, n2는모듈내부에서선언 // a, b는포트연결로정의 module exp_port2 (.a({b,c}), d,.f(g, h[2])); // b, c, d, g, h[2] 는모듈내부에서선언 // a, d, f는포트연결로정의 module exp_port3 ({a, b},.c(d)) // a, b, d는모듈내부에서선언 // {a, b}, c는포트연결로정의 Ver1.0 (2008) 34

35 포트선언 (port declaration) q 포트선언형식 port_direction data_type signed [port_size] port_name, port_name,.. ; q 포트방향 v input : 스칼라 (scalar) 나벡터 (vector) 의입력포트선언 v output : 스칼라 (scalar) 나벡터 (vector) 의출력포트선언 v inout : 스칼라 (scalar) 나벡터 (vector) 의양방향포트선언 Ver1.0 (2008) 35

36 포트사용예 // 예 포트선언예 input a1, a2, en; input signed [7:0] a, b; // 3 개의스칼라 1 비트포트 // 2 개의 8 비트 signed 값을갖는포트 output reg signed [16:0] res; // 데이터형과 signed 속성을갖는포트 output reg [11:0] cnt1; inout [0:15] data_bus; input [15:12] addr; // little endian 표기방식 // big endian 표기방식 // msb:lsb 는정수값 parameter BW = 32; input [BW-1:0] addr; // 상수표현식사용가능 parameter SIZE = 4096; input [log2(size)-1:0] addr; // 상수함수를선언에서호출가능 Ver1.0 (2008) 36

37 Verilog HDL 의모듈 wire, reg wire wire input inout output wire Module_instance_A wire wire wire wire, reg Primitive instantiation wire wire, reg Module_instance_B wire wire wire, reg Continuous assignment assign wire_a = C D; reg reg_a, reg_b,... integer int_a,... always begin... end declarations Behavior_1 register variables initial begin... end Behavior_2 Ver1.0 (2008) 37

38 Verilog 모델링예 q 게이트프리미티브를이용한모델링예 ( 반가산기회로 ) Module Name Module Ports a b cout sum module Half_Adder (a, b, sum, cout); input a, b; output sum, cout; wire cout_bar; Declaration of port modes xor (sum, a, b); nand (cout_bar, a, b); not (cout, cout_bar); endmodule Declaration of internal signals a b Half_ Adder sum = a ^ b cout = a & b sum cout Verilog keyword Instantiation of Primitive gates Ver1.0 (2008) 38

39 1.5 Data Type Ver1.0 (2008) 39

40 Verilog 의논리값 Verilog 의논리값집합 논리값 의미 0 logic zero, or false condition 1 logic one, or true condition x z unknown logic value high-impedance state Ver1.0 (2008) 40

41 Verilog 의논리값 q Zero, low, false, logic low, ground, VSS 0 q One, high, true, logic high, power, VDD, VCC 1 q X, unknown : occurs at logical conflict which cannot be resolved x q HiZ, high impedence, tri-stated, disabled or disconnected driver z 0 Ver1.0 (2008) 41

42 Verilog HDL 의자료형 q Net 자료형 : 소자간의물리적인연결을추상화 v wire, tri, wand, wor, triand, trior, supply0, supply1, tri0, tri1, trireg v Default 자료형 ; 1비트의 wire q Variable 자료형 (Regiser 자료형 ): 절차형할당문사이의값의임시저장 v 프로그래밍언어의 variable과유사한개념 v reg, integer, real, time, realtime net 자료형과 variable 자료형의할당모드 할당모드 자료형 프리미티브 출력 연속할당문 절차형할당문 assign deassign PCA force release PCA Net Yes Yes No No Yes Variable Comb (No) Seq (Yes) No Yes Yes Yes * PCA : Procedural Continuous Assignment Ver1.0 (2008) 42

43 variable 자료형 q variable 자료형 ; reg, integer, real, time, realtime 키워드 reg integer real time realtime 기능임의비트크기의 unsigned variable 32 비트 signed variable 배정도부동소수점 variable 64 비트 unsigned variable 배정도부동소수점 variable v 절차적할당문 (procedural assignment) 의실행에의해그값이바뀌며, 할당에서부터다음할당까지값을유지 v default 초기값 Ø reg, time, integer 자료형 : x (unknown) Ø real, realtime 자료형 : 0.0 v variable이음의값을할당받는경우, Ø signed reg, integer, real, realtime 자료형 : 부호를유지 Ø unsigned reg, time 자료형 : unsigned 값으로취급 Ver1.0 (2008) 43

44 variable 자료형 q reg v 절차적할당문에의해값을받는객체의자료형 v 할당사이의값을유지 v 하드웨어레지스터를모델링하기위해사용될수있음 Ø edge-sensitive ( 플립플롭등 ) 와 level-sensitive ( 래치등 ) 의저장소자들을모델링할수있음 Ø reg는조합논리회로의모델링에도사용되므로, reg가항상하드웨어적인저장소자를의미하지는않음 예 : reg 자료형선언예 reg a; // a scalar reg reg[3:0] v; // a 4-bit vector reg made up of(from most to // least significant) v[3], v[2], v[1], and v[0] reg signed [3:0] signed_reg; // a 4-bit vector in range -8 to 7 reg [-1:4] b; // a 6-bit vector reg reg [4:0] x, y, z; // declares three 5-bit regs Ver1.0 (2008) 44

45 variable 자료형 module dff (clk, d, q); input d,clk; output q; reg q; clk) q <= d; endmodule D 플립플롭 module mux21_if(a, b, sel, out); input [1:0] a, b; input sel; output [1:0] out; reg [1:0] out; or b or sel) if(sel == 1'b0) out = a; else out = b; endmodule 2 : 1 MUX Ver1.0 (2008) 45

46 variable 자료형 q integer 자료형 v 정수형값을취급하며, 절차적할당문에의해값이변경됨 v signed reg로취급되며, 연산결과는 2의보수가됨 q time 자료형 v 시뮬레이션시간을처리하거나저장하기위해사용됨 v 64비트의 reg와동일하게작용 v unsigned 값이고 unsigned 연산이이루어짐 q real, reatime 자료형 v 실수형값을취급예 : Variable 자료형선언예 integer a; // integer value time last_chng; // time value real float ; // a variable to store real value realtime rtime ; // a variable to store time as a real value Ver1.0 (2008) 46

47 net 자료형 q net 자료형 v 논리게이트나모듈등의하드웨어요소들사이의물리적연결을나타내기위해사용 v 연속할당문 (continuous assignment), 게이트프리미티브등과같은구동자 (driver) 의값에의해 net의값이연속적으로유지됨 Ø 값을저장하지않음 ( 단, trireg net 는예외 ) v 구동자가연결되지않으면, default 값인 high-impedance (z) 가됨 Ø 단, trireg net 는이전에구동된값을유지 v default 자료형은 1비트의 wire v default 초기값은 z Ø trireg net 는 default 초기값으로 x 를가짐 Ver1.0 (2008) 47

48 net 자료형 Verilog net 자료형 자료형이름 wire tri wand wor triand trior supply0 supply1 tri0 tri1 trireg 의미 함축된논리적동작이나기능을갖지않는단순한연결을위한 net 함축된논리적동작이나기능을갖지않는단순한연결을위한 net 이며, 하드웨어에서 3 상태 (tri-state) 가되는점이 wire 와다름 다중구동자를갖는 net 이며, wired-and ( 즉, open collector logic) 의하드웨어구현을모델링하기위해사용 다중구동자를갖는 net 이며, wired-or ( 즉, emitter coupled logic) 의하드웨어구현을모델링하기위해사용 wand 와동일하게다중구동자를갖는 net 이며, 하드웨어에서 3 상태 (tri-state) 를갖는점이다름 wor 와동일하게다중구동자를갖는 net 이며, 하드웨어에서 3 상태 (tri-state) 를갖는점이다름 회로접지 (circuit ground) 에연결되는 net 전원 (power supply) 에연결되는 net 저항성 pulldown (resistive pulldown) 에의해접지로연결되는 net 저항성 pullup (resistive pullup) 에의해전원으로연결되는 net 물리적인 net 에저장되는전하를모델링하는 net Ver1.0 (2008) 48

49 net 자료형 q wire 와 tri v 회로구성요소들사이의연결에사용 v wire : 단일게이트또는단일연속할당문에의해구동되는 net에사용 v tri : 3상태 net에사용 wire, tri net 의진리표 wire/tri 0 1 x z 0 0 x x 0 1 x 1 x 1 x x x x x z 0 1 x z 예 : net 자료형선언예 wire w1, w2; // declares two wires, 생략가능 wire [7:0] bus; // a 8-bit bus wire enable=1'b0; // wire with initial value of 0 wand w3; // a scalar net of type wand tri [15:0] busa; // a three-state 16-bit bus Ver1.0 (2008) 49

50 net 자료형 q wired net v 다중구동자를갖는설계를지원하기위해사용 wand, triand net 의진리표 wand/ triand 0 1 x z x 1 x 0 x x x z 0 1 x z wor, trior net 의진리표 wor/ trior 0 1 x z x x x 1 x x z 0 1 x z Ver1.0 (2008) 50

51 net 자료형 // code : wand_test.v module wand_test(a, b, y); input a, b; output y; wand y; assign y = a; assign y = b; endmodule //code : wor_test.v module wor_test(a, b, y); input a, b; output y; wor y; assign y = a; assign y = b; endmodule Ver1.0 (2008) 51

52 net 자료형 // code : TB_net1.v `timescale 1ns/1ps module TB_net1; wire wand_y, wor_y; reg a, b; wand_test U1 (.a(a),.b(b),.y(wand_y) ); wor_test U2 (.a(a),.b(b),.y(wor_y) ); initial begin a=0; b=0; #200; a=0; b=1; #200; a=1; b=0; #200; a=1; b=1; #200; end endmodule Ver1.0 (2008) 52

53 벡터 v 범위지정 [msb:lsb] 을갖는다중비트의 net 또는 reg 자료형 v signed로선언되거나 signed로선언된포트에연결되는경우를제외하고는 unsigned로취급 v 단일할당문으로값을받을수있음 data_type [msb:lsb] identifier; reg [7:0] rega; // 8-bit reg wire [15:0] d_out; // 16-bit wire Ver1.0 (2008) 53

54 배열 v 별도의자료형이없으며, reg 또는 wire 선언을이용하여선언 v 배열전체또는일부분은단일할당문에의해값을할당받을수없으며, 또한수식에사용될수없음 Ø 배열을구성하는 element 만단일할당문으로값을할당받을수있음 v RAM, ROM, Register File 등의메모리모델링에사용 2차원배열 data_type identifier [Uaddr:Laddr][Uaddr2:Laddr2]; 벡터의 2 차원배열 data_type [msb:lsb] identifier [Uaddr:Laddr][Uaddr2:Laddr2]; Ver1.0 (2008) 54

55 배열 예 : 배열선언 reg [7:0] mema[0:255]; // a memory mema of bit registers reg arrayb[7:0][0:255]; // a 2-D array of 1-bit registers wire w_array[7:0][5:0]; // an array of wires integer inta[1:64]; // an array of 64 integer values time chng_hist[1:1000]; // an array of 1000 time values 예 : 배열요소에의한할당 mema = 0; // Illegal syntax- Attempt to write to entire array arrayb[1] = 0; // Illegal Syntax - Attempt to write to elements // [1][0]..[1][255] arrayb[1][12:31] = 0; // Illegal Syntax - Attempt to write to // elements [1][12]..[1][31] mema[1] = 0; // Assigns 0 to the second element of mema arrayb[1][0] = 0; // Assigns 0 to the bit referenced by indices [1][0] inta[4] = 33559; // Assign decimal number to integer in array chng_hist[t_index] = $time; // Assign current simulation time to // element addressed by integer index Ver1.0 (2008) 55

56 배열 q 메모리 v reg형요소를갖는 1차원배열 v 메모리전체가단일할당문으로값을할당받을수없음 Ø 인덱스로지정되는워드단위로만값을할당하거나수식에사용될수있음 예 : 메모리 reg [1:n] rega; reg mema [1:n]; // An n-bit register // A memory of n 1-bit registers Ver1.0 (2008) 56

57 parameter v variable 또는 net 범주에속하지않는상수값 v 회로의비트크기또는지연값을지정하기위해사용 v defparam 문또는모듈인스턴스문의 parameter overriding에의해값을변경시킬수있음 v 자료형과범위지정을가질수있음 Ø 범위가지정되지않은경우, 상수값에적합한크기의비트폭을 default로가짐 예 : parameter 선언 parameter msb = 7; // defines msb as a constant value 7 parameter e = 25, f = 9; // defines two constant numbers parameter r = 5.7; // declares r as a real parameter parameter byte_size = 8, byte_mask = byte_size - 1; parameter average_delay =(r + f) / 2; parameter signed [3:0] mux_selector = 0; parameter real r1 = 3.5e17; parameter p1 = 13'h7e; parameter [31:0] dec_const = 1'b1; // value converted to 32 bits parameter newconst = 3'h4; // implied range of [2:0] Ver1.0 (2008) 57

58 parameter module modxnor (y_out, a, b); 모듈인스턴스의 parameter overriding parameter size=8, delay=15; output [size-1:0] y_out; input [size-1:0] a, b; wire [size-1:0] #delay y_out= a ~^ b; // bit-wise XNOR with delay endmodule module Param; wire [7:0] y1_out; wire [3:0] y2_out; reg [7:0] b1, c1; reg [3:0] b2, c2; modxnor G1 (y1_out, b1, c1); // use default parameters modxnor #(4, 5) G2 (y2_out, b2, c2); // overrides default parameters endmodule // Primitive instantiation with 3 units of delay nand #3 G1 (out_nd2, in0, in1); primitive gate 의 delay Ver1.0 (2008) 58

59 1.6 연산자 (Operator) Ver1.0 (2008) 59

60 Verilog 의연산자 Verilog HDL의연산자 연산자 기능 연산자 기능 {}, {{}} 결합, 반복 ^ 비트단위 exclusive or +, -, *, /, ** 산술 ^~ 또는 ~^ 비트단위 xnor % 나머지 & 축약 (reduction) and >, >=, <, <= 관계 ~& 축약 nand! 논리부정 축약 or && 논리 and ~ 축약 nor 논리 or ^ 축약 xor == 논리등가 ^~ 또는 ~^ 축약 xnor!= 논리부등 << 논리왼쪽시프트 === case 등가 >> 논리오른쪽시프트!== case 부등 <<< 산술왼쪽시프트 ~ 비트단위부정 >>> 산술오른쪽시프트 & 비트단위 and? : 조건 비트단위 or or Event or Ver1.0 (2008) 60

61 Verilog 의연산자 Verilog 연산자의우선순위 +, -,!, ~ ( 단항 ) Highest precedence ** *, /, % +, -( 이항 ) <<, >>, <<<, >>> <, <=, >, >= ==,!=, ===,!== &, ~& ^, ^~, ~^, ~ &&? : (conditional operator) Lowest precedence Ver1.0 (2008) 61

62 연산자 실수형수식에사용될수있는연산자 연산자 기능 연산자 기능 +, -, *, /, ** 산술 논리 or +, - 부호 == 논리등가 >, >=, <, <= 관계!= 논리부등! 논리부정? : 조건 && 논리 and or Event or Ver1.0 (2008) 62

63 산술연산자 v 피연산자의비트에 x 나 z 가포함된경우, 전체결과값은 x v 나누기와나머지연산자에서두번째피연산자가 0인경우, 결과값은 x v 나머지연산자의결과값은첫번째피연산자의부호를따름 v 거듭제곱연산자에서다음의경우에는결과값이정의되지않음 Ø 첫번째피연산자가 0이고두번째피연산자가양수가아닌경우 Ø 첫번째피연산자가음수이고두번째피연산자가정수값이아닌경우 기호기능 + 더하기 - 빼기 * 곱하기 / 나누기 ( 몫 ) % 나머지 (modulo) ** 거듭제곱 (power) 오퍼랜드자료형 unsigned net signed net unsigned reg signed reg integer time real, realtime 해석 Unsigned Signed, 2 s complement Unsigned Signed, 2 s complement Signed, 2 s complement Unsigned Signed, floating-point Ver1.0 (2008) 63

64 산술연산자사용예 -d10 / 5 // (10의 2의보수 )/5 = ( )/5 5 / 0 // 5/0 = x (-7) % (+4) = -3 // 나머지, 왼쪽오퍼랜드의부호를따른다. (+7) % (-2) = +1 // 정수, 레지스터연산예 integer inta; reg [15:0] rega; reg signed [15:0] regs; inta = -4'd12; rega = inta / 3; // -4, inta는 integer, rega는 rega = -4'd12; // rega는 inta = rega / 3; // inta = -4'd12 / 3; // , -4d'12= rega = -12 / 3; // -4, -12는 integer 자료형, rega는 regs = -12 / 3; // -4, regs 는 signed reg regs = -4'sd12 / 3; // 1, -4'sd12 는 4 이므로 4/3=1 Ver1.0 (2008) 64

65 관계연산자 v 산술연산자보다낮은우선순위를가짐 v 피연산자의비트에 x 나 z가포함된경우, 결과값은 1비트의 x v 두피연산자의비트수가다른경우에는, 비트수가작은피연산자의 MSB 쪽에 0이채워져비트수가큰피연산자에맞추어진후, 관계를판단함 v 피연산자중하나가실수형이면다른피연산자가실수형으로변환된후, 비교됨 관계연산자 관계연산자식의미 a < b a > b a <= b a >= b a가 b보다작다 a가 b보다크다 a가 b보다작거나같다 a가 b보다크거나같다 Ver1.0 (2008) 65

66 관계연산자 예 : 관계연산자수식 // A = 9, B = 4 // D = 4'b1001, E = 4'b1100, F = 4'b1xxx A <= B // 결과값은거짓 (0) A > B // 결과값은참 (1) E >= D // 결과값은참 (1) E < F // 결과값은 x l a < b-1 2 a <(b-1) 3 b-(1 < a) 4 b-1 < a // l 과 2 는결과가동일 // 3 과 4 는결과가다를수있음 Ver1.0 (2008) 66

67 등가연산자 v 관계연산자보다낮은우선순위를가짐 v 피연산자의비트끼리비교 v 두피연산자의비트수가다른경우에는, 비트수가작은피연산자의 MSB 쪽에 0이채워져비트수가큰피연산자에맞추어진후, 등가를판단함 v case equality와 case inequality 연산자 (===,!==) 는대부분의 EDA 툴에서논리합성이지원되지않으므로, 합성을위한 RTL 수준의모델링에는사용하지않는것이좋음등가연산자 관계연산자식 의 미 a === b a와 b는같다. (x와 z가포함된일치를판단 ) a!== b a와 b는같지않다. (x와 z가포함된불일치를판단 ) a == b a와 b는같다. ( 결과가 x가될수있음 ) a!= b a와 b는같지않다. ( 결과가 x가될수있음 ) Ver1.0 (2008) 67

68 등가연산자 예 : 등가연산자 // A = 9, B = 4 // D = 4'b1001, E = 4'b1100 // F = 4'b1xxz, G = 4'b1xxz, H = 4'b1xxx A === B // 결과값은거짓 (0) D!= E // 결과값은참 (1) D == F // 결과값은 x F === G // 결과값은참 (1) F === H // 결과값은거짓 (0) G!== H // 결과값은참 (1) Ver1.0 (2008) 68

69 논리연산자 v 참또는거짓의판단이모호한경우에는결과값은 x 논리연산자식 의 미 a && b a와 b의논리 AND a b a와 b의논리 OR!a a의부정 (NOT a) 예 : 논리연산자 // A = 3, B = 0, C = 2'b0x, // D = 2'b10인경우에, A && B // 결과값은 0 A B // 결과값은 1!A // 결과값은 0!B // 결과값은 1 C && D // 결과값은 x // alpha = 237, beta=0인경우에, rega = alpha && beta; // rega에는 0이할당된다. regb = alpha beta; // regb에는 1이할당된다. a < size-1 && b!= c && index!= last_one a < (size-1) && (b!= c) && (index!= last_one) // recommended if(!reset) Ver1.0 (2008) 69

70 비트연산자 v 피연산자의해당비트들에대한연산을수행 v 피연산자의비트수가같지않으면, 비트수가작은피연산자의 MSB 위치에 0이채워진후, 연산됨 비트 and 연산자 비트 or 연산자 비트부정연산자 & 0 1 x z 0 1 x z ~ x x x x x 0 x x x x x 1 x x x x z 0 x x x z x 1 x x z x 비트 xor 연산자 ^ 0 1 x z x x x x x x x x x z x x x x //D = 4'b1001, E = 4'b1101, F = 4'b10x1 ~D // 결과값은 4'b0110 D & E // 결과값은 4'b1001 D E // 결과값은 4'b1101 D ^ E // 결과값은 4'b0100 D ~^ E // 결과값은 4'b1011 D & F // 결과값은 4'b10x1 Ver1.0 (2008) 70

71 축약 (reduction) 연산자 v 단항연산자, 피연산자의단위비트들에적용되어단일비트의결과값생성 축약 and & 0 1 x z x x x 0 x x x z 0 x x x 연산자 피연산자 축약 nand ~& 0 1 x z x x x 1 x x x z 1 x x x 연산결과 & ~& ~ ^ ~^ 축약 xnor ~^ 0 1 x z x x x x x x x x x z x x x x 설명 4'b 모든비트가 0 인경우 4'b 모든비트가 1 인경우 4'b 의개수가짝수인경우 4'b 의개수가홀수인경우 reg[7:0] cnt; assign parity = ^cnt; assign parity = cnt[7]^cnt[6]^cnt[5]^cnt[4]^cnt[3]^cnt[2]^cnt[1]^cnt[0]; Ver1.0 (2008) 71

72 시프트연산자 q 논리시프트연산자 ( <<, >> ) v << : 우측피연산자값만큼좌측으로시프트후, 비어있는비트에 0을채움 v >> : 우측피연산자값만큼우측으로시프트후, 비어있는비트에 0을채움 q 산술시프트연산자 ( >>>, <<< ) v <<< : 우측피연산자값만큼좌측으로시프트후, 비어있는비트에 0을채움 v >>> : 우측피연산자값만큼우측으로시프트후, 비어있는비트에좌측피연산자의 MSB를채움 q 우측피연산자 v x 또는 z가포함된경우, 시프트연산의결과값은 x v 항상 unsigned 수 Ver1.0 (2008) 72

73 시프트연산자 // A = 4'b1100 B = A >> 1 // 오른쪽으로 1비트시프트, 결과값은 B=4'b0110 C = A << 1 // 왼쪽으로 1비트시프트, 결과값은 B=4'b1000 D = A << 2 // 왼쪽으로 2비트시프트, 결과값은 B=4'b0000 module shift; reg [3:0] start, result; initial begin start = 1; result =(start << 2); // 결과값은 0100 end endmodule module ashift; reg signed [3:0] start, result; initial begin start = 4'b1000; result =(start >>> 2); // 결과값은 1110 end endmodule Ver1.0 (2008) 73

74 조건연산자 conditional_expr ::= expr1? expr2 : expr3 v expr1이참 (1, 즉 0, x 또는 z가아닌값 ) 으로평가되면 expr2의값이좌변변수에할당 v expr1이 x 또는 z이면, expr2와 expr3을함께평가하여비트단위로비교된값이 좌변의변수에할당 Ø expr3이 real 형값이아니면결과값은비트단위로비교되어결정되며, real 형 값인경우에는결과값은 0이됨 조건에애매성이존재하는경우의조건연산자의결과값결정? : 0 1 x z 0 0 x x x 1 x 1 x x x x x x x z x x x x 조건연산자를이용한 3상태버퍼 wire [15:0] busa = drive_busa? data : 16'bz; Ver1.0 (2008) 74

75 결합연산자 v 중괄호 { } 에의해묶인두개이상의표현이갖는비트들을결합 Ø 결합되는피연산자들은각각의크기를결정할수있어야결합이가능 Ø unsized 상수는결합연산자로결합시킬수없음 v 대입문의좌측또는우측에사용가능 v 비트폭이일치하지않는변수의연산이나대입이허용됨 Ø 우변의비트폭이작은경우, 우변의 MSB 에 0 을붙여연산됨 Ø 좌변의비트폭이우변보다작을경우, MSB 는누락되어저장 {a, b[3:0], w, 3'b101} // 결합연산자의결과 {a, b[3], b[2], b[1], b[0], w, 1'b1, 1'b0, 1'b1} wire [15:0] addr_bus; assign addr_bus = {addr_hi, addr_lo}; // addr_hi, addr_lo 는 8 비트신호 wire [3:0] a, b, sum; wire carry; assign {carry, sum} = a + b; // 4비트데이터의덧셈은 5비트결과 // 좌변이 5 비트이므로, 우변의 a+b는 MSB에 0을붙인 5비트로연산됨 Ver1.0 (2008) 75

76 반복연산자 v {a{b}} 의형태로표현하여 b 를 a 회반복 Ø 반복횟수 a 는 0, x, z 가아닌상수이어야함 {4{w}} // {w, w, w, w} 와동일한표현. a[31:0] = {1'b1, {0{1'b0}} }; // 우변이 {1'b1} 가되므로잘못된표현임. a[31:0] = {1'b1, {1'bz{1'b0}} }; // 우변이 {1'bz} 가되므로잘못된표현임. a[31:0] = {1'b1, {1'bx{1'b0}} }; // 우변이 {1'bx} 가되므로잘못된표현임. result = {func(w), func(w), func(w), func(w)}; // 반복함수호출 // 위문자은다음과같다. y=func(w); result = {y,y,y,y}; // 혹은, 다음과도같다. result = {4{func(w)}}; {b, {3{a, b}}} // {b, a, b, a, b, a, b} 와동일함. Ver1.0 (2008) 76

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

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

Microsoft PowerPoint - DSD01_verilog1b.pptx

Microsoft PowerPoint - DSD01_verilog1b.pptx 한국기술교육대학교 장영조 한국기술교육대학교전기전자통신공학부 2 1. Velilog HDL 개요 2. Verilog 첫걸음 3. Velilog 어휘규칙 4. 모듈 5. 데이터형 6. 연산자 7. 인스턴스 8. 시스템태스크와함수 9. 컴파일러지시어 한국기술교육대학교전기전자통신공학부 3 설계의기본단위 모듈구성 module module_name (port_list);

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

OCW_C언어 기초

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

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

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

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

歯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

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

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

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 - DSD03_verilog3b.pptx

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

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 - DSD03_verilog3a.pptx

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

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

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 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

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

ºÎ·Ï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

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

Microsoft PowerPoint - VHDL01_chapter1.ppt [호환 모드] VHDL 프로그래밍 1. 문법기초 - 간단한조합회로및문법 학습목표 VHDL 기술과소프트웨어와차이파악 Signal assignment 의의미파악 Architecture body 의개념파악 Entity declaration 의개념파악 Process 문의사용법 Variable 과 signal 의차이파악 Library, Use, Package 의사용법 2/53 간단한논리회로예제

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

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

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

슬라이드 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 - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드] Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨

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

< 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

2 장수의체계 1. 10진수 2. 2진수 3. 8진수와 16진수 4. 진법변환 5. 2진정수연산과보수 6. 2진부동소수점수의표현 한국기술교육대학교전기전자통신공학부전자전공 1

2 장수의체계 1. 10진수 2. 2진수 3. 8진수와 16진수 4. 진법변환 5. 2진정수연산과보수 6. 2진부동소수점수의표현 한국기술교육대학교전기전자통신공학부전자전공 1 장수의체계. 진수. 진수 3. 8진수와 6진수 4. 진법변환 5. 진정수연산과보수 6. 진부동소수점수의표현 진수 진수표현법 v 기수가 인수 v,,, 3, 4, 5, 6, 7, 8, 9 사용 9345.35 = 9 3 4 5 3. 5. = 9 3 3 4 5 3-5 - v 고대로마의기수법에는 5 진법을사용 v 진법의아라비아숫자는인도에서기원전 세기에발명 진법을나타내는기본수를기수

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

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

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

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

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

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

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 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

슬라이드 1

슬라이드 1 3 장. 선행자료 어휘원소, 연산자와 C 시스템 박종혁교수 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr SeoulTech 2019-1 st 프로그래밍입문 (1) 2 목차 1.1 문자와어휘원소 1.2 구문법칙 1.3 주석 1.4 키워드 (Keyword) 1.5 식별자 (Identifier) 1.6 상수 (Integer,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조

More information

8장 조합논리 회로의 응용

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

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.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 학습목표 의 개념에 대해 알아본다.

More information

Computer Architecture

Computer Architecture 정수의산술연산과부동소수점연산 정수의산술연산부동소수점수의표현부동소수점산술연산 이자료는김종현저 - 컴퓨터구조론 ( 생능출판사 ) 의내용을편집한것입니다. 3.5 정수의산술연산 기본적인산술연산들 2 2 3.5.1 덧셈 2 의보수로표현된수들의덧셈방법 두수를더하고, 만약올림수가발생하면버림 3 3 병렬가산기 (parallel adder) 덧셈을수행하는하드웨어모듈 4- 비트병렬가산기와상태비트제어회로

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

Microsoft PowerPoint - 1-2장 디지털_데이터 .ppt

Microsoft PowerPoint - 1-2장 디지털_데이터 .ppt 1 장디지털개념 한국기술교육대학교정보기술공학부전자전공장영조 1.1 디지털과아날로그 아날로그 : 연속적인범위의값으로표현 디지털 : 2 진수의값에의해표시 < 아날로그파형 > < 디지털파형 > 2 1.2 논리레벨과펄스파형 양논리시스템 (positive logic system)- 일반적으로많이사용 1(high 레벨 ), 0(low 레벨 ) 로나타냄. 음논리시스템 (negative

More information

untitled

untitled Logic and Computer Design Fundamentals Chapter 4 Combinational Functions and Circuits Functions of a single variable Can be used on inputs to functional blocks to implement other than block s intended

More information

Microsoft PowerPoint - DSD02_verilog2b.pptx

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

More information

Microsoft PowerPoint - chap-05.pptx

Microsoft PowerPoint - chap-05.pptx 쉽게풀어쓴 C 언어 Express 제 5 장수식과연산자 컴퓨터프로그래밍기초 이번장에서학습할내용 * 수식과연산자란? * 대입연산 * 산술연산 * 논리연산 * 관계연산 * 우선순위와결합법칙 이번장에서는수식과연산자를살벼봅니다. 컴퓨터프로그래밍기초 2 수식 수식 (expression) x + y x*x + 5*x + 6 (principal * interest_rate

More information

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드]

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드] 02 C 프로그래밍기초 충남대학교이형주 1 C 프로그램구조 콘솔응용프로그램 2 프로그램실행순서 C 프로그램은여러함수의조합으로구성 함수란정해진규칙에의하여일련의작업을수행하는프로그램의단위 실행순서 main 함수는프로그램이실행되면가장먼저시작되는부분 모든함수내부에서는위에서아래로, 좌에서우로, 문장이위치한순서대로실행 3 전처리기 전처리기 (preprocessor) 미리처리하는프로그램으로,

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 - lec2.ppt

Microsoft PowerPoint - lec2.ppt 2008 학년도 1 학기 상지대학교컴퓨터정보공학부 고광만 강의내용 어휘구조 토큰 주석 자료형기본자료형 참조형배열, 열거형 2 어휘 (lexicon) 어휘구조와자료형 프로그램을구성하는최소기본단위토큰 (token) 이라부름문법적으로의미있는최소의단위컴파일과정의어휘분석단계에서처리 자료형 자료객체가갖는형 구조, 개념, 값, 연산자를정의 3 토큰 (token) 정의문법적으로의미있는최소의단위예,

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

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

<4D F736F F F696E74202D C6F672D48444CC0BB20C0CCBFEBC7D120B5F0C1F6C5D0BDC3BDBAC5DBBCB3B0E82E707074>

<4D F736F F F696E74202D C6F672D48444CC0BB20C0CCBFEBC7D120B5F0C1F6C5D0BDC3BDBAC5DBBCB3B0E82E707074> Verilog-HDL 에의한 참고문헌 Verilog HDL : A Guide to Digital Design and Synthesis Author : Samir Palnikar Publisher : PTR-PH HDL Chip Design Author : Douglas J. Smith Publisher : Doone Publications Verilog Center

More information

歯03-ICFamily.PDF

歯03-ICFamily.PDF Integrated Circuits SSI(Small Scale IC) 10 / ( ) MSI(Medium Scale IC) / (, ) LSI(Large Scale IC) / (LU) VLSI(Very Large Scale IC) - / (CPU, Memory) ULSI(Ultra Large Scale IC) - / ( ) GSI(Giant Large Scale

More information

Microsoft PowerPoint - CHAP-03 [호환 모드]

Microsoft PowerPoint - CHAP-03 [호환 모드] 컴퓨터구성 Lecture Series #4 Chapter 3: Data Representation Spring, 2013 컴퓨터구성 : Spring, 2013: No. 4-1 Data Types Introduction This chapter presents data types used in computers for representing diverse numbers

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

[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

슬라이드 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

수없기때문에간단한부분으로나눠서구현하고, 이를다시합침으로써전체를구현하게 된다. 실험에서는이미구현된 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

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

Microsoft PowerPoint - ICCAD_Analog_lec01.ppt [호환 모드] Chapter 1. Hspice IC CAD 실험 Analog part 1 Digital circuit design 2 Layout? MOSFET! Symbol Layout Physical structure 3 Digital circuit design Verilog 를이용한 coding 및 function 확인 Computer 가알아서해주는 gate level

More information

歯02-BooleanFunction.PDF

歯02-BooleanFunction.PDF 2Boolean Algebra and Logic Gates 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 IC Chapter 2 Boolean Algebra & Logic Gates 1 Boolean Algebra 1854 George Boole Chapter 2 Boolean Algebra & Logic Gates 2 Duality Principle

More information

Microsoft PowerPoint - C++ 5 .pptx

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

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 - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

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

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf("hihi\n"); } warning: conflicting types for functiona

4. #include <stdio.h> #include <stdlib.h> int main() { functiona(); } void functiona() { printf(hihi\n); } warning: conflicting types for functiona 이름 : 학번 : A. True or False: 각각항목마다 True 인지 False 인지적으세요. 1. (Python:) randint 함수를사용하려면, random 모듈을 import 해야한다. 2. (Python:) '' (single quote) 는한글자를표현할때, (double quote) 는문자열을표현할때사용한다. B. 다음에러를수정하는방법을적으세요.

More information

PHPoC vs PHP > 개요 개요 PHPoC 는솔내시스템 이자체개발한프로그래밍언어입니다. 당사의모든 PHPoC 제품들의펌웨어에는 PHPoC 인터프리터가내장되어있습니다. PHPoC 는범용스크립트언어인 PHP 를기반으로제작되었습니다. PHPoC 는매우간단하여 C 언어등

PHPoC vs PHP > 개요 개요 PHPoC 는솔내시스템 이자체개발한프로그래밍언어입니다. 당사의모든 PHPoC 제품들의펌웨어에는 PHPoC 인터프리터가내장되어있습니다. PHPoC 는범용스크립트언어인 PHP 를기반으로제작되었습니다. PHPoC 는매우간단하여 C 언어등 PHPoC vs PHP > 개요 개요 PHPoC 는솔내시스템 이자체개발한프로그래밍언어입니다. 당사의모든 PHPoC 제품들의펌웨어에는 PHPoC 인터프리터가내장되어있습니다. PHPoC 는범용스크립트언어인 PHP 를기반으로제작되었습니다. PHPoC 는매우간단하여 C 언어등프로그래밍언어에대한경험이있는사람이라면누구나쉽게사용할수있습니다. PHPoC 는기본적으로 PHP

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

슬라이드 1

슬라이드 1 2 장. 어휘원소, 연산자와 C 시스템 박종혁교수 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr SeoulTech 2018-1 st 프로그래밍입문 (1) 2 목차 2.1 문자와어휘원소 2.2 구문법칙 2.3 주석 2.4 키워드 (Keyword) 2.5 식별자 (Identifier) 2.6 상수 (Integer,

More information

Microsoft PowerPoint - c2.ppt

Microsoft PowerPoint - c2.ppt 프로그램과표준입출력 프로그램 (program) 자료를입력받아서이를처리하여출력을하는일을수행함 2 장 C 언어의기초 입력 프로그램 ( 처리 ) 출력 식별자, 예약어 자료형 상수와변수 수식 연산자 : 산술연산자 자료형변환 표준입출력 (standard input and output: stdio) 표준입력 : 키보드입력 표준출력 : 모니터또는터미널로출력 (cf) DOS,

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

[ 마이크로프로세서 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

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

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

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)- 1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다. 1.2.1 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-1 연산범위이유 : 00000000 00000000 00000000 00000000의 32

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

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

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

More information

KNK_C03_Expr_kor

KNK_C03_Expr_kor Expressions adopted from KNK C Programming : A Modern Approach Operators 연산자 C 는표현식을많이사용함 표현식은변수와상수와연산자로구성됨 C 에는연산자의종류가다양함 1. arithmetic operators ( 수식연산자 ) 2. relational operators ( 관계연산자 ) 3. logical

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Computer Architecture CHAPTER 컴퓨터산술과논리연산 제 3 장 컴퓨터산술과논리연산 3.1 ALU의구성요소 3.2 정수의표현 3.3 논리연산 3.4 시프트연산 3.5 정수의산술연산 3.6 부동소수점수의표현 3.7 부동소수점산술연산 3.1 ALU 의구성요소 산술연산장치 : 산술연산들 (+, -,, ) 을수행 논리연산장치 : 논리연산들 (AND,

More information

Microsoft PowerPoint - KNK_C03_Expr_kor

Microsoft PowerPoint - KNK_C03_Expr_kor Expressions adopted from KNK C Programming : A Modern Approach Operators 연산자 C 는표현식을많이사용함 표현식은변수와상수와연산자로구성됨 C 에는연산자의종류가다양함 1. arithmetic operators ( 수식연산자 ) 2. relational operators ( 관계연산자 ) 3. logical

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

歯15-ROMPLD.PDF

歯15-ROMPLD.PDF MSI & PLD MSI (Medium Scale Integrate Circuit) gate adder, subtractor, comparator, decoder, encoder, multiplexer, demultiplexer, ROM, PLA PLD (programmable logic device) fuse( ) array IC AND OR array sum

More information

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - e pptx Import/Export Data Using VBA Objectives Referencing Excel Cells in VBA Importing Data from Excel to VBA Using VBA to Modify Contents of Cells 새서브프로시저작성하기 프로시저실행하고결과확인하기 VBA 코드이해하기 Referencing Excel Cells

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

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

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

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 3 장 : 변수와데이터형 2012 년 이은주 학습목표 변수와상수의개념에대해알아본다. 리터럴상수, 매크로상수, const 변수에대해알아본 다. C 언어의데이터형에대해알아본다. 2 목차 변수와상수 변수 상수 데이터형 문자형 정수형 실수형 sizeof 연산자 3 변수와상수 변수 : 값이변경될수있는데이터 상수 : 값이변경될수없는데이터

More information

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

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

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

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

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

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

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(

More information

06 세상을 변화시키는 연산자

06 세상을 변화시키는 연산자 Part 06 세상을변화시키는연산자 1 이장의내용 대입문도사실은수식이다 대입연산자의변형 증감연산자 조건연산자 괄호도연산자인가? 우선순위와결합순서정리 2 6.1 대입문도사실은수식이다 3 대입문 변수에값을대입시키는문장 a = a + 1; "a 와 a+1 이같다 " 는뜻이아니라 "a+1 값을변수 a 에저장하라 " 는뜻 대입문동작과정 대입문수행전에변수 a 에 20

More information

Microsoft PowerPoint - 강의자료8_Chap9 [호환 모드]

Microsoft PowerPoint - 강의자료8_Chap9 [호환 모드] 컴퓨터구조 강의노트 #8: Chapter 9: 컴퓨터산술 2008. 5. 8. 담당교수 : 조재수 E-mail: jaesoo27@kut.ac.kr 1 컴퓨터시스템구조론 제9장컴퓨터산술 (Computer Arithmetic) 2 1 핵심요점들 컴퓨터산술에있어서두가지주요관심사는수가표현되는방법 (2진수형식 ) 과기본적인산술연산들 ( 더하기, 빼기, 곱하기, 나누기

More information

슬라이드 1

슬라이드 1 3. 자료와변수 3.1 자료형 자료형 컴퓨터는숫자 (= 데이터 ) 를다룬다. 컴퓨터가다룰수있는숫자의유형이있다. C 언어에서의자료형 크기 (byte) 정수형 ( 문자형 ) char 1 정수형 실수형 ( 부동소수형 ) short 2 int 4 long 4 long long 8 float 4 double 8 long double 8 / 16 강 C 프로그래밍 3

More information

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

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

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

歯처리.PDF

歯처리.PDF E06 (Exception) 1 (Report) : { $I- } { I/O } Assign(InFile, InputName); Reset(InFile); { $I+ } { I/O } if IOResult 0 then { }; (Exception) 2 2 (Settling State) Post OnValidate BeforePost Post Settling

More information