diff --git a/lib/riscv.svg b/lib/riscv.svg index d6022c3..ec7006c 100644 --- a/lib/riscv.svg +++ b/lib/riscv.svg @@ -1,1406 +1,2561 @@ - - -top.tlv - - -cluster. - - -/top + + + + + + +top.tlv + + +cluster. + + +/top - -cluster.stage0 - - -@0 + +cluster.stage0 + + +@0 - -cluster.stage1 - - -@1 + +cluster.stage1 + + +@1 + + + + +cluster.stage2 + + +@2 + + + + +cluster./dmem + + +/dmem[31:0] + + + + +cluster.stage0 + + +@0 + + + + +cluster.stage-1 + + +@-1 + + + + +cluster./xreg + + +/xreg[31:0] + + + + +cluster.stage0 + + +@0 + + + + +cluster.stage-1 + + +@-1 - -$br_tgt_pc@0->$next_pc@0 - - - + +$br_tgt_pc@0->$next_pc@0 + + + - -$dec_bits@0->$is_add@0 - - - + +$dec_bits@0->$is_add@0 + + + - -$dec_bits@0->$is_addi@0 - - - + +$dec_bits@0->$is_addi@0 + + + + + + + + +$dec_bits@0->$is_and@0 + + + + + + + + +$dec_bits@0->$is_andi@0 + + + - -$dec_bits@0->$is_auipc@0 - - - + +$dec_bits@0->$is_auipc@0 + + + - -$dec_bits@0->$is_beq@0 - - - + +$dec_bits@0->$is_beq@0 + + + - -$dec_bits@0->$is_bge@0 - - - + +$dec_bits@0->$is_bge@0 + + + - -$dec_bits@0->$is_bgeu@0 - - - + +$dec_bits@0->$is_bgeu@0 + + + - -$dec_bits@0->$is_blt@0 - - - + +$dec_bits@0->$is_blt@0 + + + - -$dec_bits@0->$is_bltu@0 - - - + +$dec_bits@0->$is_bltu@0 + + + - -$dec_bits@0->$is_bne@0 - - - + +$dec_bits@0->$is_bne@0 + + + - -$dec_bits@0->$is_jal@0 - - - + +$dec_bits@0->$is_jal@0 + + + - -$dec_bits@0->$is_jalr@0 - - - + +$dec_bits@0->$is_jalr@0 + + + - -$dec_bits@0->$is_lui@0 - - - + +$dec_bits@0->$is_lui@0 + + + - - -$dec_bits@0->$is_sb@0 - - - + + +$dec_bits@0->$is_or@0 + + + - - -$dec_bits@0->$is_sh@0 - - - + + +$dec_bits@0->$is_ori@0 + + + + + + + + +$dec_bits@0->$is_sll@0 + + + + + + + + +$dec_bits@0->$is_slli@0 + + + + + + + + +$dec_bits@0->$is_slt@0 + + + - -$dec_bits@0->$is_slti@0 - - - + +$dec_bits@0->$is_slti@0 + + + - - -$dec_bits@0->$is_sw@0 - - - + + +$dec_bits@0->$is_sltiu@0 + + + + + + + + +$dec_bits@0->$is_sltu@0 + + + + + + + + +$dec_bits@0->$is_sra@0 + + + + + + + + +$dec_bits@0->$is_srai@0 + + + + + + + + +$dec_bits@0->$is_srl@0 + + + + + + + + +$dec_bits@0->$is_srli@0 + + + + + + + + +$dec_bits@0->$is_sub@0 + + + + + + + + +$dec_bits@0->$is_xor@0 + + + + + + + + +$dec_bits@0->$is_xori@0 + + + + + + + + +$dmem1_addr@0->$ld_data@0 + + + + + + + + +$dmem1_addr@0->/dmem$wr@0 + + + + + + + + +$dmem1_rd_en@0->$ld_data@0 + + + + + + + + +$dmem1_wr_data@0->/dmem$value@-1 + + + + + + + + +$dmem1_wr_en@0->/dmem$wr@0 + + + - -$funct3@0->$dec_bits@0 - - - + +$funct3@0->$dec_bits@0 + + + - -$funct7@0->$dec_bits@0 - - - + +$funct7@0->$dec_bits@0 + + + - -$imm@0->$br_tgt_pc@0 - - - + +$imm@0->$br_tgt_pc@0 + + + - -$imm@0->$jalr_tgt_pc@0 - - - + +$imm@0->$jalr_tgt_pc@0 + + + - -$imm@0->$result@0 - - - + +$imm@0->$result@0 + + + + + + + + +$imm@0->$sltiu_rslt@0 + + + + + + + + +$imm@0->$srai_rslt@0 + + + - -$instr@0->$funct3@0 - - - + +$instr@0->$funct3@0 + + + - -$instr@0->$funct7@0 - - - + +$instr@0->$funct7@0 + + + - -$instr@0->$imm@0 - - - + +$instr@0->$imm@0 + + + - -$instr@0->$is_b_instr@0 - - - + +$instr@0->$is_b_instr@0 + + + - -$instr@0->$is_i_instr@0 - - - + +$instr@0->$is_i_instr@0 + + + - -$instr@0->$is_j_instr@0 - - - + +$instr@0->$is_j_instr@0 + + + - -$instr@0->$is_r_instr@0 - - - + +$instr@0->$is_r_instr@0 + + + - -$instr@0->$is_s_instr@0 - - - + +$instr@0->$is_s_instr@0 + + + - -$instr@0->$is_u_instr@0 - - - + +$instr@0->$is_u_instr@0 + + + - -$instr@0->$opcode@0 - - - + +$instr@0->$opcode@0 + + + - -$instr@0->$rd@0 - - - + +$instr@0->$rd@0 + + + - -$instr@0->$rs1@0 - - - + +$instr@0->$rs1@0 + + + - -$instr@0->$rs2@0 - - - + +$instr@0->$rs2@0 + + + - -$is_add@0->$result@0 - - - + +$is_add@0->$result@0 + + + - -$is_addi@0->$result@0 - - - + +$is_addi@0->$result@0 + + + + + + + + +$is_and@0->$result@0 + + + + + + + + +$is_andi@0->$result@0 + + + - -$is_auipc@0->$result@0 - - - + +$is_auipc@0->$result@0 + + + - -$is_b_instr@0->$funct3_valid@0 - - - + +$is_b_instr@0->$funct3_valid@0 + + + - -$is_b_instr@0->$imm@0 - - - + +$is_b_instr@0->$imm@0 + + + - -$is_b_instr@0->$imm_valid@0 - - - + +$is_b_instr@0->$imm_valid@0 + + + - -$is_b_instr@0->$rs1_valid@0 - - - + +$is_b_instr@0->$rs1_valid@0 + + + - -$is_b_instr@0->$rs2_valid@0 - - - + +$is_b_instr@0->$rs2_valid@0 + + + - -$is_beq@0->$taken_br@0 - - - + +$is_beq@0->$taken_br@0 + + + - -$is_bge@0->$taken_br@0 - - - + +$is_bge@0->$taken_br@0 + + + - -$is_bgeu@0->$taken_br@0 - - - + +$is_bgeu@0->$taken_br@0 + + + - -$is_blt@0->$taken_br@0 - - - + +$is_blt@0->$taken_br@0 + + + - -$is_bltu@0->$taken_br@0 - - - + +$is_bltu@0->$taken_br@0 + + + - -$is_bne@0->$taken_br@0 - - - + +$is_bne@0->$taken_br@0 + + + - -$is_i_instr@0->$funct3_valid@0 - - - + +$is_i_instr@0->$funct3_valid@0 + + + - -$is_i_instr@0->$imm@0 - - - + +$is_i_instr@0->$imm@0 + + + - -$is_i_instr@0->$imm_valid@0 - - - + +$is_i_instr@0->$imm_valid@0 + + + - -$is_i_instr@0->$rd_valid@0 - - - + +$is_i_instr@0->$rd_valid@0 + + + - -$is_i_instr@0->$rs1_valid@0 - - - + +$is_i_instr@0->$rs1_valid@0 + + + - -$is_j_instr@0->$imm@0 - - - + +$is_j_instr@0->$imm@0 + + + - -$is_j_instr@0->$imm_valid@0 - - - + +$is_j_instr@0->$imm_valid@0 + + + - -$is_j_instr@0->$rd_valid@0 - - - - - - - - -$is_jal@0->$is_jump@0 - - - + +$is_j_instr@0->$rd_valid@0 + + + - -$is_jal@0->$next_pc@0 - - - + +$is_jal@0->$next_pc@0 + + + - -$is_jal@0->$result@0 - - - - - - - - -$is_jalr@0->$is_jump@0 - - - + +$is_jal@0->$result@0 + + + - -$is_jalr@0->$next_pc@0 - - - + +$is_jalr@0->$next_pc@0 + + + - -$is_jalr@0->$result@0 - - - + +$is_jalr@0->$result@0 + + + + + + + + +$is_load@0->$dmem1_rd_en@0 + + + - -$is_load@0->$result@0 - - - + +$is_load@0->$result@0 + + + + + + + + +$is_load@0->$rf1_wr_data@0 + + + - -$is_lui@0->$result@0 - - - + +$is_lui@0->$result@0 + + + + + + + + +$is_or@0->$result@0 + + + + + + + + +$is_ori@0->$result@0 + + + - -$is_r_instr@0->$funct3_valid@0 - - - + +$is_r_instr@0->$funct3_valid@0 + + + - -$is_r_instr@0->$funct7_valid@0 - - - + +$is_r_instr@0->$funct7_valid@0 + + + - -$is_r_instr@0->$rd_valid@0 - - - + +$is_r_instr@0->$rd_valid@0 + + + - -$is_r_instr@0->$rs1_valid@0 - - - + +$is_r_instr@0->$rs1_valid@0 + + + - -$is_r_instr@0->$rs2_valid@0 - - - + +$is_r_instr@0->$rs2_valid@0 + + + + + + + + +$is_s_instr@0->$dmem1_wr_en@0 + + + - -$is_s_instr@0->$funct3_valid@0 - - - + +$is_s_instr@0->$funct3_valid@0 + + + - -$is_s_instr@0->$imm@0 - - - + +$is_s_instr@0->$imm@0 + + + - -$is_s_instr@0->$imm_valid@0 - - - + +$is_s_instr@0->$imm_valid@0 + + + - -$is_s_instr@0->$result@0 - - - + +$is_s_instr@0->$result@0 + + + - -$is_s_instr@0->$rs1_valid@0 - - - + +$is_s_instr@0->$rs1_valid@0 + + + - -$is_s_instr@0->$rs2_valid@0 - - - + +$is_s_instr@0->$rs2_valid@0 + + + + + + + + +$is_sll@0->$result@0 + + + + + + + + +$is_slli@0->$result@0 + + + + + + + + +$is_slt@0->$result@0 + + + - -$is_slti@0->$result@0 - - - + +$is_slti@0->$result@0 + + + + + + + + +$is_sltiu@0->$result@0 + + + + + + + + +$is_sltu@0->$result@0 + + + + + + + + +$is_sra@0->$result@0 + + + + + + + + +$is_srai@0->$result@0 + + + + + + + + +$is_srl@0->$result@0 + + + + + + + + +$is_srli@0->$result@0 + + + + + + + + +$is_sub@0->$result@0 + + + - -$is_u_instr@0->$imm@0 - - - + +$is_u_instr@0->$imm@0 + + + - -$is_u_instr@0->$imm_valid@0 - - - + +$is_u_instr@0->$imm_valid@0 + + + - -$is_u_instr@0->$rd_valid@0 - - - + +$is_u_instr@0->$rd_valid@0 + + + + + + + + +$is_xor@0->$result@0 + + + + + + + + +$is_xori@0->$result@0 + + + - -$jalr_tgt_pc@0->$next_pc@0 - - - + +$jalr_tgt_pc@0->$next_pc@0 + + + + + + + + +$ld_data@0->$rf1_wr_data@0 + + + - -$next_pc@0->$next_pc@1 - - + +$next_pc@0->$next_pc@1 + + + + + +$next_pc@0->$passed_cond@0 + + + + + - -$next_pc@1->$pc@0 - - - + +$next_pc@1->$pc@0 + + + - -$opcode@0->$dec_bits@0 - - - + +$opcode@0->$dec_bits@0 + + + - -$opcode@0->$is_load@0 - - - + +$opcode@0->$is_load@0 + + + + + +$passed_cond@0->$passed_cond@1 + + + + + +$passed_cond@1->$passed_cond@2 + + + - -$pc@0->$br_tgt_pc@0 - - - + +$pc@0->$br_tgt_pc@0 + + + - -$pc@0->$instr@0 - - - + +$pc@0->$instr@0 + + + - -$pc@0->$next_pc@0 - - - + +$pc@0->$next_pc@0 + + + + + + + + +$pc@0->$passed_cond@0 + + + - -$pc@0->$result@0 - - - + +$pc@0->$result@0 + + + + + + + + +$rd@0->$rf1_wr_en@0 + + + + + + + + +$rd@0->$rf1_wr_index@0 + + + + + + + + +$rd_valid@0->$rf1_wr_en@0 + + + - -$reset@0->$next_pc@0 - - - + +$reset@0->$next_pc@0 + + + + + + + + +$reset@0->$passed_cond@0 + + + + + + + + +$reset@0->/dmem$value@-1 + + + + + + + + +$reset@0->/xreg$value@-1 + + + + + + + + +$result@0->$dmem1_addr@0 + + + + + + + + +$result@0->$rf1_wr_data@0 + + + + + + + + +$rf1_rd_en1@0->$src1_value@0 + + + + + + + + +$rf1_rd_en2@0->$src2_value@0 + + + + + + + + +$rf1_rd_index1@0->$src1_value@0 + + + + + + + + +$rf1_rd_index2@0->$src2_value@0 + + + + + + + + +$rf1_wr_data@0->/xreg$value@-1 + + + + + + + + +$rf1_wr_en@0->/xreg$wr@0 + + + + + + + + +$rf1_wr_index@0->/xreg$wr@0 + + + + + + + + +$rs1@0->$rf1_rd_index1@0 + + + + + + + + +$rs1_valid@0->$rf1_rd_en1@0 + + + + + + + + +$rs2@0->$rf1_rd_index2@0 + + + + + + + + +$rs2_valid@0->$rf1_rd_en2@0 + + + + + + + + +$sext_src1@0->$sra_rslt@0 + + + + + + + + +$sext_src1@0->$srai_rslt@0 + + + + + + + + +$sltiu_rslt@0->$result@0 + + + + + + + + +$sltu_rslt@0->$result@0 + + + + + + + + +$sra_rslt@0->$result@0 + + + + + + + + +$srai_rslt@0->$result@0 + + + - -$src1_value@0->$jalr_tgt_pc@0 - - - + +$src1_value@0->$jalr_tgt_pc@0 + + + - -$src1_value@0->$result@0 - - - + +$src1_value@0->$result@0 + + + + + + + + +$src1_value@0->$sext_src1@0 + + + + + + + + +$src1_value@0->$sltiu_rslt@0 + + + + + + + + +$src1_value@0->$sltu_rslt@0 + + + - -$src1_value@0->$taken_br@0 - - - + +$src1_value@0->$taken_br@0 + + + + + + + + +$src2_value@0->$dmem1_wr_data@0 + + + - -$src2_value@0->$result@0 - - - + +$src2_value@0->$result@0 + + + + + + + + +$src2_value@0->$sltu_rslt@0 + + + + + + + + +$src2_value@0->$sra_rslt@0 + + + - -$src2_value@0->$taken_br@0 - - - + +$src2_value@0->$taken_br@0 + + + - -$taken_br@0->$next_pc@0 - - - + +$taken_br@0->$next_pc@0 + + + + + + + + +/dmem$value@-1->/dmem$value@0 + + + + + +/dmem$value@0->$ld_data@0 + + + + + + + + +/dmem$value@0->/dmem$value@-1 + + + + + + + + +/dmem$wr@0->/dmem$value@-1 + + + + + + + + +/xreg$value@-1->/xreg$value@0 + + + + + +/xreg$value@0->$passed_cond@0 + + + + + + + + +/xreg$value@0->$src1_value@0 + + + + + + + + +/xreg$value@0->$src2_value@0 + + + + + + + + +/xreg$value@0->/xreg$value@-1 + + + + + + + + +/xreg$wr@0->/xreg$value@-1 + + + - -$br_tgt_pc@0 - - -$br_ - tgt_ - pc= + +$br_tgt_pc@0 + + +$br_ + tgt_ + pc= - -$dec_bits@0 - - -$dec_ - bits= + +$dec_bits@0 + + +$dec_ + bits= + + + + + +$dmem1_addr@0 + + +$dmem1_ + addr= + + + + + +$dmem1_rd_en@0 + + +$dmem1_ + rd_ + en= + + + + + +$dmem1_wr_data@0 + + +$dmem1_ + wr_ + data= + + + + + +$dmem1_wr_en@0 + + +$dmem1_ + wr_ + en= - -$funct3@0 - - -$funct3= + +$funct3@0 + + +$funct3= - -$funct3_valid@0 - - -$funct3_ - valid= + +$funct3_valid@0 + + +$funct3_ + valid= - -$funct7@0 - - -$funct7= + +$funct7@0 + + +$funct7= - -$funct7_valid@0 - - -$funct7_ - valid= + +$funct7_valid@0 + + +$funct7_ + valid= - -$imm@0 - - -$imm= + +$imm@0 + + +$imm= - -$imm_valid@0 - - -$imm_ - valid= + +$imm_valid@0 + + +$imm_ + valid= - -$instr@0 - - -$instr= + +$instr@0 + + +$instr= - -$is_add@0 - - -$is_ - add= + +$is_add@0 + + +$is_ + add= - -$is_addi@0 - - -$is_ - addi= + +$is_addi@0 + + +$is_ + addi= + + + + + +$is_and@0 + + +$is_ + and= + + + + + +$is_andi@0 + + +$is_ + andi= - -$is_auipc@0 - - -$is_ - auipc= + +$is_auipc@0 + + +$is_ + auipc= - -$is_b_instr@0 - - -$is_ - b_ - instr= + +$is_b_instr@0 + + +$is_ + b_ + instr= - -$is_beq@0 - - -$is_ - beq= + +$is_beq@0 + + +$is_ + beq= - -$is_bge@0 - - -$is_ - bge= + +$is_bge@0 + + +$is_ + bge= - -$is_bgeu@0 - - -$is_ - bgeu= + +$is_bgeu@0 + + +$is_ + bgeu= - -$is_blt@0 - - -$is_ - blt= + +$is_blt@0 + + +$is_ + blt= - -$is_bltu@0 - - -$is_ - bltu= + +$is_bltu@0 + + +$is_ + bltu= - -$is_bne@0 - - -$is_ - bne= + +$is_bne@0 + + +$is_ + bne= - -$is_i_instr@0 - - -$is_ - i_ - instr= + +$is_i_instr@0 + + +$is_ + i_ + instr= - -$is_j_instr@0 - - -$is_ - j_ - instr= + +$is_j_instr@0 + + +$is_ + j_ + instr= - -$is_jal@0 - - -$is_ - jal= + +$is_jal@0 + + +$is_ + jal= - -$is_jalr@0 - - -$is_ - jalr= - - - - - -$is_jump@0 - - -$is_ - jump= + +$is_jalr@0 + + +$is_ + jalr= - -$is_load@0 - - -$is_ - load= + +$is_load@0 + + +$is_ + load= - -$is_lui@0 - - -$is_ - lui= + +$is_lui@0 + + +$is_ + lui= + + + + + +$is_or@0 + + +$is_ + or= + + + + + +$is_ori@0 + + +$is_ + ori= - -$is_r_instr@0 - - -$is_ - r_ - instr= + +$is_r_instr@0 + + +$is_ + r_ + instr= - -$is_s_instr@0 - - -$is_ - s_ - instr= + +$is_s_instr@0 + + +$is_ + s_ + instr= - - -$is_sb@0 - - -$is_ - sb= + + +$is_sll@0 + + +$is_ + sll= - - -$is_sh@0 - - -$is_ - sh= + + +$is_slli@0 + + +$is_ + slli= + + + + + +$is_slt@0 + + +$is_ + slt= - -$is_slti@0 - - -$is_ - slti= + +$is_slti@0 + + +$is_ + slti= - - -$is_sw@0 - - -$is_ - sw= + + +$is_sltiu@0 + + +$is_ + sltiu= + + + + + +$is_sltu@0 + + +$is_ + sltu= + + + + + +$is_sra@0 + + +$is_ + sra= + + + + + +$is_srai@0 + + +$is_ + srai= + + + + + +$is_srl@0 + + +$is_ + srl= + + + + + +$is_srli@0 + + +$is_ + srli= + + + + + +$is_sub@0 + + +$is_ + sub= - -$is_u_instr@0 - - -$is_ - u_ - instr= + +$is_u_instr@0 + + +$is_ + u_ + instr= + + + + + +$is_xor@0 + + +$is_ + xor= + + + + + +$is_xori@0 + + +$is_ + xori= - -$jalr_tgt_pc@0 - - -$jalr_ - tgt_ - pc= + +$jalr_tgt_pc@0 + + +$jalr_ + tgt_ + pc= + + + + + +$ld_data@0 + + +$ld_ + data= - -$next_pc@0 - - -$next_ - pc= + +$next_pc@0 + + +$next_ + pc= - -$next_pc@1 - + +$next_pc@1 + - -$opcode@0 - - -$opcode= + +$opcode@0 + + +$opcode= + + +$passed_cond@0 + + +$passed_ + cond= + + + + + +$passed_cond@1 + + + + +$passed_cond@2 + + - -$pc@0 - - -$pc= + +$pc@0 + + +$pc= - -$rd@0 - - -$rd= + +$rd@0 + + +$rd= - -$rd_valid@0 - - -$rd_ - valid= + +$rd_valid@0 + + +$rd_ + valid= - -$reset@0 - - -$reset= + +$reset@0 + + +$reset= - -$result@0 - - -$result= + +$result@0 + + +$result= + + + + + +$rf1_rd_en1@0 + + +$rf1_ + rd_ + en1= + + + + + +$rf1_rd_en2@0 + + +$rf1_ + rd_ + en2= + + + + + +$rf1_rd_index1@0 + + +$rf1_ + rd_ + index1= + + + + + +$rf1_rd_index2@0 + + +$rf1_ + rd_ + index2= + + + + + +$rf1_wr_data@0 + + +$rf1_ + wr_ + data= + + + + + +$rf1_wr_en@0 + + +$rf1_ + wr_ + en= + + + + + +$rf1_wr_index@0 + + +$rf1_ + wr_ + index= - -$rs1@0 - - -$rs1= + +$rs1@0 + + +$rs1= - -$rs1_valid@0 - - -$rs1_ - valid= + +$rs1_valid@0 + + +$rs1_ + valid= - -$rs2@0 - - -$rs2= + +$rs2@0 + + +$rs2= - -$rs2_valid@0 - - -$rs2_ - valid= + +$rs2_valid@0 + + +$rs2_ + valid= + + + + + +$sext_src1@0 + + +$sext_ + src1= + + + + + +$sltiu_rslt@0 + + +$sltiu_ + rslt= + + + + + +$sltu_rslt@0 + + +$sltu_ + rslt= + + + + + +$sra_rslt@0 + + +$sra_ + rslt= + + + + + +$srai_rslt@0 + + +$srai_ + rslt= - -$src1_value@0 - - -$src1_ - value= + +$src1_value@0 + + +$src1_ + value= - -$src2_value@0 - - -$src2_ - value= + +$src2_value@0 + + +$src2_ + value= - -$taken_br@0 - - -$taken_ - br= + +$taken_br@0 + + +$taken_ + br= - - -$valid@0 - - -$valid= + + +/dmem$value@-1 + + +$value= + + + + + +/dmem$value@0 + + + + +/dmem$wr@0 + + +$wr= + + + + + +/xreg$value@-1 + + +$value= + + + + + +/xreg$value@0 + + + + +/xreg$wr@0 + + +$wr= - -*cyc_cnt - -*cyc_cnt + +*cyc_cnt + +*cyc_cnt - -*failed - -*failed + +*failed + +*failed - -*passed - -*passed + +*passed + +*passed - -*reset - -*reset + +*reset + +*reset - \ No newline at end of file +