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 ]

External links edit