
All 16 output pins (8 dedicated outputs uo and 8 bidirectional uio configured as outputs)
blink together to transmit the message "HELLO WORLD" in Morse code, then repeat continuously.
| Symbol | Duration |
|---|---|
| Dot (·) | 1 unit ≈ 62.5 ms (1 clock cycle) |
| Dash (−) | 3 units ≈ 187.5 ms |
| Element gap (between dots/dashes within a character) | 1 unit |
| Character gap | 3 units |
| Word gap | 7 units |
| Letter | Code |
|---|---|
| H | .... |
| E | . |
| L | .-.. |
| L | .-.. |
| O | --- |
| (space) | 7-unit gap |
| W | .-- |
| O | --- |
| R | .-. |
| L | .-.. |
| D | -.. |
After the final letter D, a 4-word-space gap (4 × 7 = 28 units) is inserted before the sequence repeats.
Connect LEDs (or a logic analyser) to any of the 16 output pins.
Power the device with a ~16 Hz clock. After releasing reset (rst_n high), all outputs will
blink the Morse code for "HELLO WORLD" at ~20 WPM and loop indefinitely.
No inputs are required; ui_in and uio_in are ignored.
LEDs connected to uo[0..7] or uio[0..7] (with appropriate current-limiting resistors)
will visibly display the Morse code message.
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | Morse code output | Morse code output | |
| 1 | Morse code output | Morse code output | |
| 2 | Morse code output | ||
| 3 | Morse code output | ||
| 4 | Morse code output | ||
| 5 | Morse code output | ||
| 6 | Morse code output | ||
| 7 | Morse code output |