咱们讨论简化的RISC CPU设计。
2.RISC CPU结构
④算数运算器
算术逻辑运算单元 根据输入的8种不同操作码分别实现相应的加、与、异或、跳转等8种基本操作运算。利用这几种基本运算可以实现很多种其它运算以及逻辑判断等操作。
其VerilogHDL 程序见下面的模块:
//------------------------------------------
module alu (alu_out, zero, data, accum, alu_clk, opcode);
output [7:0]alu_out;
output zero;
input [7:0] data, accum;
input [2:0] opcode;
input alu_clk;
reg [7:0] alu_out;
parameter HLT =3’b000,
SKZ =3’b001,
ADD =3’b010,
ANDD =3’b011,
XORR =3’b100,
LDA =3’b101,
STO =3’b110,
JMP =3’b111;
assign zero = !accum;
always @(posedgealu_clk)
begin //操作码来自指令寄存器的输出opc_iaddr<15..0>的低3位
casex (opcode)
HLT: alu_out<=accum;
SKZ: alu_out<=accum;
ADD: alu_out<=data+accum;
ANDD: alu_out<=data&accum;
XORR: alu_out<=data^accum;
LDA: alu_out<=data;
STO: alu_out<=accum;
JMP: alu_out<=accum;
default: alu_out<=8'bxxxx_xxxx;
endcase
end
endmodule
//------------------------------------------
-
FPGA
+关注
关注
1599文章
21273浏览量
592837 -
RISC
+关注
关注
6文章
430浏览量
83194
原文标题:跟Raul学FPGA——第七十三篇
文章出处:【微信号:Raul_Woo,微信公众号:工控周刊】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论