Lattice MachXO2 FPGA Tutorial: Diamond and Reveal Basics

  Рет қаралды 58,738

upgrdman

upgrdman

Күн бұрын

Пікірлер: 79
@rjstoneus
@rjstoneus 8 жыл бұрын
This is great! Usually these tools have some not terribly obvious parameters or error messages that waste a lot of time trying to figure out. You have saved people some time otherwise wasted being confused.
@prjthkmr
@prjthkmr 9 жыл бұрын
Thank you for the tutorial. This is the only useful video related to Lattice semiconductor board I found on youtube. Looking forward for you next video on the delta sigma ADC
@nicholasleahy9600
@nicholasleahy9600 7 жыл бұрын
I'm looking for a ADC guide too
@BlindManBert
@BlindManBert 6 жыл бұрын
I really appreciated the clarity and depth of this tutorial: It’s gotten me up past several hurdles already. I’ve been working with Xilinx FPGAs for a few years now, but decided to take the plunge with the low-cost MachXO2 and MachXO3 breakout boards from Lattice. The MachXO2 board arrived first, but I kept encountering problems when I attempted to select the .jed/.bit files produced by Lattice Diamond 3.10.2.115; the programmer kept saying they didn't match the files made by the project. The problem seems to stem from the misidentification of the FPGA, which the presenter encounters at 20:25 in the video. If you use the default “Create a new [programming] project from a JTAG scan” mode, then the FPGA is identified as an LCMXO2-7000ZE device, and not the LCMXO2-7000HE, as the board contains. Even if you flip to the proper device, you may still have problems selecting the proper .jed/.bit files (but not always, which is odd). Most of the time I could only use Flash programming modes, not the SRAM programming mode I’d usually prefer to use. The workaround for me is to select the second mode, “Create a new blank project” in which case the FPGA target device is identified from the project (assuming you chose the correct chip to begin with), not across the JTAG connection. All of the problems go away and you still have a “Detect cable” button available in the Cable Settings section at the right if you need to diagnose USB connection issues. I’ve gone back over a couple of older Diamond projects and have been able to fix them, but more often than not I end up trashing them, staring over and using the “Create a new blank project” selection. It seems that this problem has persisted between Diamond and the MachXO2 breakout board for at least two and a half years since this video was posted. I’d like to submit a bug report to Lattice Semiconductor, but they seem to have a policy of not accepting bug reports from those with “public” email addresses, like Gmail, .edu, or ISP addresses as I do. This is unfortunate, since it excludes the maker community, by and large, from making bug reports to fix simple problems like this one. And so, the bug persists…. :-(
@Myndale
@Myndale 5 жыл бұрын
I've experienced this persistently for the 3 or 4 years I've been using this tool-chain, it's infuriating. The only thing that reliably works for me 100% is manually editing the xcf file (which is plain XML) and changing the and tags to whatever I want.
@nonicnik
@nonicnik 4 жыл бұрын
This was a really good beginners guide for the MachXO2. Thanks to you I was able to write my first programs and even was able to debug my SPI slave with reveal. Thank you so much. Unfortunately they aren't as cheap anymore. I paid around 90€ for this same board, but I needed the exact one for a university project.
@nezbrun872
@nezbrun872 8 жыл бұрын
Thank you, the content is levelled at precisely the right level for someone with a reasonable electronics background but have struggled to get to a stage to be comfortable with writing their own code. I've been trying to crack this nut for over ten years, and finally you've done it! I have had an understanding of the concepts for some time, but converting that into being able to write and deploy my own HDL has proved elusive until now. This has largely been down to giving up when the horrendously complex tools don't work, or that important details are glossed over, i.e., you end up being a script monkey where you follow the tutorial but it doesn't give you enough to be able to go further on your own. Another problem of most FPGA tutorials, in fact all of them that I've encountered, is that they're written by individuals who already know all the answers but have forgotten what it was like as a noob. One comment for others, I found that I needed to use the exact version of Lattice Diamond quoted, 3.6, as I couldn't get the latest to even install on Windows 10 x64. You can find archived versions by googling "Lattice Diamond archive", there doesn't seem to be an immediately obvious link on the Lattice website to older versions. Thanks again, your video has proven invaluable.
@upgrdman
@upgrdman 8 жыл бұрын
Thanks, glad you liked the video. I'm currently using Lattice Diamond 3.7 in Windows 10 and do not recall having any problems while installing it. Was the installer hanging? Anyway, if you're up and running with 3.6 you could just leave it as is. Good luck!
@nezbrun872
@nezbrun872 8 жыл бұрын
upgrdman The error was early on, 0x80070002 which appears to be a Windows Update error, I assume the installer is trying to install some prereqs or something as it's very early in the install. The machine is fully up to date with updates, and I rebooted a number of times too. After half an hour of getting nowhere with 3.8, I used 3.6, but finding it wasn't straightforward!
@nezbrun872
@nezbrun872 8 жыл бұрын
Flushed with the success earlier this week. I built my own board today based on an LCMXO2-1200HC, coded up some noob Verilog, programmed it up, worked almost first time - just one error, I needed to pull up JTAGENB to make it work with my ispDOWNLOAD programmer, but wow am I happy! Thanks again, like I said earlier the level of explanation in your video is just perfect. Now to do battle with the PLL...
@domoncar6782
@domoncar6782 8 жыл бұрын
A massive thumbs up for exactly what +Nezbrun said. I was also in the same boat as him. Knew enough to get excited about fpga, but not enough to get started on my own.
@mpag6195
@mpag6195 7 жыл бұрын
Great job! Been wanting to get my dev board working for a few years now, but had no real world tutorials to help me out. Thank you
@aksharvastarpara7563
@aksharvastarpara7563 3 жыл бұрын
Damn! This is a first tutorial i have seen with perfect details!
@pluszakpluszak5226
@pluszakpluszak5226 2 жыл бұрын
Fantastic video. Lattice should share it on their channel.
@christsuch
@christsuch 3 жыл бұрын
I realy like this video. I helped me very much to get used to the Lattice Diamond tool. It's realy good to get your 1st little project started.
@danielwait8555
@danielwait8555 3 жыл бұрын
Dude, I couldn't figure out how to use the board without you! Please do as many as you can manage.
@britishideas
@britishideas 6 жыл бұрын
Many thanks for adding this video. It enabled me to quickly get started with the tools and my LatticeXP2 board. I think I would have struggled without this!
@MbeeTech
@MbeeTech 9 ай бұрын
Great tutorial - thank you. Was looking in particular for something on getting started with Reveal in Diamond, and it fit the bill perfectly.
@hubmartin
@hubmartin 9 жыл бұрын
Thank you for this tutorial. It is really hard to find even a complete text explanation how to synthesise, RTL simulate and Flash. Thanks for the SRAM "Flashing" explanation. Now I can go back to my notebook LVDS project and improve/simulate it with thiw knowledge.
@sriganeshduraikannu7364
@sriganeshduraikannu7364 5 жыл бұрын
Thank for this video. This is only video available for lattice diamond. Please make more video on it, something like timing constraints, floorplanning and how to use synplify pro and Active HDL in Lattice or how to become a pro user in Lattice Diamond.!!
@klofisch
@klofisch 5 жыл бұрын
Huge thanks for your tutorial. I got one LatticeXP2 Brevia 2 Dev Kit 5-6 year ago and couldnt use it for a proper thing. Just for the reason that there where no good tutorials for lattice. I think i can give it try now!!
@holgerhartenstein6735
@holgerhartenstein6735 5 жыл бұрын
www.latticesemi.com/en/Products/DevelopmentBoardsAndKits/LatticeXP2Brevia2DevelopmentKitscoll down ...Chose Downloads Design File ....Reference Design
@danielfenner7558
@danielfenner7558 7 жыл бұрын
Thanks a lot for the video! This was *really* helpful to get started with the MachXO3LF development board. I merely needed to change the pin designators. All the other stuff applies there as well.
@JaapioNL
@JaapioNL 8 жыл бұрын
I love this lil board. It's got so many nice features, especially considering how cheap it is.
@robertwatsonbath
@robertwatsonbath 6 жыл бұрын
Thanks, got me quickly up and running with Lattice Diamond.
@davidrose1614
@davidrose1614 7 жыл бұрын
Very good job. one of the best demos on the subject.
@upgrdman
@upgrdman 7 жыл бұрын
Thanks!
@jayashreemm2491
@jayashreemm2491 Жыл бұрын
Thanks for the video.I am new to Lattice Diamond software and now I have clear idea on how to use it. Can you please make a video on using using I2C and SPI Lattice hardened IP cores in Lattice?
@nsknyc
@nsknyc 6 жыл бұрын
Great Hello World tutorial. I don't use lattice, but this applies to other fpga boards. Thanks!
@matthewprestine1974
@matthewprestine1974 8 жыл бұрын
next video please! wish I would have had such a video years ago when I started with lattice. they have great stuff and tools, very under known by beginners as the other two companies grab the markets.
@carriersignal
@carriersignal 5 жыл бұрын
Thank you so much for taking the time to make this helpful video!
@mohit3189
@mohit3189 7 жыл бұрын
Suitable for MACHXO3 as well, Thanks!
@DrTune
@DrTune 7 жыл бұрын
Awesome thanks, I just read your blog page and it worked (almost) first time. Great work
@edsonmanoel5263
@edsonmanoel5263 4 жыл бұрын
Thanks for the video. Really well done. Have you ever made the video about the ADC? I am trying that now in the MACHXO3 board
@maksudulhossainjewel378
@maksudulhossainjewel378 6 жыл бұрын
After running the testbench the Active-HDl shows error message: # Error: VSIM: cannot select specified top-level
@christopherjholland
@christopherjholland 6 жыл бұрын
Great introductory Video. (Should be sponsored by Lattice)
@sonjae8702
@sonjae8702 3 жыл бұрын
thank you very much for your video. I have some question about this evaluation board. Maybe you can help me with that. 1. What happens to Program when the voltage is interrupted? 2. What does an FPGA with 74 EBR SRAM (kbits) mean, is that internal memory?
@sm00thiee
@sm00thiee 5 жыл бұрын
Thanks for this tutorial! I just got the board recently to start on a project and this was the best step-by-step guide! Any chance you'd be doing more tutorials? For example how to implement the SPI embedded function block? Thanks!
@upgrdman
@upgrdman 5 жыл бұрын
Thanks. I have been thinking about doing more Lattice tutorials, but not sure how soon I can do that. Good luck with your project!
@edsonmanoel5263
@edsonmanoel5263 4 жыл бұрын
Great tutorial! Thanks for the video, very useful
@proxy1035
@proxy1035 3 жыл бұрын
sadly i'm just getting an "incorrect pattern readout" error when trying to run the reveal analyzer.
@Артем-м9у3э
@Артем-м9у3э 3 жыл бұрын
Hi, friend. Where can I watch the second part of the video you wanted to upload?
@upgrdman
@upgrdman 3 жыл бұрын
Hi. Unfortunately I never got around to recording that.
@Micmic88854
@Micmic88854 8 жыл бұрын
Hi, I am using this board for my project. I got the oscillator clock to work however I need the interal (edge clock) to work. I am writing it in vhdl and seems I have instantiated it properly except the edgeclock will run in my simulation for 10 clock cycles then stays high and doesn't work. Is there any way to fix this? I instantiated it using the ipexpress module to create a 10 MHz clock. Any help would be appreciated. Thanks, Michael
@j055116
@j055116 7 жыл бұрын
Thank you very much! This video helps me a lot.
@TheEddie581
@TheEddie581 2 жыл бұрын
Amazing how the price has gone up. I purchased this board for €85 from Mouser today. The video at 2.28 mentions that it would cost US$26 then (presumably in 2015) ..... Is this inflation or just scarcity, or a combination of the two?
@upgrdman
@upgrdman 2 жыл бұрын
Wow, that's crazy! Yes, it looks like the price has gone up a lot. I'm guessing it's mostly due to scarcity.
@shwetasawant2953
@shwetasawant2953 Жыл бұрын
I am continuously getting error as "design doesn't fit into device" from past 3 days... Please help
@SohailSystem
@SohailSystem 6 жыл бұрын
Sir how to program lattice mach110-15jc please help me
@RenegadeFury
@RenegadeFury 3 жыл бұрын
Do you know how I could generate a 100mhz clock? I use a PLL, OSCH #(.NOM_FREQ("133.00")) rc_oscillator(.STDBY(1'b0), .OSC(fpga_clock)); pll pll_133 (.CLKI(fpga_clock), .CLKOP(clk_100)); I set the pll to .5% tolerance in the IP wizard. But in Synplify Pro I always have negative slack. I don't have negative slack if I use the fpga_clock directly
@upgrdman
@upgrdman 3 жыл бұрын
Hi. I have not used the PLLs yet so I don't know the answer. Hopefully someone else can comment.
@PlasmaHH
@PlasmaHH 8 жыл бұрын
any update on the promised video?
@MrRedghost1997
@MrRedghost1997 7 жыл бұрын
Good job for your tutorial, but when I write the code, the software says "ERROR - c:/lscc/diamond/3.9/bin/nt/top.v(8): net gnd is constantly driven from multiple places at instance rc_oscillator, on port STDBY. VDB-1000 Done: error code 2" I don't know why because I checked it's exactly the same code. Could you help me plese.
@Wtf95
@Wtf95 6 жыл бұрын
what about licensing for software and IP cores?
@deepakgoyal3025
@deepakgoyal3025 7 жыл бұрын
Thanks #upgrdman, this is really very helpful video to start with Lattice products by using Lattice Diamond Tool.
@gastonmelo6473
@gastonmelo6473 6 жыл бұрын
hi, im trying to install lattice mico system under linux ubuntu without succeed. Is it possible?
@prjthkmr
@prjthkmr 8 жыл бұрын
@upgrdman I have a question. I have this MachXO2 breakout board. Now I need to program a MachXO2-256 chip and put it on a PCB . How do I program that chip? Is it possible to use the same breakout board to do it or do I need to buy another hardware?
@upgrdman
@upgrdman 8 жыл бұрын
+prjthkmr Hi. I have not tried it yet, but it looks like you could. There is an unpopulated JTAG header on the board. See page 14 of the Breakout Board User's Guide: www.latticesemi.com/view_document?document_id=43937
@prjthkmr
@prjthkmr 8 жыл бұрын
+upgrdman Thanks. I managed to do that. But I had to buy a lattice programmer ,otherwise it was required to put an FTDI USB to serial coverter chip as well on the PCB which would have made the PCB unnecessarily bigger.
@mattengeriser1284
@mattengeriser1284 8 жыл бұрын
Excellent, thanks for doing this.
@mrithyunjaysiv4848
@mrithyunjaysiv4848 7 жыл бұрын
Make More similar useful video like this for other families of Lattice...since at Lattice You tube channel there is nothing to learn how to use the tool or hardware .
@jerod256
@jerod256 8 жыл бұрын
Hi, I like your tutorial and its got me going pretty well with using the tool. I'm just having one issue where I can't get an answer on. Whenever I try to export files after using Reveal Inserter I get an error: "ERROR - Error in pmi elaboration : pmi_ram_dp_0". No idea why it does that. Unfortunately since I'm a hobbyist I can't get Lattice support in this, can you or anyone else help?
@jerod256
@jerod256 8 жыл бұрын
Just an update: I managed to get it to work when I switched the synthesis engine from LSE to Synplify Pro. No idea why it worked out that way for me. Just keep in mind if you ever run into it. Thanks again for the great tutorial upgrdman!
@upgrdman
@upgrdman 8 жыл бұрын
Weird. I've never had that problem before. Glad it worked out.
@vitasound8792
@vitasound8792 9 жыл бұрын
When buy on lattice store, cost 26$ shipping 45$ :(
@upgrdman
@upgrdman 9 жыл бұрын
+VitaSound Hi. You might want to check with any local electronics parts suppliers. Lattice is a fairly big company, so you might be able to source their products locally without such high shipping costs.
@paranoidyoshman
@paranoidyoshman 6 жыл бұрын
Good presentation
@HarryInTheBox
@HarryInTheBox 5 жыл бұрын
really fine. thanks
@igor_shepelev
@igor_shepelev 8 жыл бұрын
Great guide, thanks.
@Arni142
@Arni142 7 жыл бұрын
More please!
@mohit3189
@mohit3189 7 жыл бұрын
Thanks a bunch!
@黃名毅-n9f
@黃名毅-n9f 6 жыл бұрын
thank you ,good job!!!
@vitasound8792
@vitasound8792 9 жыл бұрын
Thanks!
@hamzarguig6659
@hamzarguig6659 7 жыл бұрын
great job
@printfhello747
@printfhello747 7 жыл бұрын
Thanks so much
@pewterhacker
@pewterhacker Жыл бұрын
Was tricked and wasted a bunch of time because the installer also installed a similar app called "Diamond Programmer". This app looked enough like the app in the video to make me think that I was just using a newer release of the app described in the video. I though the video was out of date. So, make sure to launch the correct "Lattice Diamond" app.
@akaludi
@akaludi 5 жыл бұрын
files.latticesemi.com/Diamond/3.10/3.10.0.111.2_Diamond_x64.zip Correct link Lattice diamond software
@caleb7799
@caleb7799 Жыл бұрын
get a mic that is farther from your mouth
@SunilKumar-uv1hw
@SunilKumar-uv1hw 2 жыл бұрын
Thank you very much
FPGA PCB Design Review - Phil's Lab #85
33:13
Phil’s Lab
Рет қаралды 32 М.
[002] Testing the Linux Kernel driver for the Lattice iCE40 FPGA
32:12
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 16 МЛН
It works #beatbox #tiktok
00:34
BeatboxJCOP
Рет қаралды 41 МЛН
小丑女COCO的审判。#天使 #小丑 #超人不会飞
00:53
超人不会飞
Рет қаралды 16 МЛН
coco在求救? #小丑 #天使 #shorts
00:29
好人小丑
Рет қаралды 120 МЛН
FreeCAD 1.0 Tutorial for beginners 2025
1:00:27
CAD CAM Lessons
Рет қаралды 2,1 М.
Are PIC Microcontrollers Any Good? - Beyond Arduino #4
21:07
Sine Lab
Рет қаралды 50 М.
Photolithography on Silicon with PCB Chemicals
25:31
ProjectsInFlight
Рет қаралды 59 М.
How do hardware timers work?
31:17
Ben Eater
Рет қаралды 982 М.
SDG #137 Beginners FPGA Clock Implementation in VHDL
19:53
SDG Electronics
Рет қаралды 14 М.
CRAFTING A CPU TO RUN PROGRAMS
19:49
Core Dumped
Рет қаралды 137 М.
iCE40 BGA-121 Dev Board Running!
30:30
rehsd
Рет қаралды 525
EEVblog #496 - What Is An FPGA?
37:44
EEVblog
Рет қаралды 773 М.
Cheerleader Transformation That Left Everyone Speechless! #shorts
00:27
Fabiosa Best Lifehacks
Рет қаралды 16 МЛН