Skip to content

Commit a922ca5

Browse files
committed
Atualizando a casca do picorv32
1 parent 4f72c4e commit a922ca5

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

rtl/picorv32.sv

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,10 @@ Controller #(
138138
// Core space
139139
logic mem_valid, instr_ack;
140140
logic [31:0] read_data;
141+
logic [3:0] mem_wstrb;
141142

142143
picorv32 #(
143-
.STACKADDR ('h1000),
144+
.STACKADDR (32'hffff_ffff),
144145
.PROGADDR_RESET (32'h0000_0000),
145146
.PROGADDR_IRQ (32'h0000_0000),
146147
.BARREL_SHIFTER (1),
@@ -156,22 +157,19 @@ picorv32 #(
156157
.resetn (~rst_core),
157158
.mem_valid (mem_valid),
158159
.mem_instr (),
159-
.mem_ready (instr_ack),
160+
.mem_ready (core_ack),
160161
.mem_addr (core_addr),
161162
.mem_wdata (core_data_out),
162-
.mem_wstrb (),
163-
.mem_rdata (read_data),
163+
.mem_wstrb (mem_wstrb),
164+
.mem_rdata (core_data_in),
164165
.irq (0)
165166
); // Olhar o pico soc e adaptar
166167

167168

168-
assign core_stb = 1'b1;
169-
assign core_cyc = 1'b1;
170-
assign core_we = mem_valid;
169+
assign core_stb = mem_valid;
170+
assign core_cyc = mem_valid;
171+
assign core_we = mem_wstrb != 4'b0000; // Se algum bit de escrita estiver ativo, é uma escrita
171172

172-
always_ff @(posedge clk_core) begin
173-
read_data <= core_data_in;
174-
instr_ack <= core_ack;
175-
end
173+
assign core_wstrb = mem_wstrb;
176174

177175
endmodule

0 commit comments

Comments
 (0)