PowerPoint 프레젠테이션

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

PowerPoint 프레젠테이션

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

<4D F736F F F696E74202D20B1E2BCFAC1A4BAB8C8B8C0C72DB0E8C3F8C1A6BEEE2DC0CCC0E7C8EF2E BC0D0B1E220C0FCBFEB5D>

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

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

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

PowerPoint 프레젠테이션

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

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

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

PowerPoint 프레젠테이션

졸업작품계획서 FBD, Verilog, VHDL, EDIF 및 JEDEC 을위한 Co-Simulation Tools 지도교수유준범 건국대학교컴퓨터공학부 김그린김신김재엽

歯Chap1-Chap2.PDF

Table of Contents 1 FPGA 소개 FPGA 개발흐름 [4] 구조 FPGA 장단점 FPGA Development Process Requirement Specifi

Microsoft Word - logic2005.doc

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

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

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

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

歯Intro_alt_han_s.PDF

tut_modelsim(student).hwp

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

<4D F736F F F696E74202D20332EB5F0C1F6C5D0C8B8B7CEBFCD20B1B8C7F62E >

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

삼성기초VHDL실습.PDF

COTS SW Dedication

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

PowerPoint 프레젠테이션

Libero Overview and Design Flow

SW¹é¼Ł-³¯°³Æ÷ÇÔÇ¥Áö2013

ºÎ·ÏB

歯03-ICFamily.PDF

PowerPoint 프레젠테이션

디지털공학 5판 7-8장

CAE Conference 2012 Electrical CAE 기술동향 - Electronic Design Automation 이윤식박사 / 전자부품연구원 대전컨벤션센터 년 CAE 협회

슬라이드 1

Orcad Capture 9.x

뉴티씨 (NEWTC) 2. FB-CY4E-DEV (FPGA 개발 키트) 구성도 Port Select SW 7 Segment Text LCD UART RS-232C JTAG PORTA (5V) Active Serial PORTB (5V) OSC. 50MHz Analog

WebPACK 및 ModelSim 사용법.hwp

13 Who am I? R&D, Product Development Manager / Smart Worker Visualization SW SW KAIST Software Engineering Computer Engineering 3

DE1-SoC Board

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

Microsoft PowerPoint - SY-A3PSK-V1.pptx

<BBEABEF7B5BFC7E22DA5B12E687770>

Ver. T3_DWS.UTP-1.0 Unit Testing Plan for Digital Watch System Test Plan Test Design Specification Test Cases Specification Date Team Infor

Mentor_PCB설계입문

마이크로시스템제작 lecture1. 강의소개및 MultiSIM 선덕한 마이크로시스템 1

untitled

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

Microsoft PowerPoint - DSD04_fpga1.pptx

Microsoft PowerPoint - es-arduino-lecture-03

<313920C0CCB1E2BFF82E687770>

1

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

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - DSD03_verilog3b.pptx

1.장인석-ITIL 소개.ppt

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

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

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

슬라이드 1

Chapter ...

Slide 1

Microsoft Word - logic2005.doc

ISP and CodeVisionAVR C Compiler.hwp

Manufacturing6

_USB JTAG Ver1.0 User's Manual.hwp

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

歯Cablexpert제안서.PDF

Vertical Probe Card Technology Pin Technology 1) Probe Pin Testable Pitch:03 (Matrix) Minimum Pin Length:2.67 High Speed Test Application:Test Socket

Microsoft Word - Experiment 5.docx

PowerPoint 프레젠테이션

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

Video Stabilization


Microsoft PowerPoint - Master-ChiWeon_Yoon.ppt

歯02-BooleanFunction.PDF

Switching

FPGA 개념 q FPGA (Field Programmable Gate Array)? v 사용자가현장에서직접프로그램가능한소자 v 기본적인논리게이트, 플립플롭, 메모리등을구현가능 v 수십개 ~ 수백만개의소자를포함하는규모 v 개발기간이짧고회로동작을바로검증할수있어개발초기에사

歯15-ROMPLD.PDF

COTS SW dedication

서현수

RFID USN_K_100107

Microsoft PowerPoint - polling.pptx

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

Microsoft PowerPoint - KNS 기술정보회의(070405)-김창회

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

계수를 결정하는 과정이며, 순방향 경로는 이러한 보정 계수를 데이터 경로에 적용하는 과정이다. 적응 서브시스템은 기준 신호로 송신된 데이터로부터 샘플을 캡처하고, 이를 PA로부터 출력된 신 호의 관찰 경로에 의한 동시 캡처된 신호와 비교함으로써 지속적으로 PA 특성에

Chap 6: Graphs

9장 순차논리 회로

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

C# Programming Guide - Types

Ver. 4.0 OOPT Stage 1000 <Plan and Elaboration> Version 4.0 Project Team T7 Team Date Team Information 오세욱 임현유

1_12-53(김동희)_.hwp

PRO1_04E [읽기 전용]

제5장 PLD의 이해와 실습

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

PROCES-WP012A-KO-P, 현재의 안전 계측 시스템(SIS)이 최신 표준을 준수하고 있습니까?

½Éº´È¿ Ãâ·Â

Transcription:

Introduction to Development and V&V of FPGA-based Digital I&Cs 김의섭

목차 1. FPGA 2. Development Process / V&V 3. Summary 2

01 [ ] FPGA

FPGA 프로그램이가능한비메모리반도체의일종. 회로변경이불가능한일반반도체와달리용도에맞게회로를다시새겨넣을수있다. 따라서사용자는자신의용도에맞게반도체의기능을소프트웨어프로그램하듯이변형시킬수있다. 일반반도체에비해가격이수십 ~ 수백배비싸며항공, 자동차, 통신등의분야에주로쓰인다 - 네이버 ( 한경경제용어사전 ) 4

5

FPGA FPGA (Field-Programmable Gate Array) 프로그래머블논리요소와프로그래밍가능내부선이포함된반도체소자 넓은평야 (field) 의바둑판처럼규칙적인구획을가진배열 (Array) 을프로그래밍 Filed( 사용자 ) 에서프로그래밍이가능한 gate array( 디지털회로반도체 ) 6

FPGA FPGA (Field-Programmable Gate Array) 프로그래머블논리요소와프로그래밍가능내부선이포함된반도체소자 넓은평야 (field) 의바둑판처럼규칙적인구획을가진배열 (Array) 을프로그래밍 Filed( 사용자 ) 에서프로그래밍이가능한 gate array( 디지털회로반도체 ) 입력및출력회로배치 디지털회로를구현할수있는게이트 (AND, OR 등 ), 플립플롭, 멀티플렉서, 메모리 Programmable Interconnect 로직과로직사이를연결 FPGA Design 7 7

8

FPGA 초기 FPGA 는 ASIC 제품의양산전단계의시험용제품으로사용 FPGA는 ASIC으로가지전성능과동작을테스트하기위해중간개발물형태의직접회로 (IC) 로사용 오류발생시회로변경이가능한특성 ( 수정이가능 ) 개발시간이짧으며개발비용이비교적적음 9

FPGA 장 / 단점 장점 단점 간편하게설계한로직을반복적으로이식할수있다 Time to market 이좋다 빠르게시장에내다팔수있다. (ASIC 대비 ) ASIC 은한번만드는데대략 3~6 개월걸림 ( 설계상에오류가있다면그만큼의시간이필요 ) Non-recurring Engineering(NRE) charge 를내지않아도된다는것이다. - 이름그대로 NRE charge 는 ASIC 을의뢰하여샘플받는데까지무조건내야하는 ( 공정에따라한번에수천만원에서수억원에이름 ) 비용이고칩이동작안한다고하여돌려받을수있는돈이아니다. 업데이트가능 고비용 FPGA 는 SRAM 타입의경우 PROM 파일만바꿔주면안에내용을바꿀수있음 예를들어 해외에수출했는데오류가발생할경우, ASIC 은전수회수하여칩을교체해야함 반면, FPGA 는 SW 업데이트로해결이가능합니다. 대량으로생산하는경우 (ASIC 의양산단가는 FPGA 와비교안될정도로쌈 ) Size 문제 FPGA 에비해 ASIC 은칩의면적이작음 ( 충분히 optimize 되기때문 ) 핸드폰처럼작은사이즈가필요한제품은 FPGA 로설계하기어려움 ( 발열이나사이즈문제 ) 10 10

