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[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]