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

Similar documents
歯Chap1-Chap2.PDF

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

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

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

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

디지털공학 5판 7-8장

PowerPoint 프레젠테이션

Microsoft Word - logic2005.doc

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

Libero Overview and Design Flow

Microsoft Word - logic2005.doc

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

PowerPoint 프레젠테이션

9장 순차논리 회로

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

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

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

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

T100MD+

<4D F736F F F696E74202D C31345FB0EDB1DE20BFB5BBF320C8B8B7CE20BCB3B0E82E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - ASIC ¼³°è °³·Ð.ppt

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

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

<4D F736F F F696E74202D20B1E2BCFAC1A4BAB8C8B8C0C72DB0E8C3F8C1A6BEEE2DC0CCC0E7C8EF2E BC0D0B1E220C0FCBFEB5D>

삼성기초VHDL실습.PDF

Mentor_PCB설계입문

A New Equivalence Checker for Demonstrating Correctness of Synthesis and Generation of Safety-Critical Software

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

<4D F736F F F696E74202D20332EB5F0C1F6C5D0C8B8B7CEBFCD20B1B8C7F62E >

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

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

Microsoft PowerPoint - DSD03_verilog3b.pptx

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

Orcad Capture 9.x

Microsoft PowerPoint - es-arduino-lecture-03

슬라이드 1

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

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

MCM, PCB (mentor) : da& librarian jakup & package jakup & layout jakup & fablink jakup & Summary 2 / 66

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

Boundary Scan Design(JTAG) JTAG 의특징 Boundary Scan은기기의 input과 Output 핀들에대해가능하게해주는기본 DFT(Design for Test) 구조이다. 그림1에서는 IEEE Std 에상응하는기본 Boundary S

Microsoft PowerPoint - o8.pptx

i-movix 특징 l 안정성 l 뛰어난화질 l 차별화된편의성

untitled

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

ez-md+_manual01

슬라이드 1

제5장 PLD의 이해와 실습

歯Intro_alt_han_s.PDF

PowerPoint 프레젠테이션

Microsoft PowerPoint - analogic_kimys_ch10.ppt

USER GUIDE

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

1

<BBEABEF7B5BFC7E22DA5B12E687770>

PowerPoint 프레젠테이션

ecorp-프로젝트제안서작성실무(양식3)

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

CAN-fly Quick Manual

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

Integ

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

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

C# Programming Guide - Types

Microsoft Word - Modelsim_QuartusII타이밍시뮬레이션.doc

WebPACK 및 ModelSim 사용법.hwp

PowerPoint 프레젠테이션

C# 언어 사양

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

(b) 미분기 (c) 적분기 그림 6.1. 연산증폭기연산응용회로

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Oct.; 27(10),

untitled

API 매뉴얼

DE1-SoC Board

LCD Monitor

<313920C0CCB1E2BFF82E687770>

Microsoft PowerPoint - 제10장.ppt [호환 모드]

PCServerMgmt7

김기남_ATDC2016_160620_[키노트].key

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

PowerPoint 프레젠테이션

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>


Microsoft PowerPoint - SY-A3PSK-V1.pptx

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

UML

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

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

(SW3704) Gingerbread Source Build & Working Guide

SW_faq2000번역.PDF

Microsoft PowerPoint - DSD04_fpga1.pptx

untitled

F1-1(수정).ppt

. 서론,, [1]., PLL.,., SiGe, CMOS SiGe CMOS [2],[3].,,. CMOS,.. 동적주파수분할기동작조건분석 3, Miller injection-locked, static. injection-locked static [4]., 1/n 그림

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

ºÎ·ÏB

2. GCC Assembler와 AVR Assembler의차이 A. GCC Assembler 를사용하는경우 i. Assembly Language Program은.S Extension 을갖는다. ii. C Language Program은.c Extension 을갖는다.

PRO1_09E [읽기 전용]

1. 일련의순차적인수를세는회로는? < 가 > 가카운터 다디코더 나레지스터 라인코더 2. 입력펄스에따라미리정해진순서대로상태가변화하는레지스터로써발생회수를세거나동작순서를제어하기위한타이밍 (timing) 신호를만드는데가장적합한회로는? < 다 > 가범용레지스터 다

Transcription:

VHL 프로그래밍 10. 논리합성및설계기법 한동일 학습목표 VHL 을이용한시스템구현과정을이해한다. 논리합성이가능한 RTL 코드의개념을이해한다. ASIC 제작과정을이해한다. FPGA 제작과정을이해한다. RTL 시뮬레이션과정을이해한다. 논리합성이되는구문과되지않는구문을파악한다. 좋은 VHL 코딩스타일을따른다. 준안정상태의개념을이해한다. 비동기신호인터페이스를구현할수있다. 2/36

VHL 을이용한설계기법 VHL 을이용한시스템구현과정 시스템사양 (specification) 및구조결정 VHL 코딩 (RTL 코드 ) 테스트벤치작성 RTL 시뮬레이션 (simulation) 논리합성 (synthesis) 게이트레벨시뮬레이션 (Gate Level simulation) 배치및배선 (Place and Route) 배치후시뮬레이션 (Post Layout Simulation) 타이밍분석 (Static Timing Analysis) ASIC, FPGA 구현 (Chip Fabrication) 테스트용보드제작 실장테스트 3/36. VHL 을이용한설계기법 System Specification i ASIC 제작과정 VHL Coding(RTL Level) Test Bench Technology Library Logic Synthesis Place and Route RTL Simulation Gate-Level eve Simulation Static Timing Analysis Post-Layout Simulation ASIC 4/36 Board Test

VHL 을이용한설계기법 FPGA 를이용한설계검증과정 System Specification VHL Coding(RTL Level) Test Bench Logic Synthesis RTL Simulation evice Mapping Gate-Level Simulation FPGA 5/36 FPGA Board Test RTL 시뮬레이션 RTL 시뮬레이션과정 VHL Library VHL Model VHL Test Bench Simulation Compiler Simulation Test Model Vectors Waveform Output VHL Simulation 6/36 File Output

RTL 시뮬레이션 시뮬레이션을통한출력파형예 7/36 RTL 시뮬레이션 리스트를통한시뮬레이션검증예 8/36

논리합성 논리합성 (logic synthesis) 이란? RTL 형태로추상적으로서술된코드를논리회로로이루어진하드웨어형태로변환하는과정 FPGA 를위한논리합성툴들 Xilinx 사에서제공하는 XST(ISE 에포함되어있음 ) Altera 사에서제공하는 uartus II Synopsis 사에서제공하는 esigncompiler Ultra, IC Compiler Cadence esign Systems 사에서제공하는 Encounter RTL Compiler Mentor Graphics 사에서제공하는 LeonardoSpectrum Synplicity 사에서제공하는 Synplify, etc. ASIC 을위한논리합성툴들 Synopsis 사에서제공하는 esign Compiler Cadence esign Systems 사에서제공하는 Encounter RTL Compiler Magma esign Automation 사에서제공하는 Talusesign, etc. 9/36. 논리합성및이후과정 VHL VHL Technology Constraints Library Model Library (Area, Speed, Power) Synthesis Compiler Formal Verification Timing Analysis Gate-Level Netlist Floor Planning Place and Route Gate-Level Simulation Post-Layout Simulation VHL Test Bench Test Vectors File Output Waveform Output Chip Fabrication 10/36

논리합성및이후과정 플로어플래닝단계에서의신호배치예 bad good 11/36 논리합성및이후과정 플로어플래닝예 I2C Host titf Intf Camera Interface Intf PLL Main AC isplay Interface SRAM Control Color and Frame Control Sub AC 12/36

논리합성및이후과정 배치및배선예 13/36 BIST(Built-In In Self-Test) BIST(Built-In I Self-Test) 불량칩의검출을위해칩제작시추가하는회로 불량메모리의검출을위한메모리비스트 (Memory BIST) 와일반로직의비정상동작여부검출을위한로직비스트 (Logic BIST) 를사용 메모리비스트 메모리설계단계에서별도의검증로직추가 메모리내의각각의저장장소의정상동작유무를확인할수있어야함 로직비스트 대부분로직비스트를자동으로삽입하는툴을이용 일반적인테스트벤치로커버하지못하는회로의동작을검증할수있게함 14/36.

