The necessities in Computer Design

From Wikiversity
Jump to navigation Jump to search
  • 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 Design (pdf)

Data Unit Design Techniques [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 (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]