data/full_repos/permissive/505898990/verilog/rtl/distance_display.v
1: b'%Warning-WIDTH: data/full_repos/permissive/505898990/verilog/rtl/distance_display.v:192: Operator ASSIGNDLY expects 12 bits on the Assign RHS, but Assign RHS\'s REPLICATE generates 11 bits.\n                                                                                       : ... In instance distance_display.b_t_btc\n        r_bcd <= {DECIMAL_DIGITS*4-1{1\'b0}};\n              ^~\n                ... Use "/* verilator lint_off WIDTH */" and lint_on around source to disable this message.\n%Warning-WIDTH: data/full_repos/permissive/505898990/verilog/rtl/distance_display.v:193: Operator ASSIGNDLY expects 9 bits on the Assign RHS, but Assign RHS\'s REPLICATE generates 8 bits.\n                                                                                       : ... In instance distance_display.b_t_btc\n        r_Binary <= {INPUT_WIDTH-1{1\'b0}};\n                 ^~\n%Warning-WIDTH: data/full_repos/permissive/505898990/verilog/rtl/distance_display.v:194: Operator ASSIGNDLY expects 3 bits on the Assign RHS, but Assign RHS\'s REPLICATE generates 2 bits.\n                                                                                       : ... In instance distance_display.b_t_btc\n        r_Digit_Index <= {DECIMAL_DIGITS-1{1\'b0}};\n                      ^~\n%Warning-WIDTH: data/full_repos/permissive/505898990/verilog/rtl/distance_display.v:124: Logical Operator LOGNOT expects 1 bit on the LHS, but LHS\'s VARREF \'s_COUNT_ECHO\' generates 2 bits.\n                                                                                       : ... In instance distance_display.d_m\n            if(!s_COUNT_ECHO || r_measurment_counter_10_uS > MAX_DISTANCE_CYCLES - 1) begin\n               ^\n%Warning-WIDTH: data/full_repos/permissive/505898990/verilog/rtl/distance_display.v:134: Operator ASSIGNDLY expects 9 bits on the Assign RHS, but Assign RHS\'s DIVS generates 32 bits.\n                                                                                       : ... In instance distance_display.d_m\n            o_distance <= ((r_measurment_counter_10_uS / 10)) / 58;\n                       ^~\n%Error: Exiting due to 5 warning(s)\n'
module four_digit_seven_segment_controler(
  input wire i_clk,
  input wire [11:0] i_bcd_value,
  output wire [3:0] o_anode,
  output wire [7:0] o_cathode
);
wire w_refresh_clk;
wire [1:0] w_refresh_counter;
wire [3:0] w_single_digit;

clock_divider refresh_clk_generator(
  .i_clk(i_clk),
  .o_div_clk(w_refresh_clk)
);

refresh_counter refresh_counter_wrapper(
  .i_refresh_clk(w_refresh_clk),
  .o_refresh_counter(w_refresh_counter)
);

anode_control anode_control_wrapper(
  .i_refresh_counter(w_refresh_counter),
  .o_anode(o_anode)
);

bcd_control bcd_control_wrapper(
  .i_digit_1(i_bcd_value[3:0]),
  .i_digit_2(i_bcd_value[7:4]),
  .i_digit_3(i_bcd_value[11:8]),
  .i_digit_4(4'b0000),
  .i_refresh_counter(w_refresh_counter),
  .o_single_digit(w_single_digit)
);

bcd_to_cathodes bcd_to_cathodes_wrapper(
  .i_digit(w_single_digit),
  .o_cathode(o_cathode)
);
endmodule
module four_digit_seven_segment_controler(
  input wire i_clk,
  input wire [11:0] i_bcd_value,
  output wire [3:0] o_anode,
  output wire [7:0] o_cathode
);

wire w_refresh_clk;
wire [1:0] w_refresh_counter;
wire [3:0] w_single_digit;

clock_divider refresh_clk_generator(
  .i_clk(i_clk),
  .o_div_clk(w_refresh_clk)
);

refresh_counter refresh_counter_wrapper(
  .i_refresh_clk(w_refresh_clk),
  .o_refresh_counter(w_refresh_counter)
);

anode_control anode_control_wrapper(
  .i_refresh_counter(w_refresh_counter),
  .o_anode(o_anode)
);

bcd_control bcd_control_wrapper(
  .i_digit_1(i_bcd_value[3:0]),
  .i_digit_2(i_bcd_value[7:4]),
  .i_digit_3(i_bcd_value[11:8]),
  .i_digit_4(4'b0000),
  .i_refresh_counter(w_refresh_counter),
  .o_single_digit(w_single_digit)
);

bcd_to_cathodes bcd_to_cathodes_wrapper(
  .i_digit(w_single_digit),
  .o_cathode(o_cathode)
);
endmodule