aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2016-06-09 11:57:23 +0200
committerClifford Wolf <clifford@clifford.at>2016-06-09 11:57:23 +0200
commit288a043acaa1db7cfda52c672afed32aa3ff4b0e (patch)
tree96e2c606f18839762e7833ce394f7564945b6a4e
parentb99610fee30e41049e94687e350a720951a9f0e9 (diff)
downloadpicorv32-288a043acaa1db7cfda52c672afed32aa3ff4b0e.tar.gz
picorv32-288a043acaa1db7cfda52c672afed32aa3ff4b0e.zip
Fixed use-before-declaration problem with VCS
-rw-r--r--picorv32.v7
1 files changed, 5 insertions, 2 deletions
diff --git a/picorv32.v b/picorv32.v
index 2da99fd..e29f23c 100644
--- a/picorv32.v
+++ b/picorv32.v
@@ -269,6 +269,9 @@ module picorv32 #(
reg clear_prefetched_high_word;
reg [15:0] mem_16bit_buffer;
+ wire [31:0] mem_rdata_latched_noshuffle;
+ wire [31:0] mem_rdata_latched;
+
wire mem_la_use_prefetched_high_word = COMPRESSED_ISA && mem_la_firstword && prefetched_high_word && !clear_prefetched_high_word;
wire mem_xfer = (mem_valid && mem_ready) || (mem_la_use_prefetched_high_word && mem_do_rinst);
@@ -281,9 +284,9 @@ module picorv32 #(
(COMPRESSED_ISA && mem_xfer && mem_la_firstword && !mem_la_secondword && &mem_rdata_latched[1:0]));
assign mem_la_addr = (mem_do_prefetch || mem_do_rinst) ? {next_pc[31:2] + (mem_xfer && mem_la_firstword), 2'b00} : {reg_op1[31:2], 2'b00};
- wire [31:0] mem_rdata_latched_noshuffle = (mem_xfer || LATCHED_MEM_RDATA) ? mem_rdata : mem_rdata_q;
+ assign mem_rdata_latched_noshuffle = (mem_xfer || LATCHED_MEM_RDATA) ? mem_rdata : mem_rdata_q;
- wire [31:0] mem_rdata_latched = COMPRESSED_ISA && mem_la_use_prefetched_high_word ? {16'bx, mem_16bit_buffer} :
+ assign mem_rdata_latched = COMPRESSED_ISA && mem_la_use_prefetched_high_word ? {16'bx, mem_16bit_buffer} :
COMPRESSED_ISA && mem_la_secondword ? {mem_rdata_latched_noshuffle[15:0], mem_16bit_buffer} :
COMPRESSED_ISA && mem_la_firstword ? {16'bx, mem_rdata_latched_noshuffle[31:16]} : mem_rdata_latched_noshuffle;