blob: b00a4b435e4608a30279bc2c88d4475f800a0698 [file] [log] [blame]
// 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