aboutsummaryrefslogtreecommitdiff
path: root/core_selector
diff options
context:
space:
mode:
authorJoachim StroĢˆmbergson <joachim@secworks.se>2015-05-08 14:45:57 +0200
committerJoachim StroĢˆmbergson <joachim@secworks.se>2015-05-08 14:45:57 +0200
commitf05a3c65ec65004b097cb63d5ac6d463a7a9dc2f (patch)
tree8852692f77fc131174b26b8f30cd312162e327dd /core_selector
parente34b409d8f01b0fe8b24b3cf8defa29bddc29ead (diff)
Fixed missing assignment to debug port if the RNGS segment is not enabled. Moved default assignments in output select to before the case to make ISE happier. Added proper name of process.
Diffstat (limited to 'core_selector')
-rw-r--r--core_selector/src/rtl/core_selector.v22
1 files changed, 15 insertions, 7 deletions
diff --git a/core_selector/src/rtl/core_selector.v b/core_selector/src/rtl/core_selector.v
index 0d3d158..79c1fa4 100644
--- a/core_selector/src/rtl/core_selector.v
+++ b/core_selector/src/rtl/core_selector.v
@@ -152,6 +152,7 @@ module core_selector
wire segment_enable_rngs = (addr_segment == SEGMENT_ADDR_RNGS) ? 1'b1 : 1'b0;
wire [31: 0] segment_rngs_read_data;
wire segment_rngs_error;
+ wire [7 : 0] segment_rngs_debug;
rng_selector rngs
(
@@ -167,7 +168,7 @@ module core_selector
.sys_error(segment_rngs_error),
.noise(noise), // only RNG segment uses these ports
- .debug(debug)
+ .debug(segment_rngs_debug)
);
`endif
@@ -178,7 +179,6 @@ module core_selector
`ifdef USE_SEGMENT_CIPHERS
wire segment_enable_ciphers = (addr_segment == SEGMENT_ADDR_CIPHERS) ? 1'b1 : 1'b0;
wire [31: 0] segment_ciphers_read_data;
- wire segment_ciphers_error;
cipher_selector ciphers
(
@@ -222,12 +222,20 @@ module core_selector
// Output (Read Data) Bus
//----------------------------------------------------------------
reg [31: 0] sys_read_data_reg;
- assign sys_read_data = sys_read_data_reg;
+ reg [07: 0] sys_debug;
reg sys_error_reg;
- assign sys_error = sys_error_reg;
+
+ assign sys_read_data = sys_read_data_reg;
+ assign sys_error = sys_error_reg;
+ assign debug = sys_debug;
always @*
- //
+ begin : output_select
+ sys_debug = 8'h00;
+ sys_read_data_reg = {32{1'b0}};
+ sys_error_reg = 1;
+ sys_debug = 8'h00;
+
case (addr_segment)
`ifdef USE_SEGMENT_GLOBALS
SEGMENT_ADDR_GLOBALS:
@@ -248,6 +256,7 @@ module core_selector
begin
sys_read_data_reg = segment_rngs_read_data;
sys_error_reg = segment_rngs_error;
+ sys_debug = segment_rngs_debug;
end
`endif
`ifdef USE_SEGMENT_CIPHERS
@@ -266,10 +275,9 @@ module core_selector
`endif
default:
begin
- sys_read_data_reg = {32{1'b0}};
- sys_error_reg = 1;
end
endcase
+ end // output_select
endmodule