FPGA Development

How hard would it be to self-learn FPGA development if you only have a background writing software and not much into electronics? I don't plan to pursue a career in this looks useful to try and do certain types of computations that might outperform CPUs. Sure, the GPUs can do this better but there is a huge difference in power consumption between the two if you want to miniaturize it for running at it at scale.

As I understand this, it is extremely complex and you run into all sorts of race conditions that aren't as obvious like when you're just writing software.

The hardest part, as with all programming, is starting a program and loading it over to the chip. Once you get an LED blinking it is all down hill from there

It's not too hard, it's just that the boards are expensive and there are very few tools publicly available

I'd suggest you buy the myir zboard the 7020 one.
It's 120 bucks.
Then read some verilog, it's powerful and smaller than C.(keyword wise)
Then start working with vivado tutorials to learn how to do basic staff.
Meanwhile order a chink usb blaster jtag turbo intercooler device for 20$.
What projects you should do?
Make a uart, an i2c, there is a buzzer tutorial for the board also which is good.
Then try to make a vga controller, you'll load an image onto some sram and project it to a display using the vga port(the board doesn't have one, so you should salvage one female and connect it to gpios of your liking).
That's how you become a motherhacker.
After that everything is trivial.
You study the theory, then apply it to your new design.
Are you good enough? Profit.
(i have no affiliation with the aforementioned chinks, i just happen to have that board and it is a shame i got it only 6 months ago)

If you buy the chink board, tell them to ship it via snail mail.
They are stupid, they use FagEx, and FagEx rapes you.

you don't need to know electronics, just basic boolean algebra reductions to do efficient things and VHDL.

VHDL is almost like OOP But instead of describing objects you describe devices and how interconnect them, also you have to learn how parallelism works.

>certain types of computations that might outperform CPUs. Sure, the GPUs can do this better

dude you don't know what an FPGA is, they are used to DESIGN cpu and gpu

>dude you don't know what an FPGA is, they are used to DESIGN cpu and gpu


It was poorly worded, I'll admit. By "do (this) better", I meant certain types of computations that are easier for a beginner to use and yet get fast results.

One practical use I have been thinking about was about reconstructing broken ADS-B captured from a radio resource. Most software are able to reconstruct the packet if only one or two bytes are missing but the problem becomes more difficult as you get weaker signals from further away. This seems perfect for doing it on a GPU or offloading the work onto the USRP's onboard FPGA to bruteforce larger keyspaces in parallel.

It's not exactly the easiest ting to get into, especially if you have no EE background but it's doable. For starters get a board that is well supported, i recommend Digilent stuff, sure cheaper chink shit is available but it will be a pain to get those running as an absolute beginner, DIgilent's documentation is unbeatable, they have really good beginner stuff, walking you trough step by step.
The language itself is also gonna be a bit hard to get around, you need to get into the right mindset as you are not writing a sequentially executed code but describing a hardware, in fact i suggest you don't start with VHDL/verilog straight away but use a block diagram designer where you can build stuff from simple AND/OR/etc logic gates

>dude you don't know what an FPGA is, they are used to DESIGN cpu and gpu
One of the uses for them is. But only design? You're a retard, sorry.

just get good at debugging via timing diagrams, because that's all you get.

Hey for you FPGA fags, I have experience in software and electronics but none in the FPGA space, but anyway my question is this: Are there any FPGAs with free development tools which run on Linux? I want to try my hand but I don't use Windows at all and won't start, either.

I know Xilinx has a linux version, and I was able to get the Windows version for free.

Unless by "free" you mean the autists definition.

Nah I just want to play around without paying a thousand bucks.

If you mean free as in beer than almost every manufacturer has a free "webpack" edition that runs on most linux distros. If you mean the other one you have either the IceStorm project, or you can stop being a faggot because no one in the real industry cares about your special snowflake needs

>almost every manufacturer
all two of them... lol

how do i write URB's to a device? is there an easy way or do i need to learn the USB protocol first?

If you mean general purpose FPGA then sure, there is no reason to use anything else, but there are some cool shit done by the smaller players

What other companies are there?

Lattice, MIcrosemi and maybe quicklogic is worth mentioning
They do shit the big two doesn't like flash,antifuse FPGA or really small low power ones

...

>. But only design?
>only design

Do you even know what design means on Engineering terms?

Yes FPGA main purpose is circuit design before manufacting the target project, you maybe wont understand this but projects running on a FPGA are slower and requieres more power than the final product.

Many products are now just running off an FPGA, look at the $25 Baofeng radios for an example.

Yes I know bro, I have some satellite receptors using FPGAs I am just arguing against the

>only design

Why not software defined radio?

what you mean? like using a µc?
FPGA can let you create many µc inside the single chip working in parallel thats the power.

For a product like the Baofeng there is little to no benefit and power usage would go up.

I do have a Kenwood HT which is an SDR (TH-D74) and it's great except the battery life sucks. Still nice to plug in that USB cable and get an audio device outputting the I/Q though.

It's not that hard, user. You just need to follow the sintaxis and dont fuck up the pins you declare.
Pic related it's a clock in a Spartan 3 for the advanced systems lab

SDRs like the USRP series also have a programmable FPGA for developing high performance blocks that can be imported in GNU Radio. This is an example of Fosphor (RFNoC) running on the FPGA which makes it more portable since the alternative requires an NVIDIA GPU.

Holy shit what a dumbass
Pajeet by the way you type? or chink?

Every thread needs one retard like you.

OP calm down your butthurt.