원자력도메인 원자로보호시스템 (RPS) 의플랫폼변경요구 (PLC FPGA) 원전디지털계측제어시스템에서공통원인고장 (Common Cause Failure) 발생가능성이증가 이를방지하기위해다양성및심층방어 (Diversity & Defense in Depth) 설계개념도입필요 Security 측면 기존 PLC 기반소프트웨어의유지보수비용과새로운 RPS 개발의복잡성증가 PLC (Programmable Logic Controller) FPGA (Field Programmable Gate Array) 11

02 [ Development ] Process / V&V

Development Process Requirement or Design Specification Functional Spec., I/O Signal Spec., Timing Const. RTL Design HDL (Verilog or VHDL) Synthesis 도구를이용한 Compile (Optimization) Gate-Level Design (Netlist) EDIF Place & Route Chip spec 에맞게배치 Layout JEDEC Download bit stream FPGA 13

Development Process + V&V Requirement or Design Specification Behavioral simulation Model checking RTL Design Equivalence cehcking Synthesis Gate-Level Design (Netlist) Logic simulation Equivalence cehcking Place & Route Layout Post-layout simulation Static timing analysis Download FPGA 14

Requirement or Design Specification 무엇을어떻게만들지결정 구현하고자하는 function 분석 Verification plan Project scheduling + chip 과 system 의성능분석 chip 의동작 clock 속도 Input / output 주기분석 15

RTL Design Register-transfer level 개발자는 Spec 을 HDL (Hardware Description Language) 로구현 (coding) 회로를구현하는세세한게이트들과그들간의연결을고려하지않고기능을중심으로구현가능 HDL 반도체및전자회로를기술하는데사용하는컴퓨터언어 디지털시스템을모델링 ( 설계 ) 기능 시뮬레이션 문서화 합성 언어특성 동시성 ( 시간 ) 병렬성 ( 공간 ) 추상화 대표적인 2 가지 HDL Verilog HDL VHDL CLK FPGA Module Module Module Signal 또는 CLK 의천이에따라각각은독립적 ( 병렬적 ) 으로수행 ( 무순서하게명령어실행 : 동시성 ) 16

HDL Verilog HDL 1983 년 Gateway Design Automation 사에서하드웨어기술언어인 HiLo 와 C 언어의특징을기반으로개발 EEE 1364 로표준화된 Verilog 는전자회로및시스템에사용되는하드웨어기술언어로, 회로설계, 검증, 구현등여러용도로사용 C 언어와비슷한문법 if 나 while, for loop 문과같은제어구조 / 연산자 : 논리 (&<^, ), 산술 (+,-,*,/) C 언어와달리, HDL 의특징인시간에대한개념이포함 VHDL 1981 년에제안, IEEE1076-1987,1993, 2000, 2002 표준 미국국방부에서주문형집적회로 (ASIC) 의문서화에사용하기위해만든언어 복잡한매뉴얼로회로의동작내용을설명하는대신, 회로의동작내용을문서화하여설명하기위해개발 추가적으로 Simulation 과 Synthesis 가지원되면서오늘날과같은형태의문법으로완성되어짐 17

RTL Verification Design이끝났으면 design이 Spec 대로올바로구현되었는지검증을해야함 개발한 Design이 specification을만족하는지확인 HDL은 hardware description 뿐아니라 simulation을위해서도사용됨 Behavioral simulation Simulation 은일반적으로가장많이사용되는검증방법 Simulation 을하기위해서는 3 가지가필요 1. Test bench 작성 2. Simulation 3. Simulation 결과와 spec 비교 18

