Close

FPGA Bootcamp Transcript PT II

A event log for FPGA Bootcamp Hack Chat

Join Al Williams, the guy behind Hackaday.io's FPGA bootcamps, to ask FPGA questions and pitch what you want to see next on the bootcamp!

lutetiumLutetium 10/13/2018 at 04:140 Comments

Frank Buss12:28 PM
yeah, 6 weeks is very short

Antti Lukats12:28 PM
the RULES are bullshit, I can say it here..

Al Williams12:28 PM
I haven't looked at them lately but I will

Antti Lukats12:28 PM
how many days would you need to figure out WHAT is needed to qualify?

Al Williams12:29 PM
So @MagicWolfi does that help?

Antti Lukats12:29 PM
I have spent 2 full days, I am halfway there to know what I should do.. the rules are not strict enough

Frank Buss12:29 PM
I think I can still do it, with my idea :-)

Al Williams12:29 PM
@Stephen Tranovich who's next?

Stephen Tranovich12:30 PM
@Antti Lukats we're in the middle of a Hack Chat right now. Could you continue your conversation in half an hour?

Stephen Tranovich12:30 PM
@Al Williams before we hop into the next question, would you like to ask the group another question of yours?

Antti Lukats12:30 PM
this is FPGA.. !!!

Antti Lukats12:30 PM
yes I go off, thank you for the nice word, I will not forget.

Antti Lukats12:30 PM
bye.

Frank Buss12:30 PM
lol

Al Williams12:30 PM
Hey @Antti Lukats let me get through some more questions and we'll open up to that towards the end while folks are still here

Al Williams12:31 PM
Ok, so my question back to everyone is if we were to do more FPGA-specific bootcamps are you happy with them being ice40 or would you rather see MAX10 or Xilinx or ??? -- whath are you guys using most of?

Louis joined  the room.12:32 PM

Piotr Esden-Tempski12:32 PM
Yes I am fine with iCE40, but I am biased. ;)

Audi McAvoy12:32 PM
Spartan 6 is my go to part.

Al Williams12:32 PM
Keeping in mind that most of the bootcamps are agnostic. So I've thoughth about doing a 3A where we deploy the same code to say MAX1000

Christoph12:32 PM
I guess ice40 is a good start, and people can progress from there

Frank Buss12:32 PM
I don't care, but the boot camp is a good idea. Will there be more advanced stuff discussed like meta stability etc. as well?

Al Williams12:32 PM
The nice thing is ice40 is so cheap

Parker12:32 PM
I currently use Altera products but because of the bootcamps I have started learning ice40

Parker12:32 PM
so I vote keeping it

Al Williams12:32 PM
so buy a $20 board and 90% of what you learn will transfer over to Altera/Xilinx etc.

Al Williams12:32 PM
Like I say the Upduino is even cheaper

Piotr Esden-Tempski12:33 PM
I think fundamental is the ease of access. So iCE40 and soon ECP5 is the way to go. Definitely not Altera. Maybe Xilinx 7 series eventually.

Al Williams12:33 PM
and mostly works the same. Has a few more features. Needs a slightly different build script

Boian Mitov12:33 PM
What is the Upduino price?

Antti Lukats12:33 PM
altera is fine too.

Al Williams12:33 PM
The only reason I keep looking at MAX10 is that a) Arrow has that cheap board (not really Arrow but they sell it) and b) the Arduino Vidor uses it

Kevin12:33 PM
@Al Williams The camps would be more directly relevant to me if they were for Spartan 3 or 6. It really depends on whether the example code is using something specific to the ice device.

Al Williams12:33 PM
The Upduino 2 is like $13 or $14. Don't get the version 1

Al Williams12:34 PM
Well like I say Kevin, all but #3 (right now) are FPGA agnostic

Antti Lukats12:34 PM
max1000 is my design, not much to be proud of but relativly cheap :)

Thomas Shaddack12:34 PM
how much is the postage for the upduino for those of us stuck in Europistan?

Bonki12:35 PM
@Al Williams could you talk about your experience with SoC FPGAs? Currently I am starting to play around with the Cyclone V SoC on a DE10-Nano board.

Al Williams12:35 PM
All simulation and you move from there. I love love love EDA Playground for that because you are ready to go with zero software. But I also support Icarus/gtkwave and I have been using cvc too

Al Williams12:35 PM
@Antti Lukats I didn't know if that was a secret but yes, I saw that. The docs on your site are better than Arrow's lol

