|  | // Copyright 2024 Google LLC | 
|  | // | 
|  | // Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | // you may not use this file except in compliance with the License. | 
|  | // You may obtain a copy of the License at | 
|  | // | 
|  | //     http://www.apache.org/licenses/LICENSE-2.0 | 
|  | // | 
|  | // Unless required by applicable law or agreed to in writing, software | 
|  | // distributed under the License is distributed on an "AS IS" BASIS, | 
|  | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | // See the License for the specific language governing permissions and | 
|  | // limitations under the License. | 
|  |  | 
|  | module Uart( | 
|  | input clk_i, | 
|  | input rst_ni, | 
|  | input tl_i_a_valid, | 
|  | input [2:0] tl_i_a_opcode, | 
|  | input [2:0] tl_i_a_param, | 
|  | input [5:0] tl_i_a_size, | 
|  | input [9:0] tl_i_a_source, | 
|  | input [31:0] tl_i_a_address, | 
|  | input [31:0] tl_i_a_mask, | 
|  | input [255:0] tl_i_a_data, | 
|  | input [4:0] tl_i_a_user_rsvd, | 
|  | input [3:0] tl_i_a_user_instr_type, | 
|  | input [6:0] tl_i_a_user_cmd_intg, | 
|  | input [6:0] tl_i_a_user_data_intg, | 
|  | input tl_i_d_ready, | 
|  | output tl_o_d_valid, | 
|  | output [2:0] tl_o_d_opcode, | 
|  | output [2:0] tl_o_d_param, | 
|  | output [5:0] tl_o_d_size, | 
|  | output [9:0] tl_o_d_source, | 
|  | output tl_o_d_sink, | 
|  | output [255:0] tl_o_d_data, | 
|  | output [6:0] tl_o_d_user_rsp_intg, | 
|  | output [6:0] tl_o_d_user_data_intg, | 
|  | output tl_o_d_error, | 
|  | output tl_o_a_ready, | 
|  |  | 
|  | input [3:0] alert_rx_i, | 
|  | output [1:0] alert_tx_o, | 
|  |  | 
|  | input cio_rx_i, | 
|  | output cio_tx_o, | 
|  | output cio_tx_en_o, | 
|  |  | 
|  | output intr_tx_watermark_o, | 
|  | output intr_rx_watermark_o, | 
|  | output intr_tx_empty_o, | 
|  | output intr_rx_overflow_o, | 
|  | output intr_rx_frame_err_o, | 
|  | output intr_rx_break_err_o, | 
|  | output intr_rx_timeout_o, | 
|  | output intr_rx_parity_err_o | 
|  | ); | 
|  |  | 
|  | uart #() u_uart ( | 
|  | .clk_i(clk_i), | 
|  | .rst_ni(rst_ni), | 
|  | .tl_i( | 
|  | { | 
|  | tl_i_a_valid, | 
|  | tl_i_a_opcode, | 
|  | tl_i_a_param, | 
|  | tl_i_a_size, | 
|  | tl_i_a_source, | 
|  | tl_i_a_address, | 
|  | tl_i_a_mask, | 
|  | tl_i_a_data, | 
|  | tl_i_a_user_rsvd, | 
|  | tl_i_a_user_instr_type, | 
|  | tl_i_a_user_cmd_intg, | 
|  | tl_i_a_user_data_intg, | 
|  | tl_i_d_ready | 
|  | }), | 
|  | .tl_o({ | 
|  | tl_o_d_valid, | 
|  | tl_o_d_opcode, | 
|  | tl_o_d_param, | 
|  | tl_o_d_size, | 
|  | tl_o_d_source, | 
|  | tl_o_d_sink, | 
|  | tl_o_d_data, | 
|  | tl_o_d_user_rsp_intg, | 
|  | tl_o_d_user_data_intg, | 
|  | tl_o_d_error, | 
|  | tl_o_a_ready | 
|  | }), | 
|  | .alert_rx_i(alert_rx_i), | 
|  | .alert_tx_o(alert_tx_o), | 
|  |  | 
|  | .cio_rx_i(cio_rx_i), | 
|  | .cio_tx_o(cio_tx_o), | 
|  | .cio_tx_en_o(cio_tx_en_o), | 
|  |  | 
|  | .intr_tx_watermark_o(intr_tx_watermark_o), | 
|  | .intr_rx_watermark_o(intr_rx_watermark_o), | 
|  | .intr_tx_empty_o(intr_tx_empty_o), | 
|  | .intr_rx_overflow_o(intr_rx_overflow_o), | 
|  | .intr_rx_frame_err_o(intr_rx_frame_err_o), | 
|  | .intr_rx_break_err_o(intr_rx_break_err_o), | 
|  | .intr_rx_timeout_o(intr_rx_timeout_o), | 
|  | .intr_rx_parity_err_o(intr_rx_parity_err_o) | 
|  | ); | 
|  |  | 
|  | endmodule |