BIST 를포함한전체설계과정 VHL with Test-Logic Function Simulation Behavioral Simulation Logic Synthesis Scan-Stitching Synthesis / SCAN / ATPG Pre-Static Timing Analysis Floor-Plan Pre-layout Simulation RTL2Gate Formal Verify Static timing verification Gate level simulation Floor-Plan Hierarchical P&R P&R RC Extraction Post-Static Timing Analysis Post-layout Simulation Post-layout simulation/timing Verify Re-optimize Gate2Gate Formal Verify RC/LVS/Antenna 15/36 논리합성일반 VHL 구문의논리합성가능여부 논리합성기에따른논리합성가능여부차이존재 따라서현재사용하고있는논리합성기의성능파악필요 대부분의논리합성기가지원하지않는구문 deferred constant bus type signal file declaration register type signal attribute declaration guard signal assertion statement physical literal report statement transport time delay after clause configuration declaration 16/36.

논리합성일반 대부분의논리합성기가지원하는구문 entity declaration architecture body library clause use clause package subprogram predefined subtype predefined type user-defined subtype attribute array type constant declaration integer type definition record type definition alias declaration signal declaration variable declaration sequential signal assignment statement if statement case statement next statement null statement exit statement return statement variable assignment statement sequential procedure call statement component instantiation statement concurrent procedure call statement concurrent signal assignment statement process statement signed and unsigned operation enumeration type definition 17/36 논리합성일반 논리합성기의부가기능 HL 로구현된 RTL 코드를게이트레벨논리회로로논리합성하는기능 최적화가안된게이트레벨논리회로를최적화하는기능 최적화된회로의동작속도를향상시키는기능 사용자가제공하는통제정보 (constraint) 를이용한 balanced clock tree synthesis 기능 배치후선로의커패시턴스 (capacitance) 값을이용한재최적화 (reoptimization) 기능등 18/36.

매크로셀의이용 매크로셀 (macro cell) 이란? 칩제작업체나 FPGA 제공업체에서사전에설계하여제공하는회로들 반도체제작업체제공매크로셀 메모리 (single port, two port, dual port : width 와 depth 조정가능 ) FIFO(width 와 depth 조정가능 ) AC, AC, I/O Pad, PLL 등 FPGA 칩제공매크로셀 클럭버퍼, CM(igital Clock Manager), PLL(Phase-Locked Loop) 블록메모리 (Block RAM), 분산메모리 (istributed RAM) FIFO 곱셈기 (multiplier) 등 19/36. VHL 코딩기법 좋은코딩스타일 코드의첫부분에관련정보를담은해더를사용 IEEE, 개발환경에서제공하는다양한패키지들을활용 모든 RTL 코드는한파일에하나의설계 entity 를서술 파일명은엔티티이름과일치시킬것 엔티티명은가급적설계구조가파악되도록할것 테스트벤치코드는 tb_entity_name 과같은방식으로구분 입출력포트신호들의명명규칙 std_logic, std_logic_vector 형만을사용 active_high 신호가기본, active low 신호일경우신호이름끝에 _n 설계를시작하기전에주요신호선들의이름을정하고이를준수 포트신호들은관계있는것끼리그룹으로처리 buffer 모드의출력은피하고이를 out 모드및내부신호선으로분리 20/36.

VHL 코딩기법 좋은코딩스타일 - 계속 포트이름선언의좋은예 scaled_pixel rc2is_p pixel(7:0) scaled_p pixel (7:0) scaled ed_pixel (7:0) mct_pixel (8:0) is2mc_hactive rc2is_hactive is2mc_hactive is2mc_hactive mc2wm_hactive is2mc_vactive rc2is_vactive is2mc_vactive is2mc_vactive mc2wm_vactive current_width(8:0) current_height(7:0) fdclk reset_fd_n scaled_width(8:0) scaled_height(7:0) fdclk reset_fd_n fd_is_top fd_mc_top 21/36 VHL 코딩기법 좋은코딩스타일 - 계속 포트이름선언의나쁜예 pixel_out pixel _ in(7:0) pixel _ out (7:0) pixel _ in(7:0) pixel_out (8:0) hactive_out hactive_in hactive_out hactive_in hactive_out vactive_out vactive_in vactive_out vactive_in vactive_out current_width(8:0) current_height(7:0) fdclk reset_fd_n scaled_width(8:0) scaled_height(7:0) fdclk reset_fd_n fd_is_top fd_mc_top 22/36

VHL 코딩기법 좋은코딩스타일 - 계속 signal 은플립플롭의출력신호및이와연결된배선 variable 의경우프로세스내부의로컬신호 0 과 1 이외의정수표현은가급적상수로표현 프로세스문사용시주의사항 감지리스트작성시필요한신호가빠지지않았는지항상확인 가능하면 case 문이 if 문보다논리합성의최적화에유리 데이터를제외한모든신호는반드시비동기리셋해야함 vector 를이용가능할경우 loop 보다는가급적 vector 로서술 여러프로세스에서반복적으로서술되는부분은함수 (function) 을활용 포트연결시에는이름연결방식과위치연결방식을동시에적용 23/36. VHL 코딩기법 좋은코딩스타일 - 계속 기타사항 bit는 std_logic으로사용, bit_vector는 std_logic_vector로사용 vector의비트수표현방식은 (msb downto lsb) 예 : std_logic_vector(7 downto 0) integer의값의표시방식은 (min to max) 예 : integer range 0 to 255 signed integer 를사용할경우에는정상적인논리합성여부를파악 산술연산자 (+, -, *, /) 는매우신중하게사용 ( 게이트수가매우커짐 ) 칩의입력신호는일단해당클럭으로플립플롭을친신호를이용 칩의출력신호도플립플롭의출력신호를출력포트로직접연결 영상데이터의경우앞의조건과함께출력클럭을반전시켜출력 래치가발생되지않도록주의 의도적인래치설계의경우에는주석을통해래치발생회로임을공지 24/36

VHL 코딩기법 좋은코딩스타일 - 계속 출력데이터와클럭신호와의타이밍예 : SMPTE274M 25/36 VHL 코딩기법 ASIC 설계를위한코딩스타일 사용되는클럭의수를최소로줄이는것이클럭분배네트워크구성에유리 리셋과클럭신호들은개별생성을배제하고종합관리 tri-state 버스의 enable 핀들은 mutually exclusive 관계 floor plan 단계에서각블록의입출력신호들도플립플롭으로인터페이스 두개이상의서로다른클럭이사용되는블록은그크기를최소화시켜야함 26/36.

VHL 코딩기법 비동기신호인터페이스를위한코딩스타일 비동기신호가인터페이스되는영역을최소화 플립플롭의준안정 (metastable) 구간발생을고려 비동기신호의인터페이스시조합회로가없이두단계의플립플롭으로신호를저장한이후에사용 하나의비동기신호에대해서복수개의비동기신호인터페이스를할경우서로한클럭의위상지연이발생할수있으므로이러한설계는회피 두개의클럭에의해인터페이스되는신호의경우신호의주파수는느린클럭의주파수보다느리게인터페이스 서로다른두클럭의비율에관계없이인터페이스할수있는또다른방법으로 handshaking 방법을이용 27/36. 클럭신호의타이밍관계 A C b combinational logic a c q clk clk b c 1 c 2 c 3 t 1 t 2 28/36

플립플롭의준비및대기시간 setup time hold time clk c setup and hold violation ok ok 29/36 준안정상태의전파방식 A B C a async b combinational logic c q clk B clk A async clk B b c logic delay metastable window q t 1 30/36 t 2

비동기신호인터페이스방법 a A hsync B C hsync_1d_sdr hsync_2d_sdr sdrclk clk A hsync sdrclk hsync_1d_sdr metastable window hsync_2d_sdr sdr t 1 t 2 31/36 비동기신호인터페이스방법 비동기인터페이스구현예 -------------------------------------------- -- Asynchronous interface -------------------------------------------- async_proc : process (sdrclk, reset_sdr_n) begin end process; if (reset_sdr_n='0') then hsync_1d_sdr <= '0';-- do not use this signal hsync_2d_sdr <= '0'; elsif (sdrclk='1' and sdrclk'event) then hsync_1d_sdr sdr <= hsync; -- comes from different clock hsync_2d_sdr <= hsync_1d_sdr; end if; 32/36

복수개의비동기인터페이스 a A async B C b c clk B clk B clk A d E e clk B clk B async clk B b d t 1 t 2 33/36 주파수차이에의한문제 fastclk write1 t 1 t 2 slowclk write2 34/36

핸드셰이킹인터페이스 fastclk ready strb slowclk t 1 t 2 t 3 t 4 t 5 t 7 t 8 t 9 35/36 핸드셰이킹인터페이스로직 strb_2d C strb_1d B fastclk A fastclk E start1 S ready strb start2 fastclk R slowclk slowclk 36/36