{
  "tests": {
    "total": 16,
    "passed": 16
  },
  "seed": 19193966,
  "files": [
    "rtl/apb_uart_sv.v"
  ],
  "types": {
    "line": {
      "hit": 80,
      "total": 101,
      "percent": 79.2
    },
    "branch": {
      "hit": 92,
      "total": 126,
      "percent": 73.0
    },
    "toggle": {
      "hit": 584,
      "total": 958,
      "percent": 61.0
    }
  },
  "modules": [
    {
      "name": "apb_uart_sv",
      "types": {
        "line": {
          "hit": 13,
          "total": 15,
          "percent": 86.7
        },
        "branch": {
          "hit": 14,
          "total": 18,
          "percent": 77.8
        },
        "toggle": {
          "hit": 111,
          "total": 317,
          "percent": 35.0
        }
      }
    },
    {
      "name": "io_generic_fifo__D8_B10",
      "types": {
        "line": {
          "hit": 11,
          "total": 11,
          "percent": 100.0
        },
        "branch": {
          "hit": 12,
          "total": 12,
          "percent": 100.0
        },
        "toggle": {
          "hit": 168,
          "total": 202,
          "percent": 83.2
        }
      }
    },
    {
      "name": "io_generic_fifo__D9_B10",
      "types": {
        "line": {
          "hit": 11,
          "total": 11,
          "percent": 100.0
        },
        "branch": {
          "hit": 12,
          "total": 12,
          "percent": 100.0
        },
        "toggle": {
          "hit": 162,
          "total": 220,
          "percent": 73.6
        }
      }
    },
    {
      "name": "uart_interrupt__T10_R10",
      "types": {
        "line": {
          "hit": 6,
          "total": 12,
          "percent": 50.0
        },
        "branch": {
          "hit": 9,
          "total": 18,
          "percent": 50.0
        },
        "toggle": {
          "hit": 20,
          "total": 38,
          "percent": 52.6
        }
      }
    },
    {
      "name": "uart_rx",
      "types": {
        "line": {
          "hit": 25,
          "total": 33,
          "percent": 75.8
        },
        "branch": {
          "hit": 21,
          "total": 32,
          "percent": 65.6
        },
        "toggle": {
          "hit": 64,
          "total": 94,
          "percent": 68.1
        }
      }
    },
    {
      "name": "uart_tx",
      "types": {
        "line": {
          "hit": 14,
          "total": 19,
          "percent": 73.7
        },
        "branch": {
          "hit": 24,
          "total": 34,
          "percent": 70.6
        },
        "toggle": {
          "hit": 59,
          "total": 87,
          "percent": 67.8
        }
      }
    }
  ],
  "uncovered": [
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 167,
      "text": "if (_sv2v_0)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 198,
      "text": "default:"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 203,
      "text": "if (_sv2v_0)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 212,
      "text": "if (regs_q[(LCR * 8) + 7])"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 213,
      "text": "PRDATA = {24'b000000000000000000000000, regs_q[(DLL + 'd8) * 8+:8]};"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 225,
      "text": "if (regs_q[(LCR * 8) + 7])"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 226,
      "text": "PRDATA = {24'b000000000000000000000000, regs_q[(DLM + 'd8) * 8+:8]};"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 233,
      "text": "default:"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 311,
      "text": "if (_sv2v_0)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 315,
      "text": "2'b01: s_target_bits = 3'h5;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 316,
      "text": "2'b10: s_target_bits = 3'h6;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 321,
      "text": "if (_sv2v_0)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 350,
      "text": "2'b00: reg_data_next = {3'b000, reg_rx_sync[2], reg_data[4:1]};"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 351,
      "text": "2'b01: reg_data_next = {2'b00, reg_rx_sync[2], reg_data[5:1]};"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 352,
      "text": "2'b10: reg_data_next = {1'b0, reg_rx_sync[2], reg_data[6:1]};"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 368,
      "text": "if (rx_ready_i) begin"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 369,
      "text": "if (cfg_parity_en_i)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 370,
      "text": "NS = 3'd4;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 375,
      "text": "3'd4: begin"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 376,
      "text": "baudgen_en = 1'b1;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 377,
      "text": "if (bit_done) begin"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 378,
      "text": "if (parity_bit != reg_rx_sync[2])"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 379,
      "text": "set_error = 1'b1;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 380,
      "text": "NS = 3'd5;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 388,
      "text": "default: NS = 3'd0;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 407,
      "text": "CS <= 3'd0;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 416,
      "text": "reg_rx_sync <= 3'b111;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 445,
      "text": "else if (set_error)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 446,
      "text": "err_o <= 1'b1;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 492,
      "text": "if (_sv2v_0)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 496,
      "text": "2'b01: s_target_bits = 3'h5;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 497,
      "text": "2'b10: s_target_bits = 3'h6;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 502,
      "text": "if (_sv2v_0)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 514,
      "text": "if (cfg_en_i)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 536,
      "text": "if (cfg_parity_en_i)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 537,
      "text": "NS = 3'd3;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 547,
      "text": "3'd3: begin"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 548,
      "text": "tx_o = parity_bit;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 549,
      "text": "baudgen_en = 1'b1;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 550,
      "text": "if (bit_done)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 551,
      "text": "NS = 3'd4;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 557,
      "text": "if (cfg_stop_bits_i)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 558,
      "text": "NS = 3'd5;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 563,
      "text": "3'd5: begin"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 564,
      "text": "tx_o = 1'b1;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 565,
      "text": "baudgen_en = 1'b1;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 566,
      "text": "if (bit_done)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 567,
      "text": "NS = 3'd0;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 569,
      "text": "default: NS = 3'd0;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 588,
      "text": "CS <= 3'd0;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 722,
      "text": "if (_sv2v_0)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 729,
      "text": "2'b01:"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 730,
      "text": "if ($unsigned(rx_elements_i) == 4)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 731,
      "text": "trigger_level_reached = 1'b1;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 732,
      "text": "2'b10:"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 733,
      "text": "if ($unsigned(rx_elements_i) == 8)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 734,
      "text": "trigger_level_reached = 1'b1;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 735,
      "text": "2'b11:"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 736,
      "text": "if ($unsigned(rx_elements_i) == 14)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 737,
      "text": "trigger_level_reached = 1'b1;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 738,
      "text": "default:"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 743,
      "text": "if (_sv2v_0)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 749,
      "text": "if (IER_i[2] & error_i)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 750,
      "text": "iir_n = 4'b1100;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 753,
      "text": "else if (IER_i[0] & CTI_i)"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 754,
      "text": "iir_n = 4'b1000;"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 755,
      "text": "else if (IER_i[1] & (tx_elements_i == 0))"
    },
    {
      "file": "rtl/apb_uart_sv.v",
      "line": 756,
      "text": "iir_n = 4'b0100;"
    }
  ],
  "runs": 12
}
