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

📄 alucontrl.v

📁 组成原理大作业--基于MIPS的运算器设计
💻 V
字号:
module alucontrl( op , ina , inb , aluOp , aluCtrl , writein , outcalc , shiftsign , extend , luisign , sign , signslt);   //???????? //控制信号生成单元input [31:0] op ;//输入的32位的机器指令output [1:0] aluOp, outcalc;//得到的alu操作指令和结果输出的多路选择器控制信号output [3:0] aluCtrl ;//得到的ALU控制信号output ina , inb , writein , shiftsign , extend , luisign , sign , signslt;//生成的控制信号,依次为A口控制信号,B口控制信号,写寄存器信号,移位寄存器控制信号,符号扩展控制信号,lui指令控制信号,有符号运算信号,有符号slt指令信号wire ina , inb , writein , shiftsign , extend , luisign , sign , signslt;wire [1:0] aluOp, outcalc;wire [3:0] aluCtrl ;//以下是各个信号的逻辑表达式assign aluOp[1] = ~op[31] & ~op[30] & ~op[29] & ~op[28] & ~op[27] & ~op[26];	//R type op=1assign aluOp[0] = ~aluOp[1];													//I type op=1assign writein = aluOp[1];assign extend = aluOp[0] & ~op[28] & ~op[26];assign luisign = op[28] & op[27] & op[26];assign ina = op[28] & op[27] & op[26];assign inb = aluOp[0];assign shiftsign = aluOp[1] & ~op[5] & ~op[4] & op[1];assign aluCtrl[3] = aluOp[1] & op[2] & op[1];assign aluCtrl[2] = (aluOp[1] & op[5] & op[1]) | ~op[28] & op[27];assign aluCtrl[1] = (aluOp[1] & op[5] & ~op[2]) | (aluOp[0] & ~op[28]) | (op[27] & op[26]);assign aluCtrl[0] = (aluOp[1] & op[2] & ~op[1] & op[0]) | ( aluOp[1] & op[5] & op[3] & ~op[2] & op[1]) | (~op[28] & op[27]) | (op[28] & ~op[27] & op[26]);assign outcalc[0] = aluOp[1] & ~op[5] & op[4];assign outcalc[1] = aluOp[1] & ~op[5] & ~(op[4] & ~op[1]);assign sign = aluOp[1] & ~op[2] & ~op[0] & (~op[5] & op[3] | op[5] & ~op[3]) | aluOp[0] & ~op[28] & ~op[27] & ~op[26];assign signslt = aluOp[1] & op[5] & op[3] & ~op[0] | aluOp[0] & ~op[28] & op[27] & ~op[26];endmodule

⌨️ 快捷键说明

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