Я хочу реализовать свой проект risc-v с одним циклом на fpga.
после моделирования моего кода все работало нормально. Для первого шага я попытался увидеть схему моего проекта RTL, я получил так много предупреждений, что мои субмодули не подключены к верхнему модулю. И у меня есть черный ящик, в котором ничего нет. модуле верха.
мой поиск сказал мне о I / O. Затем я реализую io_inst_addr и in_inst и memory_writeBack, чтобы увидеть, если это решено, и ничего не произошло. Просто у меня был модуль обратной записи, что его выходы подключены к земле.
module risc_v_module(
input [31:0] in_inst,
input [6:0] io_inst_addr ,
input clk,
input rst,
output [63:0] memory_writeBack
);
wire [63:0] pc_mem ;
wire [63:0] ins_addr ;
wire [63:0] mem_add_out;
wire [31:0] instruction;
wire [63:0] dataToReg;
wire branch ; wire memRead ; wire memWrite ;
wire memToReg ; wire [1:0] aluOP;
wire aluSrc;
wire [63:0] data1_reg;wire [63:0] data2_reg;
wire [63:0] signEx; wire [9:0] func_out;
wire [63:0] in2mem;wire zero;
wire [63:0] aluRes;wire [63:0] branch_addr;
wire [63:0] memory_out ; wire [63:0] alu_mem_out ;
fetch risc_v_fetch(
.clk(clk),
.rst(rst),
.io_inst(in_inst),
.io_addr(io_inst_addr),
.new_pc(pc_mem),
.pc_out(ins_addr),
.add_out(mem_add_out),
.instruction(instruction)
);
decode risc_v_decode(
.instruction(instruction),
.writeData(dataToReg),
.branch(branch),
.memRead(memRead),
.memToReg(memToReg),
.aluOP(aluOP),
//.pcSrc(pcSrc),
.aluSrc(aluSrc),
.memWrite(memWrite),
.data1(data1_reg),
.data2(data2_reg),
.sign_extend(signEx),
.function_7_3(func_out)
);
execute risc_v_execute(
.in1(data1_reg),
.in2(data2_reg),
.from_signExtend(signEx),
.aluOP(aluOP),
.aluSrc(aluSrc),
.function_7_3(func_out),
.pc_out(ins_addr),
.memory_data(in2mem),
.zero(zero),
.aluRes(aluRes),
.add_branch(branch_addr)
);
memory risc_v_memory(
.branch(branch),
.zero(zero),
.add_branch(branch_addr),
.add_out(mem_add_out),
.aluRes(aluRes),
.data_write(in2mem),
.memRead(memRead),
.memWrite(memWrite),
.memOut(memory_out),
.aluOut(alu_mem_out),
.new_pc(pc_mem)
);
write_back ris_v_WB(
.memtoReg(memToReg),
.memoryOut(memory_out),
.aluOut(alu_mem_out),
.data_to_reg(dataToReg),
.io_out(memory_writeBack)
);endmodule