From 1ae5d78b4d040b0442f948e117d4f7a301e3d3ba Mon Sep 17 00:00:00 2001 From: Aadi Desai <21363892+supleed2@users.noreply.github.com> Date: Thu, 17 Dec 2020 07:58:33 -0800 Subject: [PATCH] Added dummy clk_enable to harvard instance, added clock kickstart after reset --- rtl/mips_cpu_bus.v | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/rtl/mips_cpu_bus.v b/rtl/mips_cpu_bus.v index ca117dd..c120971 100644 --- a/rtl/mips_cpu_bus.v +++ b/rtl/mips_cpu_bus.v @@ -30,6 +30,7 @@ logic clk_state; // make sure posedge and negedge of clk do not occur repeatedly logic partial_write; // flag to control datapath when doing a partial write logic[31:0] partial_writedata; // modified data for partial writes (StoreHalfword or StoreByte) logic[31:0] write_data_address; // modified data address for partial writes +logic clk_enable; // unused floating wire initial begin clk_internal = 1'b0; @@ -44,6 +45,11 @@ initial begin clk_state = 0; end +always_ff @(negedge reset) begin // kickstart clock after reset + clk_internal <= 1'b1; + state <= 2'b00; +end + always_ff @(posedge clk) begin // CLK Rising Edge if (!waitrequest && !clk_state) begin case (n_state) @@ -212,7 +218,7 @@ mips_cpu_harvard mips_cpu_harvard( // Harvard CPU within wrapper .reset(reset), // CPU reset, input .active(active), // Is CPU active, output .register_v0(register_v0), // $2 / $v0 debug bus, output -.clk_enable(1'b0), // unused clock enable, input +.clk_enable(clk_enable), // unused clock enable, input .instr_address(harvard_instr_address), // instr addr from pc, output .instr_readdata(instr_reg), // cached instruction passed into harvard cpu, input .data_address(harvard_data_address), // harvard data memory address, output