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

Similar documents
歯Chap1-Chap2.PDF

PowerPoint 프레젠테이션

슬라이드 1

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

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

Microsoft PowerPoint - verilog문법new.ppt

Microsoft PowerPoint - DSD03_verilog3b.pptx

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

ºÎ·ÏB

Microsoft Word - logic2005.doc

디지털공학 5판 7-8장

< B5BFBEC6BDC3BEC6BBE E687770>

Microsoft Word - logic2005.doc

Microsoft PowerPoint - DSD03_verilog3a.pptx

Microsoft PowerPoint - Verilog_Summary.ppt


MAX+plusⅡ를 이용한 설계

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

15강 판소리계 소설 심청전 다음 글을 읽고 물음에 답하시오. [1106월 평가원] 1)심청이 수궁에 머물 적에 옥황상제의 명이니 거행이 오죽 하랴. 2) 사해 용왕이 다 각기 시녀를 보내어 아침저녁으로 문 안하고, 번갈아 당번을 서서 문안하고 호위하며, 금수능라 비

며 오스본을 중심으로 한 작은 정부, 시장 개혁정책을 밀고 나갔다. 이에 대응 하여 노동당은 보수당과 극명히 반대되는 정강 정책을 내세웠다. 영국의 정치 상황은 새누리당과 더불어 민주당, 국민의당이 서로 경제 민주화 와 무차별적 복지공약을 앞세우며 표를 구걸하기 위한

v6.hwp

부벽루 이색 핵심정리+핵심문제.hwp

우리나라의 전통문화에는 무엇이 있는지 알아봅시다. 우리나라의 전통문화를 체험합시다. 우리나라의 전통문화를 소중히 여기는 마음을 가집시다. 5. 우리 옷 한복의 특징 자료 3 참고 남자와 여자가 입는 한복의 종류 가 달랐다는 것을 알려 준다. 85쪽 문제 8, 9 자료

상품 전단지

::: 해당사항이 없을 경우 무 표시하시기 바랍니다. 검토항목 검 토 여 부 ( 표시) 시 민 : 유 ( ) 무 시 민 참 여 고 려 사 항 이 해 당 사 자 : 유 ( ) 무 전 문 가 : 유 ( ) 무 옴 브 즈 만 : 유 ( ) 무 법 령 규 정 : 교통 환경 재

2

DBPIA-NURIMEDIA

화이련(華以戀) hwp

ÆòÈ�´©¸® 94È£ ³»Áö_ÃÖÁ¾

歯1##01.PDF

<5BC1F8C7E0C1DF2D31B1C75D2DBCF6C1A4BABB2E687770>

120229(00)(1~3).indd

01Report_210-4.hwp

<C3D1BCB15FC0CCC8C45FBFECB8AE5FB1B3C0B0C0C75FB9E6C7E D352D32315FC5E4292E687770>



교육 과 학기 술부 고 시 제 호 초 중등교육법 제23조 제2항에 의거하여 초 중등학교 교육과정을 다음과 같이 고시합니다. 2011년 8월 9일 교육과학기술부장관 1. 초 중등학교 교육과정 총론은 별책 1 과 같습니다. 2. 초등학교 교육과정은 별책

시험지 출제 양식

¸é¸ñ¼Ò½ÄÁö 63È£_³»Áö ÃÖÁ¾

177

제주어 교육자료(중등)-작업.hwp

<C3D6C1BE5FBBF5B1B9BEEEBBFDC8B0B0DCBFEFC8A C3D6C1BEBABB292E687770>

초등국어에서 관용표현 지도 방안 연구

6±Ç¸ñÂ÷

과 위 가 오는 경우에는 앞말 받침을 대표음으로 바꾼 [다가페]와 [흐귀 에]가 올바른 발음이 [안자서], [할튼], [업쓰므로], [절믐] 풀이 자음으로 끝나는 말인 앉- 과 핥-, 없-, 젊- 에 각각 모음으로 시작하는 형식형태소인 -아서, -은, -으므로, -음

민주장정-노동운동(분권).indd

<C0CEBCE2BABB2D33C2F7BCF6C1A420B1B9BFAAC3D1BCAD203130B1C72E687770>

untitled


E1-정답및풀이(1~24)ok

