Skip to content

About

Verilog HDL implementation of a Memory Management Unit (MMU) featuring virtual-to-physical address translation, page table lookup, memory protection, fault handling, and waveform-based verification.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Memory Management Unit (MMU) Design using Verilog HDL

Overview

This project implements a simplified Memory Management Unit (MMU) using Verilog HDL. The design performs virtual-to-physical address translation, memory protection, page validation, and permission checking. The project demonstrates fundamental concepts used in modern processors and operating systems.


Features

  • Virtual Address Translation
  • Physical Address Generation
  • Page Table Lookup
  • Valid Bit Verification
  • Read Permission Checking
  • Write Permission Checking
  • Page Fault Detection
  • Protection Fault Detection
  • Verilog RTL Implementation
  • Self-Checking Testbench
  • GTKWave Verification

Architecture

Virtual Address ↓ Page Number Extraction ↓ Page Table Lookup ↓ Valid Bit Check ↓ Permission Check ↓ Frame Mapping ↓ Physical Address Output


Design Specifications

Parameter Value
Virtual Address Width 16 bits
Physical Address Width 16 bits
Page Size 256 Bytes
VPN Width 8 bits
Offset Width 8 bits

Project Structure

MMU-Design-Verilog-HDL/

├── rtl/ ├── tb/ ├── reports/ ├── simulation/ ├── waveforms/ ├── README.md └── .gitignore


Tools Used

  • Verilog HDL
  • Visual Studio Code
  • Icarus Verilog
  • GTKWave

Simulation Commands

iverilog -o mmu_sim rtl/mmu.v tb/mmu_tb.v

vvp mmu_sim

gtkwave waveforms/mmu.vcd

Test Cases

Test Case Result
Valid Translation PASS
Invalid Page PASS
Write Protection Fault PASS
Valid Read Access PASS

Waveform Verification

The generated waveform verifies:

  • Successful address translation
  • Page fault generation
  • Protection fault generation
  • Translation validity

Applications

  • Processor Design
  • Virtual Memory Systems
  • Operating Systems
  • Embedded Systems
  • Secure Computing
  • Computer Architecture Education

Future Enhancements

  • Translation Lookaside Buffer (TLB)
  • ASID Support
  • LRU Replacement
  • Multi-level Page Tables
  • Page Table Walker
  • AXI Interface

About

Verilog HDL implementation of a Memory Management Unit (MMU) featuring virtual-to-physical address translation, page table lookup, memory protection, fault handling, and waveform-based verification.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages