master
郑几方 3 years ago
parent 033bafb137
commit 335efe2268

@ -18,6 +18,7 @@ def InttoBin(x, n):
x += 2 ** n
return UInttoBin(x, n)
def unsigned_ext(x, n):
return '0' * (n - len(x)) + x

@ -1,5 +1,9 @@
def branch_unit(cur_pc, imm, jalr_sel, branch_taken,
alu_result): # 输入值为当前pcint立即数jalr信号是否跳转信号alu运算结果(全是int型)
from typing import Tuple
def branch_unit(
cur_pc: int, imm: int, jalr_sel: int, branch_taken: int, alu_result: int
) -> Tuple[int, int, int, int]: # 输入值为当前pcint立即数jalr信号是否跳转信号alu运算结果(全是int型)
pc_plus_4 = cur_pc + 4 # 输出为pc_plus_imm,pc_plus_4,branch_target,pc_sel(忘了这是啥了,需要回头再看)
pc_plus_imm = cur_pc + imm
pc_sel = jalr_sel | (branch_taken & (alu_result % 2))

Loading…
Cancel
Save