mirror of
https://github.com/WangXuan95/USTC-RVSoC.git
synced 2025-01-30 23:02:55 +08:00
简化流水线
This commit is contained in:
parent
51c599dc7c
commit
4ee38db502
@ -280,7 +280,6 @@ set_global_assignment -name SYSTEMVERILOG_FILE ../../RTL/core_regfile.sv
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE ../../RTL/core_id_segreg.sv
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE ../../RTL/core_id_stage.sv
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE ../../RTL/core_alu.sv
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE ../../RTL/core_ex_branch_judge.sv
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE ../../RTL/core_bus_wrapper.sv
|
||||
set_global_assignment -name SYSTEMVERILOG_FILE ../../RTL/dual_read_port_ram_32x32.sv
|
||||
set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top
|
@ -1,4 +1,4 @@
|
||||
/* Quartus II 32-bit Version 13.1.0 Build 162 10/23/2013 SJ Full Version */
|
||||
/* Quartus II 64-Bit Version 13.1.0 Build 162 10/23/2013 SJ Full Version */
|
||||
JedecChain;
|
||||
FileRevision(JESD32A);
|
||||
DefaultMfr(6E);
|
||||
|
@ -1,6 +1,6 @@
|
||||
<sld_project_info>
|
||||
<project>
|
||||
<hash md5_digest_80b="c0f22711e2ea592227c1"/>
|
||||
<hash md5_digest_80b="cefaa24b22dc0d7c5813"/>
|
||||
</project>
|
||||
<file_info>
|
||||
<file device="EP4CE22F17C6" path="DE0Nano_USTCRVSoC.sof" usercode="0xFFFFFFFF"/>
|
||||
|
Binary file not shown.
@ -1,29 +1,57 @@
|
||||
module core_alu(
|
||||
input logic [ 6:0] i_opcode, i_funct7,
|
||||
input logic [ 2:0] i_funct3,
|
||||
input logic [31:0] i_num1u, i_num2u, i_immu, i_pc_immu,
|
||||
output logic [31:0] o_res
|
||||
input logic [31:0] i_num1u, i_num2u, i_pc, i_immu,
|
||||
output logic o_branch_jalr,
|
||||
output logic [31:0] o_res, o_branch_jalr_target
|
||||
);
|
||||
|
||||
logic [4:0] shamt_rs, shamt_imm;
|
||||
logic [31:0] shifted;
|
||||
logic [ 4:0] shamt_rs, shamt_imm;
|
||||
logic [31:0] num1_plus_imm, pc_plus_imm;
|
||||
logic signed [31:0] i_num1s, i_num2s, i_imms;
|
||||
|
||||
assign shamt_imm = i_immu[4:0];
|
||||
assign shamt_rs = i_num2u[4:0];
|
||||
assign i_num1s = i_num1u;
|
||||
assign i_num2s = i_num2u;
|
||||
assign i_imms = i_immu;
|
||||
assign shamt_imm = i_immu[4:0];
|
||||
assign shamt_rs = i_num2u[4:0];
|
||||
assign num1_plus_imm = i_num1u + i_immu;
|
||||
assign pc_plus_imm = i_pc + i_immu;
|
||||
assign i_num1s = i_num1u;
|
||||
assign i_num2s = i_num2u;
|
||||
assign i_imms = i_immu;
|
||||
|
||||
always_comb
|
||||
case(i_opcode)
|
||||
7'b1100111 : begin // JALR
|
||||
o_branch_jalr <= 1'b1;
|
||||
o_branch_jalr_target <= num1_plus_imm;
|
||||
end
|
||||
7'b1100011 : begin // BRANCH类
|
||||
case(i_funct3)
|
||||
3'b000 : o_branch_jalr <= (i_num1u == i_num2u); // BEQ
|
||||
3'b001 : o_branch_jalr <= (i_num1u != i_num2u); // BNE
|
||||
3'b100 : o_branch_jalr <= (i_num1s < i_num2s); // BLT
|
||||
3'b101 : o_branch_jalr <= (i_num1s >= i_num2s); // BGE
|
||||
3'b110 : o_branch_jalr <= (i_num1u < i_num2u); // BLTU
|
||||
3'b111 : o_branch_jalr <= (i_num1u >= i_num2u); // BGEU
|
||||
default: o_branch_jalr <= 1'b0;
|
||||
endcase
|
||||
o_branch_jalr_target <= pc_plus_imm;
|
||||
end
|
||||
default : begin // 不跳转
|
||||
o_branch_jalr <= 1'b0;
|
||||
o_branch_jalr_target <= 0;
|
||||
end
|
||||
endcase
|
||||
|
||||
always_comb
|
||||
casex({i_funct7,i_funct3,i_opcode})
|
||||
// JAL类与JALR类
|
||||
17'bxxxxxxx_xxx_110x111 : o_res <= i_pc + 4; // JAL, JALR
|
||||
// LUI类
|
||||
17'bxxxxxxx_xxx_0110111 : o_res <= i_immu; // LUI
|
||||
// AUIPC类
|
||||
17'bxxxxxxx_xxx_0010111 : o_res <= i_pc_immu; // AUIPC
|
||||
17'bxxxxxxx_xxx_0010111 : o_res <= pc_plus_imm ; // AUIPC
|
||||
// 算术类
|
||||
17'b0000000_000_0110011 : o_res <= i_num1u + i_num2u; // ADD
|
||||
17'bxxxxxxx_000_0010011 : o_res <= i_num1u + i_immu ; // ADDI
|
||||
17'bxxxxxxx_000_0010011 : o_res <= num1_plus_imm ; // ADDI
|
||||
17'b0100000_000_0110011 : o_res <= i_num1u - i_num2u; // SUB
|
||||
// 逻辑类
|
||||
17'b0000000_100_0110011 : o_res <= i_num1u ^ i_num2u; // XOR
|
||||
|
@ -1,26 +0,0 @@
|
||||
module core_ex_branch_judge(
|
||||
input logic i_branch,
|
||||
input logic [31:0] i_num1u, i_num2u,
|
||||
input logic [ 2:0] i_funct3,
|
||||
output logic o_branch
|
||||
);
|
||||
|
||||
logic branch_judge_res;
|
||||
assign o_branch = i_branch & branch_judge_res;
|
||||
|
||||
logic signed [31:0] i_num1s, i_num2s;
|
||||
assign i_num1s = i_num1u;
|
||||
assign i_num2s = i_num2u;
|
||||
|
||||
always_comb
|
||||
case(i_funct3)
|
||||
3'b000 : branch_judge_res <= (i_num1u == i_num2u); // BEQ
|
||||
3'b001 : branch_judge_res <= (i_num1u != i_num2u); // BNE
|
||||
3'b100 : branch_judge_res <= (i_num1s < i_num2s); // BLT
|
||||
3'b101 : branch_judge_res <= (i_num1s >= i_num2s); // BGE
|
||||
3'b110 : branch_judge_res <= (i_num1u < i_num2u); // BLTU
|
||||
3'b111 : branch_judge_res <= (i_num1u >= i_num2u); // BGEU
|
||||
default: branch_judge_res <= 1'b0;
|
||||
endcase
|
||||
|
||||
endmodule
|
@ -4,7 +4,7 @@ module core_id_segreg(
|
||||
input logic [31:0] i_boot_addr,
|
||||
input logic i_en, i_re, i_ex_jmp, i_id_jmp,
|
||||
input logic [31:0] i_ex_jmp_target, i_id_jmp_target,
|
||||
output logic [31:0] o_pc, o_next_pc, o_instr,
|
||||
output logic [31:0] o_pc, o_instr,
|
||||
|
||||
naive_bus.master bus_master
|
||||
);
|
||||
@ -22,8 +22,6 @@ assign bus_master.rd_be = {4{i_re}};
|
||||
assign bus_master.rd_addr = i_re ? target_pc : 0;
|
||||
assign conflict = (bus_master.rd_req & ~bus_master.rd_gnt);
|
||||
|
||||
assign o_next_pc = o_pc + 4;
|
||||
|
||||
always_comb
|
||||
if(i_ex_jmp)
|
||||
target_pc <= i_ex_jmp_target;
|
||||
@ -32,7 +30,7 @@ always_comb
|
||||
else if( ~(i_re) | conflict_latch)
|
||||
target_pc <= o_pc;
|
||||
else
|
||||
target_pc <= o_next_pc;
|
||||
target_pc <= o_pc + 4;
|
||||
|
||||
always @ (posedge clk or negedge rst_n)
|
||||
if(~rst_n) begin
|
||||
|
@ -1,79 +1,68 @@
|
||||
module core_id_stage(
|
||||
input logic [31:0] i_instr,
|
||||
input logic [31:0] i_pc,
|
||||
output logic [ 4:0] o_rs1_addr, o_rs2_addr,
|
||||
output logic o_rs1_en, o_rs2_en,
|
||||
output logic o_jal, o_jalr, o_branch_may,
|
||||
output logic o_nextpc2reg, o_alures2reg, o_memory2reg,
|
||||
output logic o_mem_write,
|
||||
output logic [31:0] o_pc_plus_imm, o_imm,
|
||||
output logic [4:0] o_dst_reg_addr,
|
||||
output logic [6:0] o_opcode, o_funct7,
|
||||
output logic [2:0] o_funct3
|
||||
output logic o_src1_reg_en, o_src2_reg_en,
|
||||
output logic o_jal, o_alures2reg, o_memory2reg, o_mem_write,
|
||||
output logic [ 4:0] o_src1_reg_addr, o_src2_reg_addr, o_dst_reg_addr,
|
||||
output logic [ 6:0] o_opcode, o_funct7,
|
||||
output logic [ 2:0] o_funct3,
|
||||
output logic [31:0] o_imm
|
||||
);
|
||||
|
||||
logic [31:0] instr;
|
||||
assign {o_funct7, o_src2_reg_addr, o_src1_reg_addr, o_funct3, o_dst_reg_addr, o_opcode} = i_instr;
|
||||
|
||||
enum {UKNOWN_TYPE, R_TYPE, I_TYPE, IZ_TYPE, S_TYPE, B_TYPE, U_TYPE, J_TYPE} instr_type;
|
||||
|
||||
|
||||
localparam OPCODE_AUIPC = 7'b0010111, // rd=pc+imm
|
||||
OPCODE_LUI = 7'b0110111, // rd=imm;
|
||||
OPCODE_JAL = 7'b1101111, // rd=pc+4, pc= pc+imm*2,
|
||||
OPCODE_JALR = 7'b1100111, // rd=pc+4, pc= rs1+imm
|
||||
OPCODE_BXXX = 7'b1100011, // conditional branch, pc= pc+imm*2,
|
||||
OPCODE_LUI = 7'b0110111, // rd = imm;
|
||||
OPCODE_BRANCH = 7'b1100011, // conditional branch, pc= pc+imm*2,
|
||||
OPCODE_ALI = 7'b0010011, // arithmetic and logical I-TYPE, rd=alu_res
|
||||
OPCODE_ALR = 7'b0110011, // arithmetic and logical R-TYPE, rd=alu_res
|
||||
OPCODE_LOAD = 7'b0000011, // load
|
||||
OPCODE_STORE = 7'b0100011; // store
|
||||
|
||||
assign instr = i_instr;
|
||||
assign o_pc_plus_imm = i_pc + o_imm;
|
||||
assign {o_funct7, o_rs2_addr, o_rs1_addr, o_funct3, o_dst_reg_addr, o_opcode} = instr;
|
||||
|
||||
// generate control signals
|
||||
assign o_jal = (o_opcode == OPCODE_JAL );
|
||||
assign o_jalr = (o_opcode == OPCODE_JALR );
|
||||
assign o_branch_may = (o_opcode == OPCODE_BXXX );
|
||||
assign o_nextpc2reg = (o_opcode == OPCODE_JAL || o_opcode == OPCODE_JALR );
|
||||
assign o_alures2reg = (o_opcode == OPCODE_LUI || o_opcode == OPCODE_AUIPC || o_opcode == OPCODE_ALI || o_opcode == OPCODE_ALR);
|
||||
assign o_memory2reg = (o_opcode == OPCODE_LOAD );
|
||||
assign o_mem_write = (o_opcode == OPCODE_STORE);
|
||||
assign o_alures2reg = (o_opcode == OPCODE_JAL || o_opcode == OPCODE_JALR ||
|
||||
o_opcode == OPCODE_LUI || o_opcode == OPCODE_AUIPC ||
|
||||
o_opcode == OPCODE_ALI || o_opcode == OPCODE_ALR );
|
||||
|
||||
// calculate instruction type
|
||||
always_comb
|
||||
always_comb // calculate instruction type
|
||||
case(o_opcode)
|
||||
OPCODE_AUIPC: instr_type <= U_TYPE;
|
||||
OPCODE_JAL : instr_type <= J_TYPE;
|
||||
OPCODE_JALR : instr_type <= I_TYPE;
|
||||
OPCODE_BXXX : instr_type <= B_TYPE;
|
||||
OPCODE_LUI : instr_type <= U_TYPE;
|
||||
OPCODE_ALI : instr_type <= (o_funct3==3'b011) ? IZ_TYPE : I_TYPE;
|
||||
OPCODE_ALR : instr_type <= R_TYPE;
|
||||
OPCODE_LOAD : instr_type <= I_TYPE;
|
||||
OPCODE_STORE: instr_type <= S_TYPE;
|
||||
default : instr_type <= UKNOWN_TYPE;
|
||||
OPCODE_AUIPC : instr_type <= U_TYPE;
|
||||
OPCODE_JAL : instr_type <= J_TYPE;
|
||||
OPCODE_JALR : instr_type <= I_TYPE;
|
||||
OPCODE_BRANCH : instr_type <= B_TYPE;
|
||||
OPCODE_LUI : instr_type <= U_TYPE;
|
||||
OPCODE_ALI : instr_type <= (o_funct3==3'b011) ? IZ_TYPE : I_TYPE;
|
||||
OPCODE_ALR : instr_type <= R_TYPE;
|
||||
OPCODE_LOAD : instr_type <= I_TYPE;
|
||||
OPCODE_STORE : instr_type <= S_TYPE;
|
||||
default : instr_type <= UKNOWN_TYPE;
|
||||
endcase
|
||||
|
||||
always_comb
|
||||
always_comb // calculate imm
|
||||
case(instr_type)
|
||||
I_TYPE : o_imm <= {{20{instr[31]}} , instr[31:20]};
|
||||
IZ_TYPE: o_imm <= { 20'h0 , instr[31:20]};
|
||||
S_TYPE : o_imm <= {{20{instr[31]}} , instr[31:25], instr[11:7]};
|
||||
B_TYPE : o_imm <= {{20{instr[31]}} , instr[7], instr[30:25], instr[11:8], 1'b0};
|
||||
U_TYPE : o_imm <= { instr[31:12] , 12'h0 };
|
||||
J_TYPE : o_imm <= {{12{instr[31]}} , instr[19:12], instr[20], instr[30:21], 1'b0};
|
||||
I_TYPE : o_imm <= {{20{i_instr[31]}} , i_instr[31:20]};
|
||||
IZ_TYPE: o_imm <= { 20'h0 , i_instr[31:20]};
|
||||
S_TYPE : o_imm <= {{20{i_instr[31]}} , i_instr[31:25], i_instr[11:7]};
|
||||
B_TYPE : o_imm <= {{20{i_instr[31]}} , i_instr[7], i_instr[30:25], i_instr[11:8], 1'b0};
|
||||
U_TYPE : o_imm <= { i_instr[31:12] , 12'h0 };
|
||||
J_TYPE : o_imm <= {{12{i_instr[31]}} , i_instr[19:12], i_instr[20], i_instr[30:21], 1'b0};
|
||||
default: o_imm <= 0;
|
||||
endcase
|
||||
|
||||
always_comb
|
||||
always_comb // calculate read register enable
|
||||
case(instr_type)
|
||||
R_TYPE : {o_rs2_en, o_rs1_en} <= 2'b11;
|
||||
I_TYPE : {o_rs2_en, o_rs1_en} <= 2'b01;
|
||||
IZ_TYPE: {o_rs2_en, o_rs1_en} <= 2'b01;
|
||||
S_TYPE : {o_rs2_en, o_rs1_en} <= 2'b11;
|
||||
B_TYPE : {o_rs2_en, o_rs1_en} <= 2'b11;
|
||||
U_TYPE : {o_rs2_en, o_rs1_en} <= 2'b00;
|
||||
J_TYPE : {o_rs2_en, o_rs1_en} <= 2'b00;
|
||||
default: {o_rs2_en, o_rs1_en} <= 2'b00;
|
||||
R_TYPE : {o_src2_reg_en, o_src1_reg_en} <= 2'b11;
|
||||
I_TYPE : {o_src2_reg_en, o_src1_reg_en} <= 2'b01;
|
||||
IZ_TYPE: {o_src2_reg_en, o_src1_reg_en} <= 2'b01;
|
||||
S_TYPE : {o_src2_reg_en, o_src1_reg_en} <= 2'b11;
|
||||
B_TYPE : {o_src2_reg_en, o_src1_reg_en} <= 2'b11;
|
||||
default: {o_src2_reg_en, o_src1_reg_en} <= 2'b00;
|
||||
endcase
|
||||
|
||||
endmodule
|
||||
|
@ -4,35 +4,30 @@ module core_top(
|
||||
naive_bus.master instr_master, data_master
|
||||
);
|
||||
// ID stage
|
||||
logic [31:0] id_instr, id_pc, id_next_pc;
|
||||
logic id_rs1_en, id_rs2_en;
|
||||
logic [4:0] id_rs1_addr, id_rs2_addr, id_dst_reg_addr;
|
||||
logic id_jal, id_jalr, id_branch_may;
|
||||
logic id_nextpc2reg, id_alures2reg, id_memory2reg;
|
||||
logic id_memwrite;
|
||||
logic [6:0] id_opcode, id_funct7;
|
||||
logic [2:0] id_funct3;
|
||||
logic [31:0] id_pc_plus_imm, id_imm;
|
||||
logic [31:0] id_instr, id_pc;
|
||||
logic id_src1_reg_en, id_src2_reg_en;
|
||||
logic [ 4:0] id_src1_reg_addr, id_src2_reg_addr, id_dst_reg_addr;
|
||||
logic id_jal, id_alures2reg, id_memory2reg, id_memwrite;
|
||||
logic [ 6:0] id_opcode, id_funct7;
|
||||
logic [ 2:0] id_funct3;
|
||||
logic [31:0] id_imm;
|
||||
|
||||
// EX stage
|
||||
logic ex_jalr=1'b0, ex_branch_may=1'b0, ex_branch;
|
||||
logic ex_nextpc2reg=1'b0, ex_alures2reg=1'b0, ex_memory2reg=1'b0, ex_memwrite=1'b0;
|
||||
logic [31:0] ex_s1, ex_s2;
|
||||
logic ex_branch_jalr, ex_alures2reg=1'b0, ex_memory2reg=1'b0, ex_memwrite=1'b0;
|
||||
logic [6:0] ex_opcode=7'h0, ex_funct7=7'h0;
|
||||
logic [2:0] ex_funct3=3'h0;
|
||||
logic [31:0] ex_alu_res;
|
||||
logic [4:0] ex_dst_reg_addr=5'h0;
|
||||
logic [31:0] ex_s1_plus_imm, ex_imm=0, ex_next_pc=0, ex_pc_plus_imm=0;
|
||||
logic [31:0] ex_alu_res, ex_src1_reg_data, ex_src2_reg_data, ex_pc=0, ex_imm=0, ex_branch_jalr_target;
|
||||
|
||||
// MEM stage
|
||||
logic [2:0] mem_funct3=3'b0;
|
||||
logic mem_2reg=1'b0, mem_memory2reg=1'b0, mem_memwrite=1'b0;
|
||||
logic [31:0] mem_2regdata=0, mem_mem_wdata=0, mem_s1_plus_imm=0;
|
||||
logic mem_alures2reg=1'b0, mem_memory2reg=1'b0, mem_memwrite=1'b0;
|
||||
logic [31:0] mem_alu_res=0, mem_mem_wdata=0, mem_mem_addr=0;
|
||||
logic [4:0] mem_dst_reg_addr=5'h0;
|
||||
|
||||
// WB stage
|
||||
logic wb_memory2reg=1'b0, wb_2reg=1'b0;
|
||||
logic [31:0] wb_mem_2regdata=0, wb_reg_wdata, wb_memout;
|
||||
logic wb_memory2reg=1'b0, wb_regwrite=1'b0;
|
||||
logic [31:0] wb_alu_res=0, wb_reg_wdata, wb_memout;
|
||||
logic [4:0] wb_dst_reg_addr=5'h0;
|
||||
|
||||
// hazard signal
|
||||
@ -51,89 +46,75 @@ assign mem_stall = mem_data_bus_conflict;
|
||||
assign wb_nop = mem_data_bus_conflict;
|
||||
|
||||
assign loaduse =
|
||||
(id_rs1_en & ex_alures2reg & (id_rs1_addr== ex_dst_reg_addr) ) |
|
||||
(id_rs2_en & ex_alures2reg & (id_rs2_addr== ex_dst_reg_addr) ) |
|
||||
(id_rs1_en & ex_memory2reg & (id_rs1_addr== ex_dst_reg_addr) ) |
|
||||
(id_rs2_en & ex_memory2reg & (id_rs2_addr== ex_dst_reg_addr) ) |
|
||||
(id_rs1_en &mem_memory2reg & (id_rs1_addr==mem_dst_reg_addr) ) |
|
||||
(id_rs2_en &mem_memory2reg & (id_rs2_addr==mem_dst_reg_addr) ) ;
|
||||
|
||||
|
||||
(id_src1_reg_en & ex_memory2reg & (id_src1_reg_addr== ex_dst_reg_addr) ) |
|
||||
(id_src2_reg_en & ex_memory2reg & (id_src2_reg_addr== ex_dst_reg_addr) ) |
|
||||
(id_src1_reg_en & mem_memory2reg & (id_src1_reg_addr==mem_dst_reg_addr) ) |
|
||||
(id_src2_reg_en & mem_memory2reg & (id_src2_reg_addr==mem_dst_reg_addr) ) ;
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
// PC controller - timing logic
|
||||
// -------------------------------------------------------------------------------
|
||||
core_id_segreg inst_bus_wrap_inst(
|
||||
core_id_segreg core_id_segreg_inst(
|
||||
.clk ( clk ),
|
||||
.rst_n ( rst_n ),
|
||||
.i_boot_addr ( i_boot_addr ),
|
||||
.i_en ( ~id_stall ),
|
||||
.i_re ( ~id_read_disable ),
|
||||
.i_ex_jmp ( ex_branch | ex_jalr ),
|
||||
.i_ex_jmp_target ( ex_branch ? ex_pc_plus_imm:ex_s1_plus_imm ),
|
||||
.i_ex_jmp ( ex_branch_jalr ),
|
||||
.i_ex_jmp_target ( ex_branch_jalr_target ),
|
||||
.i_id_jmp ( id_jal ),
|
||||
.i_id_jmp_target ( id_pc_plus_imm ),
|
||||
.i_id_jmp_target ( id_pc + id_imm ),
|
||||
.o_pc ( id_pc ),
|
||||
.o_next_pc ( id_next_pc ),
|
||||
.o_instr ( id_instr ),
|
||||
.bus_master ( instr_master )
|
||||
);
|
||||
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
// ID stage - comb logic
|
||||
// -------------------------------------------------------------------------------
|
||||
core_id_stage core_id_stage_inst(
|
||||
.i_instr ( id_instr ),
|
||||
.i_pc ( id_pc ),
|
||||
.o_rs1_addr ( id_rs1_addr ),
|
||||
.o_rs2_addr ( id_rs2_addr ),
|
||||
.o_rs1_en ( id_rs1_en ),
|
||||
.o_rs2_en ( id_rs2_en ),
|
||||
.o_src1_reg_en ( id_src1_reg_en ),
|
||||
.o_src2_reg_en ( id_src2_reg_en ),
|
||||
.o_jal ( id_jal ),
|
||||
.o_jalr ( id_jalr ),
|
||||
.o_branch_may ( id_branch_may ),
|
||||
.o_nextpc2reg ( id_nextpc2reg ),
|
||||
.o_alures2reg ( id_alures2reg ),
|
||||
.o_memory2reg ( id_memory2reg ),
|
||||
.o_mem_write ( id_memwrite ),
|
||||
.o_pc_plus_imm ( id_pc_plus_imm ),
|
||||
.o_imm ( id_imm ),
|
||||
.o_src1_reg_addr ( id_src1_reg_addr ),
|
||||
.o_src2_reg_addr ( id_src2_reg_addr ),
|
||||
.o_dst_reg_addr ( id_dst_reg_addr ),
|
||||
.o_opcode ( id_opcode ),
|
||||
.o_funct7 ( id_funct7 ),
|
||||
.o_funct3 ( id_funct3 )
|
||||
.o_funct3 ( id_funct3 ),
|
||||
.o_imm ( id_imm )
|
||||
);
|
||||
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
// ID-EX stage - timing logic
|
||||
// ID-EX stage seg reg - timing logic
|
||||
// -------------------------------------------------------------------------------
|
||||
core_regfile core_regfile_inst(
|
||||
core_regfile core_regfile_inst( // regfile is a part of ID-EX seg reg
|
||||
.clk ( clk ),
|
||||
.rst_n ( rst_n ),
|
||||
.rd_latch ( ex_stall ),
|
||||
.i_re1 ( id_rs1_en ),
|
||||
.i_raddr1 ( id_rs1_addr ),
|
||||
.o_rdata1 ( ex_s1 ),
|
||||
.i_re2 ( id_rs2_en ),
|
||||
.i_raddr2 ( id_rs2_addr ),
|
||||
.o_rdata2 ( ex_s2 ),
|
||||
.i_forward1 ( ex_nextpc2reg ),
|
||||
.i_re1 ( id_src1_reg_en ),
|
||||
.i_raddr1 ( id_src1_reg_addr ),
|
||||
.o_rdata1 ( ex_src1_reg_data ),
|
||||
.i_re2 ( id_src2_reg_en ),
|
||||
.i_raddr2 ( id_src2_reg_addr ),
|
||||
.o_rdata2 ( ex_src2_reg_data ),
|
||||
.i_forward1 ( ex_alures2reg ),
|
||||
.i_faddr1 ( ex_dst_reg_addr ),
|
||||
.i_fdata1 ( ex_next_pc ),
|
||||
.i_forward2 ( mem_2reg ),
|
||||
.i_fdata1 ( ex_alu_res ),
|
||||
.i_forward2 ( mem_alures2reg ),
|
||||
.i_faddr2 ( mem_dst_reg_addr ),
|
||||
.i_fdata2 ( mem_2regdata ),
|
||||
.i_we ( wb_2reg ),
|
||||
.i_fdata2 ( mem_alu_res ),
|
||||
.i_we ( wb_regwrite ),
|
||||
.i_waddr ( wb_dst_reg_addr ),
|
||||
.i_wdata ( wb_reg_wdata )
|
||||
);
|
||||
always @ (posedge clk or negedge rst_n)
|
||||
if(~rst_n) begin
|
||||
ex_jalr <= 1'b0;
|
||||
ex_branch_may <= 1'b0;
|
||||
ex_nextpc2reg <= 1'b0;
|
||||
ex_alures2reg <= 1'b0;
|
||||
ex_memory2reg <= 1'b0;
|
||||
ex_memwrite <= 1'b0;
|
||||
@ -142,22 +123,17 @@ always @ (posedge clk or negedge rst_n)
|
||||
ex_funct3 <= 3'h0;
|
||||
ex_funct7 <= 7'h0;
|
||||
ex_imm <= 0;
|
||||
ex_next_pc <= 0;
|
||||
ex_pc_plus_imm <= 0;
|
||||
ex_pc <= 0;
|
||||
end else if(~ex_stall) begin
|
||||
ex_jalr <= ex_nop ? 1'b0 : id_jalr;
|
||||
ex_branch_may <= ex_nop ? 1'b0 : id_branch_may;
|
||||
ex_nextpc2reg <= ex_nop ? 1'b0 : id_nextpc2reg;
|
||||
ex_alures2reg <= ex_nop ? 1'b0 : id_alures2reg;
|
||||
ex_memory2reg <= ex_nop ? 1'b0 : id_memory2reg;
|
||||
ex_memwrite <= ex_nop ? 1'b0 : id_memwrite;
|
||||
ex_dst_reg_addr <= ex_nop ? 5'h0 : id_dst_reg_addr;
|
||||
ex_opcode <= ex_nop ? 7'h0 : id_opcode;
|
||||
ex_funct3 <= ex_nop ? 3'h0 : id_funct3;
|
||||
ex_funct7 <= ex_nop ? 7'h0 : id_funct7;
|
||||
ex_funct3 <= ex_nop ? 3'h0 : id_funct3;
|
||||
ex_imm <= ex_nop ? 0 : id_imm;
|
||||
ex_next_pc <= ex_nop ? 0 : id_next_pc;
|
||||
ex_pc_plus_imm <= ex_nop ? 0 : id_pc_plus_imm;
|
||||
ex_pc <= ex_nop ? 0 : id_pc;
|
||||
end
|
||||
|
||||
|
||||
@ -165,23 +141,18 @@ always @ (posedge clk or negedge rst_n)
|
||||
// EX stage - comb logic
|
||||
// -------------------------------------------------------------------------------
|
||||
core_alu core_alu_inst(
|
||||
.i_opcode ( ex_opcode ),
|
||||
.i_funct7 ( ex_funct7 ),
|
||||
.i_funct3 ( ex_funct3 ),
|
||||
.i_num1u ( ex_s1 ),
|
||||
.i_num2u ( ex_s2 ),
|
||||
.i_immu ( ex_imm ),
|
||||
.i_pc_immu ( ex_pc_plus_imm ),
|
||||
.o_res ( ex_alu_res )
|
||||
.i_opcode ( ex_opcode ),
|
||||
.i_funct7 ( ex_funct7 ),
|
||||
.i_funct3 ( ex_funct3 ),
|
||||
.i_num1u ( ex_src1_reg_data ),
|
||||
.i_num2u ( ex_src2_reg_data ),
|
||||
.i_pc ( ex_pc ),
|
||||
.i_immu ( ex_imm ),
|
||||
.o_branch_jalr ( ex_branch_jalr ),
|
||||
.o_branch_jalr_target ( ex_branch_jalr_target ),
|
||||
.o_res ( ex_alu_res )
|
||||
);
|
||||
core_ex_branch_judge core_ex_branch_judge_inst(
|
||||
.i_branch ( ex_branch_may ),
|
||||
.i_num1u ( ex_s1 ),
|
||||
.i_num2u ( ex_s2 ),
|
||||
.i_funct3 ( ex_funct3 ),
|
||||
.o_branch ( ex_branch )
|
||||
);
|
||||
assign ex_s1_plus_imm = ex_s1 + ex_imm;
|
||||
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
// EX-MEM stage - timing logic
|
||||
@ -189,21 +160,21 @@ assign ex_s1_plus_imm = ex_s1 + ex_imm;
|
||||
always @ (posedge clk or negedge rst_n)
|
||||
if(~rst_n) begin
|
||||
mem_memory2reg <= 1'b0;
|
||||
mem_2reg <= 1'b0;
|
||||
mem_2regdata <= 0;
|
||||
mem_alures2reg <= 1'b0;
|
||||
mem_alu_res <= 0;
|
||||
mem_dst_reg_addr<= 5'h0;
|
||||
mem_memwrite <= 1'b0;
|
||||
mem_mem_addr <= 0;
|
||||
mem_mem_wdata <= 0;
|
||||
mem_s1_plus_imm <= 0;
|
||||
mem_funct3 <= 3'b0;
|
||||
end else if(~mem_stall) begin
|
||||
mem_memory2reg <= ex_memory2reg;
|
||||
mem_2reg <= ex_alures2reg | ex_nextpc2reg;
|
||||
mem_2regdata <= ex_alures2reg ? ex_alu_res : ex_next_pc;
|
||||
mem_alures2reg <= ex_alures2reg;
|
||||
mem_dst_reg_addr<= ex_dst_reg_addr;
|
||||
mem_alu_res <= ex_alu_res;
|
||||
mem_memwrite <= ex_memwrite;
|
||||
mem_mem_wdata <= ex_s2;
|
||||
mem_s1_plus_imm <= ex_s1_plus_imm;
|
||||
mem_mem_addr <= ex_src1_reg_data + ex_imm;
|
||||
mem_mem_wdata <= ex_src2_reg_data;
|
||||
mem_funct3 <= ex_funct3;
|
||||
end
|
||||
|
||||
@ -218,27 +189,27 @@ core_bus_wrapper core_bus_wrapper_inst(
|
||||
.i_we ( mem_memwrite ),
|
||||
.o_conflict ( mem_data_bus_conflict ),
|
||||
.i_funct3 ( mem_funct3 ),
|
||||
.i_addr ( mem_s1_plus_imm ),
|
||||
.i_addr ( mem_mem_addr ),
|
||||
.i_wdata ( mem_mem_wdata ),
|
||||
.o_rdata ( wb_memout ),
|
||||
.bus_master ( data_master )
|
||||
);
|
||||
always @ (posedge clk or negedge rst_n)
|
||||
if(~rst_n) begin
|
||||
wb_2reg <= 1'b0;
|
||||
wb_regwrite <= 1'b0;
|
||||
wb_memory2reg <= 1'b0;
|
||||
wb_dst_reg_addr <= 5'h0;
|
||||
wb_mem_2regdata <= 0;
|
||||
wb_alu_res <= 0;
|
||||
end else begin
|
||||
wb_2reg <= wb_nop ? 1'b0 : (mem_2reg | mem_memory2reg);
|
||||
wb_regwrite <= wb_nop ? 1'b0 : (mem_alures2reg | mem_memory2reg);
|
||||
wb_memory2reg <= wb_nop ? 1'b0 : mem_memory2reg;
|
||||
wb_dst_reg_addr <= wb_nop ? 5'h0 : mem_dst_reg_addr;
|
||||
wb_mem_2regdata <= wb_nop ? 0 : mem_2regdata;
|
||||
wb_alu_res <= wb_nop ? 0 : mem_alu_res;
|
||||
end
|
||||
|
||||
// -------------------------------------------------------------------------------
|
||||
// WB stage - comb logic
|
||||
// -------------------------------------------------------------------------------
|
||||
assign wb_reg_wdata = wb_memory2reg ? wb_memout : wb_mem_2regdata;
|
||||
assign wb_reg_wdata = wb_memory2reg ? wb_memout : wb_alu_res;
|
||||
|
||||
endmodule
|
||||
|
@ -1,7 +1,7 @@
|
||||
version:1
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:61646473726377697a6172645f737065636966795f68646c5f6e65746c6973745f626c6f636b5f64657369676e:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:626173656469616c6f675f63616e63656c:35:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:626173656469616c6f675f6f6b:3235:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:626173656469616c6f675f6f6b:3330:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:636d646d73676469616c6f675f6f6b:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:636f6d6d616e6473696e7075745f747970655f74636c5f636f6d6d616e645f68657265:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:636f6e73747261696e747363686f6f73657270616e656c5f6164645f66696c6573:31:00:00
|
||||
@ -11,8 +11,8 @@ version:1
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:63726561746573726366696c656469616c6f675f66696c655f6e616d65:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:63726561746573726366696c656469616c6f675f66696c655f74797065:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:65787072756e7472656570616e656c5f6578705f72756e5f747265655f7461626c65:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:66696c6573657470616e656c5f66696c655f7365745f70616e656c5f74726565:313633:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:666c6f776e6176696761746f727472656570616e656c5f666c6f775f6e6176696761746f725f74726565:3439:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:66696c6573657470616e656c5f66696c655f7365745f70616e656c5f74726565:313833:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:666c6f776e6176696761746f727472656570616e656c5f666c6f775f6e6176696761746f725f74726565:3532:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:67657474696e6773746172746564766965775f6372656174655f6e65775f70726f6a656374:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:68636f6465656469746f725f7365617263685f746578745f636f6d626f5f626f78:37:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:6970636f7265766965775f7461626265645f70616e65:32:00:00
|
||||
@ -22,29 +22,29 @@ version:1
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:6d61696e6d656e756d67725f746f6f6c73:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:6d61696e6d656e756d67725f76696577:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:6d61696e6d656e756d67725f77696e646f77:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:6d61696e746f6f6c6261726d67725f72756e:3138:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:6d61696e746f6f6c6261726d67725f72756e:3233:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:6d61696e77696e6d656e756d67725f6c61796f7574:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:6d657373616765776974686f7074696f6e6469616c6f675f646f6e745f73686f775f746869735f6469616c6f675f616761696e:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:6d73677472656570616e656c5f6d6573736167655f7365766572697479:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:6d73677472656570616e656c5f6d6573736167655f766965775f74726565:3537:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:6d73677472656570616e656c5f6d6573736167655f766965775f74726565:3635:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:6d7367766965775f637269746963616c5f7761726e696e6773:36:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:6d7367766965775f7761726e696e675f6d65737361676573:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:6e65746c69737474726565766965775f6e65746c6973745f74726565:3135:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061636f6d6d616e646e616d65735f6164645f736f7572636573:38:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061636f6d6d616e646e616d65735f6175746f5f636f6e6e6563745f746172676574:39:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061636f6d6d616e646e616d65735f6175746f5f7570646174655f68696572:3134:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061636f6d6d616e646e616d65735f6164645f736f7572636573:3130:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061636f6d6d616e646e616d65735f6175746f5f636f6e6e6563745f746172676574:3130:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061636f6d6d616e646e616d65735f6175746f5f7570646174655f68696572:3135:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061636f6d6d616e646e616d65735f676f746f5f6e65746c6973745f64657369676e:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061636f6d6d616e646e616d65735f6c6963656e73655f6d616e616765:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061636f6d6d616e646e616d65735f7265706f7274735f77696e646f77:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061636f6d6d616e646e616d65735f72756e5f62697467656e:3133:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061636f6d6d616e646e616d65735f72756e5f696d706c656d656e746174696f6e:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061636f6d6d616e646e616d65735f72756e5f73796e746865736973:3133:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061636f6d6d616e646e616d65735f72756e5f62697467656e:3136:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061636f6d6d616e646e616d65735f72756e5f696d706c656d656e746174696f6e:33:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061636f6d6d616e646e616d65735f72756e5f73796e746865736973:3137:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061636f6d6d616e646e616d65735f7365745f61735f746f70:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:706176696577735f636f6465:3131:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:706176696577735f646576696365:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061727463686f6f7365725f66616d696c795f63686f6f736572:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7061727463686f6f7365725f7061727473:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:70726f6772616d667067616469616c6f675f70726f6772616d:3137:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:70726f6772616d667067616469616c6f675f70726f6772616d:3138:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:70726f6772616d667067616469616c6f675f737065636966795f62697473747265616d5f66696c65:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:70726f67726573736469616c6f675f6261636b67726f756e64:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:70726f6a6563746e616d6563686f6f7365725f63686f6f73655f70726f6a6563745f6c6f636174696f6e:31:00:00
|
||||
@ -52,15 +52,15 @@ version:1
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:70726f6a65637473756d6d61727974696d696e6770616e656c5f70726f6a6563745f73756d6d6172795f74696d696e675f70616e656c5f746162626564:3137:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:70726f6a65637473756d6d6172797574696c697a6174696f6e6761646765745f70726f6a6563745f73756d6d6172795f7574696c697a6174696f6e5f6761646765745f746162626564:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:70726f6a65637473756d6d6172797574696c697a6174696f6e70616e656c5f70726f6a6563745f73756d6d6172795f7574696c697a6174696f6e5f70616e656c5f746162626564:35:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:726469636f6d6d616e64735f64656c657465:35:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:726469636f6d6d616e64735f64656c657465:37:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:72756e6761646765745f72756e5f6761646765745f7461626265645f70616e65:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:72756e6761646765745f73686f775f6572726f72:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:72756e6761646765745f73686f775f7761726e696e675f616e645f6572726f725f6d657373616765735f696e5f6d65737361676573:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7361766570726f6a6563747574696c735f63616e63656c:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7361766570726f6a6563747574696c735f73617665:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:73726363686f6f73657270616e656c5f6164645f68646c5f616e645f6e65746c6973745f66696c65735f746f5f796f75725f70726f6a656374:35:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7361766570726f6a6563747574696c735f73617665:33:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:73726363686f6f73657270616e656c5f6164645f68646c5f616e645f6e65746c6973745f66696c65735f746f5f796f75725f70726f6a656374:36:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:73726363686f6f73657270616e656c5f6372656174655f66696c65:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7372636d656e755f69705f686965726172636879:3131:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7372636d656e755f69705f686965726172636879:3132:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7372636d656e755f726566726573685f686965726172636879:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7374616c6572756e6469616c6f675f796573:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:73746174656d6f6e69746f725f72657365745f72756e:31:00:00
|
||||
@ -68,4 +68,4 @@ version:1
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:73796e7468657469636173746174656d6f6e69746f725f63616e63656c:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:7461736b62616e6e65725f636c6f7365:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6775695f68616e646c657273:746f756368706f696e747375727665796469616c6f675f6e6f:31:00:00
|
||||
eof:379488275
|
||||
eof:3049335905
|
||||
|
@ -1,21 +1,21 @@
|
||||
version:1
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:616464736f7572636573:38:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6175746f636f6e6e656374746172676574:39:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:616464736f7572636573:3130:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6175746f636f6e6e656374746172676574:3130:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:636f726576696577:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:637573746f6d697a65636f7265:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6564697464656c657465:35:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6c61756e636870726f6772616d66706761:3139:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6564697464656c657465:37:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6c61756e636870726f6772616d66706761:3230:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6e657770726f6a656374:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6f70656e68617264776172656d616e61676572:3335:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6f70656e726563656e74746172676574:3130:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:70726f6772616d646576696365:3230:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6f70656e68617264776172656d616e61676572:3338:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:6f70656e726563656e74746172676574:3131:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:70726f6772616d646576696365:3231:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:7265706f72747574696c697a6174696f6e:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:72756e62697467656e:3133:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:72756e696d706c656d656e746174696f6e:3130:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:72756e73796e746865736973:3133:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:72756e62697467656e:3135:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:72756e696d706c656d656e746174696f6e:3133:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:72756e73796e746865736973:3137:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:7361766566696c6570726f787968616e646c6572:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:736574746f706e6f6465:32:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:73686f7776696577:39:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:73686f7776696577:3130:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:7570646174657265676964:31:00:00
|
||||
70726f6a656374:76697661646f5f75736167655c6a6176615f636f6d6d616e645f68616e646c657273:766965777461736b73796e746865736973:32:00:00
|
||||
eof:3925159981
|
||||
eof:388301127
|
||||
|
@ -1,4 +1,4 @@
|
||||
version:1
|
||||
57656254616c6b5472616e736d697373696f6e417474656d70746564:8
|
||||
6d6f64655f636f756e7465727c4755494d6f6465:15
|
||||
57656254616c6b5472616e736d697373696f6e417474656d70746564:10
|
||||
6d6f64655f636f756e7465727c4755494d6f6465:17
|
||||
eof:
|
||||
|
@ -33,7 +33,7 @@ version:1
|
||||
73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d617373657274:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
|
||||
73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d6e6f5f74696d696e675f64726976656e:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
|
||||
73796e746865736973:73796e7468657369735c636f6d6d616e645f6c696e655f6f7074696f6e73:2d73666375:64656661756c743a3a5b6e6f745f7370656369666965645d:00:00
|
||||
73796e746865736973:73796e7468657369735c7573616765:656c6170736564:30303a30313a313673:00:00
|
||||
73796e746865736973:73796e7468657369735c7573616765:6d656d6f72795f7065616b:3939352e3534374d42:00:00
|
||||
73796e746865736973:73796e7468657369735c7573616765:6d656d6f72795f6761696e:3730362e3030344d42:00:00
|
||||
eof:1494114757
|
||||
73796e746865736973:73796e7468657369735c7573616765:656c6170736564:30303a30313a333073:00:00
|
||||
73796e746865736973:73796e7468657369735c7573616765:6d656d6f72795f7065616b:313035382e3134384d42:00:00
|
||||
73796e746865736973:73796e7468657369735c7573616765:6d656d6f72795f6761696e:3736382e3638344d42:00:00
|
||||
eof:2715586631
|
||||
|
@ -3,10 +3,10 @@
|
||||
<!--The data in this file is primarily intended for consumption by Xilinx tools.
|
||||
The structure and the elements are likely to change over the next few releases.
|
||||
This means code written to parse this file will need to be revisited each subsequent release.-->
|
||||
<application name="pa" timeStamp="Sun Mar 10 22:41:44 2019">
|
||||
<application name="pa" timeStamp="Tue Mar 12 13:15:08 2019">
|
||||
<section name="Project Information" visible="false">
|
||||
<property name="ProjectID" value="802f49394334431ea9abba122e836e9e" type="ProjectID"/>
|
||||
<property name="ProjectIteration" value="24" type="ProjectIteration"/>
|
||||
<property name="ProjectIteration" value="29" type="ProjectIteration"/>
|
||||
</section>
|
||||
<section name="PlanAhead Usage" visible="true">
|
||||
<item name="Project Data">
|
||||
@ -17,30 +17,30 @@ This means code written to parse this file will need to be revisited each subseq
|
||||
<property name="ImplStrategy" value="Vivado Implementation Defaults" type="ImplStrategy"/>
|
||||
</item>
|
||||
<item name="Java Command Handlers">
|
||||
<property name="AddSources" value="8" type="JavaHandler"/>
|
||||
<property name="AutoConnectTarget" value="9" type="JavaHandler"/>
|
||||
<property name="AddSources" value="10" type="JavaHandler"/>
|
||||
<property name="AutoConnectTarget" value="10" type="JavaHandler"/>
|
||||
<property name="CoreView" value="1" type="JavaHandler"/>
|
||||
<property name="CustomizeCore" value="1" type="JavaHandler"/>
|
||||
<property name="EditDelete" value="5" type="JavaHandler"/>
|
||||
<property name="LaunchProgramFpga" value="19" type="JavaHandler"/>
|
||||
<property name="EditDelete" value="7" type="JavaHandler"/>
|
||||
<property name="LaunchProgramFpga" value="20" type="JavaHandler"/>
|
||||
<property name="NewProject" value="1" type="JavaHandler"/>
|
||||
<property name="OpenHardwareManager" value="35" type="JavaHandler"/>
|
||||
<property name="OpenRecentTarget" value="10" type="JavaHandler"/>
|
||||
<property name="ProgramDevice" value="20" type="JavaHandler"/>
|
||||
<property name="OpenHardwareManager" value="38" type="JavaHandler"/>
|
||||
<property name="OpenRecentTarget" value="11" type="JavaHandler"/>
|
||||
<property name="ProgramDevice" value="21" type="JavaHandler"/>
|
||||
<property name="ReportUtilization" value="1" type="JavaHandler"/>
|
||||
<property name="RunBitgen" value="13" type="JavaHandler"/>
|
||||
<property name="RunImplementation" value="10" type="JavaHandler"/>
|
||||
<property name="RunSynthesis" value="13" type="JavaHandler"/>
|
||||
<property name="RunBitgen" value="15" type="JavaHandler"/>
|
||||
<property name="RunImplementation" value="13" type="JavaHandler"/>
|
||||
<property name="RunSynthesis" value="17" type="JavaHandler"/>
|
||||
<property name="SaveFileProxyHandler" value="1" type="JavaHandler"/>
|
||||
<property name="SetTopNode" value="2" type="JavaHandler"/>
|
||||
<property name="ShowView" value="9" type="JavaHandler"/>
|
||||
<property name="ShowView" value="10" type="JavaHandler"/>
|
||||
<property name="UpdateRegId" value="1" type="JavaHandler"/>
|
||||
<property name="ViewTaskSynthesis" value="2" type="JavaHandler"/>
|
||||
</item>
|
||||
<item name="Gui Handlers">
|
||||
<property name="AddSrcWizard_SPECIFY_HDL_NETLIST_BLOCK_DESIGN" value="2" type="GuiHandlerData"/>
|
||||
<property name="BaseDialog_CANCEL" value="5" type="GuiHandlerData"/>
|
||||
<property name="BaseDialog_OK" value="25" type="GuiHandlerData"/>
|
||||
<property name="BaseDialog_OK" value="30" type="GuiHandlerData"/>
|
||||
<property name="CmdMsgDialog_OK" value="1" type="GuiHandlerData"/>
|
||||
<property name="CommandsInput_TYPE_TCL_COMMAND_HERE" value="2" type="GuiHandlerData"/>
|
||||
<property name="ConstraintsChooserPanel_ADD_FILES" value="1" type="GuiHandlerData"/>
|
||||
@ -50,8 +50,8 @@ This means code written to parse this file will need to be revisited each subseq
|
||||
<property name="CreateSrcFileDialog_FILE_NAME" value="1" type="GuiHandlerData"/>
|
||||
<property name="CreateSrcFileDialog_FILE_TYPE" value="1" type="GuiHandlerData"/>
|
||||
<property name="ExpRunTreePanel_EXP_RUN_TREE_TABLE" value="2" type="GuiHandlerData"/>
|
||||
<property name="FileSetPanel_FILE_SET_PANEL_TREE" value="163" type="GuiHandlerData"/>
|
||||
<property name="FlowNavigatorTreePanel_FLOW_NAVIGATOR_TREE" value="49" type="GuiHandlerData"/>
|
||||
<property name="FileSetPanel_FILE_SET_PANEL_TREE" value="183" type="GuiHandlerData"/>
|
||||
<property name="FlowNavigatorTreePanel_FLOW_NAVIGATOR_TREE" value="52" type="GuiHandlerData"/>
|
||||
<property name="GettingStartedView_CREATE_NEW_PROJECT" value="1" type="GuiHandlerData"/>
|
||||
<property name="HCodeEditor_SEARCH_TEXT_COMBO_BOX" value="7" type="GuiHandlerData"/>
|
||||
<property name="IPCoreView_TABBED_PANE" value="2" type="GuiHandlerData"/>
|
||||
@ -61,29 +61,29 @@ This means code written to parse this file will need to be revisited each subseq
|
||||
<property name="MainMenuMgr_TOOLS" value="1" type="GuiHandlerData"/>
|
||||
<property name="MainMenuMgr_VIEW" value="2" type="GuiHandlerData"/>
|
||||
<property name="MainMenuMgr_WINDOW" value="2" type="GuiHandlerData"/>
|
||||
<property name="MainToolbarMgr_RUN" value="18" type="GuiHandlerData"/>
|
||||
<property name="MainToolbarMgr_RUN" value="23" type="GuiHandlerData"/>
|
||||
<property name="MainWinMenuMgr_LAYOUT" value="2" type="GuiHandlerData"/>
|
||||
<property name="MessageWithOptionDialog_DONT_SHOW_THIS_DIALOG_AGAIN" value="1" type="GuiHandlerData"/>
|
||||
<property name="MsgTreePanel_MESSAGE_SEVERITY" value="2" type="GuiHandlerData"/>
|
||||
<property name="MsgTreePanel_MESSAGE_VIEW_TREE" value="57" type="GuiHandlerData"/>
|
||||
<property name="MsgTreePanel_MESSAGE_VIEW_TREE" value="65" type="GuiHandlerData"/>
|
||||
<property name="MsgView_CRITICAL_WARNINGS" value="6" type="GuiHandlerData"/>
|
||||
<property name="MsgView_WARNING_MESSAGES" value="2" type="GuiHandlerData"/>
|
||||
<property name="NetlistTreeView_NETLIST_TREE" value="15" type="GuiHandlerData"/>
|
||||
<property name="PACommandNames_ADD_SOURCES" value="8" type="GuiHandlerData"/>
|
||||
<property name="PACommandNames_AUTO_CONNECT_TARGET" value="9" type="GuiHandlerData"/>
|
||||
<property name="PACommandNames_AUTO_UPDATE_HIER" value="14" type="GuiHandlerData"/>
|
||||
<property name="PACommandNames_ADD_SOURCES" value="10" type="GuiHandlerData"/>
|
||||
<property name="PACommandNames_AUTO_CONNECT_TARGET" value="10" type="GuiHandlerData"/>
|
||||
<property name="PACommandNames_AUTO_UPDATE_HIER" value="15" type="GuiHandlerData"/>
|
||||
<property name="PACommandNames_GOTO_NETLIST_DESIGN" value="1" type="GuiHandlerData"/>
|
||||
<property name="PACommandNames_LICENSE_MANAGE" value="1" type="GuiHandlerData"/>
|
||||
<property name="PACommandNames_REPORTS_WINDOW" value="1" type="GuiHandlerData"/>
|
||||
<property name="PACommandNames_RUN_BITGEN" value="13" type="GuiHandlerData"/>
|
||||
<property name="PACommandNames_RUN_IMPLEMENTATION" value="2" type="GuiHandlerData"/>
|
||||
<property name="PACommandNames_RUN_SYNTHESIS" value="13" type="GuiHandlerData"/>
|
||||
<property name="PACommandNames_RUN_BITGEN" value="16" type="GuiHandlerData"/>
|
||||
<property name="PACommandNames_RUN_IMPLEMENTATION" value="3" type="GuiHandlerData"/>
|
||||
<property name="PACommandNames_RUN_SYNTHESIS" value="17" type="GuiHandlerData"/>
|
||||
<property name="PACommandNames_SET_AS_TOP" value="2" type="GuiHandlerData"/>
|
||||
<property name="PAViews_CODE" value="11" type="GuiHandlerData"/>
|
||||
<property name="PAViews_DEVICE" value="2" type="GuiHandlerData"/>
|
||||
<property name="PartChooser_FAMILY_CHOOSER" value="1" type="GuiHandlerData"/>
|
||||
<property name="PartChooser_PARTS" value="2" type="GuiHandlerData"/>
|
||||
<property name="ProgramFpgaDialog_PROGRAM" value="17" type="GuiHandlerData"/>
|
||||
<property name="ProgramFpgaDialog_PROGRAM" value="18" type="GuiHandlerData"/>
|
||||
<property name="ProgramFpgaDialog_SPECIFY_BITSTREAM_FILE" value="1" type="GuiHandlerData"/>
|
||||
<property name="ProgressDialog_BACKGROUND" value="1" type="GuiHandlerData"/>
|
||||
<property name="ProjectNameChooser_CHOOSE_PROJECT_LOCATION" value="1" type="GuiHandlerData"/>
|
||||
@ -91,15 +91,15 @@ This means code written to parse this file will need to be revisited each subseq
|
||||
<property name="ProjectSummaryTimingPanel_PROJECT_SUMMARY_TIMING_PANEL_TABBED" value="17" type="GuiHandlerData"/>
|
||||
<property name="ProjectSummaryUtilizationGadget_PROJECT_SUMMARY_UTILIZATION_GADGET_TABBED" value="2" type="GuiHandlerData"/>
|
||||
<property name="ProjectSummaryUtilizationPanel_PROJECT_SUMMARY_UTILIZATION_PANEL_TABBED" value="5" type="GuiHandlerData"/>
|
||||
<property name="RDICommands_DELETE" value="5" type="GuiHandlerData"/>
|
||||
<property name="RDICommands_DELETE" value="7" type="GuiHandlerData"/>
|
||||
<property name="RunGadget_RUN_GADGET_TABBED_PANE" value="1" type="GuiHandlerData"/>
|
||||
<property name="RunGadget_SHOW_ERROR" value="2" type="GuiHandlerData"/>
|
||||
<property name="RunGadget_SHOW_WARNING_AND_ERROR_MESSAGES_IN_MESSAGES" value="1" type="GuiHandlerData"/>
|
||||
<property name="SaveProjectUtils_CANCEL" value="1" type="GuiHandlerData"/>
|
||||
<property name="SaveProjectUtils_SAVE" value="2" type="GuiHandlerData"/>
|
||||
<property name="SrcChooserPanel_ADD_HDL_AND_NETLIST_FILES_TO_YOUR_PROJECT" value="5" type="GuiHandlerData"/>
|
||||
<property name="SaveProjectUtils_SAVE" value="3" type="GuiHandlerData"/>
|
||||
<property name="SrcChooserPanel_ADD_HDL_AND_NETLIST_FILES_TO_YOUR_PROJECT" value="6" type="GuiHandlerData"/>
|
||||
<property name="SrcChooserPanel_CREATE_FILE" value="1" type="GuiHandlerData"/>
|
||||
<property name="SrcMenu_IP_HIERARCHY" value="11" type="GuiHandlerData"/>
|
||||
<property name="SrcMenu_IP_HIERARCHY" value="12" type="GuiHandlerData"/>
|
||||
<property name="SrcMenu_REFRESH_HIERARCHY" value="1" type="GuiHandlerData"/>
|
||||
<property name="StaleRunDialog_YES" value="1" type="GuiHandlerData"/>
|
||||
<property name="StateMonitor_RESET_RUN" value="1" type="GuiHandlerData"/>
|
||||
@ -109,9 +109,9 @@ This means code written to parse this file will need to be revisited each subseq
|
||||
<property name="TouchpointSurveyDialog_NO" value="1" type="GuiHandlerData"/>
|
||||
</item>
|
||||
<item name="Other">
|
||||
<property name="GuiMode" value="37" type="GuiMode"/>
|
||||
<property name="GuiMode" value="40" type="GuiMode"/>
|
||||
<property name="BatchMode" value="0" type="BatchMode"/>
|
||||
<property name="TclMode" value="31" type="TclMode"/>
|
||||
<property name="TclMode" value="34" type="TclMode"/>
|
||||
</item>
|
||||
</section>
|
||||
</application>
|
||||
|
@ -76,13 +76,6 @@
|
||||
<Attr Name="UsedIn" Val="simulation"/>
|
||||
</FileInfo>
|
||||
</File>
|
||||
<File Path="$PPRDIR/../../../RTL/core_ex_branch_judge.sv">
|
||||
<FileInfo>
|
||||
<Attr Name="UsedIn" Val="synthesis"/>
|
||||
<Attr Name="UsedIn" Val="implementation"/>
|
||||
<Attr Name="UsedIn" Val="simulation"/>
|
||||
</FileInfo>
|
||||
</File>
|
||||
<File Path="$PPRDIR/../../../RTL/core_id_segreg.sv">
|
||||
<FileInfo>
|
||||
<Attr Name="UsedIn" Val="synthesis"/>
|
||||
|
@ -2,18 +2,27 @@
|
||||
# Vivado v2017.4 (64-bit)
|
||||
# SW Build 2086221 on Fri Dec 15 20:55:39 MST 2017
|
||||
# IP Build 2085800 on Fri Dec 15 22:25:07 MST 2017
|
||||
# Start of session at: Sun Mar 10 22:06:31 2019
|
||||
# Process ID: 17240
|
||||
# Start of session at: Tue Mar 12 00:06:43 2019
|
||||
# Process ID: 17980
|
||||
# Current directory: E:/work-Lab/USTCRVSoC/hardware/Vivado/nexys4/USTCRVSoC-nexys4
|
||||
# Command line: vivado.exe -gui_launcher_event rodinguilauncherevent11140 E:\work-Lab\USTCRVSoC\hardware\Vivado\nexys4\USTCRVSoC-nexys4\USTCRVSoC-nexys4.xpr
|
||||
# Command line: vivado.exe -gui_launcher_event rodinguilauncherevent15368 E:\work-Lab\USTCRVSoC\hardware\Vivado\nexys4\USTCRVSoC-nexys4\USTCRVSoC-nexys4.xpr
|
||||
# Log file: E:/work-Lab/USTCRVSoC/hardware/Vivado/nexys4/USTCRVSoC-nexys4/vivado.log
|
||||
# Journal file: E:/work-Lab/USTCRVSoC/hardware/Vivado/nexys4/USTCRVSoC-nexys4\vivado.jou
|
||||
#-----------------------------------------------------------
|
||||
start_gui
|
||||
open_project E:/work-Lab/USTCRVSoC/hardware/Vivado/nexys4/USTCRVSoC-nexys4/USTCRVSoC-nexys4.xpr
|
||||
update_compile_order -fileset sources_1
|
||||
add_files -norecurse E:/work-Lab/USTCRVSoC/hardware/RTL/core_id_segreg.sv
|
||||
reset_run synth_1
|
||||
launch_runs synth_1 -jobs 8
|
||||
wait_on_run synth_1
|
||||
export_ip_user_files -of_objects [get_files E:/work-Lab/USTCRVSoC/hardware/RTL/core_ex_branch_judge.sv] -no_script -reset -force -quiet
|
||||
remove_files E:/work-Lab/USTCRVSoC/hardware/RTL/core_ex_branch_judge.sv
|
||||
launch_runs impl_1 -jobs 8
|
||||
wait_on_run impl_1
|
||||
add_files -norecurse E:/work-Lab/RISCV-Pipline-CPU/1_VerilogSourceCode/1_CPUCore_src/BRAMModule/FakeCache.v
|
||||
update_compile_order -fileset sources_1
|
||||
export_ip_user_files -of_objects [get_files E:/work-Lab/RISCV-Pipline-CPU/1_VerilogSourceCode/1_CPUCore_src/BRAMModule/FakeCache.v] -no_script -reset -force -quiet
|
||||
remove_files E:/work-Lab/RISCV-Pipline-CPU/1_VerilogSourceCode/1_CPUCore_src/BRAMModule/FakeCache.v
|
||||
reset_run synth_1
|
||||
launch_runs synth_1 -jobs 8
|
||||
wait_on_run synth_1
|
||||
|
@ -0,0 +1,35 @@
|
||||
#-----------------------------------------------------------
|
||||
# Vivado v2017.4 (64-bit)
|
||||
# SW Build 2086221 on Fri Dec 15 20:55:39 MST 2017
|
||||
# IP Build 2085800 on Fri Dec 15 22:25:07 MST 2017
|
||||
# Start of session at: Mon Mar 11 16:18:42 2019
|
||||
# Process ID: 12448
|
||||
# Current directory: E:/work-Lab/USTCRVSoC/hardware/Vivado/nexys4/USTCRVSoC-nexys4
|
||||
# Command line: vivado.exe -gui_launcher_event rodinguilauncherevent12796 E:\work-Lab\USTCRVSoC\hardware\Vivado\nexys4\USTCRVSoC-nexys4\USTCRVSoC-nexys4.xpr
|
||||
# Log file: E:/work-Lab/USTCRVSoC/hardware/Vivado/nexys4/USTCRVSoC-nexys4/vivado.log
|
||||
# Journal file: E:/work-Lab/USTCRVSoC/hardware/Vivado/nexys4/USTCRVSoC-nexys4\vivado.jou
|
||||
#-----------------------------------------------------------
|
||||
start_gui
|
||||
open_project E:/work-Lab/USTCRVSoC/hardware/Vivado/nexys4/USTCRVSoC-nexys4/USTCRVSoC-nexys4.xpr
|
||||
update_compile_order -fileset sources_1
|
||||
reset_run synth_1
|
||||
launch_runs synth_1 -jobs 8
|
||||
wait_on_run synth_1
|
||||
reset_run synth_1
|
||||
launch_runs synth_1 -jobs 8
|
||||
wait_on_run synth_1
|
||||
launch_runs impl_1 -jobs 8
|
||||
wait_on_run impl_1
|
||||
launch_runs impl_1 -to_step write_bitstream -jobs 8
|
||||
wait_on_run impl_1
|
||||
open_hw
|
||||
connect_hw_server
|
||||
open_hw_target
|
||||
set_property PROGRAM.FILE {E:/work-Lab/USTCRVSoC/hardware/Vivado/nexys4/USTCRVSoC-nexys4/USTCRVSoC-nexys4.runs/impl_1/Nexys4_USTCRVSoC_top.bit} [get_hw_devices xc7a100t_0]
|
||||
current_hw_device [get_hw_devices xc7a100t_0]
|
||||
refresh_hw_device -update_hw_probes false [lindex [get_hw_devices xc7a100t_0] 0]
|
||||
set_property PROBES.FILE {} [get_hw_devices xc7a100t_0]
|
||||
set_property FULL_PROBES.FILE {} [get_hw_devices xc7a100t_0]
|
||||
set_property PROGRAM.FILE {E:/work-Lab/USTCRVSoC/hardware/Vivado/nexys4/USTCRVSoC-nexys4/USTCRVSoC-nexys4.runs/impl_1/Nexys4_USTCRVSoC_top.bit} [get_hw_devices xc7a100t_0]
|
||||
program_hw_devices [get_hw_devices xc7a100t_0]
|
||||
refresh_hw_device [lindex [get_hw_devices xc7a100t_0] 0]
|
@ -0,0 +1,23 @@
|
||||
#-----------------------------------------------------------
|
||||
# Vivado v2017.4 (64-bit)
|
||||
# SW Build 2086221 on Fri Dec 15 20:55:39 MST 2017
|
||||
# IP Build 2085800 on Fri Dec 15 22:25:07 MST 2017
|
||||
# Start of session at: Sun Mar 10 22:06:31 2019
|
||||
# Process ID: 17240
|
||||
# Current directory: E:/work-Lab/USTCRVSoC/hardware/Vivado/nexys4/USTCRVSoC-nexys4
|
||||
# Command line: vivado.exe -gui_launcher_event rodinguilauncherevent11140 E:\work-Lab\USTCRVSoC\hardware\Vivado\nexys4\USTCRVSoC-nexys4\USTCRVSoC-nexys4.xpr
|
||||
# Log file: E:/work-Lab/USTCRVSoC/hardware/Vivado/nexys4/USTCRVSoC-nexys4/vivado.log
|
||||
# Journal file: E:/work-Lab/USTCRVSoC/hardware/Vivado/nexys4/USTCRVSoC-nexys4\vivado.jou
|
||||
#-----------------------------------------------------------
|
||||
start_gui
|
||||
open_project E:/work-Lab/USTCRVSoC/hardware/Vivado/nexys4/USTCRVSoC-nexys4/USTCRVSoC-nexys4.xpr
|
||||
update_compile_order -fileset sources_1
|
||||
add_files -norecurse E:/work-Lab/USTCRVSoC/hardware/RTL/core_id_segreg.sv
|
||||
update_compile_order -fileset sources_1
|
||||
reset_run synth_1
|
||||
launch_runs synth_1 -jobs 8
|
||||
wait_on_run synth_1
|
||||
launch_runs impl_1 -jobs 8
|
||||
wait_on_run impl_1
|
||||
launch_runs impl_1 -to_step write_bitstream -jobs 8
|
||||
wait_on_run impl_1
|
Loading…
x
Reference in New Issue
Block a user