Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marph91/icestick-uart
Lightweight UART implementation in VHDL for the lattice icestick
https://github.com/marph91/icestick-uart
fpga ghdl hardware ice40 icestick uart vhdl yosys
Last synced: about 1 month ago
JSON representation
Lightweight UART implementation in VHDL for the lattice icestick
- Host: GitHub
- URL: https://github.com/marph91/icestick-uart
- Owner: marph91
- License: mpl-2.0
- Created: 2020-07-18T15:38:11.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-05-14T14:46:35.000Z (over 3 years ago)
- Last Synced: 2024-10-24T22:37:12.758Z (3 months ago)
- Topics: fpga, ghdl, hardware, ice40, icestick, uart, vhdl, yosys
- Language: VHDL
- Homepage:
- Size: 22.5 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# icestick-uart
Lightweight UART sender and receiver for the lattice icestick. The default configuration can be found at `hdl/uart_top.vhd`. Every received word gets echoed back. The parameters are 115200/8-N-1 (). However, sender and receiver can be used independently and the parameter can be modified.
## Repository structure
- hdl: Contains the hardware design.
- sim: Contains a few testbenches.
- syn: Contains the scripts and constraints for synthesis.## Usage
1. Plug in your icestick
2. Synthesize the design and upload the bitstream: `cd syn && ./synth.sh`
3. CommunicationWhen developing, two communication options were used:
- via terminal, for example putty:
- Make sure your user is in the `dialout` group: `sudo usermod -a -G dialout ${USER}`
- Start putty via: `putty /dev/ttyUSB1 -serial -sercfg 115200,8,n,1,N`
- Type something. The received data from the icestick should be displayed in the terminal.
- via python: see `sim/uart_tx.py`## Resource usage
For the default configuration, the following resources are needed:
resource | absolute usage | relative usage
-------------|----------:|---:
ICESTORM_LC | 83/ 1280 | 6%
ICESTORM_RAM | 0/ 16 | 0%
SB_IO | 4/ 112 | 3%
SB_GB | 1/ 8 | 12%
ICESTORM_PLL | 0/ 1 | 0%
SB_WARMBOOT | 0/ 1 | 0%