处理器程序计数器的Verilog代码
在即将到来的时钟周期中,如果执行跳转指令,PC可以增加一个或更新一个跳转地址。如果指令结束,系统应处于停止状态。如何修改此代码,使执行跳转指令后,PC值为上一个PC值(跳转指令之前)+1处理器程序计数器的Verilog代码,verilog,processor,Verilog,Processor,在即将到来的时钟周期中,如果执行跳转指令,PC可以增加一个或更新一个跳转地址。如果指令结束,系统应处于停止状态。如何修改此代码,使执行跳转指令后,PC值为上一个PC值(跳转指令之前)+1 模块PCCU(输入时钟, 输入rst, 输入分支, 输入[7:0]跳转地址, 输出[7:0]pc); 注册[7:0]个人计算机; 始终@(posedge clk) 开始 如果(rst) 开始 pc如果连续有两条跳转指令会发生什么? module PCCU(input clk, input rst,
模块PCCU(输入时钟,
输入rst,
输入分支,
输入[7:0]跳转地址,
输出[7:0]pc);
注册[7:0]个人计算机;
始终@(posedge clk)
开始
如果(rst)
开始
pc如果连续有两条跳转指令会发生什么?
module PCCU(input clk,
input rst,
input branch,
input [7:0] jump_address,
output [7:0] pc);
reg [7:0] pc;
always@(posedge clk)
begin
if(rst)
begin
pc <= 0;
end
else if(branch)
begin
pc <= jump_address;
end
else
begin
pc <= pc + 1;
end
end
endmodule