Antti Lukats12:35 PM
we are so short on time documents

Al Williams12:36 PM
@Thomas Shaddack I don't know... http://gnarlygrey.atspace.cc/development-platform.html

Antti Lukats12:36 PM
we would LOVE LOVE LOVE to give away lots of FPGA hardware for those who would play with it.. for little exposure, demo design and docu

Al Williams12:36 PM
@Antti Lukats That's good for us because it gives us something to write about lol

Boian Mitov12:36 PM
Found it... Not sure if the link was already posted:

http://www.gnarlygrey.com/

Al Williams12:36 PM
The last board you sent me caught me mid divorce so I dind't get much chance to play with it lol

Antti Lukats12:37 PM
sorry, hope it wasnt the reason 4? :)

Piotr Esden-Tempski12:37 PM
I think that if you standardize on apio for example you will get an easy toolset with a gui and noone can complain about it because the dev boards are very affordable. Most of the excersizes will be translatable to any FPGA. I think it is important to make an executive decision on that because everyone is either forced or chooses to use any kind of FPGA.

Al Williams12:37 PM
Actually if you were I'd send you a thank you card!

Frank Buss12:37 PM
@Bonki I've used the Cyclone SoC, in combination with NIOS some years ago. As usual, the tools can be a pain sometimes, but pretty nice to click visually your own system with the peripherals you like, and then the code for NIOS is automatically generated etc.

Audi McAvoy12:37 PM
I always end up with a hundred tabs open at the end of these chats!

Stephen Tranovich12:38 PM
@Al Williams does that give you a good picture of what people are using? Ready for another community question?

Al Williams12:38 PM
Yes, let's go

Stephen Tranovich12:38 PM
This next one if from @Eric Sherk : Can you talk about design verification both pre- and post- FPGA implementation?

Antti Lukats12:38 PM
NIOS is simple, but for the ARM SoC I'd use Xilinx ZYNQ not altera SoC..

Al Williams12:38 PM
(Yes to ZYNQ I was going to mention that when I got there)

Frank Buss12:39 PM
yes, the Zynq is awesome, I did a 64 channel / 100 MHz logic analyzer with the parallela with it once:

http://www.frank-buss.de/parallella/sampler/

Antti Lukats12:39 PM
today ZYNQ support both on the FPGA side as on the linux side is superior compared to the altera path

Al Williams12:39 PM
As to Eric's question... Verification is great although because FPGAs are easier to respin you don't have to get quite as torqued as the ASIC guys do about it. But it still pays off... so generally

Frank Buss12:39 PM
if only Vivado wouldn't suck that much :-)

Al Williams12:40 PM
I will try to build up a good testbench and some assertions and run the code through Modelsim or Icarus or cvc (anyone else using cvc? -- very fast)

Piotr Esden-Tempski12:40 PM
@Frank Buss let's hope that this will not be a problem in the near future. ;) https://github.com/SymbiFlow/prjxray

Stephen Tranovich12:40 PM
To piggy-back off that question, @Piotr Esden-Tempski asks: Do you have experience with formal verification? Have you used the Yosys formal verification capabilities yet?

Al Williams12:41 PM
So by the time I put it in chip I am pretty happy usually. If I'm using the big tools I will often do a post sim also but those are painful. If you haven't done that, that's where your Verilog is chewed down to primatives

Al Williams12:41 PM
and you simulate that which with the right libraries and models can tell you a lot if you are trying to optimize speed or power but without the right models isn't that useful

Al Williams12:41 PM
I have not used the Yosys formal verification yet, although I have had some experience with that with expensive tools during my day job

Al Williams12:42 PM
If you look at Hackaday today

Al Williams12:42 PM
I posted part 1 of a two parter that talks about Verifla

Frank Buss12:42 PM
you could simulate the modules separately, but of course, this wouldn't take into account the full routing

Al Williams12:42 PM
which is a Verilog Logic Analyzer like Chipscope or Signal Tap but Open Source

Al Williams12:42 PM
I didn't write it but I did fork it and make a lot of significant bug fixes and improvements

Al Williams12:43 PM
So I can now program with iceStorm (or the Altera tools on MAX1000) and pull data off the real FPGA to show in gtkwave

Al Williams12:43 PM
which is pretty slick

Al Williams12:43 PM
Should port to Xilinx easily. Odd

