hw/ip/usb_fs_nb_pe/rtl/usb_fs_tx_mux.sv Cov: 100%

   1: // Copyright lowRISC contributors.
   2: // Copyright ETH Zurich.
   3: // Copyright Luke Valenty (TinyFPGA project, https://github.com/tinyfpga/TinyFPGA-Bootloader).
   4: // Licensed under the Apache License, Version 2.0, see LICENSE for details.
   5: // SPDX-License-Identifier: Apache-2.0
   6: 
   7: module usb_fs_tx_mux (
   8:   // interface to IN Protocol Engine
   9:   input  logic in_tx_pkt_start_i,
  10:   input  logic [3:0] in_tx_pid_i,
  11: 
  12:   // interface to OUT Protocol Engine
  13:   input  logic out_tx_pkt_start_i,
  14:   input  logic [3:0] out_tx_pid_i,
  15: 
  16:   // interface to tx module
  17:   output logic tx_pkt_start_o,
  18:   output logic [3:0] tx_pid_o
  19: );
  20: 
  21:   assign tx_pkt_start_o = in_tx_pkt_start_i | out_tx_pkt_start_i;
  22:   assign tx_pid_o       = out_tx_pkt_start_i ? out_tx_pid_i : in_tx_pid_i;
  23: 
  24: endmodule
  25: