From 7a9fdb5fc34ca0fa33a20e338c8f0a84cd4f8f96 Mon Sep 17 00:00:00 2001 From: Alex Forencich Date: Mon, 9 Nov 2015 14:54:14 -0800 Subject: [PATCH] Add default case statements to avoid inferring latches --- rtl/axis_demux.py | 4 ++++ rtl/axis_demux_4.v | 4 ++++ rtl/axis_demux_64.py | 4 ++++ rtl/axis_demux_64_4.v | 4 ++++ rtl/axis_mux.py | 8 ++++++++ rtl/axis_mux_4.v | 8 ++++++++ rtl/axis_mux_64.py | 9 +++++++++ rtl/axis_mux_64_4.v | 9 +++++++++ 8 files changed, 50 insertions(+) diff --git a/rtl/axis_demux.py b/rtl/axis_demux.py index 28bb7ed2..71b37dba 100755 --- a/rtl/axis_demux.py +++ b/rtl/axis_demux.py @@ -129,6 +129,10 @@ always @* begin current_output_tready = output_{{p}}_axis_tready; end {%- endfor %} + default: begin + current_output_tvalid = 1'b0; + current_output_tready = 1'b0; + end endcase end diff --git a/rtl/axis_demux_4.v b/rtl/axis_demux_4.v index 6b853aeb..9d5b8310 100644 --- a/rtl/axis_demux_4.v +++ b/rtl/axis_demux_4.v @@ -116,6 +116,10 @@ always @* begin current_output_tvalid = output_3_axis_tvalid; current_output_tready = output_3_axis_tready; end + default: begin + current_output_tvalid = 1'b0; + current_output_tready = 1'b0; + end endcase end diff --git a/rtl/axis_demux_64.py b/rtl/axis_demux_64.py index 898bb6e6..d3f6294f 100755 --- a/rtl/axis_demux_64.py +++ b/rtl/axis_demux_64.py @@ -133,6 +133,10 @@ always @* begin current_output_tready = output_{{p}}_axis_tready; end {%- endfor %} + default: begin + current_output_tvalid = 1'b0; + current_output_tready = 1'b0; + end endcase end diff --git a/rtl/axis_demux_64_4.v b/rtl/axis_demux_64_4.v index 489ce179..f4bb51fc 100644 --- a/rtl/axis_demux_64_4.v +++ b/rtl/axis_demux_64_4.v @@ -123,6 +123,10 @@ always @* begin current_output_tvalid = output_3_axis_tvalid; current_output_tready = output_3_axis_tready; end + default: begin + current_output_tvalid = 1'b0; + current_output_tready = 1'b0; + end endcase end diff --git a/rtl/axis_mux.py b/rtl/axis_mux.py index 4d3550e1..95c2ada0 100755 --- a/rtl/axis_mux.py +++ b/rtl/axis_mux.py @@ -127,6 +127,7 @@ always @* begin {%- for p in ports %} {{w}}'d{{p}}: selected_input_tvalid = input_{{p}}_axis_tvalid; {%- endfor %} + default: selected_input_tvalid = 1'b0; endcase end @@ -147,6 +148,13 @@ always @* begin current_input_tuser = input_{{p}}_axis_tuser; end {%- endfor %} + default: begin + current_input_tdata = {DATA_WIDTH{1'b0}}; + current_input_tvalid = 1'b0; + current_input_tready = 1'b0; + current_input_tlast = 1'b0; + current_input_tuser = 1'b0; + end endcase end diff --git a/rtl/axis_mux_4.v b/rtl/axis_mux_4.v index 319acfd9..b52c17e9 100644 --- a/rtl/axis_mux_4.v +++ b/rtl/axis_mux_4.v @@ -109,6 +109,7 @@ always @* begin 2'd1: selected_input_tvalid = input_1_axis_tvalid; 2'd2: selected_input_tvalid = input_2_axis_tvalid; 2'd3: selected_input_tvalid = input_3_axis_tvalid; + default: selected_input_tvalid = 1'b0; endcase end @@ -148,6 +149,13 @@ always @* begin current_input_tlast = input_3_axis_tlast; current_input_tuser = input_3_axis_tuser; end + default: begin + current_input_tdata = {DATA_WIDTH{1'b0}}; + current_input_tvalid = 1'b0; + current_input_tready = 1'b0; + current_input_tlast = 1'b0; + current_input_tuser = 1'b0; + end endcase end diff --git a/rtl/axis_mux_64.py b/rtl/axis_mux_64.py index e38d19a9..bd3b27f3 100755 --- a/rtl/axis_mux_64.py +++ b/rtl/axis_mux_64.py @@ -131,6 +131,7 @@ always @* begin {%- for p in ports %} {{w}}'d{{p}}: selected_input_tvalid = input_{{p}}_axis_tvalid; {%- endfor %} + default: selected_input_tvalid = 1'b0; endcase end @@ -153,6 +154,14 @@ always @* begin current_input_tuser = input_{{p}}_axis_tuser; end {%- endfor %} + default: begin + current_input_tdata = {DATA_WIDTH{1'b0}}; + current_input_tkeep = {KEEP_WIDTH{1'b0}}; + current_input_tvalid = 1'b0; + current_input_tready = 1'b0; + current_input_tlast = 1'b0; + current_input_tuser = 1'b0; + end endcase end diff --git a/rtl/axis_mux_64_4.v b/rtl/axis_mux_64_4.v index 5e798aa3..11ee9aeb 100644 --- a/rtl/axis_mux_64_4.v +++ b/rtl/axis_mux_64_4.v @@ -116,6 +116,7 @@ always @* begin 2'd1: selected_input_tvalid = input_1_axis_tvalid; 2'd2: selected_input_tvalid = input_2_axis_tvalid; 2'd3: selected_input_tvalid = input_3_axis_tvalid; + default: selected_input_tvalid = 1'b0; endcase end @@ -160,6 +161,14 @@ always @* begin current_input_tlast = input_3_axis_tlast; current_input_tuser = input_3_axis_tuser; end + default: begin + current_input_tdata = {DATA_WIDTH{1'b0}}; + current_input_tkeep = {KEEP_WIDTH{1'b0}}; + current_input_tvalid = 1'b0; + current_input_tready = 1'b0; + current_input_tlast = 1'b0; + current_input_tuser = 1'b0; + end endcase end