ARM 명령어집합시뮬레이터(ISS)를 이용한 임베디드시스템 설계 방법론

Slides:



Advertisements
Similar presentations
Data Communication/Computer Network 관련 교과목의 내용
Advertisements

.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
반도체 산업의 발전 연세대학교 전기전자공학과 이 용 석 교수 전화 : Homepage:
난이도 : 초급 제1장 앱 인벤터 소개 및 준비.
컴퓨터와 인터넷.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
팀 구성 : 조재민 (팀장), 고광춘, 유기민, 김대진, 이재호 발표 일자:
Security Solutions (S/W) - Fortify
캡스톤 디자인 졸업논문 중간보고서 순천향대학교 컴퓨터공학과 빛의전사.
                                  9장 컴퓨터 기반 데이터 수집의 기초.
CPU 품 명 PERSONAL COMPUTER 모델번호 HP 6000Pro 제 조 사
2장. 프로그램의 기본 구성. 2장. 프로그램의 기본 구성 2-1"Hello, World!" 들여다 보기 /* Hello.c */ #include int main(void) { printf("Hello, World! \n"); return 0;
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
UNIT 01 마이크로 프로세서 개론 로봇 SW 교육원 조용수.
Power Java 제2장 자바 개발 도구.
웹 서버 동작 HTTP 클라이언트가 서버와 대화하는 방법과 데이터를 서버에서 클라이언트로 전송 하는 방법을 정의한 프로토콜
UNIT 01 마이크로 프로세서 개론 로봇 SW 교육원 조용수.
시스템집적반도체 설계 검증 환경과 기법 Ch 7.
임베디드 시스템.
UNIT 06 JTAG Debugger 로봇 SW 교육원 조용수.
갤럭시 S를 이용한 자동차 원격 제어 시스템 담당교수 : 진현욱 교수님
제 3장 컴퓨터 시스템의 구조.
Ubiquitous Computing Practice - Part I (Installation) -
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
Pincom Study team ARDUINO of IOT Members : 이학성, 김도건.
P.L.C -Programmable Logic Controller
디지털시스템설계 과목 담당교수 : 원 충 상 한국교통대학교 컴퓨터공학과
C / C++ Programming in multi platform
컴퓨터정보공학부 서버 안내 [ IBM x3500 ] it.sangji.ac.kr ict.sangji.ac.kr 혹은
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
ARM Development Suite v1.2
Cross Compiler 설치.
4. LAN의 배선체계 (3장. LAN: Local Area Network)
마이크로컨트롤러, 마이크로컨트롤러 보드 마이크로컨트롤러 보드 = 마이크로컨트롤러 +  마이크로컨트롤러 마이크로컨트롤러 보드.
임베디드 SW 시스템 소개 - 임베디드 운영체제 - 임베디드 리눅스 - 임베디드 인터넷
Computational Thinking
AVR – ATmega103(ATMEL) Compilers & ISP
Chap 6.Assembler 유건우.
디지털회로설계 (15주차) 17. 시프트 레지스터와 카운터 18. 멀티바이브레이터 * RAM & ROM.
Transmission & Analysis
플랫폼의 개념 클럭, 버스, 대역폭의 의미 64비트 PC
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
2장. JSP 프로그래밍을 위한 환경구성 제2장.
WIN32 API 대전 TETRIS 시스템제어 허준호 박정욱 손경원 신동헌.
제목소개 1. 안드로이드소개 2. 패킷캡쳐를 위한 환경 소개 3. ndk 소개 4. lipcap 5. 6.도식화 그림
임베디드 시스템 개론 임베디드 타겟 보드 포팅 및 H/W 제어 3일차 강의 자료 Embedded System Lab.
자율주행 차량용 드라이빙 컴퓨팅 하드웨어 플랫폼 05
Tiny OS와 NesC Tiny OS Part1. Won Mi Sun – 17 지능제어 연구실.
2019년도 전자정보공학과 이수체계도 1학년(트랙) 2학년(트랙) 3학년(트랙) 4학년 1학기 2학기 1학기 2학기 1학기
AUTODESK AUTOCAD ELECTRICAL 전기제어 2D 설계 소프트웨어 표준기반 설계 생산성 도구 구조도 설계
LabVIEW WiznTec 주임 박명대 1.
UNIT 25 SPI 로봇 SW 교육원 조용수.
“사람과 컴퓨터” 이 점 숙 컴퓨터와 소프트웨어 “사람과 컴퓨터” 이 점 숙
SoC 기술-1.
ATmega128의 특징 아이티즌 기술연구소
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
학 과 : 정보제어 공학과 학 번 : 이 름 : 김민혁 이메일 :
Computer Aided Drawings 부제: 메카트로닉스 시스템 설계를 위한 컴퓨터 응용 제도 및 ProE 실습
AT MEGA 128 기초와 응용 I 기본적인 구조.
UNIT 02 Microprocessor 로봇 SW 교육원 조용수.
UNIT 25 SPI 로봇 SW 교육원 조용수.
발표자 : 이지연 Programming Systems Lab.
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
전자정보통신 공학부 이승만 PSpice를 이용한 시뮬레이션 전자정보통신 공학부 이승만
SoC 기술-2.
06. 디바이스의 등록과 해제 김진홍
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
소프트웨어 설계 및 실습 강기준.
Presentation transcript:

ARM 명령어집합시뮬레이터(ISS)를 이용한 임베디드시스템 설계 방법론 충북대학교 전기전자컴퓨터공학부 송 기 용

특강 개요 임베디드시스템 설계 및 검증 개론 임베디드시스템 개발 환경 소개 및 구성 ARM ISS 구성 ARM 프로세서와 AMBA를 이용한 시스템의 설계 방법 소개 HW / SW 동시협조시뮬레이션 환경 구성의 소개

임베디드시스템 설계 및 검증 개론

목차 1. 임베디드 시스템 2. 시스템집적반도체와 플랫폼 3. 시스템집적반도체의 설계 4. HW / SW 동시협조검증

임베디드 시스템 (1) 임베디드 시스템이란 각종 전자제품이나 정보기기 등에 설치되어 있는 마이크로프로세서에 미리 정해진 특정한 기능을 수행하는 소프트웨어를 내장시킨 시스템. 임베디드 시스템은 미리 정해진 특정 기능을 수행하기 위해 컴퓨터의 하드웨어와 소프트웨어가 조합된 전자제어시스템 통칭. 소프트웨어(혹은 Firmware)와 하드웨어로 구성되며, Processor Core를 포함하는 시스템집적반도체 (SoC, System-on-a-Chip)으로 구현. 예) 비행기의 자동항법장치, IMT2000 단말기 칩, 자동차 내의 ABS, Smart Card 칩

임베디드 시스템 (2) 등장 배경 반도체 산업 및 집적회로 기술의 발전 및 칩 집적도가 높아짐. 과거에 보드로 만들던 시스템 기술이 이제는 하나의 반도체에 시스템을 집적화할 수 있게 됨. 전자회로의 소형화, 저전력화, 인터넷화 등이 이루어지고 있음. 별개의 칩으로 존재하던 메모리, 마이크로프로세서, 코프로세서 등이 하나의 칩 안으로 들어갈 수 있음. 모든 구성요소를 하나의 칩에 집적하는 것을 SoC라고 함. 하나의 칩 안에 들어가는 개개의 구성요소를 IP (Intellectual Property) 라고 함.

임베디드 시스템 (3) SoC 설계 방법론의 대두 설계자의 생산성이 반도체 칩의 복잡도를 제대로 따라잡지 못함. 설계 생산성과 칩 복잡도의 격차는 점점 넓어지고 있음. 동시에 time-to-market은 점점 짧아지고 있는 추세임. 이러한 현실에 부응하여 SoC의 설계생산성을 높이기 위해 high-level abstraction을 이용한 시스템 수준에서 시스템을 모델링하고 명시하는 시스템설계 언어가 대두됨. SystemC, SpecC

시스템집적반도체와 플랫폼 (1) 시스템집적반도체 (SoC : System-on-a-chip) 하드웨어 프레임 플랫폼 최종제품의 중요기능이 단일반도체에 통합된 집적반도체 시스템을 구성하는 주요 기능블록들이 집적 하드웨어 부시스템과 소프트웨어 부시스템으로 구분 하드웨어 프레임 가장 기본적인 구성 프로세서, 메모리, 입출력 장치 플랫폼 하드웨어 프레임에 기능 블록들을 추가함으로써 특정응용에 용이하게 활용될 수 있도록 한 구성

시스템집적반도체와 플랫폼 (2) ARM 프로세서 소프트웨어가 저장을 위한 메모리 블록 입출력 블록 소프트웨어가 저장을 위한 메모리 블록 입출력 블록 AMBA 버스로 각 블록들을 연결 그림 1. 하드웨어 프레임의 예