<C1B6BCB1B4EBBCBCBDC3B1E2342DC3D6C1BE2E687770>

< BDC3BAB8C1A4B1D4C6C75BC8A3BFDC D2E687770>

최우석.hwp

교사용지도서_쓰기.hwp

時 習 說 ) 5), 원호설( 元 昊 說 ) 6) 등이 있다. 7) 이 가운데 임제설에 동의하는바, 상세한 논의는 황패강의 논의로 미루나 그의 논의에 논거로서 빠져 있는 부분을 보강하여 임제설에 대한 변증( 辨 證 )을 덧붙이고자 한다. 우선, 다음의 인용문을 보도록

0429bodo.hwp

cls46-06(심우영).hwp

伐)이라고 하였는데, 라자(羅字)는 나자(那字)로 쓰기도 하고 야자(耶字)로 쓰기도 한다. 또 서벌(徐伐)이라고도 한다. 세속에서 경자(京字)를 새겨 서벌(徐伐)이라고 한다. 이 때문에 또 사라(斯羅)라고 하기도 하고, 또 사로(斯盧)라고 하기도 한다. 재위 기간은 6

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

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

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

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

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

장: 200 세외수입 관: 210 경상적세외수입 항: 213 수수료수입 (단위:천원) [ 일반회계 ] 1,405,842 1,399,860 5,982 < 청소행정과 > 1,028,442 1,022,460 5,982 사업장종량제봉투 제작비용(30L) 79.43원*30,00

PowerPoint 프레젠테이션

도 1 명세서 도면의 간단한 설명 도 1은 본 발명의 바람직한 실시예에 따른 데이터 송수신 장치의 회로도이다. 도 2는 도 1에 도시된 등화기의 일 실시예를 보여주는 회로도이다. 도 3은 도 1에 도시된 프리엠퍼시스 회로의 일 실시예를 보여주는 회로도이다. 도 4는 본

歯15-ROMPLD.PDF

Microsoft PowerPoint - DSD02_verilog2b.pptx

슬라이드 1

<4D F736F F F696E74202D20332EB5F0C1F6C5D0C8B8B7CEBFCD20B1B8C7F62E >

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

PowerPoint Template

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

2014 변경 학사제도(학생안내문).hwp

<3130BAB9BDC428BCF6C1A4292E687770>

11민락초신문4호

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>


제1절 조선시대 이전의 교육

사진 24 _ 종루지 전경(서북에서) 사진 25 _ 종루지 남측기단(동에서) 사진 26 _ 종루지 북측기단(서에서) 사진 27 _ 종루지 1차 건물지 초석 적심석 사진 28 _ 종루지 중심 방형적심 유 사진 29 _ 종루지 동측 계단석 <경루지> 위 치 탑지의 남북중심

새만금세미나-1101-이양재.hwp

??

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

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

룩스문디.indd

652

Microsoft PowerPoint - verilog_intro and project example_실험4까지 설명후 project 진행_66 [호환 모드]

歯 조선일보.PDF

<33B1C7C3D6C1BEBABB28BCF6C1A42D E687770>

<C1DFB1DE2842C7FC292E687770>

96부산연주문화\(김창욱\)

???? 1

목 차 국회 1 월 중 제 개정 법령 대통령령 7 건 ( 제정 -, 개정 7, 폐지 -) 1. 댐건설 및 주변지역지원 등에 관한 법률 시행령 일부개정 1 2. 지방공무원 수당 등에 관한 규정 일부개정 1 3. 경력단절여성등의 경제활동 촉진법 시행령 일부개정 2 4. 대

<BAB0C3B7322E20B7CEB5E5B8CABCBCBACEB0FAC1A62E687770>

종사연구자료-이야기방 hwp

정 답 과 해 설 1 (1) 존중하고 배려하는 언어생활 주요 지문 한 번 더 본문 10~12쪽 [예시 답] 상대에게 상처를 주고 한 사 람의 삶을 파괴할 수도 있으며, 사회 전체의 분위기를 해쳐 여러 가지 사회 문제를 발생시킬 수 있다. 04 5

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<34B1C720C0CEB1C7C4A7C7D828C3D6C1BEC6EDC1FD D28BCF6C1A4292E687770>

