Project IceStorm - FreeBSD

IceStorm on FreeBSD

back to main IceStorm page.

local links

Arachne-pnr, Yosys, c1 - FreeBSD,

History

2018-07-14: c1 - ada2p2 - tools info iceprog

tingo@kg-core1$ iceprog --help
Simple programming tool for FTDI-based Lattice iCE programmers.
Usage: iceprog [-b|-n|-c] <input file>
       iceprog -r|-R<bytes> <output file>
       iceprog -S <input file>
       iceprog -t

General options:
  -d <device string>    use the specified USB device [default: i:0x0403:0x6010 or i:0x0403:0x6014]
                          d:<devicenode>               (e.g. d:002/005)
                          i:<vendor>:<product>         (e.g. i:0x0403:0x6010)
                          i:<vendor>:<product>:<index> (e.g. i:0x0403:0x6010:0)
                          s:<vendor>:<product>:<serial-string>
  -I [ABCD]             connect to the specified interface on the FTDI chip
                          [default: A]
  -o <offset in bytes>  start address for read/write [default: 0]
                          (append 'k' to the argument for size in kilobytes,
                          or 'M' for size in megabytes)
  -v                    verbose output

Mode of operation:
  [default]             write file contents to flash, then verify
  -r                    read first 256 kB from flash and write to file
  -R <size in bytes>    read the specified number of bytes from flash
                          (append 'k' to the argument for size in kilobytes,
                          or 'M' for size in megabytes)
  -c                    do not write flash, only verify (`check')
  -S                    perform SRAM programming
  -t                    just read the flash ID sequence

Erase mode (only meaningful in default mode):
  [default]             erase aligned chunks of 64kB in write mode
                          This means that some data after the written data (or
                          even before when -o is used) may be erased as well.
  -b                    bulk erase entire flash before writing
  -e <size in bytes>    erase flash as if we were writing that number of bytes
  -n                    do not erase flash before writing

Miscellaneous options:
      --help            display this help and exit
  --                    treat all remaining arguments as filenames

Exit status:
  0 on success,
  1 if a non-hardware error occurred (e.g., failure to read from or
    write to a file, or invoked with invalid options),
  2 if communication with the hardware failed (e.g., cannot find the
    iCE FTDI USB device),
  3 if verification of the data failed.

Notes for iCEstick (iCE40HX-1k devel board):
  An unmodified iCEstick can only be programmed via the serial flash.
  Direct programming of the SRAM is not supported. For direct SRAM
  programming the flash chip and one zero ohm resistor must be desoldered
  and the FT2232H SI pin must be connected to the iCE SPI_SI pin, as shown
  in this picture:
  http://www.clifford.at/gallery/2014-elektronik/IMG_20141115_183838

Notes for the iCE40-HX8K Breakout Board:
  Make sure that the jumper settings on the board match the selected
  mode (SRAM or FLASH). See the iCE40-HX8K user manual for details.

If you have a bug report, please file an issue on github:
  https://github.com/cliffordwolf/icestorm/issues

icepack

tingo@kg-core1$ icepack -?

Usage: icepack [options] [input-file [output-file]]

    -u
        unpack mode (implied when called as 'iceunpack')

    -v
        verbose (repeat to increase verbosity)

    -s
        disable final deep-sleep SPI flash command after bitstream is loaded

    -b
        write cram bitmap as netpbm file

    -f
        write cram bitmap (fill tiles) as netpbm file

    -c
        write cram bitmap (checkerboard) as netpbm file
        repeat to flip the selection of tiles

    -r
        write bram data, not cram, to the netpbm file

    -B0, -B1, -B2, -B3
        only include the specified bank in the netpbm file

ok

2018-07-14: c1 - ada2p2 - pkg - files

root@kg-core1# pkg info -l icestorm
icestorm-g20180310:
    /usr/local/bin/icebox.py
    /usr/local/bin/icebox_asc2hlc
    /usr/local/bin/icebox_chipdb
    /usr/local/bin/icebox_colbuf
    /usr/local/bin/icebox_diff
    /usr/local/bin/icebox_explain
    /usr/local/bin/icebox_hlc2asc
    /usr/local/bin/icebox_html
    /usr/local/bin/icebox_maps
    /usr/local/bin/icebox_stat
    /usr/local/bin/icebox_vlog
    /usr/local/bin/iceboxdb.py
    /usr/local/bin/icebram
    /usr/local/bin/icemulti
    /usr/local/bin/icepack
    /usr/local/bin/icepll
    /usr/local/bin/iceprog
    /usr/local/bin/icetime
    /usr/local/bin/iceunpack
    /usr/local/share/icebox/chipdb-1k.txt
    /usr/local/share/icebox/chipdb-384.txt
    /usr/local/share/icebox/chipdb-5k.txt
    /usr/local/share/icebox/chipdb-8k.txt
    /usr/local/share/licenses/icestorm-g20180310/ISCL
    /usr/local/share/licenses/icestorm-g20180310/LICENSE
    /usr/local/share/licenses/icestorm-g20180310/catalog.mk

ok

2018-07-14: c1 - ada2p2 - ports I installed icestorm from ports on my FreeBSD workstation (c1)

Jul 14 12:11:02 kg-core1 pkg-static: icestorm-g20180310 installed

the machine runs

tingo@kg-core1$ uname -a
FreeBSD kg-core1.kg4.no 10.4-STABLE FreeBSD 10.4-STABLE #1 r329982: Sun Feb 25 20:35:06 CET 2018
     root@kg-core1.kg4.no:/usr/obj/usr/src/sys/GENERIC  amd64

ok