Design Methodology for High-Level Model Based on an Eight Bit Entertainment System Alejandro Lizaola, Ricardo D. Castro, Gilberto Beltran. Manuel Salim.

Slides:



Advertisements
Similar presentations
Gabriel Honoré 1. What is it? A collection of software emulators –A software emulator is a computer program that imitates an electronic device or another.
Advertisements

Design for High-Level Model Based on an Eight Bit Entertainment System Alejandro Lizaola, Ricardo Castro, Gilberto Beltran. Manuel Salim and Alejandro.
Altera FLEX 10K technology in Real Time Application.
EEE226 MICROPROCESSORBY DR. ZAINI ABDUL HALIM School of Electrical & Electronic Engineering USM.
Processor System Architecture
University Of Vaasa Telecommunications Engineering Automation Seminar Signal Generator By Tibebu Sime 13 th December 2011.
Introduction to Information Technology: Your Digital World © 2013 The McGraw-Hill Companies, Inc. All rights reserved.Using Information Technology, 10e©
Team Monte Cristo Joseph Carrafa Sharon Clark Scott Hassett Alex Mason The Deep Fried Game Station.
Performance Analysis of Processor Characterization Presentation Performed by : Winter 2005 Alexei Iolin Alexander Faingersh Instructor:
History of Game Consoles Caleb Baze Atari 2600  Introduced Microprocessor-based Hardware  Utilized Game Cartridges  Allowed unlimited games to.
Chapter 17 Microprocessor Fundamentals William Kleitz Digital Electronics with VHDL, Quartus® II Version Copyright ©2006 by Pearson Education, Inc. Upper.
Microcontroller: Introduction
FPGA-Based Arcade Emulation Danny Funk, Cory Mohling, Tony Milosch, David Gartner, John Alexander Advisor: Philip Jones Client: Joseph Zambreno.
FPGA-Based Arcade Emulation Danny Funk, Cory Mohling, Tony Milosch, David Gartner, John Alexander Advisor: Philip Jones Client: Joseph Zambreno.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
2 Outline Digital music The power of FPGA The “DigitalSynth” project –Hardware –Software Conclusion Demo.
 Purpose of our project  Get real world experience in ASIC digital design  Use same tools as industry engineers  Get practical experience in microprocessor.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
C. Pronk 1 The Commodore 64 © Kees Pronk sources: various web locations.
Bomberman Fredrik Ahlberg – Magnus Hultin – Adam Johansson –
ABSTRACT The purpose of this project is to continue to perfect the Nintendo Entertainment System (NES) emulation on an FPGA that would showcase Iowa State.
Microcomputer Systems Project By Shriram Kunchanapalli.
RUDAK DSP Experimentation June & July 2002 Contributions to this presentation by: KK7P, WD0E, 4X1KX.
Practical PC, 7th Edition Chapter 17: Looking Under the Hood
CPU (CENTRAL PROCESSING UNIT): processor chip (computer’s brain) found on the motherboard.
Add on cards. Also known as Expansion card or interface adapter. It can be inserted into an expansion slot of a motherboard to add functionality to a.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
By Danny Matthews Supervised by Dr Des Watson. “ A very precise form of simulation which enables one type of computer to operate as if it were a different.
Computer Architecture and Organization Introduction.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Introduction to NES graphics Don Miller / NO CARRIER PlayPower.org Platform Education Director.
Chapter 1 Introduction. Architecture & Organization 1 Architecture is those attributes visible to the programmer —Instruction set, number of bits used.
Slide 1 – CPU Acronym Definition The CPU is a small square unit that sits behind a fan, the fan keeps the CPU from over heating. The CPU (Central Processing.
© CCI Learning Solutions Inc. 1 Lesson 2: Elements of a Personal Computer System unit Microprocessor chip How memory is measured What ROM is What RAM is.
Chapter 17 Looking “Under the Hood”. 2Practical PC 5 th Edition Chapter 17 Getting Started In this Chapter, you will learn: − How does a computer work.
Computer Organization & Assembly Language © by DR. M. Amer.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
By Danny Matthews Supervised by Dr Des Watson. 8 Bit 8 Bit console released in Million 60 Million Units Sold 1000 Released Titles Over 1000 Released.
Fast Fault Finder A Machine Protection Component.
Marwan Al-Namari 1 Digital Representations. Bits and Bytes Devices can only be in one of two states 0 or 1, yes or no, on or off, … Bit: a unit of data.
Design 6 Project: Michael Popoloski Jack Alvino Jon Lado.
THE MICROPROCESSOR A microprocessor is a single chip of silicon that performs all of the essential functions of a computer central processor unit (CPU)
GAN: remote operation of accelerator diagnosis systems Matthias Werner, DESY MDI.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
Done by: Chelsea Bryan Friday, October 10,2014.   The BIOS (aka) Basic input/output system, is a built in software that determines what's a computer.
Submitted by:.  Project overview  Block diagram  Power supply  Microcontroller  MAX232 & DB9 Connector  Relay  Relay driver  Software requirements.
Presentation 2: A More Detailed Look Advanced VLSI Design (ECE 1193) Kent Nixon, Tom Nason, Enes Eken, and Christopher Lukas January 17, 2013.
Design methodology for Implementing a Microcontroller in a FPGA. Phillip Southard Ohio University EE 690 Reconfigurable Design.
SUBJECT : DIGITAL ELECTRONICS CLASS : SEM 3(B) TOPIC : INTRODUCTION OF VHDL.
Chapter 17 Looking “Under the Hood”
Programmable Logic Devices
IF I ONLY HAD A BRAIN THE MICROCONTROLLER
PROPELLER DISPLAY OF MESSAGE BY VIRTUAL LEDS
Project Title EVM IN 8051 Under the Guidance of Submitted by.
PC Mouse operated Electrical Load Control Using VB Application
THE PROCESS OF EMBEDDED SYSTEM DEVELOPMENT
Andes Game Emulator Aug ,2009
Number Representations and Basic Processor Architecture
A Comparison of Field Programmable Gate
Subject Name: Embedded system Design Subject Code: 10EC74
ECEG-3202 Computer Architecture and Organization
Ghifar Parahyangan Catholic University August 22, 2011
ECEG-3202 Computer Architecture and Organization
Chapter 1 Introduction.
Java Programming Introduction
Chapter 17 Looking “Under the Hood”
NES SNES VS. Compare and Contrast.
Presentation transcript:

Design Methodology for High-Level Model Based on an Eight Bit Entertainment System Alejandro Lizaola, Ricardo D. Castro, Gilberto Beltran. Manuel Salim and Alejandro Moreno Department of Electronics, Systems and Informatics Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO) Guadalajara, Mexico, Intel & Iberchip XVII, February 2011

Outline  Introduction  Theory  Main Block Description  Design Methodology  Verification Strategies  Results  Conclusions  Future Work

Introduction  This presentation is about a design methodology for a high- level model based on an 8 bit entertainment system.  Verification strategy proposed for this project is based on reverse engineering.  Design and architecture of the group of reference model models has been identified.  Coding and Verification development has been a challenge.  It’s been a merge between a Software and Hardware verification methodology.

Theory Reverse Engineering: It has the goal to obtain information from a product to determine its structure, function and operation. Emulator: It is a software that allows certain computer programs to run on a different platform than the one they were originally written for.

Reference Model: It is a high level description of a system, chip, block, or component to obtain the expected values that will compare with the obtained values and declare a failed or passed test. Verification: It is the process to determine that an implementation behaves according to a given set of requirements for all possible scenarios. …Theory

Main Block Description

Design 1. Comprehend and understand the functionality of the NES. 2. Comprehend and understand the operation of the NES. 3. Election of emulator. 4. Reference model design. 5. Implementation of reference model main blocks. 6. Verify the operation of each block of the reference model. 7. Integrate reference model modules. 8. Verify reference model integration.

Verification Strategies Reference Model Verification:

Verification Plan: The verification plan is defined in base of the NES console. Through the specification of the console, all functional areas as well as monitors and checkers were analyzed and the coverage was chosen. This document is useful for all those who are working in the planning and execution of the console verification. …Verification Strategies

Results Triangular channel outputs for crystali game

…Results White noise channel outputs for crystali game

…Results Audio buffer outputs for crystali game

…Results Scroll results for crystali game Sprites results for crystali game

Conclusions  A Nintendo emulator for PC was selected. A reference model was implemented based on this emulator and implemented in SystemVerilog. The model was created in a modular way using reverse engineering and design tools for programming high-level languages. Model functionality was verified.  SystemVerilog makes easer the reference model implementation because it provides a high level modeling abstraction with a lot of capabilities to implement and verify a design developed in any hardware description language.

…Conclusions  The Methodology proposed was based in software debugging techniques, so this combines both mechanics by mapping the hardware validation to software validations process.  The performance of the model behaves as expected.

Future Work Mappers and more expansion chips can be implemented. An interface between CPU and controllers can be designed. The reference model can be done to be synthesized and to be downloaded into a FPGA. With this reference model a verification environment can be done to validate a RTL prototype. The system must further refine the PPU module, especially a variable called "display" to have the optimal functioning of the entire system.

Slides Background Central Processing Unit: The CPU emulated by the NES is an 8-bit microprocessor produced by Ricoh based on MOS Technology 6502 core. The NTSC version (North America and Japan) of the console use the Ricoh 2A03 (or RP2A03), which operates at 1.78MHz, PAL version (Europe and Australia) use the Ricoh 2A07 (or RP2A07), this is identical to version NTSC with the difference that it works on 1.66MHz.

Slides Background Audio Processing Unit: The APU is responsible for generating the game sound. It is implemented in two chips, RP2A03 for NTSC and RP2A07 for PAL. The APU has 5 channels: 1. Square channel, frequency ranges 54 Hz – 28 KHz. 2. Square channel, frequency ranges 54 Hz – 28 KHz. 3. Triangle channel, frequency ranges 27 Hz – 56 KHz. 4. Noise channel, LFSR, two modes and sixteen programmable frequencies. 5. DPCM channel.

Slides Background MAPPERS: Mappers are chips designed for videogames developers to use them in NES cartridges. Mappers are used to access memory beyond the limits of the 64k memory, allowing special effects in the video and sound, such as forcing some interruptions and instructions among other things. The memory used by the NES is implemented in two blocks, Rom program (PRG-ROM) and Rom Character (CHR-ROM). This includes the memory area where the current code will be executed by the micro as well as the video memory data.

Slides Background Picture Processing Unit: The PPU used by the NES was designed by Ricoh. This unit is responsible for transforming the digital information received from the CPU into video signal to display the game on screen. This process is known as image rendering The PPU contains the following: 1. Background render unit. 2. Sprites render unit. 3. Records of entry and exit. 4. Internal RAM 32B. 5. External RAM 256B.