⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 operations.v

📁 MIPS CPU tested in Icarus Verilog
💻 V
字号:
//--------------------------------------------------------------------------
// FILE NAME      : Operations.v
// TYPE           : Include file
//
// DESCRIPTION    : This file contains the definition of the operations for
//                  the 32-bit ALU, branch, and memory units.
//
// AUTHOR         : Abelardo Lopez-Lagunas
//
//--------------------------------------------------------------------------
// Release History
// VERSION  Date      AUTHOR             DESCRIPTION
//   1.0    26/09/05  Abelardo Lopez     File created
//   1.1    03/10/05  Abelardo Lopez     Added special opcodes
//--------------------------------------------------------------------------
// KEYWORDS  : 32-bit MIPS Opcodes, Arithmetic, Logic, Shift, Memory, Branch
//--------------------------------------------------------------------------
// PURPOSE   : This is the definition of ALL the Opcodes for the ALU
//--------------------------------------------------------------------------

// Arithmetic Operations
//parameter ZERO  = 6'b000000;
parameter ADD   = 6'b000000;
parameter ADDI  = 6'b001000;
parameter ADDIU = 6'b001001;
parameter ADDU  = 6'b000000;
parameter SUB   = 6'b000000;
parameter SUBU  = 6'b000000;
parameter MULT  = 6'b000000;
parameter MULTU = 6'b000000;
parameter DIV   = 6'b000000;
parameter DIVU  = 6'b000000;
parameter NOP   = 6'b111111;
		  
// Logic Operations
parameter AND   = 6'b000000;
parameter ANDI  = 6'b001100;
parameter OR    = 6'b000000;
parameter ORI   = 6'b001101;
parameter NOR   = 6'b000000;
parameter XOR   = 6'b000000;
parameter XORI  = 6'b001110;

// Shift Operations
parameter SLL   = 6'b000000;
parameter SLLV  = 6'b000000;
parameter SRA   = 6'b000000;
parameter SRAV  = 6'b000000;
parameter SRL   = 6'b000000;
parameter SRLV  = 6'b000000;

// Memory Operations
parameter LB    = 6'b100000;
parameter LBU   = 6'b100100;
parameter LH    = 6'b100001;
parameter LHU   = 6'b100101;
parameter LUI   = 6'b001111;
parameter LW    = 6'b100011;
parameter SB    = 6'b101000;
parameter SH    = 6'b101001;
parameter SW    = 6'b101011;

// Branch instructions
parameter J     = 6'b000010;
//parameter JAL   = 6'b000011;
//parameter JR    = 6'b000000;
parameter BEQ   = 6'b000100;
parameter BNE   = 6'b000101;

// Special instructions
//parameter S_JR   = 6'b001000;
parameter S_ADD  = 6'b100000;
parameter S_ADDU = 6'b100001;
parameter S_SUB  = 6'b100010;
parameter S_SUBU = 6'b100011;
parameter S_AND  = 6'b100100;
parameter S_OR   = 6'b100101;
parameter S_NOR  = 6'b100111;
parameter S_XOR  = 6'b100110;
parameter S_SLL  = 6'b000000;
parameter S_SLLV = 6'b000100;
parameter S_SRA  = 6'b000011;
parameter S_SRAV = 6'b000111;
parameter S_SRL  = 6'b000010;
parameter S_SRLV = 6'b000110;
parameter S_MULT = 6'b011000;
parameter S_MULTU= 6'b011001;
parameter S_DIV  = 6'b011010;
parameter S_DIVU = 6'b011011;
//parameter S_LUI  = 6'b001111;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -