`timescale 1ns / 1ps

module tb_bpm_calculator;
    reg clk;
    reg rst;
    reg peak_in;

    wire bpm_valid;
    wire [8:0] bpm_out;

    integer errors = 0;
    integer tests_run = 0;
    integer i;

// Generated by generate_golden.py. Do not edit by hand.
localparam integer NUM_TESTS = 766;
reg test_rst [0:NUM_TESTS-1];
reg test_peak_in [0:NUM_TESTS-1];
reg expected_valid [0:NUM_TESTS-1];
reg [8:0] expected_bpm [0:NUM_TESTS-1];

initial begin
    test_rst[0] = 1'b1;
    test_peak_in[0] = 1'b0;
    expected_valid[0] = 1'b0;
    expected_bpm[0] = 9'd0;
    test_rst[1] = 1'b1;
    test_peak_in[1] = 1'b0;
    expected_valid[1] = 1'b0;
    expected_bpm[1] = 9'd0;
    test_rst[2] = 1'b0;
    test_peak_in[2] = 1'b1;
    expected_valid[2] = 1'b0;
    expected_bpm[2] = 9'd0;
    test_rst[3] = 1'b0;
    test_peak_in[3] = 1'b0;
    expected_valid[3] = 1'b0;
    expected_bpm[3] = 9'd0;
    test_rst[4] = 1'b0;
    test_peak_in[4] = 1'b0;
    expected_valid[4] = 1'b0;
    expected_bpm[4] = 9'd0;
    test_rst[5] = 1'b0;
    test_peak_in[5] = 1'b0;
    expected_valid[5] = 1'b0;
    expected_bpm[5] = 9'd0;
    test_rst[6] = 1'b0;
    test_peak_in[6] = 1'b0;
    expected_valid[6] = 1'b0;
    expected_bpm[6] = 9'd0;
    test_rst[7] = 1'b0;
    test_peak_in[7] = 1'b0;
    expected_valid[7] = 1'b0;
    expected_bpm[7] = 9'd0;
    test_rst[8] = 1'b0;
    test_peak_in[8] = 1'b0;
    expected_valid[8] = 1'b0;
    expected_bpm[8] = 9'd0;
    test_rst[9] = 1'b0;
    test_peak_in[9] = 1'b0;
    expected_valid[9] = 1'b0;
    expected_bpm[9] = 9'd0;
    test_rst[10] = 1'b0;
    test_peak_in[10] = 1'b0;
    expected_valid[10] = 1'b0;
    expected_bpm[10] = 9'd0;
    test_rst[11] = 1'b0;
    test_peak_in[11] = 1'b0;
    expected_valid[11] = 1'b0;
    expected_bpm[11] = 9'd0;
    test_rst[12] = 1'b0;
    test_peak_in[12] = 1'b0;
    expected_valid[12] = 1'b0;
    expected_bpm[12] = 9'd0;
    test_rst[13] = 1'b0;
    test_peak_in[13] = 1'b0;
    expected_valid[13] = 1'b0;
    expected_bpm[13] = 9'd0;
    test_rst[14] = 1'b0;
    test_peak_in[14] = 1'b0;
    expected_valid[14] = 1'b0;
    expected_bpm[14] = 9'd0;
    test_rst[15] = 1'b0;
    test_peak_in[15] = 1'b0;
    expected_valid[15] = 1'b0;
    expected_bpm[15] = 9'd0;
    test_rst[16] = 1'b0;
    test_peak_in[16] = 1'b0;
    expected_valid[16] = 1'b0;
    expected_bpm[16] = 9'd0;
    test_rst[17] = 1'b0;
    test_peak_in[17] = 1'b0;
    expected_valid[17] = 1'b0;
    expected_bpm[17] = 9'd0;
    test_rst[18] = 1'b0;
    test_peak_in[18] = 1'b0;
    expected_valid[18] = 1'b0;
    expected_bpm[18] = 9'd0;
    test_rst[19] = 1'b0;
    test_peak_in[19] = 1'b0;
    expected_valid[19] = 1'b0;
    expected_bpm[19] = 9'd0;
    test_rst[20] = 1'b0;
    test_peak_in[20] = 1'b0;
    expected_valid[20] = 1'b0;
    expected_bpm[20] = 9'd0;
    test_rst[21] = 1'b0;
    test_peak_in[21] = 1'b0;
    expected_valid[21] = 1'b0;
    expected_bpm[21] = 9'd0;
    test_rst[22] = 1'b0;
    test_peak_in[22] = 1'b1;
    expected_valid[22] = 1'b0;
    expected_bpm[22] = 9'd0;
    test_rst[23] = 1'b0;
    test_peak_in[23] = 1'b0;
    expected_valid[23] = 1'b0;
    expected_bpm[23] = 9'd0;
    test_rst[24] = 1'b0;
    test_peak_in[24] = 1'b0;
    expected_valid[24] = 1'b0;
    expected_bpm[24] = 9'd0;
    test_rst[25] = 1'b0;
    test_peak_in[25] = 1'b0;
    expected_valid[25] = 1'b0;
    expected_bpm[25] = 9'd0;
    test_rst[26] = 1'b0;
    test_peak_in[26] = 1'b0;
    expected_valid[26] = 1'b0;
    expected_bpm[26] = 9'd0;
    test_rst[27] = 1'b0;
    test_peak_in[27] = 1'b0;
    expected_valid[27] = 1'b0;
    expected_bpm[27] = 9'd0;
    test_rst[28] = 1'b0;
    test_peak_in[28] = 1'b0;
    expected_valid[28] = 1'b0;
    expected_bpm[28] = 9'd0;
    test_rst[29] = 1'b0;
    test_peak_in[29] = 1'b0;
    expected_valid[29] = 1'b0;
    expected_bpm[29] = 9'd0;
    test_rst[30] = 1'b0;
    test_peak_in[30] = 1'b0;
    expected_valid[30] = 1'b0;
    expected_bpm[30] = 9'd0;
    test_rst[31] = 1'b0;
    test_peak_in[31] = 1'b0;
    expected_valid[31] = 1'b0;
    expected_bpm[31] = 9'd0;
    test_rst[32] = 1'b0;
    test_peak_in[32] = 1'b0;
    expected_valid[32] = 1'b0;
    expected_bpm[32] = 9'd0;
    test_rst[33] = 1'b0;
    test_peak_in[33] = 1'b0;
    expected_valid[33] = 1'b0;
    expected_bpm[33] = 9'd0;
    test_rst[34] = 1'b0;
    test_peak_in[34] = 1'b0;
    expected_valid[34] = 1'b0;
    expected_bpm[34] = 9'd0;
    test_rst[35] = 1'b0;
    test_peak_in[35] = 1'b0;
    expected_valid[35] = 1'b0;
    expected_bpm[35] = 9'd0;
    test_rst[36] = 1'b0;
    test_peak_in[36] = 1'b0;
    expected_valid[36] = 1'b0;
    expected_bpm[36] = 9'd0;
    test_rst[37] = 1'b0;
    test_peak_in[37] = 1'b0;
    expected_valid[37] = 1'b0;
    expected_bpm[37] = 9'd0;
    test_rst[38] = 1'b0;
    test_peak_in[38] = 1'b0;
    expected_valid[38] = 1'b0;
    expected_bpm[38] = 9'd0;
    test_rst[39] = 1'b0;
    test_peak_in[39] = 1'b0;
    expected_valid[39] = 1'b0;
    expected_bpm[39] = 9'd0;
    test_rst[40] = 1'b0;
    test_peak_in[40] = 1'b0;
    expected_valid[40] = 1'b0;
    expected_bpm[40] = 9'd0;
    test_rst[41] = 1'b0;
    test_peak_in[41] = 1'b0;
    expected_valid[41] = 1'b0;
    expected_bpm[41] = 9'd0;
    test_rst[42] = 1'b0;
    test_peak_in[42] = 1'b1;
    expected_valid[42] = 1'b0;
    expected_bpm[42] = 9'd0;
    test_rst[43] = 1'b0;
    test_peak_in[43] = 1'b0;
    expected_valid[43] = 1'b0;
    expected_bpm[43] = 9'd0;
    test_rst[44] = 1'b0;
    test_peak_in[44] = 1'b0;
    expected_valid[44] = 1'b0;
    expected_bpm[44] = 9'd0;
    test_rst[45] = 1'b0;
    test_peak_in[45] = 1'b0;
    expected_valid[45] = 1'b0;
    expected_bpm[45] = 9'd0;
    test_rst[46] = 1'b0;
    test_peak_in[46] = 1'b0;
    expected_valid[46] = 1'b0;
    expected_bpm[46] = 9'd0;
    test_rst[47] = 1'b0;
    test_peak_in[47] = 1'b0;
    expected_valid[47] = 1'b0;
    expected_bpm[47] = 9'd0;
    test_rst[48] = 1'b0;
    test_peak_in[48] = 1'b0;
    expected_valid[48] = 1'b0;
    expected_bpm[48] = 9'd0;
    test_rst[49] = 1'b0;
    test_peak_in[49] = 1'b0;
    expected_valid[49] = 1'b0;
    expected_bpm[49] = 9'd0;
    test_rst[50] = 1'b0;
    test_peak_in[50] = 1'b0;
    expected_valid[50] = 1'b0;
    expected_bpm[50] = 9'd0;
    test_rst[51] = 1'b0;
    test_peak_in[51] = 1'b0;
    expected_valid[51] = 1'b0;
    expected_bpm[51] = 9'd0;
    test_rst[52] = 1'b0;
    test_peak_in[52] = 1'b0;
    expected_valid[52] = 1'b0;
    expected_bpm[52] = 9'd0;
    test_rst[53] = 1'b0;
    test_peak_in[53] = 1'b0;
    expected_valid[53] = 1'b0;
    expected_bpm[53] = 9'd0;
    test_rst[54] = 1'b0;
    test_peak_in[54] = 1'b0;
    expected_valid[54] = 1'b0;
    expected_bpm[54] = 9'd0;
    test_rst[55] = 1'b0;
    test_peak_in[55] = 1'b0;
    expected_valid[55] = 1'b0;
    expected_bpm[55] = 9'd0;
    test_rst[56] = 1'b0;
    test_peak_in[56] = 1'b0;
    expected_valid[56] = 1'b0;
    expected_bpm[56] = 9'd0;
    test_rst[57] = 1'b0;
    test_peak_in[57] = 1'b0;
    expected_valid[57] = 1'b0;
    expected_bpm[57] = 9'd0;
    test_rst[58] = 1'b0;
    test_peak_in[58] = 1'b0;
    expected_valid[58] = 1'b0;
    expected_bpm[58] = 9'd0;
    test_rst[59] = 1'b0;
    test_peak_in[59] = 1'b0;
    expected_valid[59] = 1'b0;
    expected_bpm[59] = 9'd0;
    test_rst[60] = 1'b0;
    test_peak_in[60] = 1'b0;
    expected_valid[60] = 1'b0;
    expected_bpm[60] = 9'd0;
    test_rst[61] = 1'b0;
    test_peak_in[61] = 1'b0;
    expected_valid[61] = 1'b0;
    expected_bpm[61] = 9'd0;
    test_rst[62] = 1'b0;
    test_peak_in[62] = 1'b1;
    expected_valid[62] = 1'b0;
    expected_bpm[62] = 9'd0;
    test_rst[63] = 1'b0;
    test_peak_in[63] = 1'b0;
    expected_valid[63] = 1'b0;
    expected_bpm[63] = 9'd0;
    test_rst[64] = 1'b0;
    test_peak_in[64] = 1'b0;
    expected_valid[64] = 1'b0;
    expected_bpm[64] = 9'd0;
    test_rst[65] = 1'b0;
    test_peak_in[65] = 1'b0;
    expected_valid[65] = 1'b0;
    expected_bpm[65] = 9'd0;
    test_rst[66] = 1'b0;
    test_peak_in[66] = 1'b0;
    expected_valid[66] = 1'b0;
    expected_bpm[66] = 9'd0;
    test_rst[67] = 1'b0;
    test_peak_in[67] = 1'b0;
    expected_valid[67] = 1'b0;
    expected_bpm[67] = 9'd0;
    test_rst[68] = 1'b0;
    test_peak_in[68] = 1'b0;
    expected_valid[68] = 1'b0;
    expected_bpm[68] = 9'd0;
    test_rst[69] = 1'b0;
    test_peak_in[69] = 1'b0;
    expected_valid[69] = 1'b0;
    expected_bpm[69] = 9'd0;
    test_rst[70] = 1'b0;
    test_peak_in[70] = 1'b0;
    expected_valid[70] = 1'b0;
    expected_bpm[70] = 9'd0;
    test_rst[71] = 1'b0;
    test_peak_in[71] = 1'b0;
    expected_valid[71] = 1'b0;
    expected_bpm[71] = 9'd0;
    test_rst[72] = 1'b0;
    test_peak_in[72] = 1'b0;
    expected_valid[72] = 1'b0;
    expected_bpm[72] = 9'd0;
    test_rst[73] = 1'b0;
    test_peak_in[73] = 1'b0;
    expected_valid[73] = 1'b0;
    expected_bpm[73] = 9'd0;
    test_rst[74] = 1'b0;
    test_peak_in[74] = 1'b0;
    expected_valid[74] = 1'b0;
    expected_bpm[74] = 9'd0;
    test_rst[75] = 1'b0;
    test_peak_in[75] = 1'b0;
    expected_valid[75] = 1'b0;
    expected_bpm[75] = 9'd0;
    test_rst[76] = 1'b0;
    test_peak_in[76] = 1'b0;
    expected_valid[76] = 1'b0;
    expected_bpm[76] = 9'd0;
    test_rst[77] = 1'b0;
    test_peak_in[77] = 1'b0;
    expected_valid[77] = 1'b0;
    expected_bpm[77] = 9'd0;
    test_rst[78] = 1'b0;
    test_peak_in[78] = 1'b0;
    expected_valid[78] = 1'b0;
    expected_bpm[78] = 9'd0;
    test_rst[79] = 1'b0;
    test_peak_in[79] = 1'b0;
    expected_valid[79] = 1'b0;
    expected_bpm[79] = 9'd0;
    test_rst[80] = 1'b0;
    test_peak_in[80] = 1'b0;
    expected_valid[80] = 1'b0;
    expected_bpm[80] = 9'd0;
    test_rst[81] = 1'b0;
    test_peak_in[81] = 1'b0;
    expected_valid[81] = 1'b0;
    expected_bpm[81] = 9'd0;
    test_rst[82] = 1'b0;
    test_peak_in[82] = 1'b1;
    expected_valid[82] = 1'b0;
    expected_bpm[82] = 9'd0;
    test_rst[83] = 1'b0;
    test_peak_in[83] = 1'b0;
    expected_valid[83] = 1'b0;
    expected_bpm[83] = 9'd0;
    test_rst[84] = 1'b0;
    test_peak_in[84] = 1'b0;
    expected_valid[84] = 1'b0;
    expected_bpm[84] = 9'd0;
    test_rst[85] = 1'b0;
    test_peak_in[85] = 1'b0;
    expected_valid[85] = 1'b0;
    expected_bpm[85] = 9'd0;
    test_rst[86] = 1'b0;
    test_peak_in[86] = 1'b0;
    expected_valid[86] = 1'b0;
    expected_bpm[86] = 9'd0;
    test_rst[87] = 1'b0;
    test_peak_in[87] = 1'b0;
    expected_valid[87] = 1'b0;
    expected_bpm[87] = 9'd0;
    test_rst[88] = 1'b0;
    test_peak_in[88] = 1'b0;
    expected_valid[88] = 1'b0;
    expected_bpm[88] = 9'd0;
    test_rst[89] = 1'b0;
    test_peak_in[89] = 1'b0;
    expected_valid[89] = 1'b0;
    expected_bpm[89] = 9'd0;
    test_rst[90] = 1'b0;
    test_peak_in[90] = 1'b0;
    expected_valid[90] = 1'b0;
    expected_bpm[90] = 9'd0;
    test_rst[91] = 1'b0;
    test_peak_in[91] = 1'b0;
    expected_valid[91] = 1'b0;
    expected_bpm[91] = 9'd0;
    test_rst[92] = 1'b0;
    test_peak_in[92] = 1'b0;
    expected_valid[92] = 1'b0;
    expected_bpm[92] = 9'd0;
    test_rst[93] = 1'b0;
    test_peak_in[93] = 1'b0;
    expected_valid[93] = 1'b0;
    expected_bpm[93] = 9'd0;
    test_rst[94] = 1'b0;
    test_peak_in[94] = 1'b0;
    expected_valid[94] = 1'b0;
    expected_bpm[94] = 9'd0;
    test_rst[95] = 1'b0;
    test_peak_in[95] = 1'b0;
    expected_valid[95] = 1'b0;
    expected_bpm[95] = 9'd0;
    test_rst[96] = 1'b0;
    test_peak_in[96] = 1'b0;
    expected_valid[96] = 1'b0;
    expected_bpm[96] = 9'd0;
    test_rst[97] = 1'b0;
    test_peak_in[97] = 1'b0;
    expected_valid[97] = 1'b0;
    expected_bpm[97] = 9'd0;
    test_rst[98] = 1'b0;
    test_peak_in[98] = 1'b0;
    expected_valid[98] = 1'b0;
    expected_bpm[98] = 9'd0;
    test_rst[99] = 1'b0;
    test_peak_in[99] = 1'b0;
    expected_valid[99] = 1'b0;
    expected_bpm[99] = 9'd0;
    test_rst[100] = 1'b0;
    test_peak_in[100] = 1'b0;
    expected_valid[100] = 1'b0;
    expected_bpm[100] = 9'd0;
    test_rst[101] = 1'b0;
    test_peak_in[101] = 1'b0;
    expected_valid[101] = 1'b1;
    expected_bpm[101] = 9'd60;
    test_rst[102] = 1'b0;
    test_peak_in[102] = 1'b0;
    expected_valid[102] = 1'b1;
    expected_bpm[102] = 9'd48;
    test_rst[103] = 1'b0;
    test_peak_in[103] = 1'b0;
    expected_valid[103] = 1'b1;
    expected_bpm[103] = 9'd48;
    test_rst[104] = 1'b0;
    test_peak_in[104] = 1'b0;
    expected_valid[104] = 1'b1;
    expected_bpm[104] = 9'd48;
    test_rst[105] = 1'b0;
    test_peak_in[105] = 1'b0;
    expected_valid[105] = 1'b1;
    expected_bpm[105] = 9'd48;
    test_rst[106] = 1'b0;
    test_peak_in[106] = 1'b0;
    expected_valid[106] = 1'b1;
    expected_bpm[106] = 9'd48;
    test_rst[107] = 1'b0;
    test_peak_in[107] = 1'b0;
    expected_valid[107] = 1'b1;
    expected_bpm[107] = 9'd48;
    test_rst[108] = 1'b0;
    test_peak_in[108] = 1'b0;
    expected_valid[108] = 1'b1;
    expected_bpm[108] = 9'd48;
    test_rst[109] = 1'b0;
    test_peak_in[109] = 1'b0;
    expected_valid[109] = 1'b1;
    expected_bpm[109] = 9'd48;
    test_rst[110] = 1'b0;
    test_peak_in[110] = 1'b0;
    expected_valid[110] = 1'b1;
    expected_bpm[110] = 9'd48;
    test_rst[111] = 1'b0;
    test_peak_in[111] = 1'b0;
    expected_valid[111] = 1'b1;
    expected_bpm[111] = 9'd48;
    test_rst[112] = 1'b0;
    test_peak_in[112] = 1'b0;
    expected_valid[112] = 1'b1;
    expected_bpm[112] = 9'd48;
    test_rst[113] = 1'b0;
    test_peak_in[113] = 1'b0;
    expected_valid[113] = 1'b1;
    expected_bpm[113] = 9'd48;
    test_rst[114] = 1'b0;
    test_peak_in[114] = 1'b0;
    expected_valid[114] = 1'b1;
    expected_bpm[114] = 9'd48;
    test_rst[115] = 1'b0;
    test_peak_in[115] = 1'b0;
    expected_valid[115] = 1'b1;
    expected_bpm[115] = 9'd48;
    test_rst[116] = 1'b0;
    test_peak_in[116] = 1'b0;
    expected_valid[116] = 1'b1;
    expected_bpm[116] = 9'd48;
    test_rst[117] = 1'b0;
    test_peak_in[117] = 1'b0;
    expected_valid[117] = 1'b1;
    expected_bpm[117] = 9'd48;
    test_rst[118] = 1'b0;
    test_peak_in[118] = 1'b0;
    expected_valid[118] = 1'b1;
    expected_bpm[118] = 9'd48;
    test_rst[119] = 1'b0;
    test_peak_in[119] = 1'b0;
    expected_valid[119] = 1'b1;
    expected_bpm[119] = 9'd48;
    test_rst[120] = 1'b0;
    test_peak_in[120] = 1'b0;
    expected_valid[120] = 1'b1;
    expected_bpm[120] = 9'd48;
    test_rst[121] = 1'b0;
    test_peak_in[121] = 1'b0;
    expected_valid[121] = 1'b1;
    expected_bpm[121] = 9'd48;
    test_rst[122] = 1'b0;
    test_peak_in[122] = 1'b0;
    expected_valid[122] = 1'b1;
    expected_bpm[122] = 9'd36;
    test_rst[123] = 1'b0;
    test_peak_in[123] = 1'b0;
    expected_valid[123] = 1'b1;
    expected_bpm[123] = 9'd36;
    test_rst[124] = 1'b0;
    test_peak_in[124] = 1'b0;
    expected_valid[124] = 1'b1;
    expected_bpm[124] = 9'd36;
    test_rst[125] = 1'b0;
    test_peak_in[125] = 1'b0;
    expected_valid[125] = 1'b1;
    expected_bpm[125] = 9'd36;
    test_rst[126] = 1'b0;
    test_peak_in[126] = 1'b0;
    expected_valid[126] = 1'b1;
    expected_bpm[126] = 9'd36;
    test_rst[127] = 1'b0;
    test_peak_in[127] = 1'b0;
    expected_valid[127] = 1'b1;
    expected_bpm[127] = 9'd36;
    test_rst[128] = 1'b0;
    test_peak_in[128] = 1'b0;
    expected_valid[128] = 1'b1;
    expected_bpm[128] = 9'd36;
    test_rst[129] = 1'b0;
    test_peak_in[129] = 1'b0;
    expected_valid[129] = 1'b1;
    expected_bpm[129] = 9'd36;
    test_rst[130] = 1'b0;
    test_peak_in[130] = 1'b0;
    expected_valid[130] = 1'b1;
    expected_bpm[130] = 9'd36;
    test_rst[131] = 1'b0;
    test_peak_in[131] = 1'b0;
    expected_valid[131] = 1'b1;
    expected_bpm[131] = 9'd36;
    test_rst[132] = 1'b0;
    test_peak_in[132] = 1'b0;
    expected_valid[132] = 1'b1;
    expected_bpm[132] = 9'd36;
    test_rst[133] = 1'b0;
    test_peak_in[133] = 1'b0;
    expected_valid[133] = 1'b1;
    expected_bpm[133] = 9'd36;
    test_rst[134] = 1'b0;
    test_peak_in[134] = 1'b0;
    expected_valid[134] = 1'b1;
    expected_bpm[134] = 9'd36;
    test_rst[135] = 1'b0;
    test_peak_in[135] = 1'b0;
    expected_valid[135] = 1'b1;
    expected_bpm[135] = 9'd36;
    test_rst[136] = 1'b0;
    test_peak_in[136] = 1'b0;
    expected_valid[136] = 1'b1;
    expected_bpm[136] = 9'd36;
    test_rst[137] = 1'b0;
    test_peak_in[137] = 1'b0;
    expected_valid[137] = 1'b1;
    expected_bpm[137] = 9'd36;
    test_rst[138] = 1'b0;
    test_peak_in[138] = 1'b0;
    expected_valid[138] = 1'b1;
    expected_bpm[138] = 9'd36;
    test_rst[139] = 1'b0;
    test_peak_in[139] = 1'b0;
    expected_valid[139] = 1'b1;
    expected_bpm[139] = 9'd36;
    test_rst[140] = 1'b0;
    test_peak_in[140] = 1'b0;
    expected_valid[140] = 1'b1;
    expected_bpm[140] = 9'd36;
    test_rst[141] = 1'b0;
    test_peak_in[141] = 1'b0;
    expected_valid[141] = 1'b1;
    expected_bpm[141] = 9'd36;
    test_rst[142] = 1'b0;
    test_peak_in[142] = 1'b0;
    expected_valid[142] = 1'b1;
    expected_bpm[142] = 9'd24;
    test_rst[143] = 1'b0;
    test_peak_in[143] = 1'b0;
    expected_valid[143] = 1'b1;
    expected_bpm[143] = 9'd24;
    test_rst[144] = 1'b0;
    test_peak_in[144] = 1'b0;
    expected_valid[144] = 1'b1;
    expected_bpm[144] = 9'd24;
    test_rst[145] = 1'b0;
    test_peak_in[145] = 1'b0;
    expected_valid[145] = 1'b1;
    expected_bpm[145] = 9'd24;
    test_rst[146] = 1'b0;
    test_peak_in[146] = 1'b0;
    expected_valid[146] = 1'b1;
    expected_bpm[146] = 9'd24;
    test_rst[147] = 1'b0;
    test_peak_in[147] = 1'b0;
    expected_valid[147] = 1'b1;
    expected_bpm[147] = 9'd24;
    test_rst[148] = 1'b0;
    test_peak_in[148] = 1'b0;
    expected_valid[148] = 1'b1;
    expected_bpm[148] = 9'd24;
    test_rst[149] = 1'b0;
    test_peak_in[149] = 1'b0;
    expected_valid[149] = 1'b1;
    expected_bpm[149] = 9'd24;
    test_rst[150] = 1'b0;
    test_peak_in[150] = 1'b0;
    expected_valid[150] = 1'b1;
    expected_bpm[150] = 9'd24;
    test_rst[151] = 1'b0;
    test_peak_in[151] = 1'b0;
    expected_valid[151] = 1'b1;
    expected_bpm[151] = 9'd24;
    test_rst[152] = 1'b0;
    test_peak_in[152] = 1'b0;
    expected_valid[152] = 1'b1;
    expected_bpm[152] = 9'd24;
    test_rst[153] = 1'b0;
    test_peak_in[153] = 1'b0;
    expected_valid[153] = 1'b1;
    expected_bpm[153] = 9'd24;
    test_rst[154] = 1'b0;
    test_peak_in[154] = 1'b0;
    expected_valid[154] = 1'b1;
    expected_bpm[154] = 9'd24;
    test_rst[155] = 1'b0;
    test_peak_in[155] = 1'b0;
    expected_valid[155] = 1'b1;
    expected_bpm[155] = 9'd24;
    test_rst[156] = 1'b0;
    test_peak_in[156] = 1'b0;
    expected_valid[156] = 1'b1;
    expected_bpm[156] = 9'd24;
    test_rst[157] = 1'b0;
    test_peak_in[157] = 1'b0;
    expected_valid[157] = 1'b1;
    expected_bpm[157] = 9'd24;
    test_rst[158] = 1'b0;
    test_peak_in[158] = 1'b0;
    expected_valid[158] = 1'b1;
    expected_bpm[158] = 9'd24;
    test_rst[159] = 1'b0;
    test_peak_in[159] = 1'b0;
    expected_valid[159] = 1'b1;
    expected_bpm[159] = 9'd24;
    test_rst[160] = 1'b0;
    test_peak_in[160] = 1'b0;
    expected_valid[160] = 1'b1;
    expected_bpm[160] = 9'd24;
    test_rst[161] = 1'b0;
    test_peak_in[161] = 1'b0;
    expected_valid[161] = 1'b1;
    expected_bpm[161] = 9'd24;
    test_rst[162] = 1'b0;
    test_peak_in[162] = 1'b0;
    expected_valid[162] = 1'b1;
    expected_bpm[162] = 9'd12;
    test_rst[163] = 1'b0;
    test_peak_in[163] = 1'b0;
    expected_valid[163] = 1'b1;
    expected_bpm[163] = 9'd12;
    test_rst[164] = 1'b0;
    test_peak_in[164] = 1'b0;
    expected_valid[164] = 1'b1;
    expected_bpm[164] = 9'd12;
    test_rst[165] = 1'b0;
    test_peak_in[165] = 1'b0;
    expected_valid[165] = 1'b1;
    expected_bpm[165] = 9'd12;
    test_rst[166] = 1'b0;
    test_peak_in[166] = 1'b0;
    expected_valid[166] = 1'b1;
    expected_bpm[166] = 9'd12;
    test_rst[167] = 1'b0;
    test_peak_in[167] = 1'b0;
    expected_valid[167] = 1'b1;
    expected_bpm[167] = 9'd12;
    test_rst[168] = 1'b0;
    test_peak_in[168] = 1'b0;
    expected_valid[168] = 1'b1;
    expected_bpm[168] = 9'd12;
    test_rst[169] = 1'b0;
    test_peak_in[169] = 1'b0;
    expected_valid[169] = 1'b1;
    expected_bpm[169] = 9'd12;
    test_rst[170] = 1'b0;
    test_peak_in[170] = 1'b0;
    expected_valid[170] = 1'b1;
    expected_bpm[170] = 9'd12;
    test_rst[171] = 1'b0;
    test_peak_in[171] = 1'b0;
    expected_valid[171] = 1'b1;
    expected_bpm[171] = 9'd12;
    test_rst[172] = 1'b0;
    test_peak_in[172] = 1'b0;
    expected_valid[172] = 1'b1;
    expected_bpm[172] = 9'd12;
    test_rst[173] = 1'b0;
    test_peak_in[173] = 1'b0;
    expected_valid[173] = 1'b1;
    expected_bpm[173] = 9'd12;
    test_rst[174] = 1'b0;
    test_peak_in[174] = 1'b0;
    expected_valid[174] = 1'b1;
    expected_bpm[174] = 9'd12;
    test_rst[175] = 1'b0;
    test_peak_in[175] = 1'b0;
    expected_valid[175] = 1'b1;
    expected_bpm[175] = 9'd12;
    test_rst[176] = 1'b0;
    test_peak_in[176] = 1'b0;
    expected_valid[176] = 1'b1;
    expected_bpm[176] = 9'd12;
    test_rst[177] = 1'b0;
    test_peak_in[177] = 1'b0;
    expected_valid[177] = 1'b1;
    expected_bpm[177] = 9'd12;
    test_rst[178] = 1'b0;
    test_peak_in[178] = 1'b0;
    expected_valid[178] = 1'b1;
    expected_bpm[178] = 9'd12;
    test_rst[179] = 1'b0;
    test_peak_in[179] = 1'b0;
    expected_valid[179] = 1'b1;
    expected_bpm[179] = 9'd12;
    test_rst[180] = 1'b0;
    test_peak_in[180] = 1'b0;
    expected_valid[180] = 1'b1;
    expected_bpm[180] = 9'd12;
    test_rst[181] = 1'b0;
    test_peak_in[181] = 1'b0;
    expected_valid[181] = 1'b1;
    expected_bpm[181] = 9'd12;
    test_rst[182] = 1'b0;
    test_peak_in[182] = 1'b0;
    expected_valid[182] = 1'b1;
    expected_bpm[182] = 9'd0;
    test_rst[183] = 1'b0;
    test_peak_in[183] = 1'b0;
    expected_valid[183] = 1'b1;
    expected_bpm[183] = 9'd0;
    test_rst[184] = 1'b0;
    test_peak_in[184] = 1'b0;
    expected_valid[184] = 1'b1;
    expected_bpm[184] = 9'd0;
    test_rst[185] = 1'b0;
    test_peak_in[185] = 1'b0;
    expected_valid[185] = 1'b1;
    expected_bpm[185] = 9'd0;
    test_rst[186] = 1'b0;
    test_peak_in[186] = 1'b0;
    expected_valid[186] = 1'b1;
    expected_bpm[186] = 9'd0;
    test_rst[187] = 1'b0;
    test_peak_in[187] = 1'b0;
    expected_valid[187] = 1'b1;
    expected_bpm[187] = 9'd0;
    test_rst[188] = 1'b0;
    test_peak_in[188] = 1'b0;
    expected_valid[188] = 1'b1;
    expected_bpm[188] = 9'd0;
    test_rst[189] = 1'b0;
    test_peak_in[189] = 1'b0;
    expected_valid[189] = 1'b1;
    expected_bpm[189] = 9'd0;
    test_rst[190] = 1'b0;
    test_peak_in[190] = 1'b0;
    expected_valid[190] = 1'b1;
    expected_bpm[190] = 9'd0;
    test_rst[191] = 1'b0;
    test_peak_in[191] = 1'b0;
    expected_valid[191] = 1'b1;
    expected_bpm[191] = 9'd0;
    test_rst[192] = 1'b0;
    test_peak_in[192] = 1'b0;
    expected_valid[192] = 1'b1;
    expected_bpm[192] = 9'd0;
    test_rst[193] = 1'b0;
    test_peak_in[193] = 1'b0;
    expected_valid[193] = 1'b1;
    expected_bpm[193] = 9'd0;
    test_rst[194] = 1'b0;
    test_peak_in[194] = 1'b0;
    expected_valid[194] = 1'b1;
    expected_bpm[194] = 9'd0;
    test_rst[195] = 1'b0;
    test_peak_in[195] = 1'b0;
    expected_valid[195] = 1'b1;
    expected_bpm[195] = 9'd0;
    test_rst[196] = 1'b0;
    test_peak_in[196] = 1'b0;
    expected_valid[196] = 1'b1;
    expected_bpm[196] = 9'd0;
    test_rst[197] = 1'b0;
    test_peak_in[197] = 1'b0;
    expected_valid[197] = 1'b1;
    expected_bpm[197] = 9'd0;
    test_rst[198] = 1'b0;
    test_peak_in[198] = 1'b0;
    expected_valid[198] = 1'b1;
    expected_bpm[198] = 9'd0;
    test_rst[199] = 1'b0;
    test_peak_in[199] = 1'b0;
    expected_valid[199] = 1'b1;
    expected_bpm[199] = 9'd0;
    test_rst[200] = 1'b0;
    test_peak_in[200] = 1'b0;
    expected_valid[200] = 1'b1;
    expected_bpm[200] = 9'd0;
    test_rst[201] = 1'b0;
    test_peak_in[201] = 1'b0;
    expected_valid[201] = 1'b1;
    expected_bpm[201] = 9'd0;
    test_rst[202] = 1'b0;
    test_peak_in[202] = 1'b0;
    expected_valid[202] = 1'b1;
    expected_bpm[202] = 9'd0;
    test_rst[203] = 1'b0;
    test_peak_in[203] = 1'b0;
    expected_valid[203] = 1'b1;
    expected_bpm[203] = 9'd0;
    test_rst[204] = 1'b0;
    test_peak_in[204] = 1'b0;
    expected_valid[204] = 1'b1;
    expected_bpm[204] = 9'd0;
    test_rst[205] = 1'b0;
    test_peak_in[205] = 1'b0;
    expected_valid[205] = 1'b1;
    expected_bpm[205] = 9'd0;
    test_rst[206] = 1'b0;
    test_peak_in[206] = 1'b0;
    expected_valid[206] = 1'b1;
    expected_bpm[206] = 9'd0;
    test_rst[207] = 1'b0;
    test_peak_in[207] = 1'b0;
    expected_valid[207] = 1'b1;
    expected_bpm[207] = 9'd0;
    test_rst[208] = 1'b0;
    test_peak_in[208] = 1'b0;
    expected_valid[208] = 1'b1;
    expected_bpm[208] = 9'd0;
    test_rst[209] = 1'b0;
    test_peak_in[209] = 1'b0;
    expected_valid[209] = 1'b1;
    expected_bpm[209] = 9'd0;
    test_rst[210] = 1'b0;
    test_peak_in[210] = 1'b0;
    expected_valid[210] = 1'b1;
    expected_bpm[210] = 9'd0;
    test_rst[211] = 1'b0;
    test_peak_in[211] = 1'b0;
    expected_valid[211] = 1'b1;
    expected_bpm[211] = 9'd0;
    test_rst[212] = 1'b1;
    test_peak_in[212] = 1'b0;
    expected_valid[212] = 1'b0;
    expected_bpm[212] = 9'd0;
    test_rst[213] = 1'b0;
    test_peak_in[213] = 1'b0;
    expected_valid[213] = 1'b0;
    expected_bpm[213] = 9'd0;
    test_rst[214] = 1'b0;
    test_peak_in[214] = 1'b0;
    expected_valid[214] = 1'b0;
    expected_bpm[214] = 9'd0;
    test_rst[215] = 1'b0;
    test_peak_in[215] = 1'b0;
    expected_valid[215] = 1'b0;
    expected_bpm[215] = 9'd0;
    test_rst[216] = 1'b0;
    test_peak_in[216] = 1'b0;
    expected_valid[216] = 1'b0;
    expected_bpm[216] = 9'd0;
    test_rst[217] = 1'b0;
    test_peak_in[217] = 1'b0;
    expected_valid[217] = 1'b0;
    expected_bpm[217] = 9'd0;
    test_rst[218] = 1'b0;
    test_peak_in[218] = 1'b0;
    expected_valid[218] = 1'b0;
    expected_bpm[218] = 9'd0;
    test_rst[219] = 1'b0;
    test_peak_in[219] = 1'b0;
    expected_valid[219] = 1'b0;
    expected_bpm[219] = 9'd0;
    test_rst[220] = 1'b0;
    test_peak_in[220] = 1'b0;
    expected_valid[220] = 1'b0;
    expected_bpm[220] = 9'd0;
    test_rst[221] = 1'b0;
    test_peak_in[221] = 1'b0;
    expected_valid[221] = 1'b0;
    expected_bpm[221] = 9'd0;
    test_rst[222] = 1'b0;
    test_peak_in[222] = 1'b0;
    expected_valid[222] = 1'b0;
    expected_bpm[222] = 9'd0;
    test_rst[223] = 1'b0;
    test_peak_in[223] = 1'b0;
    expected_valid[223] = 1'b0;
    expected_bpm[223] = 9'd0;
    test_rst[224] = 1'b0;
    test_peak_in[224] = 1'b0;
    expected_valid[224] = 1'b0;
    expected_bpm[224] = 9'd0;
    test_rst[225] = 1'b0;
    test_peak_in[225] = 1'b0;
    expected_valid[225] = 1'b0;
    expected_bpm[225] = 9'd0;
    test_rst[226] = 1'b0;
    test_peak_in[226] = 1'b0;
    expected_valid[226] = 1'b0;
    expected_bpm[226] = 9'd0;
    test_rst[227] = 1'b0;
    test_peak_in[227] = 1'b0;
    expected_valid[227] = 1'b0;
    expected_bpm[227] = 9'd0;
    test_rst[228] = 1'b0;
    test_peak_in[228] = 1'b1;
    expected_valid[228] = 1'b0;
    expected_bpm[228] = 9'd0;
    test_rst[229] = 1'b0;
    test_peak_in[229] = 1'b0;
    expected_valid[229] = 1'b0;
    expected_bpm[229] = 9'd0;
    test_rst[230] = 1'b0;
    test_peak_in[230] = 1'b0;
    expected_valid[230] = 1'b0;
    expected_bpm[230] = 9'd0;
    test_rst[231] = 1'b0;
    test_peak_in[231] = 1'b0;
    expected_valid[231] = 1'b0;
    expected_bpm[231] = 9'd0;
    test_rst[232] = 1'b0;
    test_peak_in[232] = 1'b0;
    expected_valid[232] = 1'b0;
    expected_bpm[232] = 9'd0;
    test_rst[233] = 1'b0;
    test_peak_in[233] = 1'b0;
    expected_valid[233] = 1'b0;
    expected_bpm[233] = 9'd0;
    test_rst[234] = 1'b0;
    test_peak_in[234] = 1'b0;
    expected_valid[234] = 1'b0;
    expected_bpm[234] = 9'd0;
    test_rst[235] = 1'b0;
    test_peak_in[235] = 1'b0;
    expected_valid[235] = 1'b0;
    expected_bpm[235] = 9'd0;
    test_rst[236] = 1'b0;
    test_peak_in[236] = 1'b0;
    expected_valid[236] = 1'b0;
    expected_bpm[236] = 9'd0;
    test_rst[237] = 1'b0;
    test_peak_in[237] = 1'b0;
    expected_valid[237] = 1'b0;
    expected_bpm[237] = 9'd0;
    test_rst[238] = 1'b0;
    test_peak_in[238] = 1'b0;
    expected_valid[238] = 1'b0;
    expected_bpm[238] = 9'd0;
    test_rst[239] = 1'b0;
    test_peak_in[239] = 1'b0;
    expected_valid[239] = 1'b0;
    expected_bpm[239] = 9'd0;
    test_rst[240] = 1'b0;
    test_peak_in[240] = 1'b0;
    expected_valid[240] = 1'b0;
    expected_bpm[240] = 9'd0;
    test_rst[241] = 1'b0;
    test_peak_in[241] = 1'b0;
    expected_valid[241] = 1'b0;
    expected_bpm[241] = 9'd0;
    test_rst[242] = 1'b0;
    test_peak_in[242] = 1'b0;
    expected_valid[242] = 1'b0;
    expected_bpm[242] = 9'd0;
    test_rst[243] = 1'b0;
    test_peak_in[243] = 1'b0;
    expected_valid[243] = 1'b0;
    expected_bpm[243] = 9'd0;
    test_rst[244] = 1'b0;
    test_peak_in[244] = 1'b0;
    expected_valid[244] = 1'b0;
    expected_bpm[244] = 9'd0;
    test_rst[245] = 1'b0;
    test_peak_in[245] = 1'b0;
    expected_valid[245] = 1'b0;
    expected_bpm[245] = 9'd0;
    test_rst[246] = 1'b0;
    test_peak_in[246] = 1'b0;
    expected_valid[246] = 1'b0;
    expected_bpm[246] = 9'd0;
    test_rst[247] = 1'b0;
    test_peak_in[247] = 1'b0;
    expected_valid[247] = 1'b0;
    expected_bpm[247] = 9'd0;
    test_rst[248] = 1'b0;
    test_peak_in[248] = 1'b0;
    expected_valid[248] = 1'b0;
    expected_bpm[248] = 9'd0;
    test_rst[249] = 1'b0;
    test_peak_in[249] = 1'b0;
    expected_valid[249] = 1'b0;
    expected_bpm[249] = 9'd0;
    test_rst[250] = 1'b0;
    test_peak_in[250] = 1'b0;
    expected_valid[250] = 1'b0;
    expected_bpm[250] = 9'd0;
    test_rst[251] = 1'b0;
    test_peak_in[251] = 1'b0;
    expected_valid[251] = 1'b0;
    expected_bpm[251] = 9'd0;
    test_rst[252] = 1'b0;
    test_peak_in[252] = 1'b0;
    expected_valid[252] = 1'b0;
    expected_bpm[252] = 9'd0;
    test_rst[253] = 1'b0;
    test_peak_in[253] = 1'b1;
    expected_valid[253] = 1'b0;
    expected_bpm[253] = 9'd0;
    test_rst[254] = 1'b0;
    test_peak_in[254] = 1'b0;
    expected_valid[254] = 1'b0;
    expected_bpm[254] = 9'd0;
    test_rst[255] = 1'b0;
    test_peak_in[255] = 1'b0;
    expected_valid[255] = 1'b0;
    expected_bpm[255] = 9'd0;
    test_rst[256] = 1'b0;
    test_peak_in[256] = 1'b0;
    expected_valid[256] = 1'b0;
    expected_bpm[256] = 9'd0;
    test_rst[257] = 1'b0;
    test_peak_in[257] = 1'b0;
    expected_valid[257] = 1'b0;
    expected_bpm[257] = 9'd0;
    test_rst[258] = 1'b0;
    test_peak_in[258] = 1'b0;
    expected_valid[258] = 1'b0;
    expected_bpm[258] = 9'd0;
    test_rst[259] = 1'b0;
    test_peak_in[259] = 1'b0;
    expected_valid[259] = 1'b0;
    expected_bpm[259] = 9'd0;
    test_rst[260] = 1'b0;
    test_peak_in[260] = 1'b0;
    expected_valid[260] = 1'b0;
    expected_bpm[260] = 9'd0;
    test_rst[261] = 1'b0;
    test_peak_in[261] = 1'b0;
    expected_valid[261] = 1'b0;
    expected_bpm[261] = 9'd0;
    test_rst[262] = 1'b0;
    test_peak_in[262] = 1'b0;
    expected_valid[262] = 1'b0;
    expected_bpm[262] = 9'd0;
    test_rst[263] = 1'b0;
    test_peak_in[263] = 1'b0;
    expected_valid[263] = 1'b0;
    expected_bpm[263] = 9'd0;
    test_rst[264] = 1'b0;
    test_peak_in[264] = 1'b0;
    expected_valid[264] = 1'b0;
    expected_bpm[264] = 9'd0;
    test_rst[265] = 1'b0;
    test_peak_in[265] = 1'b0;
    expected_valid[265] = 1'b0;
    expected_bpm[265] = 9'd0;
    test_rst[266] = 1'b0;
    test_peak_in[266] = 1'b0;
    expected_valid[266] = 1'b0;
    expected_bpm[266] = 9'd0;
    test_rst[267] = 1'b0;
    test_peak_in[267] = 1'b0;
    expected_valid[267] = 1'b0;
    expected_bpm[267] = 9'd0;
    test_rst[268] = 1'b0;
    test_peak_in[268] = 1'b0;
    expected_valid[268] = 1'b0;
    expected_bpm[268] = 9'd0;
    test_rst[269] = 1'b0;
    test_peak_in[269] = 1'b0;
    expected_valid[269] = 1'b0;
    expected_bpm[269] = 9'd0;
    test_rst[270] = 1'b0;
    test_peak_in[270] = 1'b0;
    expected_valid[270] = 1'b0;
    expected_bpm[270] = 9'd0;
    test_rst[271] = 1'b0;
    test_peak_in[271] = 1'b0;
    expected_valid[271] = 1'b0;
    expected_bpm[271] = 9'd0;
    test_rst[272] = 1'b0;
    test_peak_in[272] = 1'b0;
    expected_valid[272] = 1'b0;
    expected_bpm[272] = 9'd0;
    test_rst[273] = 1'b0;
    test_peak_in[273] = 1'b0;
    expected_valid[273] = 1'b0;
    expected_bpm[273] = 9'd0;
    test_rst[274] = 1'b0;
    test_peak_in[274] = 1'b0;
    expected_valid[274] = 1'b0;
    expected_bpm[274] = 9'd0;
    test_rst[275] = 1'b0;
    test_peak_in[275] = 1'b0;
    expected_valid[275] = 1'b0;
    expected_bpm[275] = 9'd0;
    test_rst[276] = 1'b0;
    test_peak_in[276] = 1'b0;
    expected_valid[276] = 1'b0;
    expected_bpm[276] = 9'd0;
    test_rst[277] = 1'b0;
    test_peak_in[277] = 1'b0;
    expected_valid[277] = 1'b0;
    expected_bpm[277] = 9'd0;
    test_rst[278] = 1'b0;
    test_peak_in[278] = 1'b1;
    expected_valid[278] = 1'b0;
    expected_bpm[278] = 9'd0;
    test_rst[279] = 1'b0;
    test_peak_in[279] = 1'b0;
    expected_valid[279] = 1'b0;
    expected_bpm[279] = 9'd0;
    test_rst[280] = 1'b0;
    test_peak_in[280] = 1'b0;
    expected_valid[280] = 1'b0;
    expected_bpm[280] = 9'd0;
    test_rst[281] = 1'b0;
    test_peak_in[281] = 1'b0;
    expected_valid[281] = 1'b0;
    expected_bpm[281] = 9'd0;
    test_rst[282] = 1'b0;
    test_peak_in[282] = 1'b0;
    expected_valid[282] = 1'b0;
    expected_bpm[282] = 9'd0;
    test_rst[283] = 1'b0;
    test_peak_in[283] = 1'b0;
    expected_valid[283] = 1'b0;
    expected_bpm[283] = 9'd0;
    test_rst[284] = 1'b0;
    test_peak_in[284] = 1'b0;
    expected_valid[284] = 1'b0;
    expected_bpm[284] = 9'd0;
    test_rst[285] = 1'b0;
    test_peak_in[285] = 1'b0;
    expected_valid[285] = 1'b0;
    expected_bpm[285] = 9'd0;
    test_rst[286] = 1'b0;
    test_peak_in[286] = 1'b0;
    expected_valid[286] = 1'b0;
    expected_bpm[286] = 9'd0;
    test_rst[287] = 1'b0;
    test_peak_in[287] = 1'b0;
    expected_valid[287] = 1'b0;
    expected_bpm[287] = 9'd0;
    test_rst[288] = 1'b0;
    test_peak_in[288] = 1'b0;
    expected_valid[288] = 1'b0;
    expected_bpm[288] = 9'd0;
    test_rst[289] = 1'b0;
    test_peak_in[289] = 1'b0;
    expected_valid[289] = 1'b0;
    expected_bpm[289] = 9'd0;
    test_rst[290] = 1'b0;
    test_peak_in[290] = 1'b0;
    expected_valid[290] = 1'b0;
    expected_bpm[290] = 9'd0;
    test_rst[291] = 1'b0;
    test_peak_in[291] = 1'b0;
    expected_valid[291] = 1'b0;
    expected_bpm[291] = 9'd0;
    test_rst[292] = 1'b0;
    test_peak_in[292] = 1'b0;
    expected_valid[292] = 1'b0;
    expected_bpm[292] = 9'd0;
    test_rst[293] = 1'b0;
    test_peak_in[293] = 1'b0;
    expected_valid[293] = 1'b0;
    expected_bpm[293] = 9'd0;
    test_rst[294] = 1'b0;
    test_peak_in[294] = 1'b0;
    expected_valid[294] = 1'b0;
    expected_bpm[294] = 9'd0;
    test_rst[295] = 1'b0;
    test_peak_in[295] = 1'b0;
    expected_valid[295] = 1'b0;
    expected_bpm[295] = 9'd0;
    test_rst[296] = 1'b0;
    test_peak_in[296] = 1'b0;
    expected_valid[296] = 1'b0;
    expected_bpm[296] = 9'd0;
    test_rst[297] = 1'b0;
    test_peak_in[297] = 1'b0;
    expected_valid[297] = 1'b0;
    expected_bpm[297] = 9'd0;
    test_rst[298] = 1'b0;
    test_peak_in[298] = 1'b0;
    expected_valid[298] = 1'b0;
    expected_bpm[298] = 9'd0;
    test_rst[299] = 1'b0;
    test_peak_in[299] = 1'b0;
    expected_valid[299] = 1'b0;
    expected_bpm[299] = 9'd0;
    test_rst[300] = 1'b0;
    test_peak_in[300] = 1'b0;
    expected_valid[300] = 1'b0;
    expected_bpm[300] = 9'd0;
    test_rst[301] = 1'b0;
    test_peak_in[301] = 1'b0;
    expected_valid[301] = 1'b0;
    expected_bpm[301] = 9'd0;
    test_rst[302] = 1'b0;
    test_peak_in[302] = 1'b0;
    expected_valid[302] = 1'b0;
    expected_bpm[302] = 9'd0;
    test_rst[303] = 1'b0;
    test_peak_in[303] = 1'b1;
    expected_valid[303] = 1'b0;
    expected_bpm[303] = 9'd0;
    test_rst[304] = 1'b0;
    test_peak_in[304] = 1'b0;
    expected_valid[304] = 1'b0;
    expected_bpm[304] = 9'd0;
    test_rst[305] = 1'b0;
    test_peak_in[305] = 1'b0;
    expected_valid[305] = 1'b0;
    expected_bpm[305] = 9'd0;
    test_rst[306] = 1'b0;
    test_peak_in[306] = 1'b0;
    expected_valid[306] = 1'b0;
    expected_bpm[306] = 9'd0;
    test_rst[307] = 1'b0;
    test_peak_in[307] = 1'b0;
    expected_valid[307] = 1'b0;
    expected_bpm[307] = 9'd0;
    test_rst[308] = 1'b0;
    test_peak_in[308] = 1'b0;
    expected_valid[308] = 1'b0;
    expected_bpm[308] = 9'd0;
    test_rst[309] = 1'b0;
    test_peak_in[309] = 1'b0;
    expected_valid[309] = 1'b0;
    expected_bpm[309] = 9'd0;
    test_rst[310] = 1'b0;
    test_peak_in[310] = 1'b0;
    expected_valid[310] = 1'b0;
    expected_bpm[310] = 9'd0;
    test_rst[311] = 1'b0;
    test_peak_in[311] = 1'b0;
    expected_valid[311] = 1'b0;
    expected_bpm[311] = 9'd0;
    test_rst[312] = 1'b0;
    test_peak_in[312] = 1'b0;
    expected_valid[312] = 1'b1;
    expected_bpm[312] = 9'd48;
    test_rst[313] = 1'b0;
    test_peak_in[313] = 1'b0;
    expected_valid[313] = 1'b1;
    expected_bpm[313] = 9'd48;
    test_rst[314] = 1'b0;
    test_peak_in[314] = 1'b0;
    expected_valid[314] = 1'b1;
    expected_bpm[314] = 9'd48;
    test_rst[315] = 1'b0;
    test_peak_in[315] = 1'b0;
    expected_valid[315] = 1'b1;
    expected_bpm[315] = 9'd48;
    test_rst[316] = 1'b0;
    test_peak_in[316] = 1'b0;
    expected_valid[316] = 1'b1;
    expected_bpm[316] = 9'd48;
    test_rst[317] = 1'b0;
    test_peak_in[317] = 1'b0;
    expected_valid[317] = 1'b1;
    expected_bpm[317] = 9'd48;
    test_rst[318] = 1'b0;
    test_peak_in[318] = 1'b0;
    expected_valid[318] = 1'b1;
    expected_bpm[318] = 9'd48;
    test_rst[319] = 1'b0;
    test_peak_in[319] = 1'b0;
    expected_valid[319] = 1'b1;
    expected_bpm[319] = 9'd48;
    test_rst[320] = 1'b0;
    test_peak_in[320] = 1'b0;
    expected_valid[320] = 1'b1;
    expected_bpm[320] = 9'd48;
    test_rst[321] = 1'b0;
    test_peak_in[321] = 1'b0;
    expected_valid[321] = 1'b1;
    expected_bpm[321] = 9'd48;
    test_rst[322] = 1'b0;
    test_peak_in[322] = 1'b0;
    expected_valid[322] = 1'b1;
    expected_bpm[322] = 9'd48;
    test_rst[323] = 1'b0;
    test_peak_in[323] = 1'b0;
    expected_valid[323] = 1'b1;
    expected_bpm[323] = 9'd48;
    test_rst[324] = 1'b0;
    test_peak_in[324] = 1'b0;
    expected_valid[324] = 1'b1;
    expected_bpm[324] = 9'd48;
    test_rst[325] = 1'b0;
    test_peak_in[325] = 1'b0;
    expected_valid[325] = 1'b1;
    expected_bpm[325] = 9'd48;
    test_rst[326] = 1'b0;
    test_peak_in[326] = 1'b0;
    expected_valid[326] = 1'b1;
    expected_bpm[326] = 9'd48;
    test_rst[327] = 1'b0;
    test_peak_in[327] = 1'b0;
    expected_valid[327] = 1'b1;
    expected_bpm[327] = 9'd48;
    test_rst[328] = 1'b0;
    test_peak_in[328] = 1'b0;
    expected_valid[328] = 1'b1;
    expected_bpm[328] = 9'd36;
    test_rst[329] = 1'b0;
    test_peak_in[329] = 1'b0;
    expected_valid[329] = 1'b1;
    expected_bpm[329] = 9'd36;
    test_rst[330] = 1'b0;
    test_peak_in[330] = 1'b0;
    expected_valid[330] = 1'b1;
    expected_bpm[330] = 9'd36;
    test_rst[331] = 1'b0;
    test_peak_in[331] = 1'b0;
    expected_valid[331] = 1'b1;
    expected_bpm[331] = 9'd36;
    test_rst[332] = 1'b0;
    test_peak_in[332] = 1'b0;
    expected_valid[332] = 1'b1;
    expected_bpm[332] = 9'd36;
    test_rst[333] = 1'b0;
    test_peak_in[333] = 1'b1;
    expected_valid[333] = 1'b1;
    expected_bpm[333] = 9'd48;
    test_rst[334] = 1'b0;
    test_peak_in[334] = 1'b0;
    expected_valid[334] = 1'b1;
    expected_bpm[334] = 9'd48;
    test_rst[335] = 1'b0;
    test_peak_in[335] = 1'b0;
    expected_valid[335] = 1'b1;
    expected_bpm[335] = 9'd48;
    test_rst[336] = 1'b0;
    test_peak_in[336] = 1'b0;
    expected_valid[336] = 1'b1;
    expected_bpm[336] = 9'd48;
    test_rst[337] = 1'b0;
    test_peak_in[337] = 1'b0;
    expected_valid[337] = 1'b1;
    expected_bpm[337] = 9'd48;
    test_rst[338] = 1'b0;
    test_peak_in[338] = 1'b0;
    expected_valid[338] = 1'b1;
    expected_bpm[338] = 9'd48;
    test_rst[339] = 1'b0;
    test_peak_in[339] = 1'b0;
    expected_valid[339] = 1'b1;
    expected_bpm[339] = 9'd48;
    test_rst[340] = 1'b0;
    test_peak_in[340] = 1'b0;
    expected_valid[340] = 1'b1;
    expected_bpm[340] = 9'd48;
    test_rst[341] = 1'b0;
    test_peak_in[341] = 1'b0;
    expected_valid[341] = 1'b1;
    expected_bpm[341] = 9'd48;
    test_rst[342] = 1'b0;
    test_peak_in[342] = 1'b0;
    expected_valid[342] = 1'b1;
    expected_bpm[342] = 9'd48;
    test_rst[343] = 1'b0;
    test_peak_in[343] = 1'b0;
    expected_valid[343] = 1'b1;
    expected_bpm[343] = 9'd48;
    test_rst[344] = 1'b0;
    test_peak_in[344] = 1'b0;
    expected_valid[344] = 1'b1;
    expected_bpm[344] = 9'd48;
    test_rst[345] = 1'b0;
    test_peak_in[345] = 1'b0;
    expected_valid[345] = 1'b1;
    expected_bpm[345] = 9'd48;
    test_rst[346] = 1'b0;
    test_peak_in[346] = 1'b0;
    expected_valid[346] = 1'b1;
    expected_bpm[346] = 9'd48;
    test_rst[347] = 1'b0;
    test_peak_in[347] = 1'b0;
    expected_valid[347] = 1'b1;
    expected_bpm[347] = 9'd48;
    test_rst[348] = 1'b0;
    test_peak_in[348] = 1'b0;
    expected_valid[348] = 1'b1;
    expected_bpm[348] = 9'd48;
    test_rst[349] = 1'b0;
    test_peak_in[349] = 1'b0;
    expected_valid[349] = 1'b1;
    expected_bpm[349] = 9'd48;
    test_rst[350] = 1'b0;
    test_peak_in[350] = 1'b0;
    expected_valid[350] = 1'b1;
    expected_bpm[350] = 9'd48;
    test_rst[351] = 1'b0;
    test_peak_in[351] = 1'b0;
    expected_valid[351] = 1'b1;
    expected_bpm[351] = 9'd48;
    test_rst[352] = 1'b0;
    test_peak_in[352] = 1'b0;
    expected_valid[352] = 1'b1;
    expected_bpm[352] = 9'd48;
    test_rst[353] = 1'b0;
    test_peak_in[353] = 1'b1;
    expected_valid[353] = 1'b1;
    expected_bpm[353] = 9'd48;
    test_rst[354] = 1'b0;
    test_peak_in[354] = 1'b0;
    expected_valid[354] = 1'b1;
    expected_bpm[354] = 9'd48;
    test_rst[355] = 1'b0;
    test_peak_in[355] = 1'b0;
    expected_valid[355] = 1'b1;
    expected_bpm[355] = 9'd48;
    test_rst[356] = 1'b0;
    test_peak_in[356] = 1'b0;
    expected_valid[356] = 1'b1;
    expected_bpm[356] = 9'd48;
    test_rst[357] = 1'b0;
    test_peak_in[357] = 1'b0;
    expected_valid[357] = 1'b1;
    expected_bpm[357] = 9'd48;
    test_rst[358] = 1'b0;
    test_peak_in[358] = 1'b0;
    expected_valid[358] = 1'b1;
    expected_bpm[358] = 9'd48;
    test_rst[359] = 1'b0;
    test_peak_in[359] = 1'b0;
    expected_valid[359] = 1'b1;
    expected_bpm[359] = 9'd48;
    test_rst[360] = 1'b0;
    test_peak_in[360] = 1'b0;
    expected_valid[360] = 1'b1;
    expected_bpm[360] = 9'd48;
    test_rst[361] = 1'b0;
    test_peak_in[361] = 1'b0;
    expected_valid[361] = 1'b1;
    expected_bpm[361] = 9'd48;
    test_rst[362] = 1'b0;
    test_peak_in[362] = 1'b0;
    expected_valid[362] = 1'b1;
    expected_bpm[362] = 9'd48;
    test_rst[363] = 1'b0;
    test_peak_in[363] = 1'b0;
    expected_valid[363] = 1'b1;
    expected_bpm[363] = 9'd48;
    test_rst[364] = 1'b0;
    test_peak_in[364] = 1'b0;
    expected_valid[364] = 1'b1;
    expected_bpm[364] = 9'd48;
    test_rst[365] = 1'b0;
    test_peak_in[365] = 1'b0;
    expected_valid[365] = 1'b1;
    expected_bpm[365] = 9'd48;
    test_rst[366] = 1'b0;
    test_peak_in[366] = 1'b0;
    expected_valid[366] = 1'b1;
    expected_bpm[366] = 9'd48;
    test_rst[367] = 1'b0;
    test_peak_in[367] = 1'b0;
    expected_valid[367] = 1'b1;
    expected_bpm[367] = 9'd48;
    test_rst[368] = 1'b0;
    test_peak_in[368] = 1'b0;
    expected_valid[368] = 1'b1;
    expected_bpm[368] = 9'd48;
    test_rst[369] = 1'b0;
    test_peak_in[369] = 1'b0;
    expected_valid[369] = 1'b1;
    expected_bpm[369] = 9'd48;
    test_rst[370] = 1'b0;
    test_peak_in[370] = 1'b0;
    expected_valid[370] = 1'b1;
    expected_bpm[370] = 9'd48;
    test_rst[371] = 1'b0;
    test_peak_in[371] = 1'b0;
    expected_valid[371] = 1'b1;
    expected_bpm[371] = 9'd48;
    test_rst[372] = 1'b0;
    test_peak_in[372] = 1'b0;
    expected_valid[372] = 1'b1;
    expected_bpm[372] = 9'd48;
    test_rst[373] = 1'b0;
    test_peak_in[373] = 1'b1;
    expected_valid[373] = 1'b1;
    expected_bpm[373] = 9'd60;
    test_rst[374] = 1'b0;
    test_peak_in[374] = 1'b0;
    expected_valid[374] = 1'b1;
    expected_bpm[374] = 9'd60;
    test_rst[375] = 1'b0;
    test_peak_in[375] = 1'b0;
    expected_valid[375] = 1'b1;
    expected_bpm[375] = 9'd60;
    test_rst[376] = 1'b0;
    test_peak_in[376] = 1'b0;
    expected_valid[376] = 1'b1;
    expected_bpm[376] = 9'd60;
    test_rst[377] = 1'b0;
    test_peak_in[377] = 1'b0;
    expected_valid[377] = 1'b1;
    expected_bpm[377] = 9'd60;
    test_rst[378] = 1'b0;
    test_peak_in[378] = 1'b0;
    expected_valid[378] = 1'b1;
    expected_bpm[378] = 9'd48;
    test_rst[379] = 1'b0;
    test_peak_in[379] = 1'b0;
    expected_valid[379] = 1'b1;
    expected_bpm[379] = 9'd48;
    test_rst[380] = 1'b0;
    test_peak_in[380] = 1'b0;
    expected_valid[380] = 1'b1;
    expected_bpm[380] = 9'd48;
    test_rst[381] = 1'b0;
    test_peak_in[381] = 1'b0;
    expected_valid[381] = 1'b1;
    expected_bpm[381] = 9'd48;
    test_rst[382] = 1'b0;
    test_peak_in[382] = 1'b0;
    expected_valid[382] = 1'b1;
    expected_bpm[382] = 9'd48;
    test_rst[383] = 1'b1;
    test_peak_in[383] = 1'b0;
    expected_valid[383] = 1'b0;
    expected_bpm[383] = 9'd0;
    test_rst[384] = 1'b1;
    test_peak_in[384] = 1'b0;
    expected_valid[384] = 1'b0;
    expected_bpm[384] = 9'd0;
    test_rst[385] = 1'b0;
    test_peak_in[385] = 1'b1;
    expected_valid[385] = 1'b0;
    expected_bpm[385] = 9'd0;
    test_rst[386] = 1'b0;
    test_peak_in[386] = 1'b0;
    expected_valid[386] = 1'b0;
    expected_bpm[386] = 9'd0;
    test_rst[387] = 1'b0;
    test_peak_in[387] = 1'b0;
    expected_valid[387] = 1'b0;
    expected_bpm[387] = 9'd0;
    test_rst[388] = 1'b0;
    test_peak_in[388] = 1'b0;
    expected_valid[388] = 1'b0;
    expected_bpm[388] = 9'd0;
    test_rst[389] = 1'b0;
    test_peak_in[389] = 1'b1;
    expected_valid[389] = 1'b0;
    expected_bpm[389] = 9'd0;
    test_rst[390] = 1'b0;
    test_peak_in[390] = 1'b0;
    expected_valid[390] = 1'b0;
    expected_bpm[390] = 9'd0;
    test_rst[391] = 1'b0;
    test_peak_in[391] = 1'b0;
    expected_valid[391] = 1'b0;
    expected_bpm[391] = 9'd0;
    test_rst[392] = 1'b0;
    test_peak_in[392] = 1'b0;
    expected_valid[392] = 1'b0;
    expected_bpm[392] = 9'd0;
    test_rst[393] = 1'b0;
    test_peak_in[393] = 1'b1;
    expected_valid[393] = 1'b0;
    expected_bpm[393] = 9'd0;
    test_rst[394] = 1'b0;
    test_peak_in[394] = 1'b0;
    expected_valid[394] = 1'b0;
    expected_bpm[394] = 9'd0;
    test_rst[395] = 1'b0;
    test_peak_in[395] = 1'b0;
    expected_valid[395] = 1'b0;
    expected_bpm[395] = 9'd0;
    test_rst[396] = 1'b0;
    test_peak_in[396] = 1'b0;
    expected_valid[396] = 1'b0;
    expected_bpm[396] = 9'd0;
    test_rst[397] = 1'b0;
    test_peak_in[397] = 1'b1;
    expected_valid[397] = 1'b0;
    expected_bpm[397] = 9'd0;
    test_rst[398] = 1'b0;
    test_peak_in[398] = 1'b0;
    expected_valid[398] = 1'b0;
    expected_bpm[398] = 9'd0;
    test_rst[399] = 1'b0;
    test_peak_in[399] = 1'b0;
    expected_valid[399] = 1'b0;
    expected_bpm[399] = 9'd0;
    test_rst[400] = 1'b0;
    test_peak_in[400] = 1'b0;
    expected_valid[400] = 1'b0;
    expected_bpm[400] = 9'd0;
    test_rst[401] = 1'b0;
    test_peak_in[401] = 1'b1;
    expected_valid[401] = 1'b0;
    expected_bpm[401] = 9'd0;
    test_rst[402] = 1'b0;
    test_peak_in[402] = 1'b0;
    expected_valid[402] = 1'b0;
    expected_bpm[402] = 9'd0;
    test_rst[403] = 1'b0;
    test_peak_in[403] = 1'b0;
    expected_valid[403] = 1'b0;
    expected_bpm[403] = 9'd0;
    test_rst[404] = 1'b0;
    test_peak_in[404] = 1'b0;
    expected_valid[404] = 1'b0;
    expected_bpm[404] = 9'd0;
    test_rst[405] = 1'b0;
    test_peak_in[405] = 1'b1;
    expected_valid[405] = 1'b0;
    expected_bpm[405] = 9'd0;
    test_rst[406] = 1'b0;
    test_peak_in[406] = 1'b0;
    expected_valid[406] = 1'b0;
    expected_bpm[406] = 9'd0;
    test_rst[407] = 1'b0;
    test_peak_in[407] = 1'b0;
    expected_valid[407] = 1'b0;
    expected_bpm[407] = 9'd0;
    test_rst[408] = 1'b0;
    test_peak_in[408] = 1'b0;
    expected_valid[408] = 1'b0;
    expected_bpm[408] = 9'd0;
    test_rst[409] = 1'b0;
    test_peak_in[409] = 1'b1;
    expected_valid[409] = 1'b0;
    expected_bpm[409] = 9'd0;
    test_rst[410] = 1'b0;
    test_peak_in[410] = 1'b0;
    expected_valid[410] = 1'b0;
    expected_bpm[410] = 9'd0;
    test_rst[411] = 1'b0;
    test_peak_in[411] = 1'b0;
    expected_valid[411] = 1'b0;
    expected_bpm[411] = 9'd0;
    test_rst[412] = 1'b0;
    test_peak_in[412] = 1'b0;
    expected_valid[412] = 1'b0;
    expected_bpm[412] = 9'd0;
    test_rst[413] = 1'b0;
    test_peak_in[413] = 1'b1;
    expected_valid[413] = 1'b0;
    expected_bpm[413] = 9'd0;
    test_rst[414] = 1'b0;
    test_peak_in[414] = 1'b0;
    expected_valid[414] = 1'b0;
    expected_bpm[414] = 9'd0;
    test_rst[415] = 1'b0;
    test_peak_in[415] = 1'b0;
    expected_valid[415] = 1'b0;
    expected_bpm[415] = 9'd0;
    test_rst[416] = 1'b0;
    test_peak_in[416] = 1'b0;
    expected_valid[416] = 1'b0;
    expected_bpm[416] = 9'd0;
    test_rst[417] = 1'b0;
    test_peak_in[417] = 1'b1;
    expected_valid[417] = 1'b0;
    expected_bpm[417] = 9'd0;
    test_rst[418] = 1'b0;
    test_peak_in[418] = 1'b0;
    expected_valid[418] = 1'b0;
    expected_bpm[418] = 9'd0;
    test_rst[419] = 1'b0;
    test_peak_in[419] = 1'b0;
    expected_valid[419] = 1'b0;
    expected_bpm[419] = 9'd0;
    test_rst[420] = 1'b0;
    test_peak_in[420] = 1'b0;
    expected_valid[420] = 1'b0;
    expected_bpm[420] = 9'd0;
    test_rst[421] = 1'b0;
    test_peak_in[421] = 1'b1;
    expected_valid[421] = 1'b0;
    expected_bpm[421] = 9'd0;
    test_rst[422] = 1'b0;
    test_peak_in[422] = 1'b0;
    expected_valid[422] = 1'b0;
    expected_bpm[422] = 9'd0;
    test_rst[423] = 1'b0;
    test_peak_in[423] = 1'b0;
    expected_valid[423] = 1'b0;
    expected_bpm[423] = 9'd0;
    test_rst[424] = 1'b0;
    test_peak_in[424] = 1'b0;
    expected_valid[424] = 1'b0;
    expected_bpm[424] = 9'd0;
    test_rst[425] = 1'b0;
    test_peak_in[425] = 1'b1;
    expected_valid[425] = 1'b0;
    expected_bpm[425] = 9'd0;
    test_rst[426] = 1'b0;
    test_peak_in[426] = 1'b0;
    expected_valid[426] = 1'b0;
    expected_bpm[426] = 9'd0;
    test_rst[427] = 1'b0;
    test_peak_in[427] = 1'b0;
    expected_valid[427] = 1'b0;
    expected_bpm[427] = 9'd0;
    test_rst[428] = 1'b0;
    test_peak_in[428] = 1'b0;
    expected_valid[428] = 1'b0;
    expected_bpm[428] = 9'd0;
    test_rst[429] = 1'b0;
    test_peak_in[429] = 1'b1;
    expected_valid[429] = 1'b0;
    expected_bpm[429] = 9'd0;
    test_rst[430] = 1'b0;
    test_peak_in[430] = 1'b0;
    expected_valid[430] = 1'b0;
    expected_bpm[430] = 9'd0;
    test_rst[431] = 1'b0;
    test_peak_in[431] = 1'b0;
    expected_valid[431] = 1'b0;
    expected_bpm[431] = 9'd0;
    test_rst[432] = 1'b0;
    test_peak_in[432] = 1'b0;
    expected_valid[432] = 1'b0;
    expected_bpm[432] = 9'd0;
    test_rst[433] = 1'b0;
    test_peak_in[433] = 1'b1;
    expected_valid[433] = 1'b0;
    expected_bpm[433] = 9'd0;
    test_rst[434] = 1'b0;
    test_peak_in[434] = 1'b0;
    expected_valid[434] = 1'b0;
    expected_bpm[434] = 9'd0;
    test_rst[435] = 1'b0;
    test_peak_in[435] = 1'b0;
    expected_valid[435] = 1'b0;
    expected_bpm[435] = 9'd0;
    test_rst[436] = 1'b0;
    test_peak_in[436] = 1'b0;
    expected_valid[436] = 1'b0;
    expected_bpm[436] = 9'd0;
    test_rst[437] = 1'b0;
    test_peak_in[437] = 1'b1;
    expected_valid[437] = 1'b0;
    expected_bpm[437] = 9'd0;
    test_rst[438] = 1'b0;
    test_peak_in[438] = 1'b0;
    expected_valid[438] = 1'b0;
    expected_bpm[438] = 9'd0;
    test_rst[439] = 1'b0;
    test_peak_in[439] = 1'b0;
    expected_valid[439] = 1'b0;
    expected_bpm[439] = 9'd0;
    test_rst[440] = 1'b0;
    test_peak_in[440] = 1'b0;
    expected_valid[440] = 1'b0;
    expected_bpm[440] = 9'd0;
    test_rst[441] = 1'b0;
    test_peak_in[441] = 1'b1;
    expected_valid[441] = 1'b0;
    expected_bpm[441] = 9'd0;
    test_rst[442] = 1'b0;
    test_peak_in[442] = 1'b0;
    expected_valid[442] = 1'b0;
    expected_bpm[442] = 9'd0;
    test_rst[443] = 1'b0;
    test_peak_in[443] = 1'b0;
    expected_valid[443] = 1'b0;
    expected_bpm[443] = 9'd0;
    test_rst[444] = 1'b0;
    test_peak_in[444] = 1'b0;
    expected_valid[444] = 1'b0;
    expected_bpm[444] = 9'd0;
    test_rst[445] = 1'b0;
    test_peak_in[445] = 1'b1;
    expected_valid[445] = 1'b0;
    expected_bpm[445] = 9'd0;
    test_rst[446] = 1'b0;
    test_peak_in[446] = 1'b0;
    expected_valid[446] = 1'b0;
    expected_bpm[446] = 9'd0;
    test_rst[447] = 1'b0;
    test_peak_in[447] = 1'b0;
    expected_valid[447] = 1'b0;
    expected_bpm[447] = 9'd0;
    test_rst[448] = 1'b0;
    test_peak_in[448] = 1'b0;
    expected_valid[448] = 1'b0;
    expected_bpm[448] = 9'd0;
    test_rst[449] = 1'b0;
    test_peak_in[449] = 1'b1;
    expected_valid[449] = 1'b0;
    expected_bpm[449] = 9'd0;
    test_rst[450] = 1'b0;
    test_peak_in[450] = 1'b0;
    expected_valid[450] = 1'b0;
    expected_bpm[450] = 9'd0;
    test_rst[451] = 1'b0;
    test_peak_in[451] = 1'b0;
    expected_valid[451] = 1'b0;
    expected_bpm[451] = 9'd0;
    test_rst[452] = 1'b0;
    test_peak_in[452] = 1'b0;
    expected_valid[452] = 1'b0;
    expected_bpm[452] = 9'd0;
    test_rst[453] = 1'b0;
    test_peak_in[453] = 1'b1;
    expected_valid[453] = 1'b0;
    expected_bpm[453] = 9'd0;
    test_rst[454] = 1'b0;
    test_peak_in[454] = 1'b0;
    expected_valid[454] = 1'b0;
    expected_bpm[454] = 9'd0;
    test_rst[455] = 1'b0;
    test_peak_in[455] = 1'b0;
    expected_valid[455] = 1'b0;
    expected_bpm[455] = 9'd0;
    test_rst[456] = 1'b0;
    test_peak_in[456] = 1'b0;
    expected_valid[456] = 1'b0;
    expected_bpm[456] = 9'd0;
    test_rst[457] = 1'b0;
    test_peak_in[457] = 1'b1;
    expected_valid[457] = 1'b0;
    expected_bpm[457] = 9'd0;
    test_rst[458] = 1'b0;
    test_peak_in[458] = 1'b0;
    expected_valid[458] = 1'b0;
    expected_bpm[458] = 9'd0;
    test_rst[459] = 1'b0;
    test_peak_in[459] = 1'b0;
    expected_valid[459] = 1'b0;
    expected_bpm[459] = 9'd0;
    test_rst[460] = 1'b0;
    test_peak_in[460] = 1'b0;
    expected_valid[460] = 1'b0;
    expected_bpm[460] = 9'd0;
    test_rst[461] = 1'b0;
    test_peak_in[461] = 1'b1;
    expected_valid[461] = 1'b0;
    expected_bpm[461] = 9'd0;
    test_rst[462] = 1'b0;
    test_peak_in[462] = 1'b0;
    expected_valid[462] = 1'b0;
    expected_bpm[462] = 9'd0;
    test_rst[463] = 1'b0;
    test_peak_in[463] = 1'b0;
    expected_valid[463] = 1'b0;
    expected_bpm[463] = 9'd0;
    test_rst[464] = 1'b0;
    test_peak_in[464] = 1'b0;
    expected_valid[464] = 1'b0;
    expected_bpm[464] = 9'd0;
    test_rst[465] = 1'b0;
    test_peak_in[465] = 1'b1;
    expected_valid[465] = 1'b0;
    expected_bpm[465] = 9'd0;
    test_rst[466] = 1'b0;
    test_peak_in[466] = 1'b0;
    expected_valid[466] = 1'b0;
    expected_bpm[466] = 9'd0;
    test_rst[467] = 1'b0;
    test_peak_in[467] = 1'b0;
    expected_valid[467] = 1'b0;
    expected_bpm[467] = 9'd0;
    test_rst[468] = 1'b0;
    test_peak_in[468] = 1'b0;
    expected_valid[468] = 1'b0;
    expected_bpm[468] = 9'd0;
    test_rst[469] = 1'b0;
    test_peak_in[469] = 1'b1;
    expected_valid[469] = 1'b0;
    expected_bpm[469] = 9'd0;
    test_rst[470] = 1'b0;
    test_peak_in[470] = 1'b0;
    expected_valid[470] = 1'b0;
    expected_bpm[470] = 9'd0;
    test_rst[471] = 1'b0;
    test_peak_in[471] = 1'b0;
    expected_valid[471] = 1'b0;
    expected_bpm[471] = 9'd0;
    test_rst[472] = 1'b0;
    test_peak_in[472] = 1'b0;
    expected_valid[472] = 1'b0;
    expected_bpm[472] = 9'd0;
    test_rst[473] = 1'b0;
    test_peak_in[473] = 1'b1;
    expected_valid[473] = 1'b0;
    expected_bpm[473] = 9'd0;
    test_rst[474] = 1'b0;
    test_peak_in[474] = 1'b0;
    expected_valid[474] = 1'b0;
    expected_bpm[474] = 9'd0;
    test_rst[475] = 1'b0;
    test_peak_in[475] = 1'b0;
    expected_valid[475] = 1'b0;
    expected_bpm[475] = 9'd0;
    test_rst[476] = 1'b0;
    test_peak_in[476] = 1'b0;
    expected_valid[476] = 1'b0;
    expected_bpm[476] = 9'd0;
    test_rst[477] = 1'b0;
    test_peak_in[477] = 1'b1;
    expected_valid[477] = 1'b0;
    expected_bpm[477] = 9'd0;
    test_rst[478] = 1'b0;
    test_peak_in[478] = 1'b0;
    expected_valid[478] = 1'b0;
    expected_bpm[478] = 9'd0;
    test_rst[479] = 1'b0;
    test_peak_in[479] = 1'b0;
    expected_valid[479] = 1'b0;
    expected_bpm[479] = 9'd0;
    test_rst[480] = 1'b0;
    test_peak_in[480] = 1'b0;
    expected_valid[480] = 1'b0;
    expected_bpm[480] = 9'd0;
    test_rst[481] = 1'b0;
    test_peak_in[481] = 1'b1;
    expected_valid[481] = 1'b0;
    expected_bpm[481] = 9'd0;
    test_rst[482] = 1'b0;
    test_peak_in[482] = 1'b0;
    expected_valid[482] = 1'b0;
    expected_bpm[482] = 9'd0;
    test_rst[483] = 1'b0;
    test_peak_in[483] = 1'b0;
    expected_valid[483] = 1'b0;
    expected_bpm[483] = 9'd0;
    test_rst[484] = 1'b0;
    test_peak_in[484] = 1'b0;
    expected_valid[484] = 1'b1;
    expected_bpm[484] = 9'd300;
    test_rst[485] = 1'b0;
    test_peak_in[485] = 1'b1;
    expected_valid[485] = 1'b1;
    expected_bpm[485] = 9'd300;
    test_rst[486] = 1'b0;
    test_peak_in[486] = 1'b0;
    expected_valid[486] = 1'b1;
    expected_bpm[486] = 9'd300;
    test_rst[487] = 1'b0;
    test_peak_in[487] = 1'b0;
    expected_valid[487] = 1'b1;
    expected_bpm[487] = 9'd300;
    test_rst[488] = 1'b0;
    test_peak_in[488] = 1'b0;
    expected_valid[488] = 1'b1;
    expected_bpm[488] = 9'd300;
    test_rst[489] = 1'b0;
    test_peak_in[489] = 1'b1;
    expected_valid[489] = 1'b1;
    expected_bpm[489] = 9'd300;
    test_rst[490] = 1'b0;
    test_peak_in[490] = 1'b0;
    expected_valid[490] = 1'b1;
    expected_bpm[490] = 9'd300;
    test_rst[491] = 1'b0;
    test_peak_in[491] = 1'b0;
    expected_valid[491] = 1'b1;
    expected_bpm[491] = 9'd300;
    test_rst[492] = 1'b0;
    test_peak_in[492] = 1'b0;
    expected_valid[492] = 1'b1;
    expected_bpm[492] = 9'd300;
    test_rst[493] = 1'b0;
    test_peak_in[493] = 1'b1;
    expected_valid[493] = 1'b1;
    expected_bpm[493] = 9'd300;
    test_rst[494] = 1'b0;
    test_peak_in[494] = 1'b0;
    expected_valid[494] = 1'b1;
    expected_bpm[494] = 9'd300;
    test_rst[495] = 1'b0;
    test_peak_in[495] = 1'b0;
    expected_valid[495] = 1'b1;
    expected_bpm[495] = 9'd300;
    test_rst[496] = 1'b0;
    test_peak_in[496] = 1'b0;
    expected_valid[496] = 1'b1;
    expected_bpm[496] = 9'd300;
    test_rst[497] = 1'b0;
    test_peak_in[497] = 1'b1;
    expected_valid[497] = 1'b1;
    expected_bpm[497] = 9'd300;
    test_rst[498] = 1'b0;
    test_peak_in[498] = 1'b0;
    expected_valid[498] = 1'b1;
    expected_bpm[498] = 9'd300;
    test_rst[499] = 1'b0;
    test_peak_in[499] = 1'b0;
    expected_valid[499] = 1'b1;
    expected_bpm[499] = 9'd300;
    test_rst[500] = 1'b0;
    test_peak_in[500] = 1'b0;
    expected_valid[500] = 1'b1;
    expected_bpm[500] = 9'd300;
    test_rst[501] = 1'b0;
    test_peak_in[501] = 1'b1;
    expected_valid[501] = 1'b1;
    expected_bpm[501] = 9'd300;
    test_rst[502] = 1'b0;
    test_peak_in[502] = 1'b0;
    expected_valid[502] = 1'b1;
    expected_bpm[502] = 9'd300;
    test_rst[503] = 1'b0;
    test_peak_in[503] = 1'b0;
    expected_valid[503] = 1'b1;
    expected_bpm[503] = 9'd300;
    test_rst[504] = 1'b0;
    test_peak_in[504] = 1'b0;
    expected_valid[504] = 1'b1;
    expected_bpm[504] = 9'd300;
    test_rst[505] = 1'b1;
    test_peak_in[505] = 1'b0;
    expected_valid[505] = 1'b0;
    expected_bpm[505] = 9'd0;
    test_rst[506] = 1'b0;
    test_peak_in[506] = 1'b0;
    expected_valid[506] = 1'b0;
    expected_bpm[506] = 9'd0;
    test_rst[507] = 1'b0;
    test_peak_in[507] = 1'b0;
    expected_valid[507] = 1'b0;
    expected_bpm[507] = 9'd0;
    test_rst[508] = 1'b0;
    test_peak_in[508] = 1'b0;
    expected_valid[508] = 1'b0;
    expected_bpm[508] = 9'd0;
    test_rst[509] = 1'b0;
    test_peak_in[509] = 1'b1;
    expected_valid[509] = 1'b0;
    expected_bpm[509] = 9'd0;
    test_rst[510] = 1'b0;
    test_peak_in[510] = 1'b0;
    expected_valid[510] = 1'b0;
    expected_bpm[510] = 9'd0;
    test_rst[511] = 1'b0;
    test_peak_in[511] = 1'b0;
    expected_valid[511] = 1'b0;
    expected_bpm[511] = 9'd0;
    test_rst[512] = 1'b0;
    test_peak_in[512] = 1'b0;
    expected_valid[512] = 1'b0;
    expected_bpm[512] = 9'd0;
    test_rst[513] = 1'b0;
    test_peak_in[513] = 1'b0;
    expected_valid[513] = 1'b0;
    expected_bpm[513] = 9'd0;
    test_rst[514] = 1'b0;
    test_peak_in[514] = 1'b0;
    expected_valid[514] = 1'b0;
    expected_bpm[514] = 9'd0;
    test_rst[515] = 1'b0;
    test_peak_in[515] = 1'b0;
    expected_valid[515] = 1'b0;
    expected_bpm[515] = 9'd0;
    test_rst[516] = 1'b0;
    test_peak_in[516] = 1'b1;
    expected_valid[516] = 1'b0;
    expected_bpm[516] = 9'd0;
    test_rst[517] = 1'b0;
    test_peak_in[517] = 1'b0;
    expected_valid[517] = 1'b0;
    expected_bpm[517] = 9'd0;
    test_rst[518] = 1'b0;
    test_peak_in[518] = 1'b0;
    expected_valid[518] = 1'b0;
    expected_bpm[518] = 9'd0;
    test_rst[519] = 1'b0;
    test_peak_in[519] = 1'b0;
    expected_valid[519] = 1'b0;
    expected_bpm[519] = 9'd0;
    test_rst[520] = 1'b0;
    test_peak_in[520] = 1'b0;
    expected_valid[520] = 1'b0;
    expected_bpm[520] = 9'd0;
    test_rst[521] = 1'b0;
    test_peak_in[521] = 1'b0;
    expected_valid[521] = 1'b0;
    expected_bpm[521] = 9'd0;
    test_rst[522] = 1'b0;
    test_peak_in[522] = 1'b0;
    expected_valid[522] = 1'b0;
    expected_bpm[522] = 9'd0;
    test_rst[523] = 1'b0;
    test_peak_in[523] = 1'b0;
    expected_valid[523] = 1'b0;
    expected_bpm[523] = 9'd0;
    test_rst[524] = 1'b0;
    test_peak_in[524] = 1'b0;
    expected_valid[524] = 1'b0;
    expected_bpm[524] = 9'd0;
    test_rst[525] = 1'b0;
    test_peak_in[525] = 1'b0;
    expected_valid[525] = 1'b0;
    expected_bpm[525] = 9'd0;
    test_rst[526] = 1'b0;
    test_peak_in[526] = 1'b1;
    expected_valid[526] = 1'b0;
    expected_bpm[526] = 9'd0;
    test_rst[527] = 1'b0;
    test_peak_in[527] = 1'b0;
    expected_valid[527] = 1'b0;
    expected_bpm[527] = 9'd0;
    test_rst[528] = 1'b0;
    test_peak_in[528] = 1'b0;
    expected_valid[528] = 1'b0;
    expected_bpm[528] = 9'd0;
    test_rst[529] = 1'b0;
    test_peak_in[529] = 1'b0;
    expected_valid[529] = 1'b0;
    expected_bpm[529] = 9'd0;
    test_rst[530] = 1'b0;
    test_peak_in[530] = 1'b0;
    expected_valid[530] = 1'b0;
    expected_bpm[530] = 9'd0;
    test_rst[531] = 1'b0;
    test_peak_in[531] = 1'b0;
    expected_valid[531] = 1'b0;
    expected_bpm[531] = 9'd0;
    test_rst[532] = 1'b0;
    test_peak_in[532] = 1'b1;
    expected_valid[532] = 1'b0;
    expected_bpm[532] = 9'd0;
    test_rst[533] = 1'b0;
    test_peak_in[533] = 1'b0;
    expected_valid[533] = 1'b0;
    expected_bpm[533] = 9'd0;
    test_rst[534] = 1'b0;
    test_peak_in[534] = 1'b0;
    expected_valid[534] = 1'b0;
    expected_bpm[534] = 9'd0;
    test_rst[535] = 1'b0;
    test_peak_in[535] = 1'b0;
    expected_valid[535] = 1'b0;
    expected_bpm[535] = 9'd0;
    test_rst[536] = 1'b0;
    test_peak_in[536] = 1'b0;
    expected_valid[536] = 1'b0;
    expected_bpm[536] = 9'd0;
    test_rst[537] = 1'b0;
    test_peak_in[537] = 1'b0;
    expected_valid[537] = 1'b0;
    expected_bpm[537] = 9'd0;
    test_rst[538] = 1'b0;
    test_peak_in[538] = 1'b0;
    expected_valid[538] = 1'b0;
    expected_bpm[538] = 9'd0;
    test_rst[539] = 1'b0;
    test_peak_in[539] = 1'b0;
    expected_valid[539] = 1'b0;
    expected_bpm[539] = 9'd0;
    test_rst[540] = 1'b0;
    test_peak_in[540] = 1'b0;
    expected_valid[540] = 1'b0;
    expected_bpm[540] = 9'd0;
    test_rst[541] = 1'b0;
    test_peak_in[541] = 1'b0;
    expected_valid[541] = 1'b0;
    expected_bpm[541] = 9'd0;
    test_rst[542] = 1'b0;
    test_peak_in[542] = 1'b0;
    expected_valid[542] = 1'b0;
    expected_bpm[542] = 9'd0;
    test_rst[543] = 1'b0;
    test_peak_in[543] = 1'b0;
    expected_valid[543] = 1'b0;
    expected_bpm[543] = 9'd0;
    test_rst[544] = 1'b0;
    test_peak_in[544] = 1'b0;
    expected_valid[544] = 1'b0;
    expected_bpm[544] = 9'd0;
    test_rst[545] = 1'b0;
    test_peak_in[545] = 1'b1;
    expected_valid[545] = 1'b0;
    expected_bpm[545] = 9'd0;
    test_rst[546] = 1'b0;
    test_peak_in[546] = 1'b0;
    expected_valid[546] = 1'b0;
    expected_bpm[546] = 9'd0;
    test_rst[547] = 1'b0;
    test_peak_in[547] = 1'b0;
    expected_valid[547] = 1'b0;
    expected_bpm[547] = 9'd0;
    test_rst[548] = 1'b0;
    test_peak_in[548] = 1'b0;
    expected_valid[548] = 1'b0;
    expected_bpm[548] = 9'd0;
    test_rst[549] = 1'b0;
    test_peak_in[549] = 1'b0;
    expected_valid[549] = 1'b0;
    expected_bpm[549] = 9'd0;
    test_rst[550] = 1'b0;
    test_peak_in[550] = 1'b0;
    expected_valid[550] = 1'b0;
    expected_bpm[550] = 9'd0;
    test_rst[551] = 1'b0;
    test_peak_in[551] = 1'b0;
    expected_valid[551] = 1'b0;
    expected_bpm[551] = 9'd0;
    test_rst[552] = 1'b0;
    test_peak_in[552] = 1'b0;
    expected_valid[552] = 1'b0;
    expected_bpm[552] = 9'd0;
    test_rst[553] = 1'b0;
    test_peak_in[553] = 1'b0;
    expected_valid[553] = 1'b0;
    expected_bpm[553] = 9'd0;
    test_rst[554] = 1'b0;
    test_peak_in[554] = 1'b0;
    expected_valid[554] = 1'b0;
    expected_bpm[554] = 9'd0;
    test_rst[555] = 1'b0;
    test_peak_in[555] = 1'b0;
    expected_valid[555] = 1'b0;
    expected_bpm[555] = 9'd0;
    test_rst[556] = 1'b0;
    test_peak_in[556] = 1'b0;
    expected_valid[556] = 1'b0;
    expected_bpm[556] = 9'd0;
    test_rst[557] = 1'b0;
    test_peak_in[557] = 1'b0;
    expected_valid[557] = 1'b0;
    expected_bpm[557] = 9'd0;
    test_rst[558] = 1'b0;
    test_peak_in[558] = 1'b0;
    expected_valid[558] = 1'b0;
    expected_bpm[558] = 9'd0;
    test_rst[559] = 1'b0;
    test_peak_in[559] = 1'b1;
    expected_valid[559] = 1'b0;
    expected_bpm[559] = 9'd0;
    test_rst[560] = 1'b0;
    test_peak_in[560] = 1'b0;
    expected_valid[560] = 1'b0;
    expected_bpm[560] = 9'd0;
    test_rst[561] = 1'b0;
    test_peak_in[561] = 1'b0;
    expected_valid[561] = 1'b0;
    expected_bpm[561] = 9'd0;
    test_rst[562] = 1'b0;
    test_peak_in[562] = 1'b0;
    expected_valid[562] = 1'b0;
    expected_bpm[562] = 9'd0;
    test_rst[563] = 1'b0;
    test_peak_in[563] = 1'b1;
    expected_valid[563] = 1'b0;
    expected_bpm[563] = 9'd0;
    test_rst[564] = 1'b0;
    test_peak_in[564] = 1'b0;
    expected_valid[564] = 1'b0;
    expected_bpm[564] = 9'd0;
    test_rst[565] = 1'b0;
    test_peak_in[565] = 1'b0;
    expected_valid[565] = 1'b0;
    expected_bpm[565] = 9'd0;
    test_rst[566] = 1'b0;
    test_peak_in[566] = 1'b0;
    expected_valid[566] = 1'b0;
    expected_bpm[566] = 9'd0;
    test_rst[567] = 1'b0;
    test_peak_in[567] = 1'b0;
    expected_valid[567] = 1'b0;
    expected_bpm[567] = 9'd0;
    test_rst[568] = 1'b0;
    test_peak_in[568] = 1'b0;
    expected_valid[568] = 1'b0;
    expected_bpm[568] = 9'd0;
    test_rst[569] = 1'b0;
    test_peak_in[569] = 1'b0;
    expected_valid[569] = 1'b0;
    expected_bpm[569] = 9'd0;
    test_rst[570] = 1'b0;
    test_peak_in[570] = 1'b0;
    expected_valid[570] = 1'b0;
    expected_bpm[570] = 9'd0;
    test_rst[571] = 1'b0;
    test_peak_in[571] = 1'b0;
    expected_valid[571] = 1'b0;
    expected_bpm[571] = 9'd0;
    test_rst[572] = 1'b0;
    test_peak_in[572] = 1'b0;
    expected_valid[572] = 1'b0;
    expected_bpm[572] = 9'd0;
    test_rst[573] = 1'b0;
    test_peak_in[573] = 1'b0;
    expected_valid[573] = 1'b0;
    expected_bpm[573] = 9'd0;
    test_rst[574] = 1'b0;
    test_peak_in[574] = 1'b1;
    expected_valid[574] = 1'b0;
    expected_bpm[574] = 9'd0;
    test_rst[575] = 1'b0;
    test_peak_in[575] = 1'b0;
    expected_valid[575] = 1'b0;
    expected_bpm[575] = 9'd0;
    test_rst[576] = 1'b0;
    test_peak_in[576] = 1'b0;
    expected_valid[576] = 1'b0;
    expected_bpm[576] = 9'd0;
    test_rst[577] = 1'b0;
    test_peak_in[577] = 1'b0;
    expected_valid[577] = 1'b0;
    expected_bpm[577] = 9'd0;
    test_rst[578] = 1'b0;
    test_peak_in[578] = 1'b0;
    expected_valid[578] = 1'b0;
    expected_bpm[578] = 9'd0;
    test_rst[579] = 1'b0;
    test_peak_in[579] = 1'b0;
    expected_valid[579] = 1'b0;
    expected_bpm[579] = 9'd0;
    test_rst[580] = 1'b0;
    test_peak_in[580] = 1'b0;
    expected_valid[580] = 1'b0;
    expected_bpm[580] = 9'd0;
    test_rst[581] = 1'b0;
    test_peak_in[581] = 1'b0;
    expected_valid[581] = 1'b0;
    expected_bpm[581] = 9'd0;
    test_rst[582] = 1'b0;
    test_peak_in[582] = 1'b0;
    expected_valid[582] = 1'b0;
    expected_bpm[582] = 9'd0;
    test_rst[583] = 1'b0;
    test_peak_in[583] = 1'b0;
    expected_valid[583] = 1'b0;
    expected_bpm[583] = 9'd0;
    test_rst[584] = 1'b0;
    test_peak_in[584] = 1'b1;
    expected_valid[584] = 1'b0;
    expected_bpm[584] = 9'd0;
    test_rst[585] = 1'b0;
    test_peak_in[585] = 1'b0;
    expected_valid[585] = 1'b0;
    expected_bpm[585] = 9'd0;
    test_rst[586] = 1'b0;
    test_peak_in[586] = 1'b0;
    expected_valid[586] = 1'b0;
    expected_bpm[586] = 9'd0;
    test_rst[587] = 1'b0;
    test_peak_in[587] = 1'b0;
    expected_valid[587] = 1'b0;
    expected_bpm[587] = 9'd0;
    test_rst[588] = 1'b0;
    test_peak_in[588] = 1'b0;
    expected_valid[588] = 1'b0;
    expected_bpm[588] = 9'd0;
    test_rst[589] = 1'b0;
    test_peak_in[589] = 1'b0;
    expected_valid[589] = 1'b0;
    expected_bpm[589] = 9'd0;
    test_rst[590] = 1'b0;
    test_peak_in[590] = 1'b0;
    expected_valid[590] = 1'b0;
    expected_bpm[590] = 9'd0;
    test_rst[591] = 1'b0;
    test_peak_in[591] = 1'b0;
    expected_valid[591] = 1'b0;
    expected_bpm[591] = 9'd0;
    test_rst[592] = 1'b0;
    test_peak_in[592] = 1'b0;
    expected_valid[592] = 1'b0;
    expected_bpm[592] = 9'd0;
    test_rst[593] = 1'b0;
    test_peak_in[593] = 1'b0;
    expected_valid[593] = 1'b0;
    expected_bpm[593] = 9'd0;
    test_rst[594] = 1'b0;
    test_peak_in[594] = 1'b0;
    expected_valid[594] = 1'b0;
    expected_bpm[594] = 9'd0;
    test_rst[595] = 1'b0;
    test_peak_in[595] = 1'b0;
    expected_valid[595] = 1'b0;
    expected_bpm[595] = 9'd0;
    test_rst[596] = 1'b0;
    test_peak_in[596] = 1'b0;
    expected_valid[596] = 1'b0;
    expected_bpm[596] = 9'd0;
    test_rst[597] = 1'b0;
    test_peak_in[597] = 1'b0;
    expected_valid[597] = 1'b0;
    expected_bpm[597] = 9'd0;
    test_rst[598] = 1'b0;
    test_peak_in[598] = 1'b0;
    expected_valid[598] = 1'b0;
    expected_bpm[598] = 9'd0;
    test_rst[599] = 1'b0;
    test_peak_in[599] = 1'b0;
    expected_valid[599] = 1'b0;
    expected_bpm[599] = 9'd0;
    test_rst[600] = 1'b0;
    test_peak_in[600] = 1'b0;
    expected_valid[600] = 1'b0;
    expected_bpm[600] = 9'd0;
    test_rst[601] = 1'b0;
    test_peak_in[601] = 1'b1;
    expected_valid[601] = 1'b0;
    expected_bpm[601] = 9'd0;
    test_rst[602] = 1'b0;
    test_peak_in[602] = 1'b0;
    expected_valid[602] = 1'b0;
    expected_bpm[602] = 9'd0;
    test_rst[603] = 1'b0;
    test_peak_in[603] = 1'b0;
    expected_valid[603] = 1'b0;
    expected_bpm[603] = 9'd0;
    test_rst[604] = 1'b0;
    test_peak_in[604] = 1'b0;
    expected_valid[604] = 1'b0;
    expected_bpm[604] = 9'd0;
    test_rst[605] = 1'b0;
    test_peak_in[605] = 1'b0;
    expected_valid[605] = 1'b1;
    expected_bpm[605] = 9'd120;
    test_rst[606] = 1'b0;
    test_peak_in[606] = 1'b0;
    expected_valid[606] = 1'b1;
    expected_bpm[606] = 9'd120;
    test_rst[607] = 1'b0;
    test_peak_in[607] = 1'b0;
    expected_valid[607] = 1'b1;
    expected_bpm[607] = 9'd120;
    test_rst[608] = 1'b0;
    test_peak_in[608] = 1'b0;
    expected_valid[608] = 1'b1;
    expected_bpm[608] = 9'd120;
    test_rst[609] = 1'b0;
    test_peak_in[609] = 1'b0;
    expected_valid[609] = 1'b1;
    expected_bpm[609] = 9'd108;
    test_rst[610] = 1'b0;
    test_peak_in[610] = 1'b0;
    expected_valid[610] = 1'b1;
    expected_bpm[610] = 9'd108;
    test_rst[611] = 1'b0;
    test_peak_in[611] = 1'b0;
    expected_valid[611] = 1'b1;
    expected_bpm[611] = 9'd108;
    test_rst[612] = 1'b0;
    test_peak_in[612] = 1'b0;
    expected_valid[612] = 1'b1;
    expected_bpm[612] = 9'd108;
    test_rst[613] = 1'b0;
    test_peak_in[613] = 1'b0;
    expected_valid[613] = 1'b1;
    expected_bpm[613] = 9'd108;
    test_rst[614] = 1'b0;
    test_peak_in[614] = 1'b1;
    expected_valid[614] = 1'b1;
    expected_bpm[614] = 9'd120;
    test_rst[615] = 1'b0;
    test_peak_in[615] = 1'b0;
    expected_valid[615] = 1'b1;
    expected_bpm[615] = 9'd120;
    test_rst[616] = 1'b0;
    test_peak_in[616] = 1'b0;
    expected_valid[616] = 1'b1;
    expected_bpm[616] = 9'd108;
    test_rst[617] = 1'b0;
    test_peak_in[617] = 1'b0;
    expected_valid[617] = 1'b1;
    expected_bpm[617] = 9'd108;
    test_rst[618] = 1'b0;
    test_peak_in[618] = 1'b0;
    expected_valid[618] = 1'b1;
    expected_bpm[618] = 9'd108;
    test_rst[619] = 1'b0;
    test_peak_in[619] = 1'b0;
    expected_valid[619] = 1'b1;
    expected_bpm[619] = 9'd108;
    test_rst[620] = 1'b0;
    test_peak_in[620] = 1'b0;
    expected_valid[620] = 1'b1;
    expected_bpm[620] = 9'd108;
    test_rst[621] = 1'b0;
    test_peak_in[621] = 1'b0;
    expected_valid[621] = 1'b1;
    expected_bpm[621] = 9'd108;
    test_rst[622] = 1'b0;
    test_peak_in[622] = 1'b0;
    expected_valid[622] = 1'b1;
    expected_bpm[622] = 9'd108;
    test_rst[623] = 1'b0;
    test_peak_in[623] = 1'b0;
    expected_valid[623] = 1'b1;
    expected_bpm[623] = 9'd108;
    test_rst[624] = 1'b0;
    test_peak_in[624] = 1'b0;
    expected_valid[624] = 1'b1;
    expected_bpm[624] = 9'd108;
    test_rst[625] = 1'b0;
    test_peak_in[625] = 1'b0;
    expected_valid[625] = 1'b1;
    expected_bpm[625] = 9'd108;
    test_rst[626] = 1'b0;
    test_peak_in[626] = 1'b0;
    expected_valid[626] = 1'b1;
    expected_bpm[626] = 9'd96;
    test_rst[627] = 1'b0;
    test_peak_in[627] = 1'b1;
    expected_valid[627] = 1'b1;
    expected_bpm[627] = 9'd108;
    test_rst[628] = 1'b0;
    test_peak_in[628] = 1'b0;
    expected_valid[628] = 1'b1;
    expected_bpm[628] = 9'd108;
    test_rst[629] = 1'b0;
    test_peak_in[629] = 1'b0;
    expected_valid[629] = 1'b1;
    expected_bpm[629] = 9'd108;
    test_rst[630] = 1'b0;
    test_peak_in[630] = 1'b0;
    expected_valid[630] = 1'b1;
    expected_bpm[630] = 9'd108;
    test_rst[631] = 1'b0;
    test_peak_in[631] = 1'b0;
    expected_valid[631] = 1'b1;
    expected_bpm[631] = 9'd108;
    test_rst[632] = 1'b0;
    test_peak_in[632] = 1'b0;
    expected_valid[632] = 1'b1;
    expected_bpm[632] = 9'd96;
    test_rst[633] = 1'b0;
    test_peak_in[633] = 1'b0;
    expected_valid[633] = 1'b1;
    expected_bpm[633] = 9'd96;
    test_rst[634] = 1'b0;
    test_peak_in[634] = 1'b0;
    expected_valid[634] = 1'b1;
    expected_bpm[634] = 9'd96;
    test_rst[635] = 1'b0;
    test_peak_in[635] = 1'b0;
    expected_valid[635] = 1'b1;
    expected_bpm[635] = 9'd96;
    test_rst[636] = 1'b0;
    test_peak_in[636] = 1'b0;
    expected_valid[636] = 1'b1;
    expected_bpm[636] = 9'd96;
    test_rst[637] = 1'b0;
    test_peak_in[637] = 1'b0;
    expected_valid[637] = 1'b1;
    expected_bpm[637] = 9'd96;
    test_rst[638] = 1'b0;
    test_peak_in[638] = 1'b0;
    expected_valid[638] = 1'b1;
    expected_bpm[638] = 9'd96;
    test_rst[639] = 1'b0;
    test_peak_in[639] = 1'b0;
    expected_valid[639] = 1'b1;
    expected_bpm[639] = 9'd96;
    test_rst[640] = 1'b0;
    test_peak_in[640] = 1'b0;
    expected_valid[640] = 1'b1;
    expected_bpm[640] = 9'd96;
    test_rst[641] = 1'b0;
    test_peak_in[641] = 1'b0;
    expected_valid[641] = 1'b1;
    expected_bpm[641] = 9'd96;
    test_rst[642] = 1'b0;
    test_peak_in[642] = 1'b0;
    expected_valid[642] = 1'b1;
    expected_bpm[642] = 9'd96;
    test_rst[643] = 1'b0;
    test_peak_in[643] = 1'b0;
    expected_valid[643] = 1'b1;
    expected_bpm[643] = 9'd96;
    test_rst[644] = 1'b0;
    test_peak_in[644] = 1'b0;
    expected_valid[644] = 1'b1;
    expected_bpm[644] = 9'd96;
    test_rst[645] = 1'b0;
    test_peak_in[645] = 1'b0;
    expected_valid[645] = 1'b1;
    expected_bpm[645] = 9'd84;
    test_rst[646] = 1'b0;
    test_peak_in[646] = 1'b0;
    expected_valid[646] = 1'b1;
    expected_bpm[646] = 9'd84;
    test_rst[647] = 1'b0;
    test_peak_in[647] = 1'b0;
    expected_valid[647] = 1'b1;
    expected_bpm[647] = 9'd84;
    test_rst[648] = 1'b0;
    test_peak_in[648] = 1'b0;
    expected_valid[648] = 1'b1;
    expected_bpm[648] = 9'd84;
    test_rst[649] = 1'b0;
    test_peak_in[649] = 1'b0;
    expected_valid[649] = 1'b1;
    expected_bpm[649] = 9'd84;
    test_rst[650] = 1'b0;
    test_peak_in[650] = 1'b0;
    expected_valid[650] = 1'b1;
    expected_bpm[650] = 9'd84;
    test_rst[651] = 1'b0;
    test_peak_in[651] = 1'b0;
    expected_valid[651] = 1'b1;
    expected_bpm[651] = 9'd84;
    test_rst[652] = 1'b0;
    test_peak_in[652] = 1'b1;
    expected_valid[652] = 1'b1;
    expected_bpm[652] = 9'd96;
    test_rst[653] = 1'b0;
    test_peak_in[653] = 1'b0;
    expected_valid[653] = 1'b1;
    expected_bpm[653] = 9'd96;
    test_rst[654] = 1'b0;
    test_peak_in[654] = 1'b0;
    expected_valid[654] = 1'b1;
    expected_bpm[654] = 9'd96;
    test_rst[655] = 1'b0;
    test_peak_in[655] = 1'b0;
    expected_valid[655] = 1'b1;
    expected_bpm[655] = 9'd96;
    test_rst[656] = 1'b0;
    test_peak_in[656] = 1'b0;
    expected_valid[656] = 1'b1;
    expected_bpm[656] = 9'd96;
    test_rst[657] = 1'b0;
    test_peak_in[657] = 1'b0;
    expected_valid[657] = 1'b1;
    expected_bpm[657] = 9'd96;
    test_rst[658] = 1'b0;
    test_peak_in[658] = 1'b0;
    expected_valid[658] = 1'b1;
    expected_bpm[658] = 9'd96;
    test_rst[659] = 1'b0;
    test_peak_in[659] = 1'b0;
    expected_valid[659] = 1'b1;
    expected_bpm[659] = 9'd84;
    test_rst[660] = 1'b0;
    test_peak_in[660] = 1'b0;
    expected_valid[660] = 1'b1;
    expected_bpm[660] = 9'd84;
    test_rst[661] = 1'b0;
    test_peak_in[661] = 1'b0;
    expected_valid[661] = 1'b1;
    expected_bpm[661] = 9'd84;
    test_rst[662] = 1'b0;
    test_peak_in[662] = 1'b0;
    expected_valid[662] = 1'b1;
    expected_bpm[662] = 9'd84;
    test_rst[663] = 1'b0;
    test_peak_in[663] = 1'b0;
    expected_valid[663] = 1'b1;
    expected_bpm[663] = 9'd72;
    test_rst[664] = 1'b0;
    test_peak_in[664] = 1'b0;
    expected_valid[664] = 1'b1;
    expected_bpm[664] = 9'd72;
    test_rst[665] = 1'b0;
    test_peak_in[665] = 1'b1;
    expected_valid[665] = 1'b1;
    expected_bpm[665] = 9'd84;
    test_rst[666] = 1'b0;
    test_peak_in[666] = 1'b0;
    expected_valid[666] = 1'b1;
    expected_bpm[666] = 9'd84;
    test_rst[667] = 1'b0;
    test_peak_in[667] = 1'b0;
    expected_valid[667] = 1'b1;
    expected_bpm[667] = 9'd84;
    test_rst[668] = 1'b0;
    test_peak_in[668] = 1'b0;
    expected_valid[668] = 1'b1;
    expected_bpm[668] = 9'd84;
    test_rst[669] = 1'b0;
    test_peak_in[669] = 1'b0;
    expected_valid[669] = 1'b1;
    expected_bpm[669] = 9'd84;
    test_rst[670] = 1'b0;
    test_peak_in[670] = 1'b0;
    expected_valid[670] = 1'b1;
    expected_bpm[670] = 9'd84;
    test_rst[671] = 1'b0;
    test_peak_in[671] = 1'b0;
    expected_valid[671] = 1'b1;
    expected_bpm[671] = 9'd84;
    test_rst[672] = 1'b0;
    test_peak_in[672] = 1'b0;
    expected_valid[672] = 1'b1;
    expected_bpm[672] = 9'd84;
    test_rst[673] = 1'b0;
    test_peak_in[673] = 1'b0;
    expected_valid[673] = 1'b1;
    expected_bpm[673] = 9'd84;
    test_rst[674] = 1'b0;
    test_peak_in[674] = 1'b0;
    expected_valid[674] = 1'b1;
    expected_bpm[674] = 9'd72;
    test_rst[675] = 1'b0;
    test_peak_in[675] = 1'b0;
    expected_valid[675] = 1'b1;
    expected_bpm[675] = 9'd72;
    test_rst[676] = 1'b0;
    test_peak_in[676] = 1'b1;
    expected_valid[676] = 1'b1;
    expected_bpm[676] = 9'd84;
    test_rst[677] = 1'b0;
    test_peak_in[677] = 1'b0;
    expected_valid[677] = 1'b1;
    expected_bpm[677] = 9'd84;
    test_rst[678] = 1'b0;
    test_peak_in[678] = 1'b0;
    expected_valid[678] = 1'b1;
    expected_bpm[678] = 9'd84;
    test_rst[679] = 1'b0;
    test_peak_in[679] = 1'b0;
    expected_valid[679] = 1'b1;
    expected_bpm[679] = 9'd84;
    test_rst[680] = 1'b0;
    test_peak_in[680] = 1'b1;
    expected_valid[680] = 1'b1;
    expected_bpm[680] = 9'd96;
    test_rst[681] = 1'b0;
    test_peak_in[681] = 1'b0;
    expected_valid[681] = 1'b1;
    expected_bpm[681] = 9'd96;
    test_rst[682] = 1'b0;
    test_peak_in[682] = 1'b0;
    expected_valid[682] = 1'b1;
    expected_bpm[682] = 9'd96;
    test_rst[683] = 1'b0;
    test_peak_in[683] = 1'b0;
    expected_valid[683] = 1'b1;
    expected_bpm[683] = 9'd96;
    test_rst[684] = 1'b0;
    test_peak_in[684] = 1'b0;
    expected_valid[684] = 1'b1;
    expected_bpm[684] = 9'd84;
    test_rst[685] = 1'b0;
    test_peak_in[685] = 1'b0;
    expected_valid[685] = 1'b1;
    expected_bpm[685] = 9'd84;
    test_rst[686] = 1'b0;
    test_peak_in[686] = 1'b0;
    expected_valid[686] = 1'b1;
    expected_bpm[686] = 9'd84;
    test_rst[687] = 1'b0;
    test_peak_in[687] = 1'b0;
    expected_valid[687] = 1'b1;
    expected_bpm[687] = 9'd84;
    test_rst[688] = 1'b0;
    test_peak_in[688] = 1'b1;
    expected_valid[688] = 1'b1;
    expected_bpm[688] = 9'd96;
    test_rst[689] = 1'b0;
    test_peak_in[689] = 1'b0;
    expected_valid[689] = 1'b1;
    expected_bpm[689] = 9'd96;
    test_rst[690] = 1'b0;
    test_peak_in[690] = 1'b0;
    expected_valid[690] = 1'b1;
    expected_bpm[690] = 9'd96;
    test_rst[691] = 1'b0;
    test_peak_in[691] = 1'b0;
    expected_valid[691] = 1'b1;
    expected_bpm[691] = 9'd96;
    test_rst[692] = 1'b0;
    test_peak_in[692] = 1'b0;
    expected_valid[692] = 1'b1;
    expected_bpm[692] = 9'd96;
    test_rst[693] = 1'b0;
    test_peak_in[693] = 1'b0;
    expected_valid[693] = 1'b1;
    expected_bpm[693] = 9'd96;
    test_rst[694] = 1'b0;
    test_peak_in[694] = 1'b0;
    expected_valid[694] = 1'b1;
    expected_bpm[694] = 9'd96;
    test_rst[695] = 1'b0;
    test_peak_in[695] = 1'b0;
    expected_valid[695] = 1'b1;
    expected_bpm[695] = 9'd96;
    test_rst[696] = 1'b0;
    test_peak_in[696] = 1'b0;
    expected_valid[696] = 1'b1;
    expected_bpm[696] = 9'd96;
    test_rst[697] = 1'b0;
    test_peak_in[697] = 1'b0;
    expected_valid[697] = 1'b1;
    expected_bpm[697] = 9'd96;
    test_rst[698] = 1'b0;
    test_peak_in[698] = 1'b0;
    expected_valid[698] = 1'b1;
    expected_bpm[698] = 9'd96;
    test_rst[699] = 1'b0;
    test_peak_in[699] = 1'b0;
    expected_valid[699] = 1'b1;
    expected_bpm[699] = 9'd96;
    test_rst[700] = 1'b0;
    test_peak_in[700] = 1'b0;
    expected_valid[700] = 1'b1;
    expected_bpm[700] = 9'd96;
    test_rst[701] = 1'b0;
    test_peak_in[701] = 1'b0;
    expected_valid[701] = 1'b1;
    expected_bpm[701] = 9'd84;
    test_rst[702] = 1'b0;
    test_peak_in[702] = 1'b0;
    expected_valid[702] = 1'b1;
    expected_bpm[702] = 9'd84;
    test_rst[703] = 1'b0;
    test_peak_in[703] = 1'b0;
    expected_valid[703] = 1'b1;
    expected_bpm[703] = 9'd84;
    test_rst[704] = 1'b0;
    test_peak_in[704] = 1'b0;
    expected_valid[704] = 1'b1;
    expected_bpm[704] = 9'd84;
    test_rst[705] = 1'b0;
    test_peak_in[705] = 1'b0;
    expected_valid[705] = 1'b1;
    expected_bpm[705] = 9'd84;
    test_rst[706] = 1'b0;
    test_peak_in[706] = 1'b0;
    expected_valid[706] = 1'b1;
    expected_bpm[706] = 9'd84;
    test_rst[707] = 1'b0;
    test_peak_in[707] = 1'b0;
    expected_valid[707] = 1'b1;
    expected_bpm[707] = 9'd84;
    test_rst[708] = 1'b0;
    test_peak_in[708] = 1'b0;
    expected_valid[708] = 1'b1;
    expected_bpm[708] = 9'd84;
    test_rst[709] = 1'b0;
    test_peak_in[709] = 1'b0;
    expected_valid[709] = 1'b1;
    expected_bpm[709] = 9'd84;
    test_rst[710] = 1'b0;
    test_peak_in[710] = 1'b1;
    expected_valid[710] = 1'b1;
    expected_bpm[710] = 9'd96;
    test_rst[711] = 1'b0;
    test_peak_in[711] = 1'b0;
    expected_valid[711] = 1'b1;
    expected_bpm[711] = 9'd96;
    test_rst[712] = 1'b0;
    test_peak_in[712] = 1'b0;
    expected_valid[712] = 1'b1;
    expected_bpm[712] = 9'd96;
    test_rst[713] = 1'b0;
    test_peak_in[713] = 1'b0;
    expected_valid[713] = 1'b1;
    expected_bpm[713] = 9'd96;
    test_rst[714] = 1'b0;
    test_peak_in[714] = 1'b0;
    expected_valid[714] = 1'b1;
    expected_bpm[714] = 9'd84;
    test_rst[715] = 1'b0;
    test_peak_in[715] = 1'b0;
    expected_valid[715] = 1'b1;
    expected_bpm[715] = 9'd84;
    test_rst[716] = 1'b0;
    test_peak_in[716] = 1'b0;
    expected_valid[716] = 1'b1;
    expected_bpm[716] = 9'd84;
    test_rst[717] = 1'b0;
    test_peak_in[717] = 1'b0;
    expected_valid[717] = 1'b1;
    expected_bpm[717] = 9'd84;
    test_rst[718] = 1'b0;
    test_peak_in[718] = 1'b0;
    expected_valid[718] = 1'b1;
    expected_bpm[718] = 9'd84;
    test_rst[719] = 1'b0;
    test_peak_in[719] = 1'b0;
    expected_valid[719] = 1'b1;
    expected_bpm[719] = 9'd84;
    test_rst[720] = 1'b0;
    test_peak_in[720] = 1'b0;
    expected_valid[720] = 1'b1;
    expected_bpm[720] = 9'd84;
    test_rst[721] = 1'b0;
    test_peak_in[721] = 1'b0;
    expected_valid[721] = 1'b1;
    expected_bpm[721] = 9'd84;
    test_rst[722] = 1'b0;
    test_peak_in[722] = 1'b0;
    expected_valid[722] = 1'b1;
    expected_bpm[722] = 9'd84;
    test_rst[723] = 1'b0;
    test_peak_in[723] = 1'b0;
    expected_valid[723] = 1'b1;
    expected_bpm[723] = 9'd84;
    test_rst[724] = 1'b0;
    test_peak_in[724] = 1'b1;
    expected_valid[724] = 1'b1;
    expected_bpm[724] = 9'd96;
    test_rst[725] = 1'b0;
    test_peak_in[725] = 1'b0;
    expected_valid[725] = 1'b1;
    expected_bpm[725] = 9'd96;
    test_rst[726] = 1'b0;
    test_peak_in[726] = 1'b0;
    expected_valid[726] = 1'b1;
    expected_bpm[726] = 9'd96;
    test_rst[727] = 1'b0;
    test_peak_in[727] = 1'b0;
    expected_valid[727] = 1'b1;
    expected_bpm[727] = 9'd84;
    test_rst[728] = 1'b0;
    test_peak_in[728] = 1'b1;
    expected_valid[728] = 1'b1;
    expected_bpm[728] = 9'd96;
    test_rst[729] = 1'b0;
    test_peak_in[729] = 1'b0;
    expected_valid[729] = 1'b1;
    expected_bpm[729] = 9'd96;
    test_rst[730] = 1'b0;
    test_peak_in[730] = 1'b0;
    expected_valid[730] = 1'b1;
    expected_bpm[730] = 9'd96;
    test_rst[731] = 1'b0;
    test_peak_in[731] = 1'b0;
    expected_valid[731] = 1'b1;
    expected_bpm[731] = 9'd96;
    test_rst[732] = 1'b0;
    test_peak_in[732] = 1'b0;
    expected_valid[732] = 1'b1;
    expected_bpm[732] = 9'd96;
    test_rst[733] = 1'b0;
    test_peak_in[733] = 1'b1;
    expected_valid[733] = 1'b1;
    expected_bpm[733] = 9'd108;
    test_rst[734] = 1'b0;
    test_peak_in[734] = 1'b0;
    expected_valid[734] = 1'b1;
    expected_bpm[734] = 9'd108;
    test_rst[735] = 1'b0;
    test_peak_in[735] = 1'b0;
    expected_valid[735] = 1'b1;
    expected_bpm[735] = 9'd108;
    test_rst[736] = 1'b0;
    test_peak_in[736] = 1'b0;
    expected_valid[736] = 1'b1;
    expected_bpm[736] = 9'd108;
    test_rst[737] = 1'b0;
    test_peak_in[737] = 1'b1;
    expected_valid[737] = 1'b1;
    expected_bpm[737] = 9'd120;
    test_rst[738] = 1'b0;
    test_peak_in[738] = 1'b0;
    expected_valid[738] = 1'b1;
    expected_bpm[738] = 9'd120;
    test_rst[739] = 1'b0;
    test_peak_in[739] = 1'b0;
    expected_valid[739] = 1'b1;
    expected_bpm[739] = 9'd120;
    test_rst[740] = 1'b0;
    test_peak_in[740] = 1'b0;
    expected_valid[740] = 1'b1;
    expected_bpm[740] = 9'd120;
    test_rst[741] = 1'b0;
    test_peak_in[741] = 1'b0;
    expected_valid[741] = 1'b1;
    expected_bpm[741] = 9'd120;
    test_rst[742] = 1'b0;
    test_peak_in[742] = 1'b0;
    expected_valid[742] = 1'b1;
    expected_bpm[742] = 9'd120;
    test_rst[743] = 1'b0;
    test_peak_in[743] = 1'b0;
    expected_valid[743] = 1'b1;
    expected_bpm[743] = 9'd120;
    test_rst[744] = 1'b0;
    test_peak_in[744] = 1'b0;
    expected_valid[744] = 1'b1;
    expected_bpm[744] = 9'd120;
    test_rst[745] = 1'b0;
    test_peak_in[745] = 1'b0;
    expected_valid[745] = 1'b1;
    expected_bpm[745] = 9'd120;
    test_rst[746] = 1'b0;
    test_peak_in[746] = 1'b0;
    expected_valid[746] = 1'b1;
    expected_bpm[746] = 9'd120;
    test_rst[747] = 1'b0;
    test_peak_in[747] = 1'b0;
    expected_valid[747] = 1'b1;
    expected_bpm[747] = 9'd120;
    test_rst[748] = 1'b0;
    test_peak_in[748] = 1'b0;
    expected_valid[748] = 1'b1;
    expected_bpm[748] = 9'd120;
    test_rst[749] = 1'b0;
    test_peak_in[749] = 1'b0;
    expected_valid[749] = 1'b1;
    expected_bpm[749] = 9'd120;
    test_rst[750] = 1'b0;
    test_peak_in[750] = 1'b0;
    expected_valid[750] = 1'b1;
    expected_bpm[750] = 9'd120;
    test_rst[751] = 1'b0;
    test_peak_in[751] = 1'b0;
    expected_valid[751] = 1'b1;
    expected_bpm[751] = 9'd120;
    test_rst[752] = 1'b0;
    test_peak_in[752] = 1'b0;
    expected_valid[752] = 1'b1;
    expected_bpm[752] = 9'd108;
    test_rst[753] = 1'b0;
    test_peak_in[753] = 1'b1;
    expected_valid[753] = 1'b1;
    expected_bpm[753] = 9'd120;
    test_rst[754] = 1'b0;
    test_peak_in[754] = 1'b0;
    expected_valid[754] = 1'b1;
    expected_bpm[754] = 9'd120;
    test_rst[755] = 1'b0;
    test_peak_in[755] = 1'b0;
    expected_valid[755] = 1'b1;
    expected_bpm[755] = 9'd120;
    test_rst[756] = 1'b0;
    test_peak_in[756] = 1'b0;
    expected_valid[756] = 1'b1;
    expected_bpm[756] = 9'd120;
    test_rst[757] = 1'b0;
    test_peak_in[757] = 1'b0;
    expected_valid[757] = 1'b1;
    expected_bpm[757] = 9'd120;
    test_rst[758] = 1'b0;
    test_peak_in[758] = 1'b0;
    expected_valid[758] = 1'b1;
    expected_bpm[758] = 9'd120;
    test_rst[759] = 1'b0;
    test_peak_in[759] = 1'b0;
    expected_valid[759] = 1'b1;
    expected_bpm[759] = 9'd120;
    test_rst[760] = 1'b0;
    test_peak_in[760] = 1'b0;
    expected_valid[760] = 1'b1;
    expected_bpm[760] = 9'd120;
    test_rst[761] = 1'b0;
    test_peak_in[761] = 1'b1;
    expected_valid[761] = 1'b1;
    expected_bpm[761] = 9'd132;
    test_rst[762] = 1'b0;
    test_peak_in[762] = 1'b0;
    expected_valid[762] = 1'b1;
    expected_bpm[762] = 9'd132;
    test_rst[763] = 1'b0;
    test_peak_in[763] = 1'b0;
    expected_valid[763] = 1'b1;
    expected_bpm[763] = 9'd132;
    test_rst[764] = 1'b0;
    test_peak_in[764] = 1'b0;
    expected_valid[764] = 1'b1;
    expected_bpm[764] = 9'd132;
    test_rst[765] = 1'b0;
    test_peak_in[765] = 1'b0;
    expected_valid[765] = 1'b1;
    expected_bpm[765] = 9'd120;
end


    bpm_calculator uut (
        .clk(clk),
        .rst(rst),
        .peak_in(peak_in),
        .bpm_valid(bpm_valid),
        .bpm_out(bpm_out)
    );

    initial begin
        clk = 1'b0;
        forever #5 clk = ~clk;
    end

    task apply_cycle;
        input integer cycle_idx;
        begin
            rst = test_rst[cycle_idx];
            peak_in = test_peak_in[cycle_idx];

            @(posedge clk);
            #1;

            tests_run = tests_run + 1;

            if (bpm_valid !== expected_valid[cycle_idx]) begin
                $display("ERROR [cycle %0d]: bpm_valid mismatch. Expected %b, got %b (rst=%b peak_in=%b)",
                         cycle_idx, expected_valid[cycle_idx], bpm_valid, rst, peak_in);
                errors = errors + 1;
            end

            if (bpm_out !== expected_bpm[cycle_idx]) begin
                $display("ERROR [cycle %0d]: bpm_out mismatch. Expected %0d, got %0d (rst=%b peak_in=%b)",
                         cycle_idx, expected_bpm[cycle_idx], bpm_out, rst, peak_in);
                errors = errors + 1;
            end
        end
    endtask

    initial begin
        rst = 1'b0;
        peak_in = 1'b0;

        $display("=======================================");
        $display("  Sliding-Window BPM Calculator Testbench");
        $display("=======================================");

        for (i = 0; i < NUM_TESTS; i = i + 1)
            apply_cycle(i);

        $display("");
        $display("=======================================");
        $display("  Tests Run: %0d", tests_run);
        $display("=======================================");

        if (errors == 0) begin
            $display("TEST_RESULT: PASS");
        end else begin
            $display("TEST_RESULT: FAIL (%0d errors)", errors);
        end

        $finish;
    end
endmodule
