( slide 1 ) november 10, 2015november 10, 2015november 10, 2015 system centroid inc. 2013 년 soc...

78
( slide slide 1 ) June 27, 2022 June 27, 2022 System Centroid Inc. System Centroid Inc. 2013 년 SOC 년년년년년

Upload: georgia-jacobs

Post on 04-Jan-2016

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 11 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

2013 년

SOC 설계방법론

Page 2: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 22 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

• 설계 데이터의 종류 SystemC 언어 VHDL 언어 EDIF 언어 CIF 언어

• CAD 툴의 종류• 설계 방법론 비교

논리회로도 수동 설계 VHDL 합성 자동 설계 반도체 IP 재사용 설계 상위수준합성 자동 설계

차례

Page 3: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 33 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

설계 데이터의 종류

Page 4: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 44 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

반도체칩과 CAD 툴의 차이

CADÅø

»õ·Î¿î¼³°è±â¼ú

ȸ·Î¼³°è

»õ·Î¿îIDEA

ASIC

ÀüÀÚÁ¦Ç°

• 설계 과정에 발명 혹은 발견되는 규칙적인 작업을 프로그램으로 자동화 함으로써 설계 효율을 높이는 것인 CAD 툴의 목적

• CAD 툴에는 설계방법론이 집약• 첨단 설계 => CAD 툴 개발 => 설계 효율

증대

Page 5: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 55 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

설계정보의 연속적인 변환 (Synthesis, Optimization, Simulation, Verification)

설계자의 추상적 개념을 어떤 논리적 수단으로 표현

(Schematic, VHDL program)

도면정보(Layout, Mask Data)

설계 프로세스란 ?

Page 6: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 66 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

Gajski 의

Y Diagram

행위구조

기하

system

algorithm

register transfer

logic

transister function

process

memory, switch module

ALU, register, mux

gate, flip flop

transistor, contact, wire

layout

module

macro-cell

floor plan

cabinet, cable

System

Algorithm

Register Transfer

Logic

Circuit

Page 7: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 77 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

관점에 따른 설계정보

기하학적 표현 구조적 표현 행위적 표현

Layout Schematic/SymbolVHDL/Truth Table/Logic

Eq.

entity nand2 isport (in1 : in std_logic; in2 : in std_logic;      z : out std_logic);end nand2 

architecture rtl of nand2 isbegin  z <= in1 nand in2;end rtl;

in1 in2

o

in1

in2o

Page 8: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 88 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

행위 구조 기하

System Performance spec.

CPUs, Memories,Switches

Controllers, Buses

Physical partitions

Algorithm

Algorithms Hardware modules Clusters

RegisterTransfer

Operations, Register

transfers, State

sequencing

ALUs, Muxs, Registers, Micro-sequencer, Micro-

store

Floor plans

Logic Boolean equation, FSM

Gates, Flip flop, Cells

Cell, Module

CircuitTransfer

functions,Timing

Transistors, Wires, Contacts

Layout

레벨에 다른 설계정보

Page 9: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 99 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

행위구조

기하

system

algorithm

register transfer

logic

transister function

process

memory, switch module

ALU, register, mux

gate, flip flop

transistor, contact, wire

layout

module

macro-cell

floor plan

cabinet, cable

시스템 사양

알고리즘 설계Data Path 설계

Controller 설계

배치배선마스크 생성

Page 10: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 1010 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

설계흐름 표준 언어 딜레이

Behavior C/C++, SystemC, SystemVerilogFunctional Behavior

High LevelSynthesis

Control/Data Flow Graph

Behavioral State Transition Table

RTL VHDL, Verilog Clock, Events

LogicSynthesis

Logic Equation

Truth Table

State Transition Table

Logic EDIF Gate Delays

PhysicalSynthesis

GDT L Language

Layout CIF, GDS II Path Delays

설계정보 표준 언어

FastSimulatio

n

SlowSimulatio

n

LessPrecise

MorePrecise

Page 11: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 1111 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

Gate-LevelSim. & Ver.

Floorplanning

Chip RequirementDev. & Review

Design Entry

Logic & TestSynthesis

Pre-layout StaticTiming Analysis

Timing-DrivenPlacement

Routing

Manufacturing

Testing

Auto-Test PatternGeneration

Post-Layout StaticTiming Analysis

RTLSim. & Ver.

Architecture

Front-endDesign

Back-endDesign

Manufacturing

ProductDevelopment

ASIC Design Flow

Page 12: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 1212 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

SystemC 언어

Page 13: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 1313 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

• OSCI (Open SystemC Initiative,

www.systemc.org)

• IEEE 1666 표준 언어로 인정 (2005 년 12 월 )

• 최신 버전 SystemC v2.2

• C++ 클래스 라이브러리 + 시뮬레이션 커널

• 시스템 , 알고리즘 , RT 수준에서 하드웨어 모델링

• Cycle Accurate Model

SystemC

Page 14: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 1414 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

Best

Good

No

No

No

No

Good

Best

Good

OK

No

Best

Good

OK

No

No

No

OK

Best

No

No

No

No

OK+

Best

UML, SDL SystemC C/C++SystemVerilog

VHDL/Verilog

S/W & System Modeling

Embedded S/W Modeling

EDA- Style System Design

Verification

RTL

Best

Best

Best

Best Best

Good

Good

Good

Good

Good

OK

OK

OK

OK

SystemC 포지셔닝

“SystemC’s role in a multilingual world”, 8th European SystemC User Group Meeting, 2003 Grant Martin (Cadence)

Page 15: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 1515 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

• Executable Specification설계자간 혹은 고객과의 의사소통 수단일관성 있는 테스트벤치 생성

• 검증용 IP IP 보호 . 빠른 검증 속도 .

• Virtual Prototyping 시스템 검증 . 아키텍쳐 설계공간 탐색 .

• 소프트웨어 개발 및 HW/SW 통합 검증130nm 경계로 S/W 개발비용이 H/W 비용을

초과• Behavioral Synthesis

SystemC 의 미래

Page 16: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 1616 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

행위구조

기하

system

algorithm

register transfer

logic

transister function

process

memory, switch module

ALU, register, mux

gate, flip flop

transistor, contact, wire

layout

module

macro-cell

floor plan

cabinet, cable

SystemC 설계

영역

Page 17: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 1717 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

// Filename = mux.h

#include "systemc.h"

SC_MODULE(mux){ sc_in<sc_lv<4> > a; sc_in<sc_lv<4> > b; sc_in<sc_lv<4> > c; sc_in<sc_lv<4> > d; sc_in<sc_logic> en; sc_in<sc_lv<2> > sel; sc_out<sc_lv<4> > z;

void do_mux ();

SC_CTOR(mux) { SC_METHOD (do_mux); sensitive << a << b << c << d << en << sel; }};

// Filename = mux.cpp

#include "mux.h"

void mux::do_mux (){ sc_lv<2> sel_s; sc_lv<4> tmp;

sel_s = sel.read();

switch (sel_s.to_uint()) { case 0: tmp = a.read(); break; case 1: tmp = b.read(); break; case 2: tmp = c.read(); break; case 3: tmp = d.read(); break; }

if (en.read() == '0') z.write(tmp); else z.write("0000");}

Page 18: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 1818 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

VHDL 언어

Page 19: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 1919 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

VHDL 언어

Modeling

Simulation

Synthesis

Z <= ‘1’ when A=“01” else ‘0’;

• VHDL = VHSIC Hardware Description Language• VHSIC = Very High Speed Integrated Circuit

Page 20: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 2020 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

• 세계적인 표준 HDL (IEEE 1976)

• 광범위한 기술 능력

(Structure / Data Flow / Behavior)

• 공정기술 독립적 설계

• 하향식 (Top-Down) 설계 방법 지원

• 설계 데이터 공유 및 재활용 용이

VHDL 언의 장점

Page 21: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 2121 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

VHDL 코드library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_signed.all;

entity absdiff is    port ( a : in  std_logic_vector (3 downto 0);            b : in  std_logic_vector (3 downto 0);            d : out std_logic_vector (3 downto 0)); end absdiff;

architecture rtl of absdiff is begin    process (a, b)    begin       if (a > b) then d <= a - b;       else d <= b - a;       end if;    end process; end rtl;

Package

Interface

Function

Page 22: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 2222 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

행위구조

기하

system

algorithm

register transfer

logic

transister function

process

memory, switch module

ALU, register, mux

gate, flip flop

transistor, contact, wire

layout

module

macro-cell

floor plan

cabinet, cable

VHDL 설계 영역

Page 23: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 2323 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

EDIF 언어

Page 24: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 2424 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

Schematic 의 구성

• 회로의 구조를 나타내는 회로도• 구성 요소

Cell, Functional Block Port (Connector) Net (Wire), Bus, Branch Instance (Symbol)

a

bz

n1

n2n3 n4

s1s2

Page 25: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 2525 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

(edif 

   (edifVersion 2 0 0) (edifLevel 0)

   (keywordMap (keywordLevel 0))

   (status (written

      (timeStamp 1996 5 18 0 0 0)

      (program

      "edasBus2CompassEdif of

LODECAP"

         (version "version 1.0"))

      (author "DAS of ETRI")))

   (library pvgt350 (edifLevel 0)

      (technology (numberDefinition ))

      (cell in01d1 (cellType GENERIC)

         (view INTERFACE_PORT

            (viewType NETLIST)

         (interface

            (port zn (direction OUTPUT))

            (port i (direction INPUT)))))

      (cell an02d1 (cellType GENERIC)

         (view INTERFACE_PORT

            (viewType NETLIST)

         (interface

            (port a1 (direction INPUT))

            (port a2 (direction INPUT))

            (port z (direction OUTPUT))))))

   (library ETRI (edifLevel 0)

      (technology (numberDefinition ))

      (cell tp (cellType GENERIC)

         (view INTERFACE_PORT

            (viewType NETLIST)

         (interface

            (port out (direction OUTPUT))

            (port in2 (direction INPUT))

            (port in1 (direction INPUT)))

         (contents

            (instance  s2

               (viewRef INTERFACE_PORT

               (cellRef in01d1

                  (libraryRef pvgt350))))

            (instance  s1

               (viewRef INTERFACE_PORT

               (cellRef an02d1

                  (libraryRef pvgt350))))

            (net n4

               (joined

                  (portRef out)

                  (portRef zn

                     (instanceRef  s2))))

            (net n2

               (joined

                  (portRef in2)

                  (portRef a2

                     (instanceRef  s1))))

            (net n1

               (joined

                  (portRef in1)

                  (portRef a1

                     (instanceRef  s1))))

            (net n3

               (joined

                  (portRef I

                     (instanceRef  s2))

                  (portRef z

                     (instanceRef  s1))))))))

   (design nand2p (cellRef tp (libraryRef

ETRI))))

Netlist 의 EDIF 표현

Page 26: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 2626 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

행위구조

기하

system

algorithm

register transfer

logic

transister function

process

memory, switch module

ALU, register, mux

gate, flip flop

transistor, contact, wire

layout

module

macro-cell

floor plan

cabinet, cable

EDIF 설계 영역

Page 27: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 2727 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

CIF 언어

Page 28: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 2828 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

DS 0;C 1 T 0,0;C 1 T 40,0;C 1 T 40,40;C 1 T 0,40;DF;DS 1;L 1;P 0,0 0,10 10,10 10,0;P 20,0 20,10 30,10 30,0;P 0,20 0,30 10,30 10,20;P 20,20 20,30 30,30 30,20;DF;C 0;E

레이아웃 정보 표현

Page 29: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 2929 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

행위구조

기하

system

algorithm

register transfer

logic

transister function

process

memory, switch module

ALU, register, mux

gate, flip flop

transistor, contact, wire

layout

module

macro-cell

floor plan

cabinet, cable

CIF 설계 영역

Page 30: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 3030 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

CAD 툴의 종류

Page 31: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 3131 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

                    변환

  수준

합성 추출 최적화

분석(simulation

)(verificatio

n)

행위▼ 

하향적변환 

▲ 

상향적변환 

◉ 

수평적변환 ◉

◉ 

수평적변환 ◉

구조

기하

설계정보 변환의 종류

Page 32: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 3232 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

HDL

Netlist

Layout

Synthesis

P&R

SystemC

Synthesis

Simulation

Simulation

Simulation

Verifiation

Verification

Verification

Verification

합성기술의 종류

상위수준합성

논리합성 , FSM합성

물리합성

Page 33: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 3333 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

VHDL 합성

핵심 기술

o VHDL Parsingo Generic Architecture Generationo Technology Migration

o State Minimizationo State Assignmento Two-Level Logic Minimizationo Multi-Level Logic Optimizationo Timing Driven Optimizationo Timing Verificationo Technology Mappingo Schematic Generation

라이브러리o Generic 셀 라 이 브 러 리 (Technology Independent)o 기초 셀 라이브러리 (Technology Dependent)

Page 34: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 3434 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

VHDL 합성 흐름HardwareC

Code

ParserSchedulingAllocation

Data Path State Table

State Diagram Editor

State MinimizationState Assignment

BLIF LogicLogic Equation/

Truth TableEditor

Combinational LogicOptimization

Generic Architecture

ParsingGeneric Arch. Generation

VHDL Code

Generic CellLibrary

CellMapping

Logic OptimizationTiming OptimizationTechnology Mapping

Schematic Generation

TimingVerification

Netlist

PartialLogic

Netlist MergeSchematic Generation

Netlist

RT CellLibrary

Primitive CellLibrary

Page 35: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 3535 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

설계공간탐색

실험 딜레이 면적

Exp1 20.24 131.75

Exp2 16.93 148.50

Exp3 13.31 199.50

Exp4 12.73 173.50

Exp5 11.64 221.50

Exp6 7.46 186.25

Exp7 7.2 214.00

Exp8 6.88 230.50

Exp9 6.48 222.75

Exp10 6.45 239.25

Exp11 6.37 220.50

Exp12 6.28 319.25

Exp13 5.72 273.25

Exp14 5.65 433.50

Exp15 5.46 505.50

Exp16 5.28 396.25

Exp17 5.22 433.00

Exp18 5.21 398.25

0

5

10

15

20

25Exp1

Exp2

Exp3

Exp4

Exp5

Exp6

Exp7

Exp8

Exp9

Exp10

Exp11

Exp12

Exp13

Exp14

Exp15

Exp16

Exp17

Exp18

딜레

이(ns)

0

100

200

300

400

500

600

면적(equi.G)

계열2

계열1

• 속도 ( 딜레이 ), 면적 , 소비전력 , 테스트 용이성

• Trade-Off 의 관계

• 제약조건을 만족하는 회로가 최적해

Page 36: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 3636 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

상위수준 합성기술

핵심 기술

o SystemC Parsingo Schedulingo Allocation (FU, Register, Interconnection)

o State Minimizationo State Assignment

o Two-Level Logic Minimizationo Multi-Level Logic Optimizationo Timing Driven Optimizationo Timing Verificationo Technology Mappingo Schematic Generation

라이브러리o RTL 셀 라이브러리 (Technology Dependent)o 기초 셀 라이브러리 (Technology Dependent)

Page 37: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 3737 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

상위수준합성 흐름HardwareC

Code

ParserSchedulingAllocation

Data Path State Table

State Diagram Editor

State MinimizationState Assignment

BLIF LogicLogic Equation/

Truth TableEditor

Combinational LogicOptimization

Generic Architecture

ParsingGeneric Arch. Generation

VHDL Code

Generic CellLibrary

CellMapping

Logic OptimizationTiming OptimizationTechnology Mapping

Schematic Generation

TimingVerification

Netlist

PartialLogic

Netlist MergeSchematic Generation

Netlist

RT CellLibrary

Primitive CellLibrary

Page 38: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 3838 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

부품상자 (wire, transistor, resistor, capacitor, standard IC,

microprocessor, EPROM, PLD 등의 모음 )

Voltage SourceCurrent Source

Frequency Generator

BreadBoard

Volt meterCurrent meterOscilloscope

하드웨어 검증

Page 39: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 3939 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

Cell Library ( 소자의 전기적 특성을 서술한 파일들의 모음 )

Command File

Netlilst, Simulator

Waveform Graph

시뮬레이션 검증

Page 40: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 4040 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

종류 기본소자 특징 출력

CircuitSimulation

Tr.가장 정확 , 느림 ,

작은 회로 A

TimingSimulation

Tr.비교적 정확 ,

비교적 빠르고 큰 회로 A

Mixed-ModeSimulation

Tr., Gate Analog 와 digital 혼용 A/D

LogicSimulation

 Gate, F/F, FB 

부정확 ,빠르고 대용량 회로 D

시뮬레이션의 종류

Page 41: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 4141 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

Error 의 종류 검증방법

Geometry ErrorDesign Rule Check

(DRC)

Topology Error

Electrical Rule Check(ERC)

Layout versus Schematic(LVS)

ElectricalPerformance

Error

Circuit extraction &Circuit Simulation

Verification 의 종류

Page 42: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 4242 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

NC-VHDL VHDL Simulator

Verilog-XL Verilog Simulator

NC-verilog Verilog Simulator

Virtuoso Physical layout

Composer Schematic Capture

Spectre RF simulation

Spectre-RF RF simulation

NC-sim Verilog HDL simulator

Build-Gates STA, Synthesis

Dracula Layout verify

Diva Layout verify

SPW System Level

• Cadence

Scirocco VHDL Simulator

VCS VHDL Simulator

Design Compiler Synthesis

DFT Compiler DFT

BSD Compiler DFT

Cocentic System level design

PrimTime Static timing analysis

Nanosim Dynamic Simulation

Star-Hspice SPICE simulator

Star-RC LPE

Astro Place &Route

Hercules DRC,LVS

HDL Designer Front-End Editor

ModelSim HDL cosimulation

IC-stationPhysical layout

Place &Route

DFT Advisor DFT

DA_IC Schematic Capture

Eldo Mixed-signal circuit

Calibre Layout verify

Leonardo Systhesis for FPGA

Seamless CVE HW/SW Co-Verification

X-Calibre LPE

DA PCB Design

• Mentor Graphics • Synopsys

주요 EDA Vendor

Page 43: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 4343 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

설계 방법론 비교

Page 44: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 4444 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

Intel Dev. Forum (2003)

1970 1975 1980 1985 1990 1995 2000 2005

1K

10K

100K

1M

10M

100M

1G

The number of transistors on chip doubles each 18 months.Gordon Moore (1965)

Moore 의 법칙

Page 45: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 4545 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

1980 1985 1990 1995 2000 2005 20100.01

0.1

1

10

100

1,000

10,000

100,000

0.001

Source : SEMATECH

xxxxx x

x x

Log

ic T

ran

sis

tor

per

Ch

ip (

M)

Pro

du

cti

vit

y (

K)

0.01

0.1

1

10

100

1,000

10,000

o

oo

oo

o oo o

oComplexity

Growth

Rate

58% / Year

(Logic Tr./Chip)

Productivity Growth Rate

21%/Year

(Tr./Staff-Mo.)

SoC 설계는 하나의 칩안에 더욱 많은 IP 가 집적되고 Time-to-Market 은 짧아지는 특징 때문에 더욱 복잡해지고 있다 .

ITRS 1999ITRS 1999

설계 생산성

Page 46: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 4646 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

Desig

n P

rod

ucti

vit

y

Design Methodology (Tools)

1978

1985

1992

1999

Transistor Entry – Calma, ComputerVision

Schematic Entry – Daisy, Mentor, Valid

Synthesis – Cadence, Synopsys

IP ReusePlatformESL Design

McKinsey S-Curve

설계방법론의 진화

Page 47: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 4747 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

예제 회로

• 모듈 : absdiff • 기능 : 절대값 계산 • 입출력 단자 • 셀라이브러리

Inverter (inv) Full adder (fadd) Multiplexor (mux)

mux

0

1s

a

z

bs

fadd

cin

a

b

sum

cout

a

b

cin

sum

cout

inva z

absdiff

b

a

z

a[3:0]

b[3:0]

z[3:0]

Page 48: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 4848 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

정수의 표현

부호  MSB 는 부호 ⇒ 양수는 0, 음수는 1

양수  Binary                     0 ⇒  7    (0000 ⇒ 0111)

음수  2'Complement     -1 ⇒ -7    (1111 ⇒ 1001)

예제 1 abs(4 - 2) = 2

 abs(0100 - 0010) = abs(0010) = 0010

예제 2

 abs(3 - 7) = 4

 abs(0011 - 0111) = abs(0011 + 1001) = abs(1100)

= ^1100 + 1 = 0011 + 1 = 0100

예제 3

 abs(-3 - (-2)) = 1

 abs(1101 - 1110) = abs(1101 + 0010) = abs(1111)

= ^1111 + 1 = 0000 + 1 = 0001

Page 49: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 4949 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

• 논리회로도 수동 설계

기초 셀들로 계층구조의 논리회로도를 상향식으로 수작업 설계

• VHDL 합성 자동 설계

VHDL 코드를 작성하고 합성 툴로 자동 설계

• 반도체 IP 재사용 설계

일부 모듈은 반도체 IP 를 재사용하고 , 일부는 VHDL 로 설계

• 상위수준합성 자동 설계

마이크로 프로세서 회로를 상위수준합성 기술로 자동 설계

설계 방법론 소개

Page 50: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 5050 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

논리회로도

수동 설계

Page 51: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 5151 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

최상위 블록 (absdiff)

• 최상위 블록 (absdiff) 는 입력 a 와 b 의 절대값을 계산 d = abs (a-b)• 뺄셈 블록 (sub4) : 입력 a 에서 b 의 뺄셈• 부호치환 블록 (neg4) : 양수는 음수로 , 음수는 양수로 변환• 먹스 블록 (mux4) : 2 개의 입력중 하나를 선택

sub4

neg4

mux4

[3]

a[3:0]

b[3:0]d[3:0]

0

1

Page 52: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 5252 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

뺄셈블록 (sub4)

• 뺄셈블록 (sub4 ) 는 입력 a 에서 b 의 뺄셈 계산 a = a - b = a + (-b) = a + ^b + 1

• 덧셈블록 (fadd4) : 두 입력과 ‘1’인 캐리의 덧셈 • Not 블록 (not4) : Inverting

a[3:0]

b[3:0]

z[3:0]fadd4

cinnot4

Page 53: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 5353 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

Not 블록 (not4)

• Not 블록 (not4 ) 는 입력 a 의 논리 반전

a = ^a

• Not 셀 (not)

a[3:0] z[3:0][3]

[2]

[1]

[0]

[3]

[2]

[1]

[0]

Page 54: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 5454 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

덧셈블록 (fadd4)

• 덧셈블록 (fadd4) 는 입력

a 와 b 와 cin 의 덧셈 계산

(cout, sum) = a + b +

cin

• Full Adder 셀 (fadd)

a[3:0]

b[3:0]

sum[3:0]

fadd

cin

a

b

sum

cout

fadd

cin

a

b

sum

cout

fadd

cin

a

b

sum

cout

[3]

fadd

cin

a

b

sum

cout

cin

cout

[2]

[1]

[0]

[3]

[2]

[1]

[0]

[3]

[2]

[1]

[0]

Page 55: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 5555 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

부호치환블록 (neg4)

a[3:0]

z[3:0]fadd4

cinnot4

• 부호치환 블록 (neg4) : 양수는 음수로 , 음수는 양수로 변환 a = ^a + 1

• 덧셈블록 (fadd4) : 두 입력과 ‘1’인 캐리의 덧셈 • Not 블록 (not4) : Inverting

Page 56: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 5656 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

먹스블록 (mux4)

a[3:0]

b[3:0]

mux

0

1s

mux

0

1s

mux

0

1s

mux

0

1s

sel

[3]

[2]

[1]

[0]

[3]

[2]

[1]

[0]

[3]

[2]

[1]

[0]

z[3:0]• 먹 스 블 록 (mux4) : 2 개 의

입력중 하나를 선택

• 먹스 셀 (mux)

Page 57: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 5757 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

최상위 블록 시뮬레이션 결과

Page 58: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 5858 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

VHDL 합성

자동 설계

Page 59: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 5959 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

VHDL 코드

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_signed.all;

 

entity absdiff is

   port ( a : in  std_logic_vector (3 downto 0);

           b : in  std_logic_vector (3 downto 0);

           d : out std_logic_vector (3 downto 0));

end absdiff;

architecture absdiff of absdiff is

begin

   process (a, b)

   begin

      if (a > b) then d <= a - b;

      else d <= b - a;

      end if;

   end process;

end absdiff;

Page 60: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 6060 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

Generic Architecture

AB

D

a-b

b-aa>b

mux

Page 61: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 6161 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

합성된 논리회로

Page 62: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 6262 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

최상위 블록 시뮬레이션 결과

Page 63: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 6363 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

IP 재사용 설계

Page 64: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 6464 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

최상위 블록 (absdiff)

• 최상위 블록 (absdiff) 는 입력 a 와 b 의 절대값을 계산 d = abs (a-b)• 뺄셈 블록 (fd_sub4) : 반도체 IP of FD_LIB 라이브러리• 부호치환 블록 (neg4) : 양수는 음수로 , 음수는 양수로 변환• 먹스 블록 (fd_mux2i) : 반도체 IP of FD_LIB 라이브러리

neg4[3]

a[3:0]

b[3:0] d[3:0]

fd_sub

a

b

ci

diff

co

fd_mux2i

mux_in0

mux_in1

sel

mux_out

Page 65: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 6565 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

• Ripple Carry & Carry Lookahead Subtractor

매개변수 타입 기능 기본값 범위

width integer 데이터의 비트 폭 8 ≥ 2

addtype integer

기본 Adder 선택(0 = Ripply Carry Adder)

(1 = Carry Lookahead Adder

00

또는 1

핀 이름 비트 수 종류 기능

A width 입력 입력 데이터

B width 입력 입력 데이터

CI 1 입력 입력 캐리

DIFF width 출력 A-B 의 차

CO 1 출력 출력 캐리

반도체 IP (fd_sub)

Page 66: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 6666 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

반도체 IP (fd_sub)

-- Entity Name : FD_SUB-- Function : Ripple Carry & Carry Lookahead Subtractor

-- Generic -- width : Bit Width of A, B and DIFF ports (>= 2)-- addtype : Adder Architecture -- (0=Ripple-Carry Adder / 1=Carry Lookahead Adder)-- Port-- A, B : Signed Integer to subtract-- CI : Carry-In-- DIFF : Difference (Result of Subtraction)-- CO : Carry-Out

component fd_sub generic (width : integer := 8; addtype : integer := 0); port (a : in std_logic_vector(width-1 downto 0); b : in std_logic_vector(width-1 downto 0); ci : in std_logic; diff : out std_logic_vector(width-1 downto 0); co : out std_logic);end component;

fd_sub

a

b

ci

diff

co

Page 67: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 6767 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

• 2 Input Multiplexer

매개변수 타입 기능 기본값 범위

width positive 데이터의 비트 폭 8 ≥ 2

핀 이름 비트 수 종류 기능

MUX_IN0 width 입력 SEL=’0’ 일때 선택될 입력 데이터

MUX_IN1 width 입력 SEL=’1’ 일때 선택될 입력 데이터

SEL 1 입력 출력으로 내보낼 입력 데이터의 선택

MUX_OUT width 출력 선택된 데이터 출력

반도체 IP (fd_mux2i)

Page 68: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 6868 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

반도체 IP (fd_mux2i)

-- Entity Name : FD_Mux2i-- Function : 2 Input Multiplexer

-- Generic -- width : Input Data Bit Width of all input ports (>= 2)-- Port-- MUX_IN0 : Input Data selected when SEL='0'-- MUX_IN1 : Input Data selected when SEL='1'-- SEL : Selection of one input data-- MUX_OUT : Multiplexed Output

component fd_mux2i generic (width : positive := 8); port (mux_in0 : in std_logic_vector(width-1 downto 0); mux_in1 : in std_logic_vector(width-1 downto 0); sel : in std_logic; mux_out : out std_logic_vector(width-1 downto 0));end component;

fd_mux2i

mux_in0

mux_in1

sel

mux_out

Page 69: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 6969 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

최상위 블록 시뮬레이션 결과

Page 70: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 7070 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

상위수준합성

자동 설계

Page 71: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 7171 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

• 입력언어 : 행위수준 VHDL

• 출력 : 게이트 수준 Netlist

• 라이브러리 : ASIC 기초 셀 , RTL 셀

• IF : Behavior FSM

• 목표 구조 : Control Dominated Circuit

계층구조의 Process Controller

우선권을 갖는 다수의 Interrupt Controller

FU (ALU, RAM, ROM, IP etc.)

Register (Variable, Constant, Flag)

Multiplexor

일반 특성

Page 72: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 7272 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

Data Path

Flag

ExternalRequest

ExternalBus

ControllerInterruptFSM

ControlSignal

ControlSignal

ControllerMainFSM

Controller

Target Architecture

Page 73: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 7373 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

MainProcess

Controller

etriStartetriRequestSub-1

ProcessController

Branch Module

Datapath

Sub-2Process

Controller

InterruptController

ALU

etriStart

etriFinish

etriFinish

etriIntercept

etriPush

etriPush

etriPush

etriPush

etriStart

etriFinish

Interrupt

Target Architecture

Page 74: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 7474 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

VHDL 코드

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_signed.all;

 

entity absdiff is

   port ( a : in  std_logic_vector (3 downto 0);

           b : in  std_logic_vector (3 downto 0);

           d : out std_logic_vector (3 downto 0));

end absdiff;

architecture absdiff of absdiff is

begin

   process (a, b)

   begin

      if (a > b) then d <= a - b;

      else d <= b - a;

      end if;

   end process;

end absdiff;

Page 75: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 7575 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

최상위 블록 (absdiff)

I/F Branch

Data Path

Controller

I/F Latch

Page 76: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 7676 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

Controller 블록

OutputF/F

StateF/F

Page 77: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 7777 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

Data Path 기능블록

Register

Multiplexor ALU

Page 78: ( slide 1 ) November 10, 2015November 10, 2015November 10, 2015 System Centroid Inc. 2013 년 SOC 설계방법론

(( slide slide 7878 )) April 20, 2023April 20, 2023System Centroid Inc.System Centroid Inc.

abs(00000011-00001111) = 00001100abs(3-15) = 12

최상위 블록 시뮬레이션 결과