행당중학교 감사 7급 ~ 성동구 왕십리로 189-2호선 한양대역 4번출구에서 도보로 3-4분 6721 윤중중학교 감사 7급 ~ 영등포구 여의동로 3길3 용강중학교 일반행정 9급 ~ 1300

160215

Transcription:

4.1 initial 과 always Chapter 4 Verilog의특징 보통의 programming언어와같은 procedural statement을제공 추상적인 behavioral model 기술에사용 순차적으로수행하는보통의 programming 언어와는다르게병렬적으로수행하는언어임 module Behavioral Model 논리설계 병렬수행 module instance primitive instance assign structural model dataflow model initial always behavioral model 컴퓨터정보통신임베디드하드웨어설계 1 2 procedural statement procedural statement 보통의 programming언어와비슷한방식으로기술함 보통 programming언어에서사용하는구문들사용 if, case, for, assignment 등 추상적인 behavioral model에사용 procedural statement의종류 initial 문 single-pass behavior always 문 cyclic behavior 3 initial 문 initial 문 single pass behavior initial begin initial 문장 ; 문장 ; 문장 ; simulation을시작할때에한번만수행 synthesis 되지않음 일반적으로초기화, 입력파형생성, 출력관찰등 simulation 수행시에한번만수행되어야하는과정을기술하는데사용 예 initial begin x = 1'b0; #40 x = 1'b1; initial #100 $finish; 4

always 문 always 문 cyclic behavior always 반복조건 begin 문장 ; 문장 ; 반복조건의이벤트가발생할때마다반복하여수행 예 : clock generator initial clock = 1'b0; always #20 clock = ~clock; clock 0 20 40 60 80 100 5 6 initial 과 always 의비교 종류 구문 동작 논리합성 initial initial begin... (single-pass behavior) simulation시작할때한번수행 x 4.2 타이밍제어 -always 반복조건 타이밍제어 형식 내용 지연제어 #10 10 단위시간이지연됨 이벤트제어 @(a) 신호 a의변화를기다림 레벨제어 wait(a==0) 신호 a가 0과같게되기를기다림 always always begin... (cyclic behavior) 이벤트가발생할때마다반복수행 O 지연제어와레벨제어문은논리합성이지원되지않음 지연제어문 #delay 주어진시간 delay 가지연된후에뒤에있는문장을수행 7 컴퓨터정보통신 임베디드하드웨어설계 8

이벤트제어 이벤트제어 @(var) 이벤트제어의여러가지형태 var 값의변화시에 event 발생 @(var) 변수 var 값의변화 @(posedge var) 변수 var의 positive edge (0 1 변화 ) @(negedge var) 변수 var의 negative edge (1 0 변화 ) @(var1 or var2) 변수 var1 또는 var2 값의변화 @(posedge var1 or negedge var2) @(posedge var1 or var2) synthesis tool은혼합형태를지원하지않음 sensitivity list Verilog-2001에서는 or 대신에, 를사용할수있음 @(var1, var2, var3) level-sensitive variable edge-triggered variable 9 level-sensitive 와 edge-triggered 이벤트 level-sensitive 이벤트 a 또는 b가변할때이벤트발생 half-adder always @(a or b) begin sum = a ^ b; cout = a & b; a 또는 b 가변할때마다 sum 과 cout 값을다시계산 edge-triggered 이벤트 clk의 positive edge에서이벤트발생 D flip-flop D always @(posedge clk) qout = din; clk 의 positive edge 에서 din 이 qout 에저장됨 10 Q 4.3 procedural assignment 문 예 : 보수출력이있는 positive edge-triggerred D flip-flop module dff_s (q, qbar, data, clk); output q, qbar; input data, clk; reg q, qbar; always @ (posedge clk) begin q = data; qbar = ~q; module module dff_s (q, qbar, data, clk); output q, qbar; input data, clk; reg q; assign qbar = ~q; always @ (posedge clk) begin q = data; module assign문과 always문의병렬수행두할당문은순서대로수행함두할당문순서가바뀌면동작이달라짐 순차할당문 (procedural assignment statement) initial 또는 always 내에서사용된 assignment( = ) 문장 순차적으로할당문이수행됨 할당문의순서가동작에영향을미칠수있음 LHS 변수는 variable 형이어야함 (ex) reg 또는 integer reg 형변수는 hardware register 로합성될수있으나그렇지않을수도있음 always 반복조건과회로 sensitivity list : @ 이벤트에포함된신호들 sensitivity list 에모든입력을포함한다면 조합회로로합성될수도있음 sensitivity list, 에모든입력이포함되지않는다면 내부에기억장소가포함된순차회로로합성됨 11 12

