Questions tagged [ice40]
37 questions
6
votes
1 answer
How do I use set LVDS mode on Lattice ICE40 pins using ICESTORM tools
I have a Lattice ICE40_8K breakout board and would like to know how to setup a pin pair as LVDS mode inputs.
If setting up as normal single pins is done thus:
SB_IO #(.PIN_TYPE(6'b0000_00)) _io (
.PACKAGE_PIN(pin),
.INPUT_CLK(clk),
…

Bernard Mentink
- 61
- 3
4
votes
2 answers
Understanding the bitstream generated for iCE40 I/O tiles
When I synthesize an empty circuit using Yosys and arachne-pnr, I get a few irregular bits:
.io_tile 6 17
IoCtrl IE_1
.io_tile 6 0
IoCtrl REN_0
IoCtrl REN_1
These are also part of every other file I could generate so far. Since an unused I/O tile…

rlutz
- 77
- 4
3
votes
2 answers
Using the SB_RGBA_DRV primitive in VHDL
I'm having trouble using the SB_RGBA_DRV primitive provided for the Lattice ICE40UP fpga.
The Technology Library provides a verilog example which I got to work but when i try using it in VHDL the P&R fails, outputting the following message:
Error:…

N.Atema
- 63
- 4
2
votes
1 answer
Yosys: Multiple edge sensitivities for asynchronous reset
I am teaching myself verilog, bare with me. :)
I have a clock line called enable coming from a clock divider I created.
I also have a rst button on my devboard.
I would like to modify the following code to react to rst button presses by turning off…

Neekon Saadat
- 417
- 6
- 18
2
votes
1 answer
Understanding the SB_IO primitive in Lattice ICE40
I am playing with cliffordwolf/picorv32 and am having some problem understanding the following snippet in picosoc (link to source):
SB_IO #(
.PIN_TYPE(6'b 1010_01),
.PULLUP(1'b 0)
) flash_io_buf [3:0] (
.PACKAGE_PIN({flash_io3,…

nalzok
- 14,965
- 21
- 72
- 139
2
votes
1 answer
Cannot create a clock signal on a Lattice ICE40 FPGA
I am trying to create a 1 Hz clock signal on a Lattice ICE40 FPGA. I am writing my code in Verilog and using the Lattice Radiant software. This 1 Hz clock signal is going to be used to create a square wave.
However, I don't get any output, either…

PetSven
- 366
- 3
- 13
2
votes
1 answer
Difference in initializing a state machine between a simulator and synthesizer
My question is regarding the first state used in a synthesized state machine.
I'm working with a Lattice iCE40 FPGA, the EDA Playground for simulation and Lattice's Diamond Programmer for synthesizing.
In the following example I am generating a…

Ron
- 41
- 4
2
votes
0 answers
Can LUT cascade be used simultaneously with the carry-chain in the iCE40 FPGAs by any tools?
I try to construct the following:
CO
|
/carry\ ____
s2 ---(((---|I0 |------------ O
+------+((---|I1 |
…

Baard
- 809
- 10
- 26
2
votes
1 answer
(icestorm) do pins not specified in the pcf stay high impedance
as the title, additionally how do you specify another voltage level for single ended in/output for example LVCMOS18 - I'm guessing alas its not as easy as just an extra verb in a pcf entry...

Chris Camacho
- 1,164
- 1
- 9
- 31
2
votes
1 answer
Correspondence between iCE40 I/O blocks and package pins
Is the correspondence between the I/O blocks of an iCE40 FPGA and the pins of the package they drive documented somewhere?
The I/O tile documentation of Project IceStorm gives a list of I/O blocks, and for each block where its IE and REN bits are…

rlutz
- 77
- 4
1
vote
1 answer
Understanding logic tile LC_5 bits
i m new to yosys and arachne-pnr. Here is the snippet from .asc and .icebox_explain. I could not understand how the bits of LC_5 are derived from .logic_tile 1 11.
example.v
module top (input a, b, output y);
assign y = a &…

Sajjad
- 111
- 1
- 13
1
vote
1 answer
Arachne-pnr internal clk reference pin
I wanted to know the internal clk reference pin number to be added for arachne-pnr pcf file. I am synthesizing for Alchitry Cu Board having the iCE40 HX8k chip (supported by yosis and arachne). I couldnt understand the correlation between pin number…

BHARAT R
- 13
- 3
1
vote
2 answers
How to program Lattice iCE40 ultra with a microcontroller
I am trying to program a iCE40 ultra FPGA with a stm32F4 microcontroller and I am trying to figure out how to load the configuration file onto the micro so that it can be sent to the FPGA by SPI to program it. The application note says that this can…

jsmith95
- 13
- 3
1
vote
1 answer
Trouble Instantiating PLL of Lattice iCE40
I have Lattice iCE40 HX8K FPGA in 256 BGA package. I want to use one of the available PLL modules to transform external clock frequency of 37MHz to internal clock for use inside of the FPGA of 74MHz.
I used the "Configure PLL Module" in IceCube2…

Vasil
- 21
- 5
1
vote
3 answers
How to reuse BRAM once it's not needed by module?
I'm working on a (seemingly) simple project as a learning exercise: connecting an SSD1331-based 96x64 PMOD display via iCEstick (Lattice iCE40HX-1k FPGA) to PC so I can send some RGB565-encoded image through USB to be shown on said display.
Thing…

Viking
- 328
- 4
- 9