tut_modelsim(student).hwp

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

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

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

WebPACK 및 ModelSim 사용법.hwp

슬라이드 1

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

슬라이드 1

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

DE1-SoC Board

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

슬라이드 1

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft Word - Armjtag_문서1.doc

슬라이드 1

슬라이드 1

ISP and CodeVisionAVR C Compiler.hwp

,,,,,, (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),

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

UART Controller 구현

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

Orcad Capture 9.x

Microsoft PowerPoint - CPLD_수정1.pptx

슬라이드 1

CD-RW_Advanced.PDF

슬라이드 1

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Libero Overview and Design Flow

歯Intro_alt_han_s.PDF

Endpoint Protector - Active Directory Deployment Guide

Microsoft Word - logic2005.doc

Ver 1.0 마감하루전 Category Partitioning Testing Tool Project Team T1 Date Team Information 김강욱 김진욱 김동권

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

NTD36HD Manual

JDK이클립스

1

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

Install stm32cubemx and st-link utility

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

# E-....b61.)

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4F B8A620C0CCBFEBC7D120C8B8B7CE20C0DBBCBAC0C720B1E2C3CA2E687770>

슬라이드 1

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

MPLAB C18 C

슬라이드 1

윈도우시스템프로그래밍

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

4S 1차년도 평가 발표자료

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

Microsoft PowerPoint - 안드로이드 개발 환경 구축(170411)

PowerPoint Template

SMV Vending Machine Implementation and Verification 김성민 정혁준 손영석

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

Contents Activity Define Real s Activity Define Reports UI, and Storyboards Activity Refine System Architecture Activity Defin

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

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

Studuino소프트웨어 설치

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

Mentor_PCB설계입문

MF5900 Series MF Driver Installation Guide

MaxstAR SDK 2.0 for Unity3D Manual Ver

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

슬라이드 1

PowerPoint 프레젠테이션

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

슬라이드 제목 없음

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

문서의 제목 나눔고딕B, 54pt

Admin Guide for dummy

Microsoft PowerPoint - Verilog_Summary.ppt

Visual Basic 반복문

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

Microsoft PowerPoint - e pptx

PowerPoint 프레젠테이션

자궁내막증 진단과 추적에서의 혈액 표지자의 유용성

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

MF3010 MF Driver Installation Guide

Microsoft PowerPoint - DSD03_verilog3b.pptx

View Licenses and Services (customer)

鍮뚮┰硫붾돱??李⑤낯

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Facebook API

_USB JTAG Ver1.0 User's Manual.hwp

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Microsoft PowerPoint - 07_04_s7기초기술교육_simatic_manager_operation.ppt [호환 모드]

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Microsoft Word - src.doc

PowerPoint Presentation

슬라이드 1

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

슬라이드 1

윈도우시스템프로그래밍

게임 기획서 표준양식 연구보고서

PowerPoint Presentation

tiawPlot ac 사용방법

Transcription:

ModelSim 사용법 1. ModelSim-Altera 를이용한 Function/RTL 시뮬레이션 1.1. 테스트벤치를사용하지않는명령어기반시뮬레이션 1.1.1. 시뮬레이션을위한하드웨어 A B S C 그림 1. 반가산기 1.1.2. 작업디렉토리 - File - Change Directory 를클릭하여작업디렉토리지정. 1.1.3. 소스파일작성 - 모델심편집기나기타편집기가능 - New - Source - Verilog - 그림 3과같이반가산기코드작성 그림 2. 소스파일생성 - 1 -

그림 3. 반가산기소스코드 1.1.4. 라이브러리생성및소스파일컴파일 (a) 라이브러리생성모델심은하드웨어소스파일을시뮬레이션하기위해라이브러리를요구한다. vlib은라이브러리생성명령어로써, 수행후그림 4와같이작업디렉토리에 work가생성된다. Command: vlib < 라이브러리이름 > vlib work 그림 4. 라이브러리생성 (b) 소스파일컴파일소스파일생성후, 콘솔창을이용하여컴파일과시뮬레이션을수행한다. 본예제는반가산기로써하나의 halfadder.v 파일만존재하기때문에아래와같은명령어로콘솔에서컴파일을수행한다. 만일여러개의파일들이있다면모든파일에대한컴파일이필요하다. Command: vlog < 소스파일 > vlog halfadder.v - 2 -