4.4 조건문 if 문을사용한설계 if 문 if ( 조건식 ) 문장 if ( 조건식 ) 문장 1 else 문장 2 if ( 조건식1) 문장1 else if ( 조건식2) 문장2... else if ( 조건식n) 문장n else 문장n+1 case 문 case ( 수식 ) 값1: 문장1; 값2: 문장2;... default: 기본문장 ; case // 일치하는값이없으면기본문장수행 예 : flip-flop with synchronous set and reset module dff_s (q, qbar, data, set, reset, clk); output q, qbar; input data, set, reset, clk; reg q; assign qbar = ~q; always @ (posedge clk) begin if (reset==0) q = 0; else if (set==0) q = 1; else q = data; module D R Q Q S 컴퓨터정보통신 임베디드하드웨어설계 13 14 예제 예제 예 : flip-flop with asynchronous set and reset 예 : transparent D-latch module dff_a (q, qbar, data, set, reset, clk); output q, qbar; input data, set, reset, clk; reg q; module tr_latch (q, enable, data); output q; input enable, data; reg q; D Q assign qbar = ~q; always @ (negedge set or negedge reset or posedge clk) begin if (reset==0) q = 0; // async reset else if (set==0) q = 1; // async set else q = data; // synchronize with clk module always @ (enable or data) begin if (enable) q = data; module enable=0 이면 q 값은변하지않음 저장 G set과 reset은실제로 level-sensitive 동작 : 0일때에clk과무관하게 (asynchronous) set 또는 reset 동작 clk만 edge-triggered 동작컴퓨터정보통신임베디드하드웨어설계 15 sensitivity list 에모든입력이있지만문장에서출력 q 가모든경우에대해서정의되어있지않으므로기억장소를포함하여논리합성됨 16

예제 예 : 1 비트 4x1 멀티플렉서 module mux4(y, d3, d2, d1, d0, sel); output y; input d3, d2, d1, d0; input sel; reg y; always @(d3 or d2 or d1 or d0 or sel) begin if (sel==0) y = d0; else if (sel==1) y = d1; else if (sel==2) y = d2; else if (sel==3) y = d3; else y = 1'bx; module else y = d3; case 문을사용한설계 1 비트 4x1 멀티플렉서 module mux4(y, d3, d2, d1, d0, sel); output y; input d3, d2, d1, d0; input [1:0] sel; reg y; always @(d3 or d2 or d1 or d0 or sel) begin case (sel) 0: y = d0; 1: y = d1; 2: y = d2; 3: y = d3; case module default: y = 1'bx; // 모든경우정의 컴퓨터정보통신 임베디드하드웨어설계 17 컴퓨터정보통신 임베디드하드웨어설계 18 4.5 여러가지 Behavioral Model Modeling styles structural modeling gate-level structure behavioral modeling continuous assignment dataflow model register transfer level(rtl) logic algorithm-based model always 문사용 RTL Model RTL(Register Transfer Logic) model 주로 clock에동기되는동작하는 synchronous machine의 data flow를 modeling하는데사용 combinational logic의 modeling 가능 Verilog-2001에서는 @* 로대체가능 조합회로의 RTL modeling combinational logic은 continuous assignment문과같은동작을하는 asynchronous cyclic behavior로 modeling 가능 RHS에사용되는모든변수포함 wire y1, y2; reg y1, y2; 19 assign y1 = expr1; always @(v1 or v2 ) begin assign y2 = expr2; y1 = expr1;... y2 = expr2;... continuous assignment 모델 RTL 모델 20

