verilog_tutorials_BB
verilog_tutorials_BB copied to clipboard
verilog tutorials for iCE40HX8K Breakout Board
verilog files for iCE40HX8K Breakout Board, build with IceStorm. These files are designed to be used with verilog tutorials see bottom-left here:
https://embeddedmicro.com/tutorials/mojo/creating-a-project
Install IceStorm: http://www.clifford.at/icestorm/
Clone the repository:
git clone https://github.com/peepo/verilog_tutorials_BB
Download user guide
read pages 5-6
NB: make upload uses -S to program SRAM so please remove J7 jumper and rotate 2xJ6 jumpers
Build one of the examples:
cd project
make
make upload
Projects:
| Project | name | brief | description |
|---|---|---|---|
| 0 | LED | ||
| 00 | LED | with +out | |
| 000 | switch | tbc | |
| 1 | button | button | |
| 2 | Sync Logic | LED blink | 1Hz |
| 3 | PWM1 | LEDs fade | 4x, 6x with clk_50 from divider |
| 4 | PWM2 | LEDs clk | 8 LEDs fade in and out together ~1.5hz ?anomalous |
| 5 | PWM3 | LEDs wave | 8 LEDs fade in and out in sequence 12MHz |
| 5_PLL | PWM4 | LEDs PLL | 8 LEDs fade in and out in sequence 25/48/96MHz |
| 6 | _tb1 | testbench | basic and |
| 7 | _tb2 | testbench clk | pwm for a couple of values |
| 8 | ext button | ext button | 6,800Ω connects +ive to input and switch, -ive to other end |
| 9 | metastability | ext button | with debounce |
| 10 | PWM5 | servo | arm swings through range: red-TP1 brown-TP3 orange-P16 |
| 10_vga | colour | VGA PLL | display bars 640x480 |
| Hello World | AVR | rely on AVR microcontroller in mojo, PIC is competitor | |
| ---- | -- | mimas, XuLA2 have PIC18F14K50, | |
| SPI- | -- | logipi may not have microcontroller? has spansion flash | |
| LogiCore | RAM | no project... | |
| 17 | Timing | 12Mhz | Total path delay: 84.10 ns (11.89 MHz)? |
| 18 | Timing_pipeline | 12Mhz | Total path delay: 37.28 ns (26.83 MHz) |
| 19 | FSM | LEDs 2x | left_PWM & right_PWM, maybe also 5x states, ie forward.... |
| Memory mapping | AVR | ibid | |
| SDRAM | N/A | MimasV2possibly or XuLA2 SDRAM before writing to SDcard | |
| Embedded processor | N/A | skipping for moment. |
please send comments, and report bugs to the current maintainer: Jonathan Chetwynd
you may like these other excellent verilog tutorials:
https://github.com/Obijuan/open-fpga-verilog-tutorial/wiki
https://nandland.com/verilog/tutorials/tutorial-introduction-to-verilog-for-beginners.html