1.1.5. 시뮬레이션 (a) VSIM 시뮬레이터를호출하여모듈에존재하는모든오브젝트 (input, output, reg, wire) 들을그림 5 와같이오브젝트 window에적재한다. 최상위모듈을적재하면하위모듈은자동으로적재된다. - 모듈이름 : 소스파일의이름 ( 여러개의모듈이존재하는경우, 최상위모듈이름 ) Command: vsim < 모듈이름 > vsim halfadder 그림 5. VSIM 시뮬레이터를통한오브젝트적재 (b) 오브젝트윈도우에서실제시뮬레이션이필요한오브젝트들을 Wave 윈도우에시그널로추가한다. 아래 add 명령어는모듈에포함된모든오브젝트들을추가하는것이며, 특정오브젝트만추가할경우 add wave halfadder/s와같이명시적으로이름을기재한다. 그림 6은반가산기의모든오브젝트들을추가한경우이다. Command: add wave < 오브젝트이름 > add wave halfadder/* - 3 -

그림 6. Wave 윈도우에시그널추가 (c) Wave 윈도우의시그널값설정. 테스트벤치파일을사용하지않기때문에각입력시그널에대해서시간별로입력값설정이필요하다. 시간뒤에단위를지정하지않으면, 기본적으로 ps 단위가된다. 출력은입력값들에의해결정된다. Command: force < 오브젝트 name> < 값1> < 시간1>, < 값2> < 시간2>,..., < 값n> < 시간n> force halfadder/a( 또는 a) 0 0, 1 10, 0 20 force halfadder/b 0 0, 0 10, 1 20 (d) 시뮬레이션실행. run 명령을종료시간과함께기술하여시뮬레이션을시작한다. 그림 7은 100ps 까지시뮬레이션이실행된결과이다. Command: run < 종료시간 > run 100-4 -

그림 7. 시뮬레이션실행 (e) 시뮬레이션재실행 Command: restart (f) 시뮬레이션종료 Command: quit -sim - 5 -

1.2. 테스트벤치를사용하지않는 GUI 기반시뮬레이션 1.2.1. 프로젝트및소스파일생성 (a) 작업디렉토리지정 1.1.2와동일 (b) 프로젝트생성메뉴 New - Project 선택. 그림 8의다이얼로그박스에서, 프로젝트이름과 Default Library Name 작성. 본예제에서는반가산기를생성하기위해, 프로젝트이름을 halfadder로작성하고라이브러리는기본 work를사용. OK 버튼을클릭. 그림 8. 프로젝트생성 (c) 소스파일 ( 설계모듈 ) 생성소스파일이있는경우 : 그림 9(a) 에서 Add Existing File 선택하여작업디렉토리에서소스파일선택. 소스파일이없는경우 : Create New File 선택. 그림 9(b) 에서파일이름을 halfadder( 또는 halfadder.v) 로기재하고파일타입은 Verilog를선택. 완료프로젝트생성결과하면그림 10과같이빈소스파일을포함하는프로젝트생성. (a) (b) 그림 9. 프로젝트에소스파일추가 - 6 -

그림 10. 프로젝트에파일추가 (d) 소스파일작성. - 파일이름에서마우스오른쪽버튼을클릭하여 Edit 선택. 프로젝트오른쪽에 Edit 윈도우생성. 그림 3과같이반가산기코드작성. 1.2.2. 소스파일컴파일작성된파일을저장하고그림 11에 1에표시된컴파일아이콘클릭 ( 또는메뉴에서 Compile - Compile All 선택 ). 1.2.3. 시뮬레이션 (a) 컴파일이완료후, 그림 11의 2에표시된시뮬레이션아이콘클릭 ( 또는메뉴에서 Simulate - Start Simulation 선택 ). 그림 12의 Start Simulation 다이얼로그박스에서 work 라이브러리를확장하여 halfadder 모듈을선택하고 OK 버튼클릭하면그림 13과같이시뮬레이션을위한오브젝트적재작업이완료된다. - 7 -

❶ ❷ 그림 11. 컴파일및시뮬레이션 그림 12. Start Simulation - 8 -

❶ ❷ 그림 13. VSIM 시뮬레이터를통한오브젝트적재 (b) 시뮬레이션이필요한오브젝트들을드래그하여 Wave 윈도우에시그널로추가. (c) force 명령어를통해각입력시그널에값설정. 그림 13에서시뮬레이션종료시간설정 (1번) 후, 시뮬레이션시작 (2번). - 9 -

1.3. 테스트벤치를사용한 GUI기반 Function 시뮬레이션 - 작업디렉토리와프로젝트생성은 1.2.1의 (a),(b) 와같은순서로수행 - 1.2.1의 (c) 에서반가산기와그림 14의테스트벤치소스파일이 (tb_halfadder.v) 존재. module tb_halfadder; reg a, b; wire s, c; initial begin a = 1'b0; b = 1'b0; #10 a = 1'b1; #10 a = 1'b0; b = 1'b1; end halfadder u1 (.a(a),.b(b),.s(s),.c(c) ); endmodule ` 그림 14. 반가산기테스트벤치파일 - 그림 9 에서 Add Existing File 을선택하여 halfadder.v 와 tb_halfadder.v 파일을추가. 1.3.1. 소스파일컴파일 - 그림 15 와같이반가산기와테스트벤치소스파일이추가되었으면메뉴에서 Compile - Compile All 그림 15. 소스파일컴파일 - 10 -

1.3.2. 시뮬레이션 (a) Simulate - Start Simulate( 또는시뮬레이션아이콘 ) 선택 (b) 그림 12의 Start Simulation 다이얼로그박스가나타나면 work 라이브러리하위에 halfadder와 tb_halfadder가포함된것을볼수있다. 명령어기반시뮬레이션과달리테스트벤치파일을클릭하고 OK 버튼클릭. 그림 16과같이최상위모듈 tb_halfadder가하위에반가산기를인스턴스로포함한다. 시뮬레이션에필요한오브젝트들을 wave 윈도우로드래그한후그림 16의 run 아이콘 (1번) 을클릭하면시뮬레이션이시작된다. 시뮬레이션은아이콘왼쪽에표시된시간에종료된다. ❶ 그림 16. VSIM 시뮬레이터를통한오브젝트적재 그림 17. 시뮬레이션결과 - 11 -

2. ModelSim-Altera 를이용한 Gate-Level Timing 시뮬레이션 2.1. 설계파일 Counter 그림 18. 카운터블록도 2.2. Gate-Level Timing 시뮬레이션에필요한파일 1) Netlist 파일 : *.vo 2) Standard Delay Format Output File(SDF): *.sdo 2.3. Gate-Level Timing 시뮬레이션을위한 Quartus II 프로젝트생성 1) 프로젝트생성 File - New Project Wizard 3) 디렉토리지정및프로젝트이름 (Top-Level Entity와동일 ) 입력 그림 19. 프로젝트생성 (1/5) - 12 -

4) 소스파일이존재하는경우 그림 20에서 Browse하여존재하는소스파일을프로젝트에추가 5) 소스파일이없는경우 그림 20에서 Next 클릭 그림 20. 프로젝트생성 (2/5) 6) 사용할디바이스선택 ( Family: Cyclone II, Specific Name: EP2C35F672C8 ) 그림 21. 프로젝트생성 (3/5) - 13 -

7) Gate-Level Timing 시뮬레이션을위한 Tool과 HDL 타입설정 Tool name: ModelSim-Altera Format: Verilog HDL 그림 22. 프로젝트생성 (4/5) 8) 카운터소스파일생성 File - New Design File - Verilog HDL File 선택 그림 23. 소스파일생성 - 14 -

2.4. Timing 시뮬레이션을위한 Netlist 파일생성 - Netlist 파일생성을위한 Quartus II 프로젝트설정 1) 프로젝트설정 Assignments - Settings Category에서 Simulation 선택. 그림 24에서 Tool name과 EDA Netlist Writer settings 내용확인 그림 24. Netlist 파일저장위치지정 9) NetiveLink settings에서테스트벤치설정 ( 이전에테스트벤치파일작성이완료되어야함 ) 그림 25에서 Test Benches 클릭 그림 26에서 New 선택 그림 27과같이테스트벤치이름과 Top Level Module 이름작성 테스트벤치에사용된인스턴스이름작성 시뮬레이션종료시간설정 테스트벤치파일추가 (Browse 사용 ) - 15 -

그림 25. 테스트벤치컴파일 그림 26. 테스트벤치추가 - 16 -

그림 27. 테스트벤치설정 10) ModelSim-Altera 경로설정 Tools - Option 그림 28과같이 EDA Tool Options에서 ModelSim-Altera가설치된경로확인 그림 28. ModelSim-Altera 경로설정 - 17 -

11) 프로젝트컴파일 그림 25에서 Run gate-level simulation automatically after compilation을클릭하면컴파일완료후자동으로 ModelSim-Altera로시뮬레이션된다. 12) 생성된 Netlist 파일 (counter.vo) 과 SDF(counter_v.sdo) 확인 다음디렉토리에저장 : "Quartus II 프로젝트디렉토리 \simulation\modelsim" 그림 29. 생성된 Netlist 와 SDF 파일 - 18 -

2.5. ModelSim-Altera 프로젝트생성 - Run gate-level simulation automatically after compilation을사용하지않고 ModelSim-Altera를독립적으로실행하여시뮬레이션. 1) 작업디렉토리변경 (counter.vo, counter_v.sdo가생성된디렉토리 ) 2) work 라이브러리생성 File - New - Library 3) 프로젝트생성 File - New - Project 그림 30. 라이브러리생성 그림 31. 프로젝트생성 4) 그림 32의 Add Existing File으로파일추가 "Quartus II 프로젝트디렉토리 \simulation\modelsim" 의 Netlist 파일 (counter.vo). "Quartus II 프로젝트디렉토리 " 의테스트벤치파일 (tb_counter.v). 그림 32. 소스파일추가 - 19 -

2.6. 컴파일 1) 프로젝트에추가된 Netlist와테스트벤치컴파일 2) 두개의파일사이에종속성이있는경우, 컴파일순서는시뮬레이션에영향을미친다. 때문에종속성이명확하지않으면그림 33의프로젝트탭에서오른쪽마우스버튼을클릭하여그림 34의 Auto Generate를사용한다. 그림 33. 컴파일 그림 34. 컴파일순서 - 20 -

그림 35. 컴파일완료 2.7. 시뮬레이션 1) Simulate - Start Simulate 2) 그림 36의 Library 탭클릭, Search Libraries ( -L ) 에서사용하는 FPGA 디바이스라이브러리를선택. 제공되는라이브러리는 VHDL과 Verilog 버전존재. Verilog는다음과같이 디바이스이름 _ver 라이브러리를사용한다. 예를들어, CycloneII는 cycloneii_ver를추가한다. 그림 36. 디바이스라이브러리추가 - 21 -

3) 라이브러리가추가되면 Design 탭을클릭하여그림 37과같이테스트벤치를선택한다. OK 버튼을누르면테스트벤치모듈내에존재하는모든오브젝트들이적재된다. 그림 37. 시뮬레이션 4) 시뮬레이션이필요한오브젝트들을 wave 창으로드래그한다. 5) 그림 13의종료시간 (1번) 을설정하고 run 아이콘 (2번) 을클릭하거나 run < 종료시간 > 명령어로시뮬레이션을시작할수있다. 6) Netlist와 SDF 파일을이용하여카운터에대한 Gate-Level Timing 시뮬레이션결과는그림 38과같다. 그림 38. 카운터에대한 Gate-Level 시뮬레이션 - 22 -