Lattice Semiconductor is a company that produces analog and digital FPGAs, including the ORCA FPSC assets.
Questions tagged [lattice]
108 questions
16
votes
2 answers
Why is this Verilog RAM modification better in terms of resource usage?
I'm using the open-source toolchain Yosys > NextPnr > IcePack for synthesising code for the Lattice HX8K FPGA. Here's a common version of a 1Kb RAM (that I'm using as Video RAM for a VGA module):
module text_ram #(
parameter A = 10,
…

Hugo Sereno Ferreira
- 554
- 1
- 3
- 20
8
votes
1 answer
How the slew-rate and drive strength affect the output signal of the FPGA?
Can someone describe the difference between the drive strength and the slew-rate preferences in Lattice FPGA?

ercegovac
- 310
- 2
- 12
6
votes
2 answers
Trouble with VGA Controller on CPLD
What I am attempting to do is create a VGA controller from a Lattice MachXO CPLD in Verilog.
The Problem
I am attempting to display the color red with a resolution of 640x480 @ 60Hz using a 25.175 MHz clock internal to the CPLD; however, when I…

Jon.H
- 223
- 1
- 2
- 7
6
votes
2 answers
Lattice Diamond gitignore
I am looking for .gitignore file for the Lattice Diamond IDE. I've been trying to only add what I need, but it would be nice to have a .gitignore that just ignores all of the automatically generated files for build/documentation/etc. Yes, I could…

Kris Bahnsen
- 1,758
- 12
- 17
5
votes
2 answers
I know what a Reset signal is, but a Set/Reset signal? Isn't that impossible?
A schematic by Lattice Semiconductor includes the diagrammed D flip-flop. This D flip/flop accepts, among others, a Set/Reset signal.
I would have understood a Set signal. I would have understood a Reset signal. I would even have understood Set and…

thb
- 607
- 5
- 13
4
votes
1 answer
How to read Map-Report in FPGA Synthesis Tools
I have this Map-Report piece product by Lattice Diamond:
...
Number of SLICEs: 9609 out of 33264 (29%)
SLICEs(logic/ROM): 8814 out of 26460 (33%)
SLICEs(logic/ROM/RAM): 795 out of 6804 (12%)
As RAM: 795 out of 6804 (12%)
…

Luca
- 223
- 1
- 9
4
votes
1 answer
How to properly implement an n-FF synchronizer in Lattice FPGAs?
Unlike Xilinx which provides their users with a set of convenient xpm_cdc_* modules, Lattice does not seem to have “the standard” way for clock domain crossing. So I have no choice other than write my own synchronizer.
In the Xilinx's world I'd use…

firegurafiku
- 247
- 1
- 7
4
votes
2 answers
IO Type (LVCMOS25, LVCMOS18, etc.) in FPGA pins
In Lattice Diamond, spreadsheet view where I assign the signals to pins of the FPGA chip, there is IO type. Restricting the discussion to single-ended CMOS signals, then my choices are given by the voltage level: LVCMOS12, LVCMOS15, LVCMOS18,…

Cal-linux
- 2,029
- 2
- 20
- 37
4
votes
1 answer
What is the purpose of this Verilog code for implementing 3-port Block RAM?
LatticeMico32 (LM32) is a royalty-free CPU that I use to study how a pipelined in-order CPU may be implemented.
One particular troublesome point I have trouble with is how the register file is implemented. On a pipelined CPU, you will normally have…

cr1901
- 494
- 3
- 12
4
votes
1 answer
Lattice FPGA - declare pin
I am learning VHDL and I am using the Lattice boards. I want to know how to declare a GPIO. I found the following block of code in the diamond software folder example. It is ".lpf" file and I guess it is the place where the pin are declare. Can…

MathieuL
- 1,126
- 1
- 9
- 22
3
votes
1 answer
Lattice MachXO2 reset
After reading about GSR/PUR facilities in Lattice FPGAs, I'm still a bit puzzled about how to actually get the proper GSR/PUR-based reset functionality on an actual physical FPGA chip.
In the How to Use GSR and PUR application note, they show this…

Cal-linux
- 2,029
- 2
- 20
- 37
3
votes
2 answers
Problem with adding two counters in series on an FPGA
I am using Verilog in Lattice Diamond IDE with a lattice MachXO2 7000HE breakout board.
I built a basic counter with a limit input which generates a variable period clock output. It works fine on its own, however, when I add two instances of this…

amfast
- 33
- 7
3
votes
1 answer
How to add an internal signal to the waveform viewer in Aldec HDL for a Lattice Machxo3
I'm absolutelty no FPGA expert, but designed a device with Quartus and used Modelsim to simulate it. I was then told to modify the design and make it work with a Lattice device as they changed their mind about Altera (mainly down to Lattice devices…

DiBosco
- 1,384
- 9
- 19
3
votes
2 answers
Arduino to CPLD to toggle an LEDs using I2C
I have a a CPLD (Lattice MachXO2) that echos a signal from an Arduino to turn on an LED.
Arduino:
//send out .1s pulse on output pin 2 when a 'q' is recieved
void loop () {
USBinByte = Serial.read();
if (USBinByte == 'q') {
…

Ben Elo
- 31
- 2
3
votes
1 answer
passing Synplify options from Lattice Diamond TCL code
I would like to pass, from the TCL file that is commanding the Diamond tool of Lattice, some options to the Synplify synthesis tool.
E.g.: It is possible to set a value of the VHDL generic at toplevel in the…

vermaete
- 380
- 3
- 15