Microsoft PowerPoint - verilog문법new.ppt
|
|
- 민하 진
- 6 years ago
- Views:
Transcription
1 Verilog HDL Syntax
2 HDL 이란? HDL(Hardware Description Language) VLSI 설계가복잡도증가및 time-to-market 감소 GLM 의 schematic 설계불가능 HDL 언어를이용한시스템및회로수준구현보편화 하드웨어기술언어논리회로의프로그래밍언어에의한표현네트리스트및프로그래밍언어적표현 다양한하드웨어설계방법지원 Structural 및 Functional 방법에의한설계 병렬처리구문의설계가능하드웨어구현이전에시뮬레이션가능 concurrent language A B C -2-
3 HDL 종류 VHDL ADA 와비슷한 syntax 미국국방성중심으로 1987 년표준화 (IEEE 1076) 언어기술방법이다양하고엄격함 학계에서많이사용 Verilog HDL C 와비슷한 syntax Gateway Design System 사에서개발 Cadence 로흡수 약 70% 이상의기업체에서사용 -3-
4 HDL 의장단점 장점설계효율화 설계기간단축 검증정확도향상 디자인재사용가능 회로기능변경용이 라이브러리화지원 공정라이브러리에무관한설계가능 -4-
5 일반적인 ASIC 설계흐름 Design Specification Behavioral Description RTL Description (HDL) Functional Verification Logic Synthesis Gate-Level Netlist Logical Verification Floor Planning Automatic Place & Route Back annotation Physical Layout Layout Verification Implementation -5-
6 Verilog 의다양한기술형태 Verilog 는다양한형태로기술될수있다. 가장일반적으로는다음의 3 가지기술형태를혼용한다 Structural model primitive (built-in verilog logic gate, 라이브러리모듈의인스턴스, 혹은사용자설계모듈 ) 들의계층적구조로기술 Dataflow model expression 을사용한 combinational logic 기술 assign target = expression 의형태 Arithmetic operators: +, -, *, /, %, >>, << Relational operators: <, <=, ==,!=, >=, >, ===,!== Logical operators: &&,,!,?: Bit-wise operators: ~, &,, ^, ~^, ^~ Reduction operators: &, ~&,, ~, ^, ~^ Concatenation, replication: {sigs } {number{ }} -6-
7 Verilog 의다양한기술형태 Behavioral model Blocking assignment, non-blocking assignment, conditional statement, case statement 등으로기술된 always, initial block 으로기술 RTL 설계 Register Transfer Level 설계 회로구성요소인 register들과그들사이의데이터전송관계를표현 Clock 존재 논리합성의대상 일반적으로 dataflow model + behavioral model 을의미 -7-
8 Verilog 코딩의기본구조 모듈 (Module) Verilog HDL 프로그램의기본구조 대소문자구별 Statement terminator 로 semicolon 을사용 Timing specification 은시뮬레이션을위해서사용 module module_name(port_list); port declarations data type declarations circuit functionality endmodule timing specifications -8-
9 모듈의구성요소 module (port (port list) list) Timing Specificatons port port declarations data data type type declaratoins circuit functionality subprograms input output input net net register parameter continuous assignment assign procedural blocks initial block instantiation task task function system tasks tasks always block compiler directives -9-
10 모듈구조예 module Add_half_1 (sum, c_out, a, b); input a, b; output sum, c_out; wire c_out_bar; xor (sum, a, b); nand (c_out_bar, a, b); not (c_out, c_out_bar); endmodule 모듈선언 포트선언 데이터타입선언 회로 function 기술 Predefined primitives 를사용하여 instantiation a b Add_half_1 sum c_out c_out Sum = a ^ b C_out = a & b -10-
11 모듈구조예 module Add_half_2 (sum, c_out, a, b); input a, b; output sum, c_out; assign {c_out, sum} = a + b; endmodule 회로 function 기술 continuous assignment 구문사용 a b Add_half_2 sum c_out Sum = a ^ b C_out = a & b -11-
12 모듈구조예 module Add_full (sum, c_out, a, b, c_in); input a, b, c_in; output sum, c_out; wire w1, w2, w3; Add_half_1 M1 (w1, w2, a, b); Add_half_2 M2 (sum, w3, w1, c_in); or (c_out, w2, w3); endmodule 기존에설계한 half_adder 를이용한 Structural description module instantiation 사용 (parent module / child module) module instantiation 시반드시 module instance name 이들어가야함 (primitive instantiation 시는 optional) c_in w1 M2 w3 sum a b M1 w2 c_out -12-
13 모듈구조예 module full_adder (sum, carryout, in1, in2, carryin); input in1, in2, carryin; output sum, carryout; reg sum, carryout; or in2) begin {carryout, sum} = in1+in2+carryin; end sum HA = a ^ b c_out HA = ab sum FA = (a + b) ^ c_in c_out FA = (a + b) c_in + abc_in Half_adder 의결과를 sum 을연산자 +, c_out 를연산자 & 로치환하면 sum FA = (a + b) + c_in c_out FA = a&b a&b&c_in endmodule in1 in2 carryout full_adder carryin sum -13-
14 모듈구조예 module stimulus; reg clk; reg reset; wire [3:0] q; ripple_carry_counter r1(q, clk, reset); initial clk = 1 b0; always #5 clk = ~clk; initial begin reset = 1 b1; #15 reset = 1 b0; #180 reset = 1 b1; #10 reset = 1 b0; #20 $finish; end initial $ monitor($time, output q = %d, q); endmodule task 및 Timing specification -14-
15 포트선언 포트리스트모듈에사용되는포트이름의 list 예 : module mux_latch(y_out, sel_a, sel_b, data_a, data_b); 포트타입 input : 입력포트 output : 출력포트 inout : 입 출력포트포트선언포트리스트에나열된포트명의타입을결정하는과정을의미 <port type> <port_name>; 예 input sel_a, sel_b, data_a, data_b; output y_out; input [3:0] a; output [3:0] a, b; -15-
16 데이터형태 물리적데이터형태 논리값종류 논리값 0 1 X Z 의미논리적 0 값또는조건False 논리적 1 값또는조건True Unknown 논리값 High impedance 추상적테이터형태 Integer, real, time 등 논리값 integer Count integer K[1:63] 의미 32 bit integer Array of 64 integers -16-
17 데이터형태 변수선언 ( 데이터형태선언 ) 종류 reg : register (latch 또는 flip-flop) 일시적으로데이터를저장하는변수를의미 하드웨어레지스터를의미하지는않는다 always, initial 문등에서사용 예 : reg alu_reg; reg [7:0] alu_reg; wire : net ( 배선 ) 값저장불가능 assign 문에서사용 예 : wire adder_out; wire [15:0] adder_out, mult_out; constant 파라미터를이용하여변수값을사용할때 -17-
18 데이터형 수표현 Sized 또는 unsized 형식의수표현가능 Sized 형식의수표현 형식 : <size> <base format><number> 예 : 3 b010 //3 의 prefix 는수의 size 를의미 Unsized 형식의수표현 Base format 이없는경우는 default 로 decimal 을의미 Size 가없는경우는 default 로 32-bit 의수를의미 예 : 321 //32-bit 을갖는 decimal number 321 을의미 Base format Decimal : d 또는 D Hexadecimal : h 또는 H Binary : b 또는 B Octal : o 또는 O -18-
19 데이터형 수표현 음수의표현 <size> 앞에 부호를위치하여표현 예 : -8 d3 //3 의 2 의보수형태로저장된 8bit 의음수 틀린예 : 4 d-2 수의확장법칙 MSB 가 0, X, 또는 Z 인경우 각각MSB가 0, X, Z가되도록확장 예 : 3 b01 = 3 b001, 3 bx1 = 3 bxx1, 3 bz = 3 bzzz MSB 가 1 인경우 MSB를 0으로채우는방향으로확장 예 : 3 b1 = 3 b
20 데이터형 수표현 Number #Bits Base Dec. Equiv. Stored Decimal b10 2 Binary d5 3 Decimal o5 8 Octal ha 8 Hex b01x 3 Binary - 01x 12 hx 12 Hex - xxxxxxxxxxxx 8 b0000_ Binary bx01 8 Binary - xxxxxx01 8 HAD 8 Hex
21 연산자 Binary 연산자의종류 Operator Name Comments + Addition - Subtraction * Multiplication / Division Divide by zero produces an x. % Modulus ( 예 ) A = 4 b0011, B = 4 b0100, D = 6, E =4 일때 A * B = 4 b1100 D / E = 1 //Truncates any fractional part A + B = 4 b0111 B A = 4 b % 3 = 1 ( 예 ) 어떤 operand bit이 x값을가지면전체연산결과는 x 이다. in1 = 4 b101x, in2 = 4 b1010 일때 Sum = in1 + in 2; //sum은 4 bx -7 % 2 = -1 // 첫번째operand의부호 7 % -2 = 1 // 첫번째operand의부호 -21-
22 연산자관계연산자 Operator Name Comments > Greater than >= Greater than or equal < Less than <= Less than or equal == Logical equality!= Logical inequality ( 예 ) ain = 3 b010, bin = 3 b100, cin = 3 b111, din = 3 b01z, ein = 3 b01x일때 ain > bin 은 false(1 b0) 의결과 ain < bin 은 ture(1 b1) 의결과 ain >= bin 은 unknown(1 bx) 의결과 ain <= ein은 unknown(1 bx) 의결과 -22-
23 연산자논리연산자 Operator Name! Logical negation && Logical AND Logical OR Comments ( 예 ) A = 3 ; B = 0; A && B //Evaluates to 0. Equivalent to (logical 1 && logical 0) A B //Evaluates to 1. Equivalent to (logical 1 && logical 0)!A //Evaluates to 0. Equivalent to not(logical 1)!B //Evaluates to 1. Equivalent to not(logical 0) A = 2 b0x ; B = 2 b10; A && B //Evaluates to x. Equivalent to (x && logical 1) (a == 2) && (b == 3) //Evaluates to 1 if both a == 2 and b==3 are true -23-
24 연산자 Bitwise 연산자 Operator Name Comments ~ Bitwise negation & Bitwise AND Bitwise OR ^ Bitwise XOR ~& Bitwise NAND ~ Bitwise NOR ~^ or ^~ Bitwise XNOR Bitwise NOT XOR 만일두 operand의길이가다르면짧은길이의 operand가 0으로 left-extend ( 예 ) X = 4 b1010, Y = 4 b1101, Z = 4 b10x1일때 ~X //Result is 4 b0101 X & Y //Result is 4 b1000 X Y //Result is 4 b1111 X ^ Y //Result is 4 b0111 X ^~ Y //Result is 4 b1000 X & Z //Result is 4 b10x0-24-
25 연산자 Unary Reduction 연산자 Operator Name & AND reduction OR reduction ^ XOR reduction ~& NAND reduction ~ NOR reduction ~^ XNOR reduction Comments vector를하나의 bit로줄이는연산을수행한다. X 또는 Z는연산자에따라서 unknown일수도있고known일수도있다. ( 예 ) ain = 5 b10101, bin = 4 b0011, cin = 3 bz00, din = 3 bx011일때 &ain //Result is 1 b0 ~&ain //Result is 1 b1 cin //Result is 1 bx &din //Result is 1 b0-25-
26 연산자 Equality 연산자 Operator Name Possible Logic Comments Value == Equality 0, 1, x!= Inequality 0, 1, x === Case equality 0, 1 including x and Z!== Case inequality 0, 1 including x and Z case equality 와 case inequality 를제외하고 operand 에 X 나 Z 를포함하면결과는 unknown ( 예 ) A = 4, B = 3, X = 4 b1010, Y = 4 b1101, Z = 4 b1xxz, M = 4 b1xxz, N = 4 b1xxx 일때 A == B //Result is logical 0 X!= Y //Result is logical 1 X == Z //Result is x Z == M //Result is logical 1(all bits match, including x and z) Z == N //Result is logical 0(least significant bit does not match) M!= N //Result is logical 1-26-
27 연산자기타연산자 Operator Name Comments << Shift left Vacated bit positions are filled with zeros, e. g., A = A << 2; shifts A two bits to left with zero fill. >> Shift right Vacated bit positions are filled with zeros.? : Conditional Assigns one of two values depending on the conditional expression. E. g., A = C>D? B+3 : B-2 means if C greater than D, the value of A is B+3 otherwise B-2. { } Concatenate ain = 3 b010, bin = 4 b1100 {ain, bin} results 7 b { { } } Replicate {3{2 b10}} results 6 b
28 Multi bit 선언 신호선언 [MSB:LSB] Input [7:0] abus; reg [15:8] add; 한비트의선택 assign abc = abus[5] ; assign abus[5] = abc ; 여러신호를하나의신호로할당 assign abcd[15:0] = {abus[7:0],add[15:8]} ; -28-
29 Array Register 형은 array 로선언가능 Reg [15:0] mem [0:255]; mem 은 16bit * 256word, 512 byte 의메모리 resister 배열은 bit 선택과부분선택불가 반드시 word 단위의액세스 Bit 선택이나부분선택 일시적인 net 신호를이용 Ex) wire [15:0] temp; assign temp = mem [100]; -29-
30 기술방법 (Description) 구조적기술방법 (Structural description) Explicit structural description Primitive 또는라이브러리셀의 instance 및연결을통한기술 Implicit structural description Continuous assignment를통한기술 동작기술방법 (Behavioral description) 회로의동작을기술함으로설계하는방법대표적으로 initial, always behavior를사용 Procedural block 과 procedural statement로구성 -30-
31 기술방법 Explicit description module 8bit_or_gate (y, a, b) ; input [7:0] a, b ; output y ; or G1 (y, a, b) ; endmodule module 8bit_or_gate (y, a, b) ; input [7:0] a, b ; output y ; or8bit (y, a, b) ; endmodule Primitive 를이용한기술 라이브러리셀을이용한기술 Implicit description module 8bit_or_gate (y, a, b) ; input [7:0] a, b ; output y ; assign y = a b ; endmodule -31-
32 정보통신용정보통신용 SoC SoC 설계연구실설계연구실 -32- Primitives Primitives Predetermined primitives pullup pulldown tran tranif0 tranif1 rtran rtranif0 rtranif1 cmos rcmos nmos pmos rnmos rpmos bufif0 bufif1 notif0 notif1 and nand or nor xor xnor buf not Pull Gates Bi-Directional Gates CMOS Gates MOS Gates Three State Combinationa l logic
33 Module instantiation Port connection 의 2 가지방법 Connecting by ordered list Connecting ports by name Connecting by ordered list module Top; reg [3:0] A, B; reg C_IN; wire[3:0] SUM; wire C_OUT; fulladd4 fa_ordered(sum, C_OUT, A, B, C_IN);. <stimulus>. endmodule module fulladd4(sum, c_out, a, b, c_in); output [3:0] sum; output c_out; input [3:0] a, b; input c_in; <module internals> endmodule -33-
34 Module instantiation Connecting ports by name module Top; reg [3:0] A, B; reg C_IN; wire[3:0] SUM; wire C_OUT; fulladd4 fa_byname(.c_out(c_out),.sum(sum),.b(b),.c_in(c_in),.a(a) );. module fulladd4(sum, c_out, a, b, c_in); <stimulus> output [3:0] sum;. output c_out; endmodule input [3:0] a, b; input c_in; <module internals> endmodule -34-
35 Continuous Assignments Continuous Assignments Wire 에값을가하고 update 하기위해사용 LHS (Left Hand Side) 의데이터타입은항상 net data type이여야한다 Always active RHS (Right Hand Side) 의어느한operand라도변화하면, expression은실행되고 LHS 값은즉시 update 된다 RHS 의데이터타입은 net, register, function call 등어떤것이여도상관없다 implicit continuous assignment wire adder_out = mult_out + out; implicit continuous assignment wire adder_out; assign adder_out = mult_out+out; -35-
36 Procedural Blocks Procedure 의정의 sequential 하게동작하는코드부분을의미 procedural statement procedure 안에존재하는 statement 예를들어, 2-to-1 MUX 의경우 Execution Flow begin if (sel == 0) Y = B; else Y = A; end Procedural assignments: Y must must be be reg reg!!!! -36-
37 Initial Block Initial block 시뮬레이션을위한초기화, 모니터링, waveform의기술시에주로사용된다시뮬레이션타임 0에서시작하여오직 1번만실행된다 하나의 initial block 이여러개의 behavioral statement 를가질경우 begin ~ end 로 group 되어야한다 독립적인 initial block 은서로 concurrent 하다 Initial block 내부의 statement 들은 sequential 하게동작한다 initial block 은중첩될수없다 synthesis 되지않는다 -37-
38 Initial Block module TestBench; reg a, b, c, d; initial a = 1 b0; initial begin b = 1 b1; #5 c = 1 b0; #10 d = 1 b0; end initial #20 $finish; endmodule Time simulation event a = 1 b0; b = 1 b1; c = 1 b0; d = 1 b0; $finish -38-
39 Always Block Always block 항상반복되는행동블록을모델링할때사용시뮬레이션타임 0 에서시작하여시뮬레이션이끝날때까지반복 C 언어의무한루프와비슷한개념 $finish 나 $stop 에의해서만정지하나의 always block 이여러개의 behavioral statement 를가질경우 begin ~ end 로 group 되어야한다독립적인 initial block 은서로 concurrent 하다 Initial block 내부의 statement 들은 sequential 하게동작한다 ( 예 ) 클록발생모듈을기술 initial clk = 1 b0; always #10 clk = ~ clk; initial #1000 $finish; -39-
40 Initial vs Always Statement Looks like Starts How it works Use in Synthesis? initial always initial begin end always begin end Starts when simulation starts Execute once and stop Continually loop while (power on) do statements; Not used in synthesis Used in synthesis -40-
41 Timing Control Timing control Procedural statement 가실행될때 simulation time 을규정하는방법을제공 Timing control 의 3 가지방법 Delay-based timing control Event-based timing control Level-based timing control -41-
42 Delay-based Timing Control(cont d) Delay statement 를 encounter 한부터그 statement 를실행하기전까지의시간 Delay-based timing control 의 3 가지형태 Regular delay control Intra-assignment delay control Zero-delay control Syntax <delay> ::= #<NUMBER> = #<identifier> = #(<mintypemax_exp><,<mintypmax_exp>>*) -42-
43 Delay-based Timing Control (cont d) Regular Delay Control Delay symbol 으로 # 을사용 procedural assignment의왼쪽에 non-zero delay를규정 statement가 encounter되는시뮬레이션타임을기준으로 delay 를적용 parameter latency = 20; parameter delta = 2; reg x, y, z, p, q; initial begin x = 0; #10 y = 1; //delay control with a number #latency z = 0; //delay control with identifier #(latency + delta) p = 1; //delay control with expression #y x = x + 1; //delay control with identifier #(4:5:6) q = 0; //minimum, typical, maximum delay value end -43-
44 Delay-based Timing Control (cont d) Intra-assignment delay control assignment 의우변에 delay 를규정 regular vs intra-assignment regular assignment 문장전체를 delay intra-assignment delay 없이우변의표현을계산, 좌변으로의대입을 delay reg x, y, z; initial begin x = 0; z = 0; y = #5 x + z; //Take value of x and z at the time=0, evaluate end //x+z and then wait 5 time units to assign value to y initial begin x =0; z =0; temp_xz = x + z; #5 y = temp_xz; //Take value of x + z at the current time and end //store it in a temporary variable. Even though // x and z might change between 0 and 5, the value // assigned to y at time 5 is unaffected. -44-
45 Delay-based Timing Control Zero Delay Control #0 의 symbol 사용 동일한시뮬레이션타임에서로다른 initial/always block 의 statement 의실행순서는 non-deterministic zero delay는동일한시뮬레이션타임에실행되는 statement 중에서제일나중에실행되는것을보장동일한시뮬레이션타임에여러개의 zero delay를사용한경우 는역시 non-deterministic race condition 을막을수있다 initial begin x = 0; y= 0; end initial begin #0 x = 1; #0 y = 1; end -45-
46 Event-based Timing Control (cont d) Event : register 나 net 값의변화 Event-based timing control event 가발생하는시점을기준으로어떤 statement 가실행되도록기술하는방법 Event-based timing control 의종류 Regular event control Named event control Event OR control -46-
47 Event-based Timing Control (cont d) Regular event control 형식 event 의종류 posedge sig: sig 신호가임의의값에서 1로변화또는0에서임의의값으로변화 negedge sig : sig 신호가임의의값에서 0으로변화또는 1에서임의의값으로변화 sig : sig q = d; // q=d is executed whenever signal clock changes clock) q = d; //q=d is executed whenever signal clock does a //positive transition (0 to 1, x, or z, x to 1, z to clock) q = d; //q=d is executed whenever signal clock does a //negative transition (1 to 0, x or z, x to 0, z to 0) q clock) d; //d is evaluated immediately and assigned to q //at the positive edge of clock -47-
48 Event-based Timing Control Event OR control 다수의 event 중에어느한 event 가발생하였을때 block 이 trigger 되도록할때사용 sensitivity list : 일련의 event 들. event 사이에 or keyword 사용 or clock or d) //wait for reset or clock or d to change begin if(reset) q = 1 b0; else if(clock) q = d; end -48-
49 Procedural Statement if-else statement 어떤조건을근거로하여 statement를실행할것인지를결정하는데사용 TOP에서 BOTTOM으로조건평가실시 모든조건이 false 이면 else 에관계되는 statement 를실행 if(<condition1>) sequence of statement(s) else if(<condition2>) sequence of statement(s) else sequence of statements(s) E.g. 4-to-1 mux module mux4_1(out, in, sel); output out; input [3:0] in; input [1:0] sel; reg out; wire [3:0] in; wire [1:0] sel; or sel) if (sel == 0) out = in[0]; else if (sel == 1) out = in[1]; else if (sel == 2) out = in[2]; else out = in[3]; endmodule -49-
50 Procedural Statement case statement if else 와같이조건평가에의한 statement 의실행 모든가능한조건이고려되어야함 default : 기술되지않은모든가능한조건에해당 중첩될수있다 expression의결과와 condition의 bit 수가같지않을때는 MSB 부터 0 fill 한다 case (expression) <condition1>: sequence of statement(s) <condition2>: sequence of statement(s) default : sequence of statement(s) endcase E.g. 4-to-1 mux module mux4_1(out, in, sel); output out; input [3:0] in; input [1:0] sel; reg out; wire [3:0] in; wire [1:0] sel; or sel) case (sel) 0: out = in[0]; 1: out = in[1]; 2: out = in[2]; 3: out = in[3]; endcase endmodule -50-
51 Procedural Statement forever 시뮬레이션동안 $finish 를만날때까지무한 loop 를수행 Testbench 안에서 clock generation module 기술에주로사용 module test; reg clk; initial begin clk = 0; forever #10 clk = ~clk; end T clk = clk time time units units other_module1 o1(clk,..); other_module2 o2(.., clk,..); endmodule -51-
52 Procedural Statement For loop 의시작에서일단한번 statement 를실행하고 expression 이참일때만계속 loop 를실행 module count(y, start); output [3:0] Y; input start; reg [3:0] Y; wire start; integer i; initial Y = 0; start) for (i = 0; i < 3; i = i + 1) #10 Y = Y + 1; endmodule -52-
53 Blocking vs. Non-Blocking Blocking procedural assignment = 토큰사용 Evaluation과 assignment가동일한시뮬레이션스텝에서발생 Procedure 내에서 execution flow는 assignment가완료될때까지 block된다 -53-
54 Blocking vs. Non-Blocking Non-blocking procedural assignment <= 토큰사용 Evaluation 과 assignment 가두개의시뮬레이션스텝으로분리 우변값은즉시 evaluation 된다 좌변으로의 assignment는현재타임스텝의모든evaluation이완료될때까지연기된다 Procedure 내에서 execution flow는새로운 timing control을만날때까지계속진행된다 (non-block) -54-
55 Blocking vs. Non-Blocking 시뮬레이션스케줄링규칙각각의 verilog 시뮬레이션타임스탭은다음과같은 4 개의 queue 로구성된다 Queue1 모든 non-blocking assignment 의 RHS 를계산하고 procedural timing control 에의해서규정된시뮬레이션타임에 assign 이발생하도록 scheduling 모든 blocking assignment 의 RHS 를계산하고동시에 LHS 를 update 모든 continuous assignment 의 RHS 를계산하고동시에 LHS 를 update 모든 primitive 의 input, output 의변화를계산 $display, $write 처리 Queue2 모든 non-blocking assignment 의 LHS 를변화 Queue3 $monitor, $strobe 처리 reason_synchronize 로 PLI 를호출 Queue4 reason_rosynchronize 로 PLI 호출 -55-
56 Blocking vs. Non-Blocking module evaluates; reg a, b, c; initial begin a = 0; b = 1; c = 0; end always c = #5 ~c; c) begin a <= b; b <= a; end endmodule -56-
57 Blocking vs. Non-Blocking module evaluates; reg a, b, c; initial begin a = 0; b = 1; c = 0; end always c = #5 ~c; c) begin a = b; b = a; end endmodule -57-
58 Sequential Block vs. Parallel Block Sequential Block begin ~ end 사이의 statement 들은 sequential 하게동작 initial 과 always block 에 sequential 하게동작하기원하는다수의 statement 가존재할경우는 begin ~ end 로묶는다 Sequential block 과 parallel block 은중첩될수있다 -58-
59 Timing Control 과 Synthesis module mux_sample(f, sel, b, c); output f; input sel, b, c; reg f; or b or c) if(sel == 1'b1) f = b; else f = c; endmodule module mux_sample(f, sel, b, c); output f; input sel, b, c; reg f; or b or c) if(sel == 1'b1) #5 f = b; else #88 f = c; endmodule Synthesis tool 은 time delay 를무시 Synthesis tool은 combinational 입력으로부터출력까지의최소화하려는노력을하기때문 propagation 을 -59-
60 Procedural Block 과 Synthesis module mux_sample(f, sel, a, b, c, d); output f; input [1:0] sel; input a, b, c, d; reg f; or a) if(sel == 2'b00) f = a; or b) if(sel == 2'b01) f = b; or c) if(sel == 2'b10) f = c; 하나의신호를 2 개이상의 always 문에서출력할때 or d) if(sel == 2'b11) f = d; endmodule 시뮬레이션결과와 synthesis 결과가같지않을수있으므로피해야한다 -60-
61 Behavioral Construct 를사용한 Combinational Circuit 표현 Behavioral Construct (always, if) 를사용한 mux 표현 아래의 verilog code 는간단한 2:1 mux 를표현한것 아래의 verilog code 는합성가능 reg f를선언하였는데도불구하고 synthesis tool은 combinational 회로로인식 combinational 회로 : 출력이오직입력의함수에만의존 ( 이전출력값의함수가아님 ) module mux (f, sel, b, c); output f; input sel, b, c; reg f; (sel or b or c) if (sel == 1) f = b; else f = c; endmodule -61-
62 Behavioral Construct 를사용한 Combinational Circuit 표현 Combinational 회로표현의규칙 initial 은합성불가능하므로 always 의경우만해당 Block 의모든입력 (always block 내 assignment 구문의 RHS 에사용된모든신호, 또는조건문의 RHS 에사용된신호 ) 이 sensitivity list 에존재해야한다 Block 의모든출력이모든 control path 에기술되어야한다 control path : always 구문이동작할때실행되는일련의동작 module mux (f, sel, b, c); output f; input sel, b, c; reg f; (sel or b or c) if (sel == 1) control path1 f = b; else f = c; control path2 endmodule -62-
63 Behavioral Construct 를사용한 Combinational Circuit 표현 module blah (f, g, a, b, c); output f, g; input a, b, c; reg f, g; (a or b or c) if (a == 1) f = b; else g = c; endmodule a == 0 이면 f = old value (seq.) module blah (f, g, a, b, c); output f, g; input a, b, c; reg f, g; (a or b or c) if (a == 1) f = b; else f = c; endmodule -63-
64 Behavioral Construct 를사용한 Combinational Circuit 표현 다음과같이한다면? module sample(f, g, a, b, c); output f, g; input a, b, c; reg f, g; or b or c) begin f = 0 ; g = 0 ; if (a == 1) f = b; else g = c; end endmodule -Function 이복잡한경우모든 control path 에출력값을할당하였는지잘알지못함 - 모든출력값을 known value( 예에서는 0) 로할당하고각 control path 에서는필요한값만할당 - synthesis tool 은 combinational 회로로인식 -64-
65 Behavioral Construct 를사용한 Combinational Circuit 표현 Case 구문을사용한경우 마치 case 구문을사용하여진리표를표현하는것과같은의미 모든입력조합에대해서기술해주어야한다 module fred (f, a, b, c); output f; input a, b, c; reg f; (a or b or c) case ({a, b, c}) 3 b000: f = 1 b0; 3 b001: f = 1 b1; 3 b010: f = 1 b1; 3 b011: f = 1 b1; 3 b100: f = 1 b1; 3 b101: f = 1 b0; 3 b110: f = 1 b0; 3 b111: f = 1 b1; endcase endmodule abc = 3 b1xz 와같은표현은 simulation 에서는의미를갖으나 synthesis 회로에서는의미를갖지않는다그러므로위의경우는 full case description 이라할수있다 -65-
66 Behavioral Construct 를사용한 Combinational Circuit 표현 module caseexample(f, a, b, c); output f; input a, b, c; reg f; (a or b or c) case ({a, b, c}) 3 b001: f = 1 b1; 3 b010: f = 1 b1; 3 b011: f = 1 b1; 3 b100: f = 1 b1; 3 b111: f = 1 b1; 3 b110: f = 1 b0; default: f = 1 bx; endcase endmodule c ab x x 위와같이 default 를기술한경우는위와같은진리표를이용하여 combinational 회로를합성그러므로역시 full case description -66-
67 Behavioral Construct 를사용한 Combinational Circuit 표현 Full case description 을하지않은경우 module truth(f, a, b, c); output f; input a, b, c; reg f; or b or c) case({a, b, c}) 3'b000 : f = 1'b0; 3'b001 : f = 1'b1; 3'b010 : f = 1'b1; 3'b011 : f = 1'b1; 3'b100 : f = 1'b1; endcase endmodule latch 삽입 -67-
68 Verilog Coding Guideline for Synthesis 일반적으로 synthesis tool 에서합성지원되지않는 verilog 문법들 Initial Loops repeat forever While Data types event real time UDPs Fork join blocks Procedural assignments assign and desassign force and release disable Some operators / and % === and!== -68-
69 Verilog Coding Guideline for Synthesis 레지스터의초기화 신호의초기화를위해서 initial 을사용하지않는다 initial 은 synthesis 불가능 다음의 template 를사용 // Bad coding initial data <= 1 b0 ; // Good coding // Asynchronous RESET (posedge RESET or poesedge clk) if (RESET) data <= 1 b0 ; else data <= data_in ; (posedge clk) data <= data_in // Better coding // Synchronous RESET clk) if (RESET) data <= 1 b0 ; else data <= data_in ; -69-
70 Verilog Coding Guideline for Synthesis 불필요한 latch 의사용을피하라 case 나 if-else statement 에 default value 를사용 모든입력조건에모든출력신호값을할당 // latch 를사용하여합성 (d) begin case (d) 2 b00: z <= 1 b1; 2 b01: z <=1 b0; 2 b10: z <= 1 b1; s<= 1 b1; endcase end // latch 가사용되지않고합성 (d) begin case (d) 2 b00: z <= 1 b1; s<=1 b0; 2 b01: z <=1 b0; s<=1 b0; 2 b10: z <= 1 b1; s<= 1 b1; defaults: z <= 1 b0; s<=1 b0; endcase end -70-
71 Verilog Coding Guideline for Synthesis Combinational feedback 이발생하지않도록하라 BAD SEQ COMB SEQ COMB COMB GOOD SEQ COMB COMB SEQ COMB -71-
72 Verilog Coding Guideline for Synthesis block 에는 non-blocking assignment 를사용하는것이좋다 clk) begin b <= a ; c <= b ; end clk) begin c <= b ; b <= a ; end -72-
73 Verilog Coding Guideline for Synthesis clk) begin b = a ; c = b ; end clk) begin c = b ; b = a ; end -73-
74 Verilog Coding Guideline for Synthesis 이상적인 clock 기술구조 하나의 clock source 사용 Register 에서의출력 CLK -74-
75 Clock 을위한 Verilog Coding Guideline 피해야할 clock 기술구조 혼용된 clock edge 사용 Si D Q D Q Si CLK 이경우는 negative-edge 와 positive-edge 플립플롭이분리되는것이좋다 CLK -75-
76 Clock 을위한 Verilog Coding Guideline 피해야할 clock 기술구조 Gated clocks Skew 문제 Glitch 문제 Scan chain 을엮을수없는문제 U1 U2 Q CLK -76-
77 FSM 기술을위한 Verilog Coding Guideline Combinational port 와 sequential part 를분리 2-process FSM 기술, 3-process FSM 기술 State 변수를기술하기위해 parameter 사용 Current State Register (sequential) Next State Logic (combinational) clock Asynchronous reset Inputs Output Logic (combinational) Outputs <3-process FSM> -77-
78 FSM 기술을위한 Verilog Coding Guideline module FSM_S3(Clock, Reset, X, Y); input Clock, Reset, X; output [2:0] Y; reg [2:0] Y; reg [1:0] CS, NS; parameter [1:0] ST0 = 0, ST1 = 1, ST2 = 2, ST3 = 3; or CS) begin : COMB NS = ST0; case (CS) ST0 : begin NS = ST1; end ST1 : begin if (X) NS = ST3; else NS = ST2; end Next State Logic (combinational) -78-
79 FSM 기술을위한 Verilog Coding Guideline ST2 : begin NS = ST3; end ST3 : begin NS = ST0; end endcase end // end process COMB Clock or posedge Reset) begin : SEQ if (Reset) CS <= ST0; else CS <= NS; end Next State Logic (combinational) Current State Register (sequential) -79-
80 FSM 기술을위한 Verilog Coding Guideline begin : OUT case (CS) ST0 : Y = 1; ST1 : Y = 2; ST2 : Y = 3; ST3 : Y = 4; default : Y = 1; endcase end endmodule Output Logic (combinational) -80-
Microsoft PowerPoint - hw4.ppt [호환 모드]
4.1 initial 과 always Chapter 4 Verilog의특징 보통의 programming언어와같은 procedural statement을제공 추상적인 behavioral model 기술에사용 순차적으로수행하는보통의 programming 언어와는다르게병렬적으로수행하는언어임 module Behavioral Model 논리설계 병렬수행 module
More informationPowerPoint 프레젠테이션
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 informationMAX+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
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 informationwire [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 informationMicrosoft 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
보안회로설계 순차회로 Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr 조합과순차 조합회로 (combinational circuit) Memory가없다. 입력한값에따른출력 출력 = f ( 입력 ) 순차회로 (sequential circuit) Memory가있다. Memory에는회로의현상태가저장 출력은입력과현상태에의해결정
More informationMicrosoft PowerPoint - DSD03_verilog3b.pptx
한국기술교육대학교 장영조 한국기술교육대학교전기전자통신공학부 2 . 조합회로설계 2. 순차회로설계 3. FSM 회로설계 4. ASM 을사용한설계 한국기술교육대학교전기전자통신공학부 3 input clk 유한상태머신 (Finite State Machine; FSM) 지정된수의상태로상태들간의천이에의해출력을생성하는회로 디지털시스템의제어회로구성에사용 Moore 머신 :
More information<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 informationMicrosoft PowerPoint - Verilog_Summary.ppt
Verilog HDL Summury by 강석태 2006 년 3 월 1 Module module < 모듈이름 >(< 포트리스트 >) < 모듈내용 > endmodule C 언어의함수 (Function) 와같은개념. 대소문자구분. 예약어는소문자로만쓴다. 이름은영문자, 숫자, 언더바 (_) 만허용한다. 문장의끝은항상세미콜론 (;) 으로끝난다. end~ 로시작하는예약어에는
More informationVHDL 기초 VHDL 두원공과대학정보통신미디어계열이무영
기초 두원공과대학정보통신미디어계열이무영 2! 담당 : 이무영, 본관 325 호, mylee@doowon.ac.kr! 강의교재! 3 월 : 기존교재복습 ( 기초와응용, 홍릉과학출판사, 이대영외 3 명공저 )! 4 월이후 : 추후공지! 실습도구! 한백전자 HBE-DTK-240! www.hanback.co.kr ( 디지털 -FPGA) 자료참고할것임.! 천안공대류장열교수님온라인컨텐츠
More information디지털공학 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ºÎ·Ï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슬라이드 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비트와바이트 비트와바이트 비트 (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 information1
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 informationMicrosoft 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 informationMicrosoft 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 information4 CD Construct Special Model VI 2 nd Order Model VI 2 Note: Hands-on 1, 2 RC 1 RLC mass-spring-damper 2 2 ζ ω n (rad/sec) 2 ( ζ < 1), 1 (ζ = 1), ( ) 1
: LabVIEW Control Design, Simulation, & System Identification LabVIEW Control Design Toolkit, Simulation Module, System Identification Toolkit 2 (RLC Spring-Mass-Damper) Control Design toolkit LabVIEW
More informationMicrosoft PowerPoint - verilog_intro and project example_실험4까지 설명후 project 진행_66 [호환 모드]
Verilog HDL Intro. . Overview ..2 HDL HDL (hardware description language) : 하드웨어를기술하고시뮬레이션, 합성을하기위해고안된프로그래밍언어 ex.) Verilog HDL, VHDL Advantages of HDL - Easy to describe hardware system - Easy to convert
More informationuntitled
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 informationMicrosoft 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 informationMicrosoft 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 informationMicrosoft 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슬라이드 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 informationMicrosoft Word - logic2005.doc
제 8 장 Counters 실험의목표 - Catalog counter 의동작원리에대하여익힌다. - 임의의 counter를통하여 FSM 구현방법을익힌다. - 7-segment display 의동작원리를이해한다. 실험도움자료 1. 7-segment display 7-segment는디지털회로에서숫자를표시하기위하여가장많이사용하는소자이다. 이름에서알수있듯이 7개의 LED(
More informationMicrosoft PowerPoint - VHDL01_chapter1.ppt [호환 모드]
VHDL 프로그래밍 1. 문법기초 - 간단한조합회로및문법 학습목표 VHDL 기술과소프트웨어와차이파악 Signal assignment 의의미파악 Architecture body 의개념파악 Entity declaration 의개념파악 Process 문의사용법 Variable 과 signal 의차이파악 Library, Use, Package 의사용법 2/53 간단한논리회로예제
More informationMicrosoft PowerPoint - DSD03_verilog3a.pptx
한국기술교육대학교 장영조 한국기술교육대학교전기전자통신공학부 2 1. 조합회로설계 2. 순차회로설계 3. FSM 회로설계 4. ASM 을사용한설계 한국기술교육대학교전기전자통신공학부 3 조합논리회로의형태와설계에사용되는 Verilog 구문 조합논리회로의형태 조합논리회로설계에사용되는 Verilog 구문 논리합성이지원되지않는 Verilog 구문 논리게이트 Multiplexer
More informationOrcad Capture 9.x
OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd
More informationC# 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. Verilog HDL 문법 한국기술교육대학교전기전자통신공학부 Ver1.0 (2008)1
디지털시스템설계및실습 1. Verilog HDL 문법 Ver1.0 (2008)1 Verilog HDL 의역사 q Verilog HDL v 1983년 Gateway Design Automation사에서하드웨어기술언어인 HiLo와 C 언어의특징을기반으로개발 v 1991년 Cadence Design Systems가 Open Verilog International
More informationMicrosoft 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 information10주차.key
10, Process synchronization (concurrently) ( ) => critical section ( ) / =>, A, B / Race condition int counter; Process A { counter++; } Process B { counter ;.. } counter++ register1 = counter register1
More informationMicrosoft PowerPoint - PL_03-04.pptx
Copyright, 2011 H. Y. Kwak, Jeju National University. Kwak, Ho-Young http://cybertec.cheju.ac.kr Contents 1 프로그래밍 언어 소개 2 언어의 변천 3 프로그래밍 언어 설계 4 프로그래밍 언어의 구문과 구현 기법 5 6 7 컴파일러 개요 변수, 바인딩, 식 및 제어문 자료형 8
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 = 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歯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수없기때문에간단한부분으로나눠서구현하고, 이를다시합침으로써전체를구현하게 된다. 실험에서는이미구현된 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 informationPRO1_09E [읽기 전용]
Siemens AG 1999 All rights reserved File: PRO1_09E1 Information and - ( ) 2 3 4 5 Monitor/Modify Variables" 6 7 8 9 10 11 CPU 12 Stop 13 (Forcing) 14 (1) 15 (2) 16 : 17 : Stop 18 : 19 : (Forcing) 20 :
More informationMicrosoft PowerPoint - hw8.ppt [호환 모드]
8.1 데이터경로와제어장치 Chapter 8 데이터경로와제어장치 많은순차회로의설계는다음의두부분으로구성 datapath: data의이동및연산을위한장치 control unit에상태신호제공 control ol unit: datapath th 에서적절한순서로 data 이동및연산을수행할수있도록제어신호제공. 먼저, datapath를설계 다음에, control unit
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 = 1, 2r 0 1, 2r
More informationMicrosoft PowerPoint - VHDL08.ppt [호환 모드]
VHDL 프로그래밍 8. 조합논리회로설계 한동일 학습목표 테스트벤치의용도를알고작성할수있다. 간단한조합논리회로를설계할수있다. 하나의로직회로에대해서다양한설계방식을구사할수있다. 제네릭을활용할수있다. 로직설계를위한사양을이해할수있다. 주어진문제를하드웨어설계문제로변환할수있다. 설계된코드를테스트벤치를이용하여검증할수있다. 2/37 테스트벤치 (test bench) 테스트벤치
More informationhwp
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 informationMicrosoft PowerPoint - AC3.pptx
Chapter 3 Block Diagrams and Signal Flow Graphs Automatic Control Systems, 9th Edition Farid Golnaraghi, Simon Fraser University Benjamin C. Kuo, University of Illinois 1 Introduction In this chapter,
More information목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate
ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition
More informationMicrosoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt
변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short
More information歯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 informationSlide 1
Clock Jitter Effect for Testing Data Converters Jin-Soo Ko Teradyne 2007. 6. 29. 1 Contents Noise Sources of Testing Converter Calculation of SNR with Clock Jitter Minimum Clock Jitter for Testing N bit
More informationDIY 챗봇 - LangCon
without Chatbot Builder & Deep Learning bage79@gmail.com Chatbot Builder (=Dialogue Manager),. We need different chatbot builders for various chatbot services. Chatbot builders can t call some external
More informationPowerPoint 프레젠테이션
@ 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 informationMicrosoft 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 informationMicrosoft PowerPoint - ch03ysk2012.ppt [호환 모드]
전자회로 Ch3 iode Models and Circuits 김영석 충북대학교전자정보대학 2012.3.1 Email: kimys@cbu.ac.kr k Ch3-1 Ch3 iode Models and Circuits 3.1 Ideal iode 3.2 PN Junction as a iode 3.4 Large Signal and Small-Signal Operation
More information歯Intro_alt_han_s.PDF
ALTERA & MAX+PLUS II ALTERA & ALTERA Device ALTERA MAX7000, MAX9000 FLEX8000,FLEX10K APEX20K Family MAX+PLUS II MAX+PLUS II 2 Altera & Altera Devices 4 ALTERA Programmable Logic Device Inventor of the
More informationINDUCTION MOTOR 표지.gul
INDUCTION MOTOR NEW HSERIES INDUCTION MOTOR HEX Series LEAD WIRE TYPE w IH 1PHASE 4 POLE PERFORMANCE DATA (DUTY : CONTINUOUS) MOTOR TYPE IHPF10 IHPF11 IHPF IHPF22 IHPFN1U IHPFN2C OUTPUT 4 VOLTAGE
More informationT100MD+
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歯처리.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 informationMicrosoft PowerPoint Predicates and Quantifiers.ppt
이산수학 () 1.3 술어와한정기호 (Predicates and Quantifiers) 2006 년봄학기 문양세강원대학교컴퓨터과학과 술어 (Predicate), 명제함수 (Propositional Function) x is greater than 3. 변수 (variable) = x 술어 (predicate) = P 명제함수 (propositional function)
More information. 고성능마이크로프로세서 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
한국기술교육대학교장영조 한국기술교육대학교전기전자통신공학부 1 본슬라이드는 M. Morris Mano and Charles Kime 의 Logic and Computer Design Fundamentals 의내용을참조하였습니다. 한국기술교육대학교전기전자통신공학부 2 1. 레지스터전송과데이터처리장치 2. 순차진행과제어 3. 명령어구조 (Instruction Set
More informationMAX+plusⅡ를 이용한 설계
Digital System Design with Verilog HDL - Combinational Logic Lab. Gate Circuit AND, OR, NOT 게이트들로이루어진멀티플렉서기능의논리회로구현멀티플렉서 : 여러개의입력중하나를선택하여출력하는기능모듈입력 s=: 단자 a 의값이단자 z 로출력입력 s=: 단자 b 의값이단자 z 로출력 File name
More informationRVC Robot Vaccum Cleaner
RVC Robot Vacuum 200810048 정재근 200811445 이성현 200811414 김연준 200812423 김준식 Statement of purpose Robot Vacuum (RVC) - An RVC automatically cleans and mops household surface. - It goes straight forward while
More informationuntitled
9 hamks@dongguk.ac.kr : Source code Assembly language code x = a + b; ld a, %r1 ld b, %r2 add %r1, %r2, %r3 st %r3, x (Assembler) (bit pattern) (machine code) CPU security (code generator).. (Instruction
More informationMicrosoft 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 informationMicrosoft 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 information4. #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 information9
9 hamks@dongguk.ac.kr : Source code Assembly language code x = a + b; ld a, %r1 ld b, %r2 add %r1, %r2, %r3 st %r3, x (Assembler) (bit pattern) (machine code) CPU security (code generator).. (Instruction
More information歯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 informationMicrosoft 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 informationhlogin2
0x02. Stack Corruption off-limit Kernel Stack libc Heap BSS Data Code off-limit Kernel Kernel : OS Stack libc Heap BSS Data Code Stack : libc : Heap : BSS, Data : bss Code : off-limit Kernel Kernel : OS
More informationDE1-SoC Board
실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically
More informationVer. T3_DWS.UTP-1.0 Unit Testing Plan for Digital Watch System Test Plan Test Design Specification Test Cases Specification Date Team Infor
Unit Testing Plan for Digital Watch System Test Plan Test Design Specification Test Cases Specification Date 2012-10-25 Team Information Sanghyun Yoon shyoon.dslab@gmail.com Dependable Software Laboratory
More informationPowerPoint 프레젠테이션
생체계측 디지털논리회로 Prof. Jae Young Choi ( 최재영교수 ) 생체계측 (2014 Fall) Prof. Jae Young Choi Section 01 논리게이트 디지털컴퓨터에서모든정보는 0 또는 1 을사용하여표현 게이트 (gate) 0, 1 의이진정보를처리하는논리회로여러종류가존재동작은부울대수를이용하여표현입력과출력의관계는진리표로표시 2 ND 게이트
More information삼성기초VHDL실습.PDF
VHDL Simulation Synthesis - Synopsys Tool - System ASIC Design Lab : jcho@asiclabinchonackr -I - : -Bit Full Adder Simulation Synopsys Simulation Simulation Tool -2 : -Bit Full Adder Synthesis Synopsys
More informationchap 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 informationBY-FDP-4-70.hwp
RS-232, RS485 FND Display Module BY-FDP-4-70-XX (Rev 1.0) - 1 - 1. 개요. 본 Display Module은 RS-232, RS-485 겸용입니다. Power : DC24V, DC12V( 주문사양). Max Current : 0.6A 숫자크기 : 58mm(FND Size : 70x47mm 4 개) RS-232,
More information<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 informationMicrosoft 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 informationexample code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for
2003 Development of the Software Generation Method using Model Driven Software Engineering Tool,,,,, Hoon-Seon Chang, Jae-Cheon Jung, Jae-Hack Kim Hee-Hwan Han, Do-Yeon Kim, Young-Woo Chang Wang Sik, Moon
More information歯기구학
1 1.1,,.,. (solid mechanics)., (kinematics), (statics), (kinetics). ( d y n a m i c s ).,,. ( m e c h a n i s m ). ( l i n k a g e ) ( 1.1 ), (pin joint) (revolute joint) (prismatic joint) ( 1.2 ) (open
More information목차 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 informationOCW_C언어 기초
초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향
More information<3130C0E5>
Redundancy Adding extra bits for detecting or correcting errors at the destination Types of Errors Single-Bit Error Only one bit of a given data unit is changed Burst Error Two or more bits in the data
More informationMicrosoft Word - 1. ARM Assembly 실습_xp2.doc
ARM asm 의구조 ARM Assembly 실습 1. 기본골격 AREA armex,code, READONLY ;Mark first instruction to execute start MOV r0, #10 MOV r1,#3 ADD r0, r0, r1 ; r0 = r0 + r1 stop NOP NOP B stop ; Mark end of file 위의 asm의구조를이해하고실행해보세요.
More informationAPI 매뉴얼
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<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>
SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......
More information강의10
Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced
More information03-JAVA Syntax(2).PDF
JAVA Programming Language Syntax of JAVA (literal) (Variable and data types) (Comments) (Arithmetic) (Comparisons) (Operators) 2 HelloWorld application Helloworldjava // class HelloWorld { //attribute
More informationtut_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디지털 ASIC 설계 (1주차) MAXPLUS II 소개 및 사용법
디지털 ASIC 설계 (1 주차 ) MAXPLUS II 소개및사용법 신흥대학전자통신과김정훈 jhkim@shc.ac.kr 차례 1. Why Digital 2. Combinational logic ( 조합회로 ) 소개 3. Sequential logic ( 순차회로 ) 소개 4. MAX+PLUSII 소개 5. MAX+PLUSII Tools 설계환경 6. 예제소개
More information자연언어처리
제 7 장파싱 파싱의개요 파싱 (Parsing) 입력문장의구조를분석하는과정 문법 (grammar) 언어에서허용되는문장의구조를정의하는체계 파싱기법 (parsing techniques) 문장의구조를문법에따라분석하는과정 차트파싱 (Chart Parsing) 2 문장의구조와트리 문장 : John ate the apple. Tree Representation List
More informationREVERSIBLE MOTOR 표지.gul
REVERSIBLE MOTOR NEW H-SERIES REVERSIBLE MOTOR H-EX Series LEAD WIRE w RH 1PHASE 4 POLE PERFORMANCE DATA (DUTY : Min.) MOTOR OUTPUT VOLTAGE (V) FREQUENCY (Hz) INPUT CURRENT (ma) RATING SPEED (rpm) STARTING
More information<4D F736F F F696E74202D20332EB5F0C1F6C5D0C8B8B7CEBFCD20B1B8C7F62E >
디지털회로 디지털논리의표현 디지털회로 디지털회로구현 dolicom@naver.com http://blog.naver.com/dolicom 논리 논리게이트 논리게이트 논리게이트 (Logic gate) 또는 로구성된 2 진정보를취급하는논리회 (logic circuit) 일반적으로 2 개이상의입력단자와하나의출력단자 기본게이트 : AND OR NOT 기본게이트로부터
More informationMicrosoft PowerPoint - CHAP-01 [호환 모드]
컴퓨터구성 Lecture #2 Chapter : Digital Logic Circuits Spring, 203 컴퓨터구성 : Spring, 203: No. - Digital Computer Definition Digital vs. nalog Digital computer is a digital system that performs various computational
More informationKNK_C03_Expr_kor
Expressions adopted from KNK C Programming : A Modern Approach Operators 연산자 C 는표현식을많이사용함 표현식은변수와상수와연산자로구성됨 C 에는연산자의종류가다양함 1. arithmetic operators ( 수식연산자 ) 2. relational operators ( 관계연산자 ) 3. logical
More informationPowerPoint 프레젠테이션
NuPIC 2013 2013.11.07~11.08 충남예산 FPGA 기반제어기를위한통합 SW 개발환경구축 유준범 Dependable Software Laboratory 건국대학교 2013.11.08 발표내용 연구동기 효과적인 FPGA 기반제어기를위한통합 SW 개발환경 연구진행현황 개발프로세스 FBD Editor FBDtoVerilog 향후연구계획 맺음말 2
More information2002년 2학기 자료구조
자료구조 (Data Structures) Chapter 1 Basic Concepts Overview : Data (1) Data vs Information (2) Data Linear list( 선형리스트 ) - Sequential list : - Linked list : Nonlinear list( 비선형리스트 ) - Tree : - Graph : (3)
More informationMicrosoft PowerPoint - M07_RTL.ppt [호환 모드]
제 7 장레지스터이동과데이터처리장치 - 디지털시스템의구성 data path 모듈 : 데이터처리, 레지스터, 연산기, MUX, control unit 모듈 : 제어신호발생, 연산의순서지정 - register transfer operation : reg 데이터이동 / 처리 reg set,operation, sequence control - micro-operation
More informationSRC PLUS 제어기 MANUAL
,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO
More informationMicrosoft PowerPoint - Chapter_02.pptx
프로그래밍 1 1 Chapter 2. Types, Operators, and Expressions March, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 변수의이해 C언어의표준키워드연산자소개키보드입력 변수의이해 (1/9) 3 덧셈예제 3 +
More informationMentor_PCB설계입문
Mentor MCM, PCB 1999, 03, 13 (daedoo@eeinfokaistackr), (kkuumm00@orgionet) KAIST EE Terahertz Media & System Laboratory MCM, PCB (mentor) : da & Summary librarian jakup & package jakup & layout jakup &
More informationMicrosoft 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