RTL model 예제 예 : 2-bit comparator module cmp2_rtl(lt, gt, eq, A1, A0, B1, B0); input A1, A0, B1, B0; output lt, gt, eq; reg lt, gt, eq; always @(A0 or A1 or B0 or B1) begin lt = {A1,A0} < {B1,B0}; gt = {A1,A0} > {B1,B0}; eq = {A1,A0} == {B1,B0}; module Algorithm-Based Models Algorithm-based model RTL model 보다더추상적인 model input-output 관계를기술하며 register, datapath, computational resource 등의내부구조를기술하지않음 architectural synthesis 내부구조는 synthesis tool에의해서정해짐 most challenging hardware 로합성될수없는경우도있음 always 내의문장은순서대로실행됨 RHS 와 LHS 사이에 depency 가있으면순서에영향을받음 (cf) multiple continuous assignment 들은 concurrent 하게실행됨 기술된순서에관계없음 21 22 Algorithm-Based Model 예제 예 : 2-bit comparator module cmp2_ca2(lt, gt, eq, A, B); input [1:0] A, B; output lt, gt, eq; reg lt, gt, eq; always @ (A or B) begin lt = 0; gt = 0; eq = 0; if (A==B) eq = 1; else if ( A > B) gt = 1; else lt = 1; module // deassert(0) 초기화 조건을만족하는출력을 assert(1) 이 model 은 reg 변수를사용할지라도조합회로로합성되며 hardware register 를필요로하지않음 4.6 Blocking 와 Nonblocking Assignment 문 procedural assignment 문의종류 종류구문동작 blocking assignment 문 nonblocking assignment 문 변수 = 수식 ( 보통의 programming 언어와같음 ) 블록내의할당문을순서대로수행 할당문의순서에영향을받을수있음 변수 <= 수식 sequential (concurrent behavior 를 modeling) 블록내의할당문의수식들을먼저계산한후에 LHS 변수값을갱신함 할당문의순서에영향을받지않음 concurrent 23 24

예 4-bit shift register 4비트 shift register clock의 positive edge에서 register 값이 1비트씩오른쪽으로이동 4-bit shift register의 modeling structural model 또는 dataflow model로기술하기가어려움 always @(posedge clk) 을사용한 behavioral model로기술함 assignment문사용에주의가필요함컴퓨터정보통신임베디드하드웨어설계 25 Blocking Assignment 문 Blocking assignment: a = b sequential, procedural assignment blocking assignment문의실행이종료되어야다음문장이실행됨 새로할당된결과가다음문장의실행에사용됨 실행결과는 blocking assignment 문의순서에영향을받을수있음 예 : 4-bit shift register ( 순서 : E D C B A) always @(posedge clk) begin A = B; B = C; C = D; D = E; before: EDCBA=1011x after: EDCBA=11011 always @(posedge clk) begin D = E; C = D; B = C; A = B; before: EDCBA=1011x after: EDCBA=11111 ( 옳음 ) ( 잘못됨 ) 26 Nonblocking Assignment Nonblocking assignment: a <= b 먼저 procedure 내의 RHS 의값들을계산한후에 LHS 변수를갱신함 t = T 에 RHS 값계산 t = T + 에 LHS 변수값갱신 nonblocking assignment 문들을 concurrent 하게실행하는효과를제공하며문장들의순서에영향을받지않음 예 : 4-bit shift register ( 순서 : E D C B A) always @(posedge clk) begin A <= B; B <= C; C <= D; D <= E; before: EDCBA=1011x after: EDCBA=11011 always @(posedge clk) begin D <= E; C <= D; B <= C; A <= B; before: EDCBA=1011x after: EDCBA=11011 ( 옳음 ) ( 옳음 ) 27 Blocking vs. Nonblocking Assignments Multiple assignments 에서 LHS 와 RHS 간에 depency 가 없는경우 : blocking, nonblocking 모두사용가능 존재하는경우 : 순서에영향이있음 concurrent 동작모델 : nonblocking 사용 algorithmic 동작모델 : blocking 사용 권장하는용도 Nonblocking assignment: edge-sensitive operation (synchronous 동작, register 출력저장 ) Blocking assignment: 조합회로출력 28

Port Names: Style Module 의 port name 의순서 정해진규칙은없음 권장순서 다음순서 ( 출력우선 ) 또는역순 ( 입력우선 ) bidirectional datapath signals bidirectional control signals datapath outputs control outputs datapath inputs control inputs synchronizing signals 29