Simulation 1. Test bench 작성 Test Bench 란테스트입력을인가하는모듈 매 clock cycle 마다제대로동작하는지 simulation vector 라는 input data 를설계모듈에넣어실행 Issue - 모든경우의수를확인하는것은불가능 따라서충분한 Coverage 또는 Corner Case 를커버하는 Test bench 의작성이중요 의미있는시뮬레이션입력벡터의생성이중요 2. Simulation Simulation 도구를이용하여수행 Issue - Simulation 은느리다 Simulation tool 은 HDL 에서기술된모든 signal 이매 clock 어떻게변하는지 monitoring 을하기때문 3. Simulation 결과와 spec 비교 Simulation 결과는 Wave form 형태로출력됨 Issue 결과분석의어려움 크기와복잡도가증가할수록분석에시간과노력이필요 19

Synthesis 란? 합성은 HDL 을이용한설계에서가장중요한과정 합성 = 변환 + 최적화 (translation) (optimization) 변환 : 동작적또는 RTL 기술 (HDL 설계 ) 구조적기술 ( 게이트레벨표현 ) 최적화 : 면적의최소화, 동작의고속화 20

Synthesis 란? RTL 레벨의 HDL 로작성된 Code 를 Gate-Level 의 optimization 된 Netlist 로변환 원래는사용자가직접 Netlist 를작성해야하지만제품의사이즈와복잡도가증가로인해직접작성이불가능해짐 사용자는사용자친화적언어인 HDL 로제품을설계하면 Synthesis 도구가이를지동으로 Netlist 형태로변환해줌 사용자가고려해야하는복잡한과정 (Optimization) 을대신수행 칩의 speed, cost, power 측면에서의최적화를자동으로수행 따라서, 사용자는 HW 의고려없이디자인및설계에집중 사용자수준의언어 Verilog Design Constraints Synthesis Target Library Netlist Speed, Cost, Power 등을고려한셀배치 21 21

Synthesis 의장단점 설계사이클단축 설계변경용이, 설계오류가능성저하, 간단한기술방식, 빠른설계, 빠른변경 설계의질적향상 여러가지 architecture 시도가능 : 최적화 면적또는속도최적화가능 ( 논리합성기의기능 ) Timing analyzer 기능포함 (critical path delay, setup, hold time 계산 ) 판매자, 기술 (technology) 에무관한설계가능 ASIC or FPGA 로구현가능, 어떤 vendor 의 chip 을사용하든무관 설계비용절감 설계기간단축, 스키메틱설계과정생략, 설계오류저하 Design reusability IP, Library 그대로또는수정해서사용가능 단점 논리합성결과, 자동생성된회로도면을이해하기어렵다. 합성도구성능에크게좌우된다. 22

Synthesis Tools Commercial tool for logic synthesis (3 rd party synthesis tool) XST (delivered within ISE) by Xilinx Quartus II integrated Synthesis by Altera IspLever by Lattice Semiconductor Encounter RTL Compiler by Cadence Design Systems LeonardoSpectrum and Precision (RTL / Physical) by Mentor Graphics Synplify (PRO / Premier) by Synopsys BlastFPGA by Magma Design Automation 23

Gate-Level Design (Netlist) Synthesis 후나오는결과 게이트와그들간의연결이라는관점에서의회로 Synthesis 24

Logic simulation Synthesis Tool 이합성을잘했는지보장할수있을까? Synthesis Tool도 software이므로버그가항상존재할수있음 Vendor마다최적화또는변환룰이각각다름 Optimization 으로인해 design의정형성이깨지게됨 일반적으로좋은결과를제공하지만, 신뢰성 따라서합성결과로나온 netlist가올바른지검증할필요가있음 특히, 원자력분야에아직사용된이력이없어신뢰성및안정성을위해검증필요 (COTS dedication) Verilog Synthesis Netlist 25

Logic simulation Logic simulation Netlist 가의도한대로동작하는지기능확인 RTL level 에서사용한 test bench 를사용할수있음 Issue - 느린 simulation 속도 / RTL level 의 simulation 과중복 Co-simulation 방법 동일한 test bench 를이용하여 simulation 을수행 자동으로결과비교 26

