[adrotate banner=”7″]

Just do a quick little primer here on exactly how easy is it to hook up and use an FPGA, as I mentioned in my previous videos, which I’ll link in the answer is not very easy at all. Take, for example, your classic micro controller. Here you pick your AVR, your MSP, whatever it is pretty easy for a beginner to use, even if you don’t use something simple like a development board like an Arduino, for example, they’re, really easy! You get your little pick or your AVR chip. You stick it on your breadboard, you hook up 5 volts to it and you can flash an LED just using a simple low cost program which plugs into USB port couple of wires come over, goes into your chip and Bob’s your uncle really easy to do. They got building oscillators like there might be a reset pin on here. Yet often you don’t even need to worry about that, because it’s got an internal pull up. There’S, no other configuration stuff, internal oscillators level thing to work or run your program and you can get a flashing LED blinky circuit up and running very easily and cheaply. But is it the same for FPGAs, nope let’s, take a look why so you can’t just do the same thing you can with the micro here, throw it on your breadboard hook up your 5 volt supply hook up your USB programmer JTAG programmer to the thing and Get it to blink your LED it’s, not that easy like it is with the microcontroller.

Yes, you can get a simple, cheaper, little JTAG programmers, which I’ve done a separate video on that will be linked down below how the JTA programming system works for FPGAs and but yeah. You can get these cheap programmers and but it doesn’t work the same as micros. Why? Because of quite a few things, which we kind of take a look at first of all, they come in up usually come in pain in the ass BGA package is not a simple, friendly dip package which you can just plug into your breadboard. Maybe some of the low end ones might come in a quad flat pack, but it might be. You know a hundred pins or something like that. Real pain in the arse so right off the bat there you’re going to have to mount this thing on some sort of adapter board at a bare minimum. To get the thing, I in a usable format that you can connect all your stuff up to. The next thing is that these things are volatile. What that means is that they don’t have flash memory in them. Like your microcontroller does so yeah, you can just program it via the JTAG programmer. But soon as you remove the power poof, your designs gone, you have to download it again, hopeless, so we’ll. Take a look at that next thing is, is that there are there’s, no internal oscillators in these things like there are on your micro controller.

So once again, you’ve got to add in an external oscillator just to get the damn thing. Working, oh and next thing is that they’re generally not 5 volt compatible, so you can’t just hook them up to your regular 5 volt power supply. Like you used to heck some of them, you can’t even hook up to a 3.3 volt supply. They often require multiple voltages for internal core voltages and stuff, like that, for some of your higher end ones, some of your lower in ones. No, you can just get away with single three point three, but it’s, something to be aware of these things. Aren’T easy. We haven’t even gotten to all the configuration pins yet so here’s, just some of the crazy stuff. You might need to add in red here around your basic circuit, which you didn’t have to add for your micro controller here. This is like for a Xilinx FPGA. For example, it’s not bang on it’s just a rough example. We’Ll, do a screen capture in the middle of exactly what you need for a basic, a JTAG flash boot configuration for a typical fpga but, as i said, it’s going to change based on the vendor based on the family of fpga. So you have to read the documentation, the very extensive documentation as we’ll, see for the individual, for the tot exact fpga, which are using just to get the damn thing up running. So you’ve got your USB simple little USB JTAG programmer here, but you now need a second chip here, which is your configuration flash memory which stores all the information for your FPGA.

Then you’ve got to hook up that correctly. You have to tie it into the JTAG system that I’ve done the video on so that it forms a loop through the JTAG chain. There it’s called – and you have to get that right if you screw that up it’s. Just not going to work, then you’ve got all the configuration lines. The data in it reset lines. The clocks, the done line all that sort of stuff you’ve got to hook that up correctly, if you screw up one of those lines and you don’t get it right, it’s just not going to work, and then you got various VCC voltages, fear different banks, which I’ve Done a separate video on before linked down below and you’ve got weird pins like H, swap enable what does that do? Well, you got to read the documentation to find out don’t you you’ve got mode pins down here, for example, in these eye links, FPGAs you’ve got to put those in a certain configuration to power the thing up, or sometimes you don’t now, with the more modern families I’Ve got a separate, JTAG interface. Ah, but there’s the thing is there’s a lot of stuff you got to do this eye. Flash over here has to have the same JTAG programming voltages, everything else and if all that stuff isn’t done, then you know your FPGA is just not going to work. It’S going to be you’re going to be sitting there, scratching your head and saying these FPGA suck I’m going back to my micro controls, but basically, why I’m doing and all this and telling you about it is because it’s not easy to do through beginner.

So a beginner shouldn’t be mucking around with all this stuff. You should get one of these demo kits that we got to take a look at that. Have all this stuff already done for you. So an already hooked up, so you don’t have to worry about any of this stuff it’s. Just you know, somebody’s done all the hard work to figure out how to get this thing to boot up and make it work, and just to show you that I wasn’t kidding here is the Spartan 6 FPGA configuration user guide. This is just for the configuring and getting your FPGA up and running and doing what you and there’s a different one of these for each different dialects, family and the other manufacturers will also have similar types of guides, and this guide is well a hundred and sixty Four pages long folks, that is just to get the fpga configuration doing various things and granted. There are lots of different ways that you can configure FPGAs. But you know, look at this sort of stuff, it’s configuring, all sorts of high speed, priority options, je tags, master sleighs, most non mom moldy boots safe upgrade, are blah blah blah select map data loading. Ah man, you name it look at it unbelievable, but let’s go down here. You don’t get down at ICRC, configurations daisy chain. Oh man, it’s incredible let’s go down to page 26. Shall we, I think, it’s on get down to page 26 here and bingo.

Here is our basic configuration that we’re going to use for a Silex spartan 6, for example, and that’s how to hook it up. There’S the fpga there’s the platform flash memory as they call it. The external flash memory they’ve got the daisy chaining of the JTAG there. You can see like TDI coming in tdo, going out into TDI of the flash tdo going back out to your site, links, cable header here for your programmer and there’s those mode pins. There that’s hate swap enable the various bank voltages there and there and look if you don’t, get this VCC ox pin. If you forget to hook that up then well, your J tags not going to work – and you know the things just going to sit there and do nothing enemy, scratching your head, think it might be a software problem or I don’t know something going on so there’s. All sorts of things you have to hook up just to get your FPGA programmed working and boot up just so, you can run that blinky LED program, it’s, incredible and there’s still a hundred and something pages left, oh goodness, but most of the time you don’t have To look at all this because you’re not going to be using the more obscure modes, but anyway that’s how complicated it is.


[adrotate banner=”1″]

why arduino is better than microcontroller Video

[mam_video id=AZInaAaDlvE]



[adrotate banner=”2″]


[mam_tag id=5320]



[adrotate banner=”3″]


why arduino is better than microcontroller news






[adrotate banner=”4″]



why arduino is better than microcontroller Social



[adrotate banner=”5″]




Last weekend we announced that we’re working on a new development environment with advanced features. Let’s take a deeper look at what is in store for the Arduino Pro IDE!

“Let us change the world by making technology accessible to everyone and put it into the hands of every student and educator.”


[adrotate banner=”6″]