Presentation 3: Full Steam Ahead Advanced VLSI Design (ECE 1193) Kent Nixon, Tom Nason, Enes Eken, and Christopher Lukas January 31, 2013.

Slides:



Advertisements
Similar presentations
Register In computer architecture, a processor register is a small amount of storage available on the CPU whose contents can be accessed more quickly than.
Advertisements

8085 Architecture & Its Assembly language programming
Computer Architecture and Operating Systems CS 3230 :Assembly Section Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
MICROPROCESSORS TWO TYPES OF MODELS ARE USED :  PROGRAMMER’S MODEL :- THIS MODEL SHOWS FEATURES, SUCH AS INTERNAL REGISTERS, ADDRESS,DATA & CONTROL BUSES.
Chapter 2 HARDWARE SUMMARY
CEN 226: Computer Organization & Assembly Language :CSC 225 (Lec#3) By Dr. Syed Noman.
1 Hardware and Software Architecture Chapter 2 n The Intel Processor Architecture n History of PC Memory Usage (Real Mode)
Computer Architecture: Intro Lecture 6- Getting the Big Picture viz- a-viz the Instruction Set J. Schmalzel S. Mandayam.
INSTRUCTION SET OF MICROPROCESSOR 8085
MICROCONTROLLER INSTRUCTION SET
André Thomas Computer Graphics Supervisor EA Sports.
Electrical Engineering Department Engineering College Prince Sattam bin Abdul Aziz University Text Book: - Triebel and Singh, "The 8088 and 8086 Microprocessors",
Computer Architecture Lecture 13 – part 2 by Engineer A. Lecturer Aymen Hasan AlAwady 7/4/2014 University of Kufa - Information Technology Research and.
Chapter 3 Examining Computer Memory and Executing Instructions.
Microprocessor Dr. Rabie A. Ramadan Al-Azhar University Lecture 7.
12/13/ _01 1 Computer Organization EEC-213 Computer Organization Electrical and Computer Engineering.
AES Encryption FIPS 197, November 26, Bit Block Encryption Key Lengths 128, 192, 256 Number of Rounds Key Length Rounds Block.
University of Tehran 1 Microprocessor System Design Omid Fatemi Machine Language Programming
COMP 1321 Digital Infrastructure Richard Henson University of Worcester October 2015.
Picoblaze Overview EENG Introduction 8-bit microcontroller for Xilinx devices Soft Core – Soft Processor 5% of the resources of spartan 3 (3S200.
COMP 1321 Digital Infrastructure Richard Henson University of Worcester October 2012.
8085 INTERNAL ARCHITECTURE.  Upon completing this topic, you should be able to: State all the register available in the 8085 microprocessor and explain.
Presentation 2: A More Detailed Look Advanced VLSI Design (ECE 1193) Kent Nixon, Tom Nason, Enes Eken, and Christopher Lukas January 17, 2013.
8 085Microprocessor Temp Reg (8) Accumulator (A reg) Flag flip flops(8) Instruction Register (8) Arithmetic Logic Unit ALU Instruction Decoder and Machine.
ΜComputer Structure μProcessor Memory Bus System I/O Ports.
Assembly language programming
Instruction Set Architecture
Gursharan Singh Tatla INSTRUCTION SET OF 8085 Gursharan Singh Tatla Gursharan Singh Tatla
SAP1 (Simple-As-Possible) Computer
Instruction set Architecture
Lecture 2 Programming of 8086 Лектор: Люличева И.А. 1.
Format of Assembly language
Classification of Instruction Set of 8051
Assembly Language Programming of 8085
Detailed Review of the 8085 Instruction Set.
8086 Microprocessor.
COURSE OUTCOMES OF MICROPROCESSOR AND PROGRAMMING
Lecture Set 5 The 8051 Instruction Set.
ECE,JYOTHI ENGG COLLEGE
Machine control instruction
Assembly Language Programming Part 2
ADDRESSING MODES.
Intel 8088 (8086) Microprocessor Structure
Homework Reading Continue work on mp1
Data Processing Instructions
Combinations COURSE 3 LESSON 11-3
EMT 245: lecture 4: assembly language
Introduction to Assembly Language
BIC 10503: COMPUTER ARCHITECTURE
Central Processing Unit
The 8051 Assembly Language Arithmetic & Logic Instructions
8051 Single Board Computer (SBC) Version 1.0
Make an Organized List and Simulate a Problem
Introduction to Assembly Chapter 2
Detailed Review of the 8085 Instruction Set.
Prepared by Kenan BOZDAŞ
Intel 8088 (8086) Microprocessor Structure
8086 Registers Module M14.2 Sections 9.2, 10.1.
Interrupt Mechanism Interrupt Compared With Procedures Call MyProc
Morgan Kaufmann Publishers Computer Organization and Assembly Language
Chapter 8 Central Processing Unit
INSTRUCTION SET OF 8085.
COMP 1321 Digital Infrastructure
Introduction to Micro Controllers & Embedded System Design Instruction set Department of Electrical & Computer Engineering Missouri University of Science.
COMP 1321 Digital Infrastructure
Introduction to Assembly Chapter 2
Unit-I 80386DX Architecture
COMP 1321 Digital Infrastructure
Chapter 8: Instruction Set 8086 CPU Architecture
Computer Operation 6/22/2019.
Presentation transcript:

Presentation 3: Full Steam Ahead Advanced VLSI Design (ECE 1193) Kent Nixon, Tom Nason, Enes Eken, and Christopher Lukas January 31, 2013

Department of Electrical & Computer Engineering Project Goal Create a simulatable clone of the original Gameboy system using Mentor Graphics CAD tools.

Department of Electrical & Computer Engineering CPU (+ GPU + Audio) LCD VRAM Main RAM Cartridge (MC + ROM + RAM) Audio System Input Buttons Serial

Department of Electrical & Computer Engineering TOP STRUCTURE OF mcGAMEBOY

Department of Electrical & Computer Engineering Slave Master CPU (+ GPU + Audio Processors) Memory Controller CPU Logical Core LCD Controller (GPU) ROM On-Chip RAM Interrupt Controller Data Buffer Address Buffer Sprite RAM Audio Controller Clock Audio System Cartridge + Main RAM Input Buttons Serial I/O LCD Cartridge Serial Control

Department of Electrical & Computer Engineering Questions Answered VRAM and Main RAM –Where is the synchronization signal? There is none – data return times are deterministic (see later) Serial Communications –How to determine if we are master or slave? Accomplished via software CPU Logical Core –RISC or CISC? Variable instruction length (8- and 16-bit) -> CISC –Is there a cache of any form? Nope

Department of Electrical & Computer Engineering Work Accomplished Continued to read and learn about the Gameboy architecture Copied our design hierarchy into HDL Designer Set up a system where all team members have access to a single project file –Required modification of permissions on project directory –Also modified default file creation settings for group members so that all files created by a team member can be accessed by the rest of the team Created, compiled, and simulated our first sub-block (buttons)

Department of Electrical & Computer Engineering Buttons Accomplished Schematic of button in HDL Designer 8 buttons are read by 4 input bins

Department of Electrical & Computer Engineering Buttons ModelSim Graph

Department of Electrical & Computer Engineering Instruction Set Variable instruction length (1-3 bytes) 8-bit and 16-bit immediate values used Execution time (cycles) of instructions are known and deterministic No pipelining 4 cycles allowed for each byte of instruction

Department of Electrical & Computer Engineering x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF 0x 0x NOP LD BC,d LD (BC),A INC BC INC B 1 4 Z 0 H - DEC B 1 4 Z 1 H - LD B,d RLCA C LD (a16),SP ADD HL,BC H C LD A,(BC) DEC BC INC C 1 4 Z 0 H - DEC C 1 4 Z 1 H - LD C,d RRCA C 1x 1x STOP LD DE,d LD (DE),A INC DE INC D 1 4 Z 0 H - DEC D 1 4 Z 1 H - LD D,d RLA C JR r ADD HL,DE H C LD A,(DE) DEC DE INC E 1 4 Z 0 H - DEC E 1 4 Z 1 H - LD E,d RRA C 2x 2x JR NZ,r8 2 12/ LD HL,d LD (HL+),A INC HL INC H 1 4 Z 0 H - DEC H 1 4 Z 1 H - LD H,d DAA 1 4 Z - 0 C JR Z,r8 2 12/ ADD HL,HL H C LD A,(HL+) DEC HL INC L 1 4 Z 0 H - DEC L 1 4 Z 1 H - LD L,d CPL x 3x JR NC,r8 2 12/ LD SP,d LD (HL-),A INC SP INC (HL) 1 12 Z 0 H - DEC (HL) 1 12 Z 1 H - LD (HL),d SCF JR C,r8 2 12/ ADD HL,SP H C LD A,(HL-) DEC SP INC A 1 4 Z 0 H - DEC A 1 4 Z 1 H - LD A,d CCF C 4x 4x LD B,B LD B,C LD B,D LD B,E LD B,H LD B,L LD B,(HL) LD B,A LD C,B LD C,C LD C,D LD C,E LD C,H LD C,L LD C,(HL) LD C,A x 5x LD D,B LD D,C LD D,D LD D,E LD D,H LD D,L LD D,(HL) LD D,A LD E,B LD E,C LD E,D LD E,E LD E,H LD E,L LD E,(HL) LD E,A x 6x LD H,B LD H,C LD H,D LD H,E LD H,H LD H,L LD H,(HL) LD H,A LD L,B LD L,C LD L,D LD L,E LD L,H LD L,L LD L,(HL) LD L,A x 7x LD (HL),B LD (HL),C LD (HL),D LD (HL),E LD (HL),H LD (HL),L HALT LD (HL),A LD A,B LD A,C LD A,D LD A,E LD A,H LD A,L LD A,(HL) LD A,A x 8x ADD A,B 1 4 Z 0 H C ADD A,C 1 4 Z 0 H C ADD A,D 1 4 Z 0 H C ADD A,E 1 4 Z 0 H C ADD A,H 1 4 Z 0 H C ADD A,L 1 4 Z 0 H C ADD A,(HL) 1 8 Z 0 H C ADD A,A 1 4 Z 0 H C ADC A,B 1 4 Z 0 H C ADC A,C 1 4 Z 0 H C ADC A,D 1 4 Z 0 H C ADC A,E 1 4 Z 0 H C ADC A,H 1 4 Z 0 H C ADC A,L 1 4 Z 0 H C ADC A,(HL) 1 8 Z 0 H C ADC A,A 1 4 Z 0 H C 9x 9x SUB B 1 4 Z 1 H C SUB C 1 4 Z 1 H C SUB D 1 4 Z 1 H C SUB E 1 4 Z 1 H C SUB H 1 4 Z 1 H C SUB L 1 4 Z 1 H C SUB (HL) 1 8 Z 1 H C SUB A 1 4 Z 1 H C SBC A,B 1 4 Z 1 H C SBC A,C 1 4 Z 1 H C SBC A,D 1 4 Z 1 H C SBC A,E 1 4 Z 1 H C SBC A,H 1 4 Z 1 H C SBC A,L 1 4 Z 1 H C SBC A,(HL) 1 8 Z 1 H C SBC A,A 1 4 Z 1 H C Ax Ax AND B 1 4 Z AND C 1 4 Z AND D 1 4 Z AND E 1 4 Z AND H 1 4 Z AND L 1 4 Z AND (HL) 1 8 Z AND A 1 4 Z XOR B 1 4 Z XOR C 1 4 Z XOR D 1 4 Z XOR E 1 4 Z XOR H 1 4 Z XOR L 1 4 Z XOR (HL) 1 8 Z XOR A 1 4 Z Bx Bx OR B 1 4 Z OR C 1 4 Z OR D 1 4 Z OR E 1 4 Z OR H 1 4 Z OR L 1 4 Z OR (HL) 1 8 Z OR A 1 4 Z CP B 1 4 Z 1 H C CP C 1 4 Z 1 H C CP D 1 4 Z 1 H C CP E 1 4 Z 1 H C CP H 1 4 Z 1 H C CP L 1 4 Z 1 H C CP (HL) 1 8 Z 1 H C CP A 1 4 Z 1 H C Cx Cx RET NZ 1 20/ POP BC JP NZ,a / JP a CALL NZ,a / PUSH BC ADD A,d8 2 8 Z 0 H C RST 00H RET Z 1 20/ RET JP Z,a / PREFIX CB CALL Z,a / CALL a ADC A,d8 2 8 Z 0 H C RST 08H Dx Dx RET NC 1 20/ POP DE JP NC,a / CALL NC,a / PUSH DE SUB d8 2 8 Z 1 H C RST 10H RET C 1 20/ RETI JP C,a / CALL C,a / SBC A,d8 2 8 Z 1 H C RST 18H Ex Ex LDH (a8),A POP HL LD (C),A PUSH HL AND d8 2 8 Z RST 20H ADD SP,r H C JP (HL) LD (a16),A XOR d8 2 8 Z RST 28H Fx Fx LDH A,(a8) POP AF 1 12 Z N H C LD A,(C) DI PUSH AF OR d8 2 8 Z RST 30H LD HL,SP+r H C LD SP,HL LD A,(a16) EI CP d8 2 8 Z 1 H C RST 38H

Department of Electrical & Computer Engineering Instruction Set ALU Operations: ADD(C), SUB(C), AND, OR, XOR, CP (compare) [for immediates and registers] Load Operations: Register to Register, Memory to Register, Register to Memory (HL) Increments/Decrements Stack Operations (16-bit Push/Pop), Stack Pointer Addition Jumps, Calls, Returns, Resets (+conditionals) Rotates, Compliments BCD conversion (!)

Department of Electrical & Computer Engineering x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF 0x 0x RLC B 2 8 Z 0 0 C RLC C 2 8 Z 0 0 C RLC D 2 8 Z 0 0 C RLC E 2 8 Z 0 0 C RLC H 2 8 Z 0 0 C RLC L 2 8 Z 0 0 C RLC (HL) 2 16 Z 0 0 C RLC A 2 8 Z 0 0 C RRC B 2 8 Z 0 0 C RRC C 2 8 Z 0 0 C RRC D 2 8 Z 0 0 C RRC E 2 8 Z 0 0 C RRC H 2 8 Z 0 0 C RRC L 2 8 Z 0 0 C RRC (HL) 2 16 Z 0 0 C RRC A 2 8 Z 0 0 C 1x 1x RL B 2 8 Z 0 0 C RL C 2 8 Z 0 0 C RL D 2 8 Z 0 0 C RL E 2 8 Z 0 0 C RL H 2 8 Z 0 0 C RL L 2 8 Z 0 0 C RL (HL) 2 16 Z 0 0 C RL A 2 8 Z 0 0 C RR B 2 8 Z 0 0 C RR C 2 8 Z 0 0 C RR D 2 8 Z 0 0 C RR E 2 8 Z 0 0 C RR H 2 8 Z 0 0 C RR L 2 8 Z 0 0 C RR (HL) 2 16 Z 0 0 C RR A 2 8 Z 0 0 C 2x 2x SLA B 2 8 Z 0 0 C SLA C 2 8 Z 0 0 C SLA D 2 8 Z 0 0 C SLA E 2 8 Z 0 0 C SLA H 2 8 Z 0 0 C SLA L 2 8 Z 0 0 C SLA (HL) 2 16 Z 0 0 C SLA A 2 8 Z 0 0 C SRA B 2 8 Z SRA C 2 8 Z SRA D 2 8 Z SRA E 2 8 Z SRA H 2 8 Z SRA L 2 8 Z SRA (HL) 2 16 Z SRA A 2 8 Z x 3x SWAP B 2 8 Z SWAP C 2 8 Z SWAP D 2 8 Z SWAP E 2 8 Z SWAP H 2 8 Z SWAP L 2 8 Z SWAP (HL) 2 16 Z SWAP A 2 8 Z SRL B 2 8 Z 0 0 C SRL C 2 8 Z 0 0 C SRL D 2 8 Z 0 0 C SRL E 2 8 Z 0 0 C SRL H 2 8 Z 0 0 C SRL L 2 8 Z 0 0 C SRL (HL) 2 16 Z 0 0 C SRL A 2 8 Z 0 0 C 4x 4x BIT 0,B 2 8 Z BIT 0,C 2 8 Z BIT 0,D 2 8 Z BIT 0,E 2 8 Z BIT 0,H 2 8 Z BIT 0,L 2 8 Z BIT 0,(HL) 2 16 Z BIT 0,A 2 8 Z BIT 1,B 2 8 Z BIT 1,C 2 8 Z BIT 1,D 2 8 Z BIT 1,E 2 8 Z BIT 1,H 2 8 Z BIT 1,L 2 8 Z BIT 1,(HL) 2 16 Z BIT 1,A 2 8 Z x 5x BIT 2,B 2 8 Z BIT 2,C 2 8 Z BIT 2,D 2 8 Z BIT 2,E 2 8 Z BIT 2,H 2 8 Z BIT 2,L 2 8 Z BIT 2,(HL) 2 16 Z BIT 2,A 2 8 Z BIT 3,B 2 8 Z BIT 3,C 2 8 Z BIT 3,D 2 8 Z BIT 3,E 2 8 Z BIT 3,H 2 8 Z BIT 3,L 2 8 Z BIT 3,(HL) 2 16 Z BIT 3,A 2 8 Z x 6x BIT 4,B 2 8 Z BIT 4,C 2 8 Z BIT 4,D 2 8 Z BIT 4,E 2 8 Z BIT 4,H 2 8 Z BIT 4,L 2 8 Z BIT 4,(HL) 2 16 Z BIT 4,A 2 8 Z BIT 5,B 2 8 Z BIT 5,C 2 8 Z BIT 5,D 2 8 Z BIT 5,E 2 8 Z BIT 5,H 2 8 Z BIT 5,L 2 8 Z BIT 5,(HL) 2 16 Z BIT 5,A 2 8 Z x 7x BIT 6,B 2 8 Z BIT 6,C 2 8 Z BIT 6,D 2 8 Z BIT 6,E 2 8 Z BIT 6,H 2 8 Z BIT 6,L 2 8 Z BIT 6,(HL) 2 16 Z BIT 6,A 2 8 Z BIT 7,B 2 8 Z BIT 7,C 2 8 Z BIT 7,D 2 8 Z BIT 7,E 2 8 Z BIT 7,H 2 8 Z BIT 7,L 2 8 Z BIT 7,(HL) 2 16 Z BIT 7,A 2 8 Z x 8x RES 0,B RES 0,C RES 0,D RES 0,E RES 0,H RES 0,L RES 0,(HL) RES 0,A RES 1,B RES 1,C RES 1,D RES 1,E RES 1,H RES 1,L RES 1,(HL) RES 1,A x 9x RES 2,B RES 2,C RES 2,D RES 2,E RES 2,H RES 2,L RES 2,(HL) RES 2,A RES 3,B RES 3,C RES 3,D RES 3,E RES 3,H RES 3,L RES 3,(HL) RES 3,A Ax Ax RES 4,B RES 4,C RES 4,D RES 4,E RES 4,H RES 4,L RES 4,(HL) RES 4,A RES 5,B RES 5,C RES 5,D RES 5,E RES 5,H RES 5,L RES 5,(HL) RES 5,A Bx Bx RES 6,B RES 6,C RES 6,D RES 6,E RES 6,H RES 6,L RES 6,(HL) RES 6,A RES 7,B RES 7,C RES 7,D RES 7,E RES 7,H RES 7,L RES 7,(HL) RES 7,A Cx Cx SET 0,B SET 0,C SET 0,D SET 0,E SET 0,H SET 0,L SET 0,(HL) SET 0,A SET 1,B SET 1,C SET 1,D SET 1,E SET 1,H SET 1,L SET 1,(HL) SET 1,A Dx Dx SET 2,B SET 2,C SET 2,D SET 2,E SET 2,H SET 2,L SET 2,(HL) SET 2,A SET 3,B SET 3,C SET 3,D SET 3,E SET 3,H SET 3,L SET 3,(HL) SET 3,A Ex Ex SET 4,B SET 4,C SET 4,D SET 4,E SET 4,H SET 4,L SET 4,(HL) SET 4,A SET 5,B SET 5,C SET 5,D SET 5,E SET 5,H SET 5,L SET 5,(HL) SET 5,A Fx Fx SET 6,B SET 6,C SET 6,D SET 6,E SET 6,H SET 6,L SET 6,(HL) SET 6,A SET 7,B SET 7,C SET 7,D SET 7,E SET 7,H SET 7,L SET 7,(HL) SET 7,A

Department of Electrical & Computer Engineering Instruction Set 2nd set of operations display even more Opcode symmetry 3 bitwise operations: Test, Set, Reset Other register operations: Rotates, Shifts, Swap (upper/lower nibble)

Department of Electrical & Computer Engineering Audio Controller Audio Control Registers Audio Memory Quadrangular with Sweep and Envelope Quadrangular with Envelope Wave from RAM White Noise with Envelope Memory Controller Audio Synthesizer Audio System Cartridge

Department of Electrical & Computer Engineering

Responsibilities Team Member Technical Responsibilities Corporate Responsibilities Kent W. Nixon Serial, Memory Controller Color Selection Tom Nason CPU and Instruction Set Business Card Design Enes EkenCartridgePlay Testing Christopher LukasAudio Human Resource Management

Department of Electrical & Computer Engineering Plans for Next Week Test the tool flow from compiling to synthesizing to place and routing using our button module Split into the 2 groups of 2 as discussed –Tom and Chris can work together on getting the CPU up and running, and Enes and I can focus on the memory controller and routing out everything that goes along with that