SkillAgentSearch skills...

Pipeline

Pipelined MIPS processor in Verilog

Install / Use

/learn @Menci/Pipeline
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Pipeline

Pipelined MIPS processor in Verilog. See report for more information.

Supported instructions:

* add, addu, sub, subu, sll, srl, sra, sllv, srlv, srav, and, or, xor, nor, slt, sltu
* addi, addiu, andi, ori, xori, slti, sltiu
* lui
* mult, multu, div, divu, mfhi, mflo, mthi, mtlo
* beq, bne, blez, bgtz, bltz, bgez
* jr, jalr, j, jal
* lb, lbu, lh, lhu, lw, sb, sh, sw
* syscall (issues a $stop to pause simulation)

Advanced features such as exceptions, interrupts, privilege level and paging are NOT supported.

Run it with Vivado. The testbench file is:

module mips_tb;

reg reset, clock;

TopLevel topLevel(.reset(reset), .clock(clock));

integer k;
initial begin
    reset = 1;
    clock = 0; #1;
    clock = 1; #1;
    clock = 0; #1;
    reset = 0; #1;
    
    $stop;

    #1;
    for (k = 0; k < 5000; k = k + 1) begin
        clock = 1; #5;
        clock = 0; #5;
    end

    $finish;
end
    
endmodule

Related Skills

View on GitHub
GitHub Stars8
CategoryDevelopment
Updated1y ago
Forks0

Languages

SystemVerilog

Security Score

70/100

Audited on Nov 1, 2024

No findings