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

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

tut_modelsim(student).hwp

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

Orcad Capture 9.x

Microsoft Word - logic2005.doc

歯Chap1-Chap2.PDF

Libero Overview and Design Flow

Microsoft Word - logic2005.doc

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - DSD03_verilog3b.pptx

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

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

DE1-SoC Board

PowerPoint 프레젠테이션

삼성기초VHDL실습.PDF

슬라이드 1

PowerPoint 프레젠테이션

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

WebPACK 및 ModelSim 사용법.hwp

Mentor_PCB설계입문

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

untitled

슬라이드 1

<4D F736F F F696E74202D20B1E2BCFAC1A4BAB8C8B8C0C72DB0E8C3F8C1A6BEEE2DC0CCC0E7C8EF2E BC0D0B1E220C0FCBFEB5D>

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

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law),

디지털공학 5판 7-8장

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

Microsoft PowerPoint - Verilog_Summary.ppt

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

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

1

C# Programming Guide - Types

ºÎ·ÏB

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

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

歯Intro_alt_han_s.PDF

v6.hwp

VOL /2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph

슬라이드 1

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

CD-RW_Advanced.PDF

PowerPoint 프레젠테이션

API 매뉴얼

Slide 1

T100MD+

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

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

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

untitled

USER GUIDE

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

歯메뉴얼v2.04.doc

MPLAB C18 C

Mango220 Android How to compile and Transfer image to Target

PowerPoint 프레젠테이션

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

Remote UI Guide

목 차

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

Microsoft PowerPoint - 전자공학 실험 3강 - PSpice.PPT

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

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

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

PowerPoint 프레젠테이션

BJFHOMINQJPS.hwp

슬라이드 1

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

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

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

LXR 설치 및 사용법.doc

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

제5장 PLD의 이해와 실습

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

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

Microsoft PowerPoint - verilog문법new.ppt

Microsoft PowerPoint - CPLD_수정1.pptx

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

Siemens

슬라이드 1

DIY 챗봇 - LangCon

김기남_ATDC2016_160620_[키노트].key

세션 2-2(허태경).ppt

Microsoft PowerPoint - SY-A3PSK-V1.pptx

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

PRO1_16E [읽기 전용]

산업입지내지6차

슬라이드 1

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

Microsoft PowerPoint - DSD03_verilog3a.pptx

PCServerMgmt7

CAN-fly Quick Manual

SRC PLUS 제어기 MANUAL

*º¹ÁöÁöµµµµÅ¥-¸Ô2Ä)

한국기술교육대학교장영조 한국기술교육대학교전기전자통신공학부 1

LCD Display

강의10

methods.hwp

PRO1_02E [읽기 전용]

untitled

Transcription:

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 회로설계시 Transistor-level design Netlist FPGA 구현검증 Auto P&R layout Full-custom layout Back-end design Layout verification (LVS, DRC, ERC) Post-simulation Layout 설계 GDS file Fabrication & testing *ASIC(Application Specific Integrated Circuit)

Verilog HDL 코드예 : 4 비트카운터 module counter(rst, clk, load, enb, din, dout) ; input rst, clk, load, enb; input[3:0] din; output[3:0] dout; reg[3:0] tmp; always@(posedge clk or negedge rst) begin if (~rst) tmp <= 0; else if (load) tmp <= din; else if (~enb) tmp <= tmp + 1; end assign dout = tmp; endmodule Lecture 2 REVIEW

Verilog HDL 코드예 : 8 비트카운터 module counter(rst, clk, clr, direct, load, enb, din, dout) ; input rst, clk, load, enb, clr, direct; input[7:0] din; output[7:0] dout; reg[7:0] tmp; always@(posedge clk or negedge rst) begin if (~clr) tmp <= 0; if (~rst) tmp <= 0; else if (load) tmp <= din; else if (~enb) if(~direct) tmp <= tmp + 1; else tmp <= tmp - 1; end assign dout = tmp; endmodule Lecture 2 REVIEW

Synchronous & Asynchronous Synchronous Clock의동작에맞추어, positive clock일경우해당값에따라동작 always@(posedge clk) begin if (~rst) clk rst val tmp <= 0; reset reset Asynchronous Clock 에상관없이값이변하면바로동작 always@(posedge clk or negedge rst) begin if (~rst) tmp <= 0; always@(negedge rst) begin tmp <= 0;

Verilog HDL 코드예 : 테스트벤치 Lecture 2 REVIEW `timescale 1 ns/1 ns module tb_cnt ; reg rst, clk, load, enb; reg[3:0] din; wire[3:0] dout; counter cnt(rst, clk, load, enb, din, dout); initial begin clk = 0; forever #50 clk = ~clk; end #5000 load = 1; din = 4'b1101; #500 load = 0; #500 enb = 1; #500 enb = 0; end endmodule initial begin rst = 0; load = 0; din = 4'b0; 4b0; enb = 1; #1001 rst = 1; #1000 enb = 0;

Verilog HDL 코드예 : 테스트벤치 Lecture 2 REVIEW `timescale 1 ns/1 ns module tb_cnt ; reg rst, clk, load, enb, clk, direct; reg[7:0] din; wire[7:0] dout; counter cnt(rst, clk, clr, direct, load, enb, din, dout); initial begin clk = 0; forever #50 clk = ~clk; end initial begin rst = 0; load = 0; din = 8'b0; 8b0; enb = 1; direct = 0; clr = 1; #1001 rst = 1; #1000 enb = 0; #5000 load = 1; din = 8'b11010010; #500 load = 0; #500 enb = 1; direct = 1; #500 enb = 0; #1050 clr = 0; end endmodule

do 파일 vlog.do vlog ~/hdl_design/source/counter.v design/source/counter vlog ~/hdl_design/source/tb_cnt.v Testbench Counter vsim -c tb_cnt -wlf /home2/commasic/asic_course/train20/hdl_design/results/sim/tbwav e.wlf log -r * run 10000 ns quit wav.do vsim -view /home2/commasic/asic_course/train20/hdl_design/results/sim/tbwave. wlf add wave * add wave /cnt/tmp

