
All the magic happens in https://github.com/davidthings/tinyfpga_bx_usbserial.
usb_p and usb_n pins to D+ / D- USB pins either through 68 ohm resistors or directly (the resistors are recommended, but not mandatory).dp_pu_o and usb_p (D+).The device should appear as a serial port on your computer, with vendor_id=1209 and product_id=5454 (https://pid.codes/1209/5454/).
Data received from USB host will appear on the output pins (rx) when rx_ready goes high.
You can send data to the USB device by waiting for tx_ready to go high,
setting the input pins (tx) to the byte you'd like to transmit, and setting tx_valid high.
USB breakout board, 1.5k ohm resistor

| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | tx[0] | rx[0] | usb_p |
| 1 | tx[1] | rx[1] | usb_n |
| 2 | tx[2] | rx[2] | tx_valid |
| 3 | tx[3] | rx[3] | tx_ready |
| 4 | tx[4] | rx[4] | rx_valid |
| 5 | tx[5] | rx[5] | rx_ready |
| 6 | tx[6] | rx[6] | dp_pu_o |
| 7 | tx[7] | rx[7] | configured |