intel & iberchip xvii, february 2011
DESCRIPTION
- PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/1.jpg)
Design Methodology for High-Level Model Based on an Eight Bit Entertainment System
Alejandro Lizaola, Ricardo D. Castro, Gilberto Beltran. Dr. Manuel Salim and Mtro. Alejandro Moreno
Department of Electronics, Systems and InformaticsInstituto Tecnológico y de Estudios Superiores de Occidente (ITESO)
Guadalajara, Mexico, 45090
Intel & Iberchip XVII, February 2011
![Page 2: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/2.jpg)
Outline
Introduction Theory Main Block Description Design Methodology Verification Strategies Results Conclusions Future Work
![Page 3: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/3.jpg)
Introduction
This presentation is about a design methodology for a high-level model based on an 8 bit entertainment system. Verification strategy as the reference model is proposed for
this project is based on reverse engineering. Design and architecture of the group of reference models
has been identified . Coding and Verification development has been a challenge. It’s been a merge between a Software and Hardware
verification methodology for the reference model.
![Page 4: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/4.jpg)
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.
![Page 5: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/5.jpg)
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
![Page 6: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/6.jpg)
Main Block Description
![Page 7: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/7.jpg)
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.
![Page 8: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/8.jpg)
Verification Strategies
Reference Model Verification:
![Page 9: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/9.jpg)
Verification Plan:
The verification plan is defined base on the NES console.
Through the specification of the console, all functional areas are described as well as monitors, checkers and coverage have been analyzed.
This will be useful for all those who are working in the planning and execution of the console verification.
…Verification Strategies
![Page 10: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/10.jpg)
Results
Comparison between output files using Soccer rom
![Page 11: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/11.jpg)
Results
Triangular channel outputs for crystali game.[crystali] is an audio rom, it uses mapper 4
![Page 12: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/12.jpg)
…Results
White noise channel outputs for crystali game
![Page 13: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/13.jpg)
…Results
Audio buffer outputs for crystali game
![Page 14: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/14.jpg)
…Results
Scroll results for crystali game
Sprites results for crystali game
![Page 15: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/15.jpg)
…ResultsGame’s name Mapper
NumberFuntionality
Comparision Soccer 0 CorrectContra 2 Correct
Nintendo World Cup 4 CorrectCastlevania I 1 CorrectDonkey Kong 0 Correct
Súper Mario Bros. 1 0 CorrectHudson Island I 3 CorrectHudson Island II 3 CorrectHudson Island III 3 Correct
Punch Out 9 CorrectMegaman 1 Correct
Megaman II 3 IncorrectMeganman III 4 Correct
Castlevania III Jaranease version 24 CorrectSúper Mario Bros. III 5 Correct
Legend of Zelda 1 CorrectTiny Toons 4 Correct
Mitsufatoru 4 CorrectTecno Beisball 1 Correct
Sound 0 CorrectRoad Race 1 Correct
Dragon Ball Z 16 Incorrect
![Page 16: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/16.jpg)
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.
An automated comparison makes error detection easier on the output files.
SystemVerilog makes easier 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.
![Page 17: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/17.jpg)
…Conclusions
The Methodology proposed was based in software debugging techniques by mapping the hardware validation to software validations process.
The performance of the model behaves as expected. This is a oriented object model for verification environment
not synthesizable. The synthesis & Test of the reference model is possible.
![Page 18: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/18.jpg)
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.
![Page 19: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/19.jpg)
Question & Answers…
Any question ?
![Page 20: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/20.jpg)
![Page 21: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/21.jpg)
![Page 22: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/22.jpg)
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.
![Page 23: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/23.jpg)
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.
![Page 24: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/24.jpg)
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 .
![Page 25: Intel & Iberchip XVII, February 2011](https://reader035.vdocuments.us/reader035/viewer/2022062501/56816562550346895dd7e632/html5/thumbnails/25.jpg)
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.