Equivalence checking Co-simulation 을통해서 RTL 과 Netlist 간의동일서확인가능 하지만, 역시모든 vector 에대해서 test 를진행할수없다는단점이있음 이를검증하기위해 EC 를사용 XOR gate 같으면 0 다르면 1 27

Equivalence checking EC 장점 효율적인검증 : 테스트벤치를생성할필요가없다. 효과적인검증 : 시뮬레이션에비해속도가빠르다. 정형검증 가능한모든입력에대해확인이가능하다. 시뮬레이션기반방법은불가능 Issue State explosion or 성능 다양한지원 Tools 존재 외산 / 상당한로얄티 FormalPro by Mentor Graphics / Conformal by Cadence / Jasper Gold by Cadence / Formality by Synopsys / Conformal LEC by Cadence Design Systems / Quartz Formal by Magma Design Automation / 360 EC by OneSpin Solutions 28

Development Process + V&V Requirement or Design Specification Behavioral simulation Model checking RTL Design Equivalence cehcking Synthesis Gate-Level Design (Netlist) Logic simulation Equivalence cehcking Place & Route Layout Post-layout simulation Static timing analysis Download FPGA 29

Place & Route 란? Place & Route 란 Map 정보를가지고 Logic Element 를 FPGA 내에배치하고, Wire 를연결해주는작업 Gate 수준의 Netlist 정보를받아 Cell 을배치하고 Cell 사이를 route 함? 30 30

배치 31

AO1 배선 32

33

Post-layout simulation P&R 후 back-annotation 정보 (gate 들의 delay 정보등 ) 을이용해시뮬레이션수행 Delay 가삽입되어도동일한기능을 ( 동일한출력 ) 수행하는지확인하는과정 Issue - 느린 simulation 속도 / behavior & logic simulation 과중복 Co-simulation 방법 동일한 test bench 를이용하여 simulation 을수행 자동으로결과비교 34

Static Timing Analysis FPGA 개발에있어타이밍과동작기능은항상같이고려해야할문제 STA 는발생할수있는 timing 에대한문제를사전에처리해주는기능 실제수행 (simulation) 없이회로의 delay 시간을계산하여 Violation 을확인 설계자가원하는 timing(clock 주파수나, delay 등 ) 이제대로맞는지검증 15us 10us Combinational Logic 이상당히복잡할경우두번째 F/F 에원하는 Signal 이도착하지못할수있다 35 35

Timing violation 의예 간단한타이밍위반 (timing violation) 예로두가지가있음 1. Setup timing violation 합성 Constraint 가너무타이트한경우발생 합성된결과가클럭주기보다도큰딜레이를갖는 Combinational logic 을가질때 어떤 rising edge 에서 data 값을인식하기위해서는 data 는 clock rising edge 보다이전에유효한값을일정시간동안가지고있어야함 2. Hold timing violation hold time 동안은유효한데이터가계속변하지않고유지되어야함 예를들어상승에지에동작하는플립플롭이입력값을인지하기도전에입력이바뀌면 hold time violation 이발생 아래는홀드타인요구조건이 1ns 인경우이며, 이러한경우에는클럭상승에지를기준으로최소 1ns 동안은값을유지하고있어야함 36 36

Ex) Setup timing violation Original : 15us 10us Solution 1 : 20us Solution : 7us 8us 10us 클럭주기보다 Comb 의 Signal 인가시간이짧도록유지 Issue : 적절한 timing constraints? system 과 chip spec 에대한분석필요 37

Summary FPGA 개발자가프로그래밍가능한반도체 FPGA 개발 + 검증 Process 38

행위수준합성도구들도등장하고있다고함 RTL 을 Layout 단계의회로행위로변환 단계 비교 하드웨어설계 컴퓨터프로그래밍 3 단계 동작적기술 (HDL 설계 ) 고급언어프로그램 합성 2 단계 구조적기술 ( 게이트레벨설계 ) 실리콘컴파일러 어셈블리어프로그램? 고급언어컴파일러 어셈블러 1 단계 레이아웃설계 기계어프로그램 39

40