Entity: usbuart_usbif
- File: usbuart_usbif.sv
Diagram
Description
Copyright lowRISC contributors. Licensed under the Apache License, Version 2.0, see LICENSE for details. SPDX-License-Identifier: Apache-2.0
Description: USB uart interface in USB clock domain
Ports
Port name | Direction | Type | Description |
---|---|---|---|
clk_48mhz_i | input | ||
rst_ni | input | ||
usb_d_i | input | USB lines. Split into input vs. output and oe control signal to maintain highest level of compatibility with synthesis tools. | |
usb_se0_i | input | ||
usb_d_o | output | ||
usb_se0_o | output | ||
usb_oe_o | output | ||
tx_empty | input | Fifo used to communicate with system | |
rx_full | input | ||
tx_read | output | ||
rx_write | output | ||
rx_err | output | Also becomes bit 8 to the fifo | |
rx_fifo_wdata | output | [7:0] | |
tx_fifo_rdata | input | [7:0] | |
status_frame_o | output | [10:0] | Status |
status_host_lost_o | output | ||
status_host_timeout_o | output | ||
status_device_address_o | output | [6:0] | |
parity_o | output | [1:0] | |
baud_o | output | [15:0] |
Signals
Name | Type | Description |
---|---|---|
ns_cnt | logic [5:0] | us_tick ticks for one cycle every us |
us_tick | logic | |
dev_addr | logic [6:0] | |
out_ep_data | logic [7:0] | |
in_ep_current | logic [3:0] | |
in_ep_rollback | logic | |
in_ep_acked | logic | |
in_ep_get_addr | logic [PktW - 1:0] | |
in_ep_data_get | logic | |
out_ep_current | logic [3:0] | |
out_ep_rollback | logic | |
out_ep_acked | logic | |
out_ep_put_addr | logic [PktW - 1:0] | |
out_ep_data_put | logic | |
ctrl_out_ep_setup | logic | |
ctrl_out_ep_stall | logic | |
ctrl_out_ep_full | logic | |
ctrl_in_ep_data | logic [7:0] | |
ctrl_in_ep_data_done | logic | |
ctrl_in_ep_stall | logic | |
ctrl_in_ep_has_data | logic | |
serial_out_ep_setup | logic | |
serial_out_ep_stall | logic | |
serial_out_ep_full | logic | |
serial_in_ep_data | logic [7:0] | |
serial_in_ep_data_done | logic | |
serial_in_ep_stall | logic | |
serial_in_ep_has_data | logic | |
sof_valid | logic | |
frame_index_raw | logic [10:0] | |
host_presence_timer | logic [19:0] | |
out_ctrl_put | logic | |
out_ctrl_acked | logic | |
out_ctrl_rollback | logic | |
in_ctrl_get | logic | |
in_ctrl_acked | logic | |
in_ctrl_rollback | logic | |
out_fifo_put | logic | |
out_fifo_acked | logic | |
out_fifo_rollback | logic | |
in_fifo_get | logic | |
in_fifo_acked | logic | |
in_fifo_rollback | logic |
Constants
Name | Type | Value | Description |
---|---|---|---|
MaxPktSizeByte | int unsigned | 32 | |
PktW | int unsigned | $clog2(MaxPktSizeByte) | |
CtrlEp | int unsigned | 0 | |
FifoEp | int unsigned | 1 |
Processes
- unnamed: ( @(posedge clk_48mhz_i or negedge rst_ni) )
Type: always_ff
- unnamed: ( @(posedge clk_48mhz_i or negedge rst_ni) )
Type: always_ff
Instantiations
- u_usb_serial_ctrl_ep: usb_serial_ctrl_ep
- u_usb_serial_fifo_ep: usb_serial_fifo_ep
- u_usb_fs_nb_pe: usb_fs_nb_pe