RoadTest: Summer of FPGAs -- Lattice MACHXO3LF Starter Kit
Author: skruglewicz
Creation date:
Evaluation Type: Development Boards & Tools
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: OrangeCrab Dev Board, XiLink Ultra96
What were the biggest problems encountered?: Getting the Lattice Programmer configured correctly to download the program to the board. I was trying to follow the tutorial for the board which is based on the LCMX03L which uses a different memory configuration (NVCM) . The board I received , the LCMX03LF contains Flash memory instead. When I figured it, out I was programming the board fine.
Detailed Review:
This RoadTest review will evaluate the embedded software Development capabilities of the Lattice Semiconductor.MachX03LF Starter Kit
This kit is an FPGA based Development board, that contains the Lattice FPGA part#: LCMXO3LF-6900C-5BG256C and allows for evaluation and development of MachX03LF FPGA designs. I will be focusing on the Lattice toolchains available (Lattice Diamond IDE & Propel) to conduct experiments using demo designs available on the Lattice Website. I will also be checking out how to get started programming the board. I will be evaluating how a novice Hobbyist like myself can experiment with developing solutions without much pain. I will attempt to lay out a "Roadmap for Beginners" of FPGA programming, while I learn it myself. I will not be touching on the History of or what an FPGA is, there are plenty of resources here on element14 and on the Web on this topic. I have also included some of my favorite references at the end of this review.
Up until now, I have been experimenting and performing reviews on MCU based Dev Boards, using IDE's and SDK's specific to the kit being used. I will attempt to do the same when reviewing this board. I am interested in the "Parallel" aspects of FPGA's as opposed to "Sequential" properties of MCU based programming. I have done Assembler programming, but that was a long..long..long time ago on an 8 bit Z80 Microprocessor. I'm a Software engineer by trade and I'm intrigued by the concepts of experimenting with Software on a Chip (SoC) and experimenting with the implantation of proven hardware subsystems that have been etched in silicone. I'm eager to explore the "FP" in the acronym FPGA. The concept, of logic that had been etched permanently in silicone, but now to be able to "Field Program" it over and over again is mind blowing.
This is my second evaluation review of a FPGA based development kit. My other review Summer of FPGAs -- OrangeCrab Dev Bd - Review, contained the Lattice ECP5 FPGA chip. This board utilizes Open Source Toolchains for developing and implementing embedded software, which I was able to experiment with successfully. My hope at the time was to learn the Lattice toolchains, since the board contains the manufactures ECP5 FPGA.
I was not able to accomplish this at the time of the review, but I plan to return to it in the future. This was my first introduction to FPGA embedded software environments and the recommended toolchains by the manufacturer was to use Open Source Toolchains. This was hard for an FPGA newbie like myself to figure out. I was able to get a Blinky example to finally work after a sharp learning curve. Now, the good news is, I am now prepared to start experimenting with toolchains that support the dev board from the same company as the FPGA chip.
I will be evaluating the use and helpfulness of customer support on the Lattice MachX03LF FPGA chip, MachX03LF Starter kit itself and the Software Development Toolchains available. I will also be discovering and evaluating the available User Forums and Knowledge Base available on the Lattice Site, that hopefully will aid me in my experiments. I will also be using the Resources (Documentation, Video's, Tutorials ) available on the Lattice Website. I will be including links throughout my review and in the "references" section at the end of this review.
First off, to clear up any confusion as of delivery date ( 08/28/2021) the roadtest page Summer of FPGAs -- Lattice MACHXO3LF Starter Kit
page contains the wrong part number for the kit.
I received the Kit from Newark with the Lattice box packed inside a nicely packaged box. The board was packaged in plastic with a USB Mini B Cable. |
---|
Managed to get the board out of plastic and took this Photo |
---|
The following instructions are shown in these two photo's | The "getting started" instructions up close. |
---|---|
Front view of the board | Back view of the board |
---|---|
The FPGA chip up close | LATTICE LMX03LF-6900c 6BG2561 A9011r95 |
---|---|
The package instructions for using your MarchXO3F starter kit, are slightly different then the sequence of instructions for the user guide. I had already installed Diamond IDE for the OrangeCrab review and I had already started on the tutorial. But I used the LCMXO3L-6900C-5BG256C, so I decided to follow these instructions along with plugging the board in for the first time.
I first visited the Lattice Website Page: https://www.latticesemi.com/xo3lfstarter
here are the steps I followed from the package instructions on the packaging shown in the photo above.
Downlead and Install Programmer
https://www.latticesemi.com/software
CLICK ON the following link to download Programmer
1. Run the Demonstration Design
2. Download Demo Designs
3. Programming a Demo Design with the Lattice Diamond Programmer
The user guide mentioned on page 2, that there are two possible MachXO3 FPGA chips: LCMXO3L-6900C-5BG256C (NVCM Based) or LCMXO3LF-6900C-5BG256C (Flash Based) SO the same user guide can be used for both.
Note: the kit contains the FPGA chip LCMXO3LF-6900C-5BG256C (Flash Based)
DO NOT PLUG IN THE USB CABLE and give power to the board yet...
The instructions are out of order in IMHO.
The Guide states on page 5 after it tells you to run the demo program?
"WARNING: Do not connect the board to your PC before you follow the driver installation procedure of this section.
Communication between the board and a PC via the USB connection cable requires installation of the FTDI chip
USB hardware drivers. Loading these drivers enables the computer to recognize and program the board. Drivers
can be loaded as part of the installation of Lattice Diamond design software or Diamond Programmer, or as a
stand-alone package."
Target Device: LCMXO3L-6900C-5BG256C Device Family: MachXO3L
Device Type: LCMXO3L-6900C Package Type: CABGA256
At the end of section 8.1 showing the rotating LEDs from D9 to D3 | At the end of section 8.2 Showing the LEDs D9 to D3 rotating and LED D2 remaining on indicating the SEI error | At the end of section 8.3 Showing that the LED D2 will extinguish, confirming Soft Error Correct (SEC) |
---|---|---|
You don't have permission to edit metadata of this video.
|
You don't have permission to edit metadata of this video.
|
You don't have permission to edit metadata of this video.
|
The Lattice Semiconductor MachXO3TM device, the most popular control PLD, can be updated in the background and the new algorithm takes effect without interrupting board-level operations. There is no need for a power-cycle or reset of the device or the system. This feature is known as the hitless or zero-downtime system update."
Toggle switch (SW2 position 1) to differentiate between the power
on and hitless update operation.
Down (0) – Power on
Up (1) – Hitless Update
2. In section 8, I could not run the Programmer within Lattice IDE as I have for my other experiments?
You will need a free license file otherwise you receive this error when trying to run the Diamond IDE.
To get a license file follow the install guide for windows by downloading the install guide at Lattice Diamond 3.12 installation guide for Windows .
Received this error
Running Simulation example in Tutorial.
in document Lattice Diamond 3.12 Tutorial November 23, 2020
in section Task 3: Verify Functionality with Simulation
Error generated in ModelSim Transcript Box and the Wave screen is empty
Sending file:sim_test3.mdo
-------------------------------------------------------------------------------------------------------------
Error generated in ModelSim Transcript Box and the Wave screen is empty -----------------------------------------
# Reading pref.tcl
# do {G:/000 elem14 roadtest -5 - Lattice FPGA MachX03 L/MachXO3StarterKitDemo/MachXO3L_Starter_Kit/project/sim_test3/sim_test3.mdo}
# Loading project sim_test3
# Model Technology ModelSim - Lattice FPGA Edition vcom 2020.3 Compiler 2020.10 Oct 14 2020
# Start time: 11:27:09 on Aug 25,2021
# vcom -reportprogress 300 -work work G:/000 elem14 roadtest -5 - Lattice FPGA MachX03 L/MachXO3StarterKitDemo/MachXO3L_Starter_Kit/project/sim_test3/typepackage.vhd
# -- Loading package STANDARD
# -- Loading package TEXTIO
# -- Loading package std_logic_1164
# -- Loading package NUMERIC_STD
# -- Compiling package typepackage
# -- Compiling package body typepackage
# -- Loading package typepackage
# End time: 11:27:09 on Aug 25,2021, Elapsed time: 0:00:00
# Errors: 0, Warnings: 0
# Model Technology ModelSim - Lattice FPGA Edition vlog 2020.3 Compiler 2020.10 Oct 14 2020
# ** Error (suppressible): (vlog-1902) Option "-5" is not a valid option for this tool.
# Use the -help option for complete vlog usage.
# Errors: 1, Warnings: 0
# ** Error: C:/lscc/diamond/3.12/modeltech/win32loem/vlog failed.
# Error in macro G:\000 elem14 roadtest -5 - Lattice FPGA MachX03 L\MachXO3StarterKitDemo\MachXO3L_Starter_Kit\project\sim_test3\sim_test3.mdo line 21
# C:/lscc/diamond/3.12/modeltech/win32loem/vlog failed.
# while executing
# "vlog +incdir+G:/000 elem14 roadtest -5 - Lattice FPGA MachX03 L/MachXO3StarterKitDemo/MachXO3L_Starter_Kit/project/sim_test3 -work work "G:/000 ele..."
# invoked from within
# "if {![file exists "G:/000 elem14 roadtest -5 - Lattice FPGA MachX03 L/MachXO3StarterKitDemo/MachXO3L_Starter_Kit/project/sim_test3/sim_test3.mpf"]} { ..."
REFERENCES | ||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
The MachX03LF Starter Kit
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
Training Video'sAvailable Videos ( taken from the bottom of the Diamond IDE Page )
| ||||||||||||||||||||||||||||||||||||||||||||||||||||
Lattice Website. | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Top Comments
Comprehensive review, thanks. Looks like a good bit of kit for the price.
Ideal application selection for this RoadTest Randallrscasny and the RoadTest review committee. Combining the knowledge from a similar product evaluation with this review enhanced the details.
I was looking…
A good look at the Lattice design tools. I'm sure it will help anyone else who is new to working with FPGAs.
I've been using the basic HDL stuff on Windows 8.1, which isn't one of the supported operating…