HDL 시뮬레이터 (Modelsim) 사용 Lecture 2 REVIEW vlib : 라이브러리디렉토리의생성 vlib 경로 / 작업디렉토리명 vmap : 작업디렉토리에대한환경설정 vmap 라이브러리명경로 / 작업디렉토리명 log[-r] * : 시뮬레이션결과파형에지정된신호의파형을실어주는역할 [-r] 옵션을사용하면테스트벤치 & 내부모듈의신호까지포함됨 log 인스턴스명 / 신호명 log /T1/S1/test vlog : Verilog HDL 파일의컴파일 vlog [-work 라이브러리명 ] 경로 /verilog 파일 run [ 시뮬레이션시간 ] : 기록한시간동안시뮬레이션실행 vsim : HDL 시뮬레이터의명령수행 옵션 : -c, -do do 파일, -L 라이브러리명, - sdf{min typ max}, -wlf 경로 /wave 파일, -view 경로 /wave파일 add wave * : 테스트벤치에있는모든신호의파형을보여주는명령 add wave /T1/* vsim c do sim.do quit : 시뮬레이터의종료

논리회로합성 Synthesis 상위수준코드로부터게이트수준네트리스트를생성하는절차 Oti Optimizei 기능, 속도, 면적요건을만족하기위해라이브러리셀을이용하여최적의회로를만드는합성과정상의한단계 Compile 최적화를수행하는명령으로이를수행하기위해서는일단디자인을읽어들인후필요한작업들을처리한후컴파일러명령을수행한다. 그러면게이트수준네트리스트 (netlist) 가생성된다

Design Compiler 를이용한 synthesis 과정 < 참고자료 > Design Compiler User Guide

디자인읽기 analyze Reads an HDL source file Checks it for errors (without building generic logic for the design) Creates HDL library objects in an HDL-independent intermediate format Stores the intermediate files in a location you define elaborate Translates the design into a technology-independent design (GTECH) from the intermediate files produced during analysis Allows changing of parameter values defined in the source code Allows VHDL architecture selection Replaces the HDL arithmetic operators in the code with DesignWare components Automatically executes the link command, which resolves design references read Reads several different formats Performs the same operations as analyze and elaborate in a single step Creates.mr and.st intermediate files for VHDL Does not execute the link command automatically Does not create any intermediate files for Verilog (However, you can have the read_file command create intermediate files by setting the hdlin_auto_save_templates templates variable to true)

설계제약조건설정 operating conditions wire loads I/O port requirements timing constraints area constraints design rule constraints set_drive set_operating_conditions set_load set_driving_cell set_wire_load set_fanout_load

Operating Conditions set_operating_conditions dc_shell> set_operating_conditions WCCOM -lib class dc_shell> report_lib class

Wire Loads top (default 설정 ) top 레벨에서정의된 wire load 모델을모두사용 enclosed 배선을완전히포함하는가장작은디자인의 wire load 모델사용 segmented 세그먼트를둘러싸는디자인의 wire load 모델사용 50X50 20X20 mode = enclosed 30X30 20X20 50X50 30X30 50X50 mode = top 50X50 mode = segmented 20X20 30X30 20X20 30X30 50X50 20X20 50X50 30X30

I/O port Requirements set_drive 공정라이브러리의셀로입력포트구동능력이기술될수없을때최상위레벨포트의구동저항을정해준다 set_driving_cell 공정라이브러리의셀로만들어진포트의구동특성을나타내기위해사용한다 set_load 입력과출력포트에서의캐패시턴스값을정한다 set_fanout_load 출력포트의팬아웃을결정 set_driving_cell top_level_design set_drive U1 U2 External System 1.5 1.5 PAD PAD I1 I2 logic IV AN2 I3 I4 sub_design sub_design

Timing Constraints create_clock dc_shell> create_clock clock -period 50 -waveform {0 30} CLK set_clock_skew dc_shell> set_clock_skew -plus_uncertainty 0.2 -minus_uncertainty 0.2 {CLK} set_input_delay dc_shell>set_input_delay 20 -clock CLK {DATA_IN} set_output_delay dc_shell> set_output_delay 15 -clock CLK {DATA_OUT}

Area Constraints set_max_area dc_shell> set_max_area 100 타이밍과면적제약조건을모두설정되어있으면컴파일할때타이밍이우 선적으로고려

Design Rule Constraints set_max_transition 명시된포트에연결되어있는배선이나디자인의모든배선의최대천이시간을설정 set_max_fanout 허용가능한최대의팬아웃 (fanout) 을설정 set_max_capacitance set_max_transition ii 은실제적인배선의캐패시턴스를제한하지는않으므로, 이를위해서 max_capacitance 설정

Multiple Instance 의 Resolve uniquify 각각의 instance 를복사한다 uniquify 를하면중복되어사용되는 instance 가복사되어생성 각각을특성화할경우사용 ungroup 계층구조를없애고하나의이름으로모든셀에대해최적화를한다 각각을특성화하지않을경우 ungroup 명령을실행후컴파일 set_dont_touch 각서브디자인을재합성할때변경하지않으려면각서브디자인을컴파일한후 set_dont_touch 명령사용

디자인옵션 map effort : medium verify design : low allow boundary optimization : yes TOP LEVEL TOP LEVEL Block1 Block2 Block1 Block2 X A B L O G I C X A B L O G I C

실험내용 Page 53~63

리포트및공지사항 리포트제출 P63~64 의실험과제및프로젝트 수정사항 : P64 모듈 1 의클럭주파수 : 100 Mhz(10ns) 2 장에서작성한 verilog 코드가합성이안되면코드를수정할것 옵션조절로주어진 spec. 을만족시키지못하면 verilog 코드를수정하여 spec. 을맞추도록노력할것 코드를수정했다면, 수정한코드를첨부하고수정사항및개선사항에대한고찰을작성할것 리포트의종이인쇄본을제출할것 제출기한 : 다음수업시작전까지 조교 ( 장재원 ) e-mail 주소 jaera82@soc.yonsei.ac.kr