32 `include
"../../pipe/rtl/pipe_defs.v"
34 module
usb_uart #( parameter PipeSpec = `PS_d8 ) (
42 inout [`P_m(PipeSpec):0] pipe_in,
43 inout [`P_m(PipeSpec):0] pipe_out,
48 wire [`P_Data_m(PipeSpec):0] in_data;
52 wire [`P_Data_m(PipeSpec):0] out_data;
56 p_unpack_data #( .PipeSpec( PipeSpec ) ) in_unpack_data( .pipe(pipe_in), .data(in_data) );
57 p_unpack_valid_ready #( .PipeSpec( PipeSpec ) ) in_unpack_valid_ready( .pipe(pipe_in), .valid(in_valid), .ready(in_ready) );
65 in_data, in_valid, in_ready,
66 out_data, out_valid, out_ready,
71 p_pack_data #( .PipeSpec( PipeSpec ) ) out_pack_d( .data(out_data), .pipe(pipe_out) );
72 p_pack_valid_ready #( .PipeSpec( PipeSpec ) ) out_pack_vr( .valid(out_valid), .ready(out_ready), .pipe(pipe_out) );
85 input [7:0] uart_in_data,
90 output [7:0] uart_out_data,
91 output uart_out_valid,
105 usb_uart_core_np u_u_c_np (
106 .clk_48mhz (clk_48mhz),
114 .usb_tx_en(usb_tx_en),
117 .uart_in_data( uart_in_data ),
118 .uart_in_valid( uart_in_valid ),
119 .uart_in_ready( uart_in_ready ),
122 .uart_out_data( uart_out_data ),
123 .uart_out_valid( uart_out_valid ),
124 .uart_out_ready( uart_out_ready ),
132 assign usb_p_rx = usb_tx_en ? 1'b1 : usb_p_in;
133 assign usb_n_rx = usb_tx_en ? 1'b0 : usb_n_in;
136 BB io_p( .I( usb_p_tx ), .T( !usb_tx_en ), .O( usb_p_in ), .B( pin_usb_p ) );
137 BB io_n( .I( usb_n_tx ), .T( !usb_tx_en ), .O( usb_n_in ), .B( pin_usb_n ) );
module usb_uart(input clk_48mhz, input reset, inout pin_usb_p, inout pin_usb_n, inout[P_m(PipeSpec):0] pipe_in, inout[P_m(PipeSpec):0] pipe_out, output[11:0] debug)
module usb_uart_np(input clk_48mhz, input reset, inout pin_usb_p, inout pin_usb_n, input[8] uart_in_data, input uart_in_valid, output uart_in_ready, output[8] uart_out_data, output uart_out_valid, input uart_out_ready, output[11:0] debug)