①Mini-Decode:
Mini-Decode 模块内部也是例化调用一个完整的 Decode 模块,但是将其不相关的输入信号接零、输出信号悬空不连接,从而使得综合工具将完整 Deco 模块中无关逻辑优化掉,成为一个 Mini-Decode。
好处是不用维护两个decode模块。
②Simple-BPU:
- 带条件直接跳转指令——Bxx(BEQ、BNE等)
P:使用静态预测后跳转则预测为需要跳,否则预测为不需要跳〉。
assign prdt_taken = (dec_jal | dec_jalr | (dec_bxx & dec_bjp_imm[`E203_XLEN-1]));
//如果立即数表示的偏移量( offset 为负数 最高位符号位为 ), 意昧着方向为向后跳转,预测为需要跳转
T:对于其跳转目标地址, Simple-BPU 按照指令的定义,使用其 PC 和立即数表示的 offset 相加得到其跳转目标地址。
assign prdt_pc_add_op1 = (dec_bxx | dec_jal) ? pc[`E203_PC_SIZE-1:0]:............
// 如果为bxx或者j