Sega Dreamcast Visual Memory Unit FPGA Implementation

Slides:



Advertisements
Similar presentations
CPU Structure and Function
Advertisements

Cortex-M3 Implementation Overview. Chapter 6 in the reference book.
8051 Core Specification.
MICRO PROCESSER The micro processer is a multipurpose programmable, clock driven, register based, electronic integrated device that has computing and decision.
1 Hardware and Software Architecture Chapter 2 n The Intel Processor Architecture n History of PC Memory Usage (Real Mode)
Pyxis Aaron Martin April Lewis Steve Sherk. September 5, 2005 Pyxis16002 General-purpose 16-bit RISC microprocessor bit registers 24-bit address.
Microcontroller Architecture— PIC18F Family
Lecture 7 Lecture 7: Hardware/Software Systems on the XUP Board ECE 412: Microcomputer Laboratory.
The MSP430xxxx Department of Electrical and Computer Engineering
Micro controllers A self-contained system in which a processor, support, memory, and input/output (I/O) are all contained in a single package.
General System Architecture and I/O.  I/O devices and the CPU can execute concurrently.  Each device controller is in charge of a particular device.
Basic Operational Concepts of a Computer
Micro-operations Are the functional, or atomic, operations of a processor. A single micro-operation generally involves a transfer between registers, transfer.
A Simple Tour of the MSP430. Light LEDs in C LEDs can be connected in two standard ways. Active high circuit, the LED illuminates if the pin is driven.
Dr. Rabie A. Ramadan Al-Azhar University Lecture 6
Computer Architecture Memory, Math and Logic. Basic Building Blocks Seen: – Memory – Logic & Math.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
Silberschatz, Galvin and Gagne  Applied Operating System Concepts Chapter 2: Computer-System Structures Computer System Architecture and Operation.
Capability of processor determine the capability of the computer system. Therefore, processor is the key element or heart of a computer system. Other.
MICROPROCESSOR INTEL 8086/8088 BY: SERA SYARMILA SAMEON.
Instruction Set Architectures Continued. Expanding Opcodes & Instructions.
1 Contents: 3.1 Instruction format and Addressing Modes 3.2 Instruction Introduction Chapter 3 Instruction system.
Design methodology for Implementing a Microcontroller in a FPGA. Phillip Southard Ohio University EE 690 Reconfigurable Design.
The 8085A is a general-purpose microprocessor with low hardware overhead requirements. Within the 8085A are contained the functions of clock generation,
Introduction to Microcontroller Technology
8085 Microprocessor Architecture
Seminar On 8085 microprocessor
Dr.Ahmed Bayoumi Dr.Shady Elmashad
COURSE OUTCOMES OF Microprocessor and programming
Chapter 2: Computer-System Structures(Hardware)
Chapter 2: Computer-System Structures
ECE 3430 – Intro to Microcomputer Systems
Lecture 2 Programming of 8086 Лектор: Люличева И.А. 1.
Sistem Mikroprosesor 1. Blok Diagram Minimum System(CPU,ROM,RAM)
Control Unit Lecture 6.
Microprocessor Systems Design I
UNIT – Microcontroller.
Introduction to 8086 Microprocessor
Microprocessor Systems Design I
Introduction of microprocessor
8085 microprocessor.
CS703 - Advanced Operating Systems
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Computer Architecture
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
Processor Organization and Architecture
Introduction to Microprocessors and Microcontrollers
Interfacing Memory Interfacing.
THE sic mACHINE CSCI/CMPE 3334 David Egle.
Instruction cycle Instruction: A command given to the microprocessor to perform an operation Program : A set of instructions given in a sequential.
Module 2: Computer-System Structures
Architecture & Support Components
Basic Computer Organization
Control Unit Introduction Types Comparison Control Memory
Operating Systems Chapter 5: Input/Output Management
8085 Microprocessor Architecture
8051 Micro Controller.
Module 2: Computer-System Structures
EECE.3170 Microprocessor Systems Design I
Unit-I 80386DX Architecture
Basic components Instruction processing
Chapter 2: Computer-System Structures
AGENDA Architecture Microprocessor Communication and Bus Timings
Chapter 2: Computer-System Structures
Module 2: Computer-System Structures
Information Representation: Machine Instructions
Module 2: Computer-System Structures
AGENDA Architecture Microprocessor Communication and Bus Timings
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

Sega Dreamcast Visual Memory Unit FPGA Implementation by Falco Girgis 4/25/17 CPE526

Visual Memory Unit (VMU)

Cross-Platform VMU Support Elysian Shadows Kickstarter (Indie 2D/3D RPG) Windows, Mac, Linux, Sega Dreamcast, Steam, iOS, Android, OUYA, ForgeTV, RaspPi Dreamcast-specific VMU content for display and minigames ElysianVMU Software Emulator Play VMU content on any device

Next Generation VMU Hardware (VMU2?) PC Communication USB Storage Device Larger Memory Capacity Chargeable Batteries Backlit LCD Higher Resolution Color High-Quality Audio Output 16-bit ISA Backwards Compatibility

System Block Diagram

Memory Layout Memory Space RAM Space

Memory Mapping in VHDL

8-bit Sanyo LC86K87 CPU Features 128-KB Flash memory 20-KB ROM 710-byte RAM 13-source, 10-vector interrupt architecture LCD Controller/Driver 16-bit timer/counter/pulse generator 16-bit (or 2-channel x 8-bit) synchronous serial interface Dedicated Dreamcast interface

Instruction Map

VHDL Instruction Attribute Record

VHDL Instruction Attribute Lookup Table

VHDL CPU Core Logic Clock Process Fetch Instruction Extract Operands Update program counter Handle reset signal and logic Fetch Instruction Extract Operands Fetch Register Indirect Pointer Operand Execute Instruction

1 - Fetch Instruction

2 - Extract Operands Decode instruction for operand types Extract operands from instruction Types and packing determined by address modes 2 Different Cases Specially-coded Instructions Hard-coded logic Standard-encoded instructions Standard loop (3 possible operands)

Addressing Modes Mode Bits Description Immediate 8 Operand given in instruction Direct 9 Address of operand in memory Indirect 2 Index of a special pointer register in memory which contains the address of the operand. Bit specifier 3 Specifies a bit offset within a byte operand Absolute 12/16 12 or 16 bits of PC are set to the given address Relative 8/16 Address encoded is added to PC

VHDL General-Case Operand Extraction Logic

3 - Fetch Register Indirect Operand Pointer Not straightforward 8-bit words, 9-bit addresses Pointers stored in special preset addresses Address Calculation Bit 8: MSB of ptr reg index (from instruction) Bit 7 downto 0: Value stored in the given ptr reg

4 - Execute Instruction Weirdly easy

C vs VHDL Opcode Implementation

Future Work (Playable) Feed display buffer to graphics display XRAM is ready Wire controller/input buttons Port 3 logic is implemented and ready Work RAM Timer0 and Timer1

Questions?