1
0
mirror of https://github.com/olofk/serv.git synced 2026-05-01 06:08:28 +00:00

Syntax and reset fixes for ModelSim

This commit is contained in:
Olof Kindgren
2020-11-10 15:13:04 +01:00
parent c1b8471678
commit 90ce4ff1af
7 changed files with 34 additions and 11 deletions

View File

@@ -105,10 +105,12 @@ module servant
servant_ram
#(.memfile (memfile),
.depth (memsize))
.depth (memsize),
.RESET_STRATEGY (reset_strategy))
ram
(// Wishbone interface
.i_wb_clk (wb_clk),
.i_wb_rst (wb_rst),
.i_wb_adr (wb_mem_adr[$clog2(memsize)-1:2]),
.i_wb_cyc (wb_mem_cyc),
.i_wb_we (wb_mem_we) ,
@@ -120,9 +122,11 @@ module servant
generate
if (with_csr) begin
servant_timer
#(.WIDTH (32))
#(.RESET_STRATEGY (reset_strategy),
.WIDTH (32))
timer
(.i_clk (wb_clk),
.i_rst (wb_rst),
.o_irq (timer_irq),
.i_wb_cyc (wb_timer_cyc),
.i_wb_we (wb_timer_we) ,

View File

@@ -3,8 +3,10 @@ module servant_ram
#(//Memory parameters
parameter depth = 256,
parameter aw = $clog2(depth),
parameter RESET_STRATEGY = "",
parameter memfile = "")
(input wire i_wb_clk,
input wire i_wb_rst,
input wire [aw-1:2] i_wb_adr,
input wire [31:0] i_wb_dat,
input wire [3:0] i_wb_sel,
@@ -20,7 +22,10 @@ module servant_ram
wire [aw-3:0] addr = i_wb_adr[aw-1:2];
always @(posedge i_wb_clk)
o_wb_ack <= i_wb_cyc & !o_wb_ack;
if (i_wb_rst & (RESET_STRATEGY != "NONE"))
o_wb_ack <= 1'b0;
else
o_wb_ack <= i_wb_cyc & !o_wb_ack;
always @(posedge i_wb_clk) begin
if (we[0]) mem[addr][7:0] <= i_wb_dat[7:0];

View File

@@ -1,8 +1,10 @@
`default_nettype none
module servant_timer
#(parameter WIDTH = 16,
parameter RESET_STRATEGY = "",
parameter DIVIDER = 0)
(input wire i_clk,
input wire i_rst,
output reg o_irq,
input wire [31:0] i_wb_dat,
input wire i_wb_we,
@@ -26,5 +28,10 @@ module servant_timer
mtimecmp <= i_wb_dat[HIGH:0];
mtime <= mtime + 'd1;
o_irq <= (mtimeslice >= mtimecmp);
if (RESET_STRATEGY != "NONE")
if (i_rst) begin
mtime <= 0;
mtimecmp <= 0;
end
end
endmodule