aboutsummaryrefslogtreecommitdiffstats
path: root/fpga-hacking.rst
blob: edebb3084130c49b79c4fac33b871b9db6baf360 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
FPGA Hacking
===================

- HDL template
- pointers to toolchain setup and FPGA learning resources
- kernel and userland details
- performance and "numbers" table
- expansion header pinouts

GPBB FPGA Communications Quickstart
-------------------------------------

Run these commands from a Novena with the GPBB attached::

    sudo apt-get install i2c-tools libi2c-dev
    cd      # sic.
    git clone https://github.com/bunnie/novena-gpbb-example
    cd novena-gpbb-example
    make -j4
    sudo ./configure.sh novena_fpga.bit
    sudo ./novena-gpbb -v

Simple test --- toggle four on-board LEDs, connected to I/O port B, pins 0--3::

    sudo ./novena-gpbb -oeb 1 # set port B to drive
    for BIT in 0 1 2 3; do
        sudo ./novena-gpbb -p_set b $BIT # Set pin
        sleep 1
    done
    sudo ./novena-gpbb -p b 00 # Write 0x00, i.e. reset all pins
    sudo ./novena-gpbb -oeb 0 # return port B to tristate mode