Piotr Esden-Tempski12:43 PM
It is very easy to add SUMP to your design, also a great solution to read out the internal state of your design from the FPGA.

Al Williams12:43 PM
Yosys does system verilog features that Altera doesn't like putting defaults in a parameter list

Thomas Shaddack12:43 PM
three cheers for debug tools right in the design!

Al Williams12:44 PM
Yes although SUMP is not tiny and it is nice having the same wave tool for simulation and live debug

Al Williams12:44 PM
So check that article out and look for part 2 as soon as I finish it

Al Williams12:44 PM

https://hackaday.com/2018/10/12/logic-analyzers-for-fpgas-a-verilog-odyssey/

HACKADAY AL WILLIAMS

Logic Analyzers for FPGAs: A Verilog Odyssey

Sometimes you start something simple and then it just leads to a chain reaction of things. I wanted to write a post about doing state machines in Verilog and target the Lattice iCEstick board that we often use for quick FPGA projects. That led to a small problem: how do you show what's going on inside?

Read this on Hackaday

Piotr Esden-Tempski12:44 PM
No definitely simulation is essential, and SUMP does not replace that, it is a supplement to address issues at the end of the design process.

Al Williams12:44 PM
Who's using verification frameworks like OVM (is it OVM?)

Stephen Tranovich12:44 PM
@Piotr Esden-Tempski has another question for you: What do you think about generator toolkits like migen or Chisel?

Eric Sherk12:46 PM
we use UVM at my day job, OVM is precursor

Al Williams12:46 PM
Yes I remember @Piotr Esden-Tempski asking that. Well, it depends. There's been a lot of attempts to convert HDL a lot of different ways. The vendors are all happy about writing C and pushing HDL out -- we've talked about some early efforts on that in HaD.... and there's migen and then whole new languages like Spinal etc. I would almost think it is like programming languages.... you might have your favorite. But it is probably best to teach/learn one of the big ones.

Al Williams12:46 PM
UVM... that's what I was thinking of...

Al Williams12:46 PM
I knew that didn't sound quite right

Al Williams12:47 PM
So just like it is probably better to teach a new programmer simple C, that guy might go on to write only with the Qt toolkit

Al Williams12:47 PM
but learning the Qt way first is distracting, hides a lot from you, and makes it hard to go sideways

Al Williams12:47 PM
So what other topics do you think we should be investing in the bootcamp format? FPGA topics or otherwise?

Stephen Tranovich12:48 PM
Good question, @Al Williams !

Al Williams12:48 PM
I will tell you we have at least two more FPGA coming... one will be step by step building a UART and then we will use the UART to do a PWM peripheral that would actually be practical

Al Williams12:48 PM
And the new one out today does a pretty broad coverage of state machines

Al Williams12:48 PM
which we will use in the UART

Al Williams12:48 PM
so what do you want to see?

Audi McAvoy12:49 PM
Is the UART going to be a 16550 flavor?

Al Williams12:49 PM
I doubt we will go that far, but maybe. I haven't written it yet. You can probably find 16550 IP on OpenCores although I haven't looked

Al Williams12:50 PM

https://opencores.org/project/uart16550

OPENCORES

UART 16550 core :: Overview :: OpenCores

uart16550 is a 16550 compatible (mostly) UART core. The bus interface is WISHBONE SoC bus Rev. B. Features all the standard options of the 16550 UART: FIFO based operation, interrupt requests and other. The datasheet can be downloaded from the CVS tree along with the source code.

Read this on Opencores

Piotr Esden-Tempski12:50 PM
When you do PWM, make sure to cover PDM too. It is interesting how they differ depending on the amount of outputs you need. ;)

Al Williams12:50 PM
Yes. Well you guys probably don't remember my PAK-V chip (which was not an FPGA just a screaming fast SX processor)

Al Williams12:50 PM
but it did 8 channels of PWM like that and could do PWM/PDM -- wound up in some surprising places

Audi McAvoy12:51 PM
I looked a few years ago. Found lots of half started, and partially implemented projects.

Al Williams12:51 PM
There are a ton but like you say I don't know how many of them are useful

Al Williams12:52 PM
If you do the Google custom search for 16550 on their site....

Al Williams12:52 PM
So what other topics are you interested in for Bootcamps

Al Williams12:52 PM
I know @Sophi Kravitz will be taking notes

Christoph12:52 PM
is the official hack chat over?

Discussions