시스템집적반도체와 플랫폼 (3) 하드웨어 프레임에 정지영상 처리에 필요한 기능블록들을 추가하여 플랫폼을 구성 그림 2. 정지영상 처리용 SOC 플랫폼의 예 하드웨어 프레임에 정지영상 처리에 필요한 기능블록들을 추가하여 플랫폼을 구성

시스템집적반도체의 설계 그림 3. 시스템집적반도체 설계 흐름도 설계 흐름에서 하드웨어와 소프트웨어를 동시 설계 및 검증이 중요

시스템집적반도체 설계환경 (1) 설계환경과 실사용환경이 같지 않은 경우 일반적인 경우 PC 환경에서 ARM 프로세서를 내장한 SoC 설계 크로스 컴파일러 or 크로스 아키텍처 컴파일러 타겟 아키텍처에서 수행될 실행이미지를 생성하는 환경이 필요 하드웨어에서 실행될 소프트웨어 개발 환경 컴파일러, 라이브러리, 디버거 등

시스템집적반도체 설계환경 (2) 소프트웨어 개발환경과 하드웨어 시뮬레이션 환경으로 구성 그림 4. 시스템집적반도체의 HW/SW 동시개발환경

HW / SW 동시협조검증 (1) 동시협조검증(Co-Verification)의 필요성 동시협조검증 방법 시스템집적반도체는 하드웨어 부시스템과 소프트웨어 부시스템으로 구성 동시협조검증 방법 하드웨어-소프트웨어 동시협조시뮬레이션 (Co-simulation) 하드웨어-소프트웨어 동시협조에뮬레이션 (Co-emulation)

HW / SW 동시협조검증 (2) 시뮬레이션, 가속, 에뮬레이션 소프트웨어 시뮬레이션 시뮬레이션 가속 하드웨어 에뮬레이션 모델링 언어로 구현된 하드웨어 설계를 소프트웨어적으로 동작시켜 기능을 검증 Verilog / VHDL 또는 SystemC와 같은 하드웨어기술언어와 시뮬레이터 사용 시뮬레이션 가속 시뮬레이션 속도를 높이기 위해 특별한 하드웨어를 사용 하드웨어와 소프트웨어 시뮬레이터를 연동 설계의 일부분을 하드웨어에 적용 하드웨어 에뮬레이션 시뮬레이션 가속의 일종 실제 타겟 보드를 이용하여 설계와 연동

HW / SW 동시협조검증 (3) 그림 5. 시뮬레이션, 가속, 에뮬레이션

HW / SW 동시협조검증 (4) 표 1. 시뮬레이션, 가속, 에뮬레이션의 비교

HW / SW 동시협조시뮬레이션 (1) 명령어집합시뮬레이터 (ISS) Instruction Set Simulator 프로세싱 코어의 기능을 C 언어로 모델링한 프로그램 ISS 사용 이유 하드웨어 프레임 중 프로세서는 매우 복잡하여 설계하거나 모델링하는 것이 바람직하지 않음 VPI (Verilog Procedural Interface) C 언어로 프로그램된 ISS와 HDL로 설계된 블록을 같이 시뮬레이션하기 위한 인터페이스

HW / SW 동시협조시뮬레이션 (2) 그림 6. HDL 시뮬레이터를 이용한 HW/SW 동시협조시뮬레이션

HW / SW 동시협조시뮬레이션 (3) 하드웨어 모델과 ISS를 연동하여 소프트웨어를 하드웨어 시뮬레이션 모델에서 수행시키는 것 로직시뮬레이터 이용 그림 6의 BFM (Bus Functional Model) ISS가 메모리에 있는 실행이미지를 수행하기 위해 기본적인 버스 동작을 수행 명령어인출, 피연산자 참조 버스 동작을 하드웨어적인 버스 프로토콜에 맞게 수행

HW / SW 동시협조에뮬레이션 (1) HW / SW 동시협조시뮬레이션 로직시뮬레이터 대신 하드웨어 FPGA를 사용 프로세서 모델인 ISS는 Host-PC에서 수행 나머지 대부분의 하드웨어는 FPGA에서 동작 이점 하드웨어가 FPGA에서 동작하므로 정확도가 높은 기능 검증이 가능

HW / SW 동시협조에뮬레이션 (2) 그림 7. FPGA를 이용한 HW/SW 동시협조에뮬레이션

차시 안내 임베디드시스템 개발 환경 소개 및 구성 임베디드시스템 개발 환경 구성에 필요한 소프트웨어 Windows XP 컴퓨터 Visual Studio 6.0 (C/C++ Compiler) Mentor Graphics ModelSim (Verilog Simulator) Cygwin ARM Cross-Compiler Tool-chain ARM GCC ARM GDB