The necessities in Computer Design

  • control and data paths
  • pipeline design
  • cache design

Introduction

edit

Combinational Circuits

edit
  • Bubble Pushing (pdf)
- Carry Look-ahead Adder (CLA)
- Carry Save Adder (CSA)
- Prefix Adder (Prefix)* Multiplier
- Divider
  • ALU (Arithmetic Logical Unit)


Sequential Circuits

edit
  • FF Metastability (pdf)
  • FF Min Max Timing Constraints (pdf)
  • FF Clock Skew Timing Constraints (pdf)
  • Synchronizer (pdf)
  • Resolution Time Analysis (pdf)


FSM (Finite State Machine)

edit
  • FSM State Encoding
  • FSM Types : Mealy and Moore Machines
  • FSM Example (pdf)


Control Unit Design Techniques

edit

ASM (Algorithmic State Machine)

edit
- Reese's Lecture Note

One Hot Designs

edit
  • One Hot Design (pdf)

Microprogramming

edit
  • Microprogramming Design (pdf)


Data Unit Design Techniques

edit

Pipeline

edit

Multiplier

edit
  • Barrel Shifter (3A.pdf)
  • Booth Multiplier



Memory System Design Techniques

edit

Cache Memories

edit
  • Content Addressable Memory (pdf)
  • Address Partition (pdf)
  • Cache Mapping (pdf)

Virtual Memories

edit

Memory Banks

edit

Interleaved Banks

edit


IO Design Techniques

edit

Interrupt

edit
  • Interrupt (pdf)


Memory Mapped IO

edit
  • Memory Mapped IO (pdf)


Intersystem Communication

edit
  • Intersystem Communication (pdf)


Peripherals and Interfacing

edit


Practicing Design

edit

Implementation Techniques

edit

Implementation in Hardware

Implementation in Software



Tiny CPU Architecture Examples

edit
  • Instruction Set (pdf)
  • Data Path (pdf)
  • Control Path (pdf)
  • FPGA Implementation (pdf)



C to HDL Exercises

edit


go to [ Electrical_&_Computer_Engineering_Studies ]

edit