Skip to content

Latest commit

 

History

100 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SecureRISC

SecureRISC CI Release License Stars

Verilog RISC-V Icarus Verilog GTKWave

A Hardware-Assisted Secure RISC-V-Style Processor

SecureRISC is a 32-bit RISC-V-style processor architecture implemented in Verilog RTL with hardware-assisted security mechanisms for instruction verification and memory protection.

The project explores how security policies can be enforced directly at the hardware level rather than relying only on software-based protection.


Overview

Modern processors can encounter security threats involving malformed instructions and unauthorized memory accesses.

SecureRISC addresses these threats using two primary hardware security mechanisms:

  • Enhanced Instruction Verification
  • Memory Protection Unit (MPU)

These mechanisms are integrated into the processor datapath and verified through dedicated RTL testbenches, security attack simulations, and waveform analysis.


Key Features

  • 32-bit RISC-V-style processor architecture
  • Arithmetic Logic Unit (ALU)
  • Register file
  • Program counter
  • Instruction decoder
  • Immediate generator
  • Instruction memory
  • Data memory
  • Enhanced instruction verification
  • Hardware Memory Protection Unit (MPU)
  • Illegal instruction detection
  • Instruction encoding validation
  • Protected memory regions
  • Unauthorized memory access detection
  • Unauthorized memory access blocking
  • CPU-level security attack simulation
  • RTL simulation using Icarus Verilog
  • Waveform analysis using GTKWave
  • Automated GitHub Actions CI

System Architecture

SecureRISC Architecture

                         +----------------------+
                         |   Program Counter    |
                         +----------+-----------+
                                    |
                                    v
                         +----------------------+
                         |  Instruction Memory  |
                         +----------+-----------+
                                    |
                                    v
                         +----------------------+
                         | Instruction Verifier |
                         |    Security Check    |
                         +----------+-----------+
                                    |
                         Valid Instruction
                                    |
                                    v
                         +----------------------+
                         | Instruction Decoder  |
                         +----------+-----------+
                                    |
                    +---------------+---------------+
                    |                               |
                    v                               v
             +-------------+                +---------------+
             | Register    |                | Immediate     |
             | File        |                | Generator     |
             +------+------+                +-------+-------+
                    |                               |
                    +---------------+---------------+
                                    |
                                    v
                              +-----------+
                              |    ALU    |
                              +-----+-----+
                                    |
                                    v
                         +----------------------+
                         | Memory Protection    |
                         | Unit (MPU)           |
                         +----------+-----------+
                                    |
                         +----------+----------+
                         |                     |
                         v                     v
                  Authorized Access      Unauthorized Access
                         |                     |
                         v                     v
                  +-------------+       +----------------+
                  | Data Memory |       | Security       |
                  |             |       | Violation      |
                  +-------------+       +----------------+

FPGA Implementation Results

SecureRISC was successfully implemented using the open-source OSS CAD Suite FPGA toolchain. The design was synthesized and placed and routed for an ECP5 FPGA architecture.

Implementation Flow

Verilog RTL → Yosys Synthesis → Technology Mapping → Place & Route → Timing Analysis

About

A secure RISC-V processor architecture for IoT devices featuring hardware-based memory protection, instruction verification, and modular RTL design using Verilog.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages