Hello my name is Burak,
Its nice to meet you!
A bit about me
Education:
University of Texas at Austin
Class of 2022
Major GPA: 3.85
GPA: 3.65
Some of my previous work experience:
AMD (SLT & ATE Intern)
Silicon Labs (‘Global Ops Intern’)
Vast (SWE Intern)
Summer Advanced Research Camp (TA)
Elk Electric (Apprentice Electrician)
A Custom MCU �& ISA design
Or: How I learned to let go of small things like ‘value proposition’, ‘opportunity cost’ and ‘reason’ in order to embrace the transistor.
Overview of MCU Design
Custom 8-bit RISC CMOS Design
To be Implemented with discrete parts.
Version 0.1 Had only 1060 Transistors.
Current (V0.3) Transistor Count of 2494
2 General Purpose Registers
2 Accumulator-like Registers
1 Hidden Swap Register
1 status register
No Hardware Stack Pointer or Interrupts!
Typical Module implementation
** - values represented as Per-Bit/Base. Master Slave D flip Flop: 36/4. D latch: 20/2.
Overview of ISA
Instruction | Sub-Op | Description | Bits |
MOV | | Dest <- Imm | 00DR 0Imm |
MOV | | Dest <- SRC | 00DR 10SR |
SWP | | Dest <-> SRC | 00DR 11SR |
ALU | NOTB ADD SUB AND OR PC IOG IOS BNK | Dest <- Impl Dest <- Impl Dest <- Impl Dest <- Impl Dest <- Impl Dest <- Impl Dest <- IO IO <- SRC BNK <- SRC | 01DR 0000 01DR 0001 01DR 0010 01DR 0011 01DR 0100 01DR 0101 01DR 0110 0100 11SR 0101 11SR |
LD | | Dest<-MEM[PC+Imm] | 10DR 0Imm |
LDR | | Dest<-MEM[SRC] | 10DR 10SR |
LDP | | Dest<-MEM[PC+SRC] | 10DR 11SR |
JMP | | PC <- PC+Imm | 111I mmmm |
JMPR | JMPR(n/z/p) | PC <- SRC | 1100 NZSR |
JMPP | JMPI(n/z/p) | PC <- PC+SRC | 1101 NZSR |
*- except IO and SWP ** - PC only, DR – Dest, Imm – Immediate, SR – Source Register, NZ - NZP bits, SWP – Swap, IO – Input Output
Typical Instruction Implementation
Typical Instruction Implementation
PC
0
PC+1
ALU Has Incr. Control Line
PC+1
PC+1
Typical Instruction Implementation
PC is SR latch so cannot R/W at same time.
PC+1
PC+1
Typical Instruction Implementation
MEM[PC+1]
MEM[PC+1]
Jumps have condition and SC will check now
Typical Instruction Implementation
A
A
Since A&B are not just input buffers long swap sequences are possible
Typical Instruction Implementation
S1
S1
Typical Instruction Implementation
A
A
Typical Instruction Implementation
S1
PC
PC+S1
PC+S1
Typical Instruction Implementation
PC+S1
PC+S1
Typical Instruction Implementation
S1
S1
Typical Instruction Implementation
A
A
Typical Instruction Implementation
S1
S1
Power Consumption
Value Proposition
Future development plans
End
Evaluate ISA From user perspective
ISA Improvement possible
Generate gate level update for MCU
Evaluate compatibility at transistor level
Find if it is Functional
Create Verilog models to verify functionality
Do Bugs exist?
Simulate full circuit at electrical level
Do Bugs exist?
Layout all components and verify compliance with schematics
Questions?
Bonus slides ahead!
Inspiration MOnSter 6502
Concept Drawing �(V.3)
Change in Layout concept in upcoming v.4
30cm * 30cm PCB
Cost: ~200 USD
10*10cm*10cm PCB
Cost: ~8 USD
Using a Stackable design poses additional challenge as
It will have negative effects on amount capacitance and
Inductance as well as increasing effort for lay out,
but significantly reduces costs and increases room.
Like design of TM4C dev board in concept.
Improvements in V.4