cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
4,798 Views
Registered: ‎06-07-2017

I want to learn about the basics of FPGAs for high frequency trading

Hi everyone,

As the title insinuates, I'm new to the FPGAs (or at least semi-new). I'm a recent uni grad who has been employed full time for 6 month as an electrical engineer. Unfortunately, I currently work in the power engineering industry when my passion is playing with digital logic. I've seen lots of jobs available in my city for FPGA engineers who work in things high frequency trading, which I find very interesting and I would like to pursue as a career to the best of my ability. 

Since I am not very knowledgeable about this industry yet, I'd like to know if anyone could give some insight as to what I should focus on learning in order to make myself employable in such a role. I'm not a complete novice; I've successfully written and simulated a basic cpu which reads instructions from memory and executes them (basic instructions like add, subtract, load, move, multiply, divide and conditional jumps with an alu I wrote). Any guidance is much appreciated.


0 Kudos
Reply
10 Replies
Moderator
Moderator
4,772 Views
Registered: ‎04-12-2017

 

Hello sockpastarock,

 

To really learn FPGAs well, you really gotta start with the very basics. Logic blocks/designs, and then translate those basic blocks into HDL (Hardware Descriptive Language) code.

From here, it’s not really about learning the FPGA itself, but more on the software that you need to use the program the chip.

 

So you can start with latest version of VIVADO with its webpack version from here.

https://www.xilinx.com/support/download.html

 

while for actual hardware experience you can start with Artix-7 35T Arty FPGA Evaluation Kit.

https://www.xilinx.com/products/boards-and-kits/arty.html

 

with this you can surely grow in FPGA world by starting with understanding the design flow for FPGA.

 

with regards,

Kunal.

 

 

-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
Reply
Moderator
Moderator
4,726 Views
Registered: ‎09-15-2016

Hi @sockpastarock,

 

Xilinx hands-on FPGA and Embedded SoC design training is great for Engineers new and old to FPGA and SoC Technology - https://www.xilinx.com/training.html.

 

I would also recommend to use DocNav to access most of the right documents which can help, discover and learn. https://www.xilinx.com/support/documentation-navigation/overview.html

 

If you are specifically looking for good methodology guidelines for designing applications you can refer: Ultrafast Design Methodology.

https://www.xilinx.com/products/design-tools/ultrafast.html

https://www.xilinx.com/support/documentation/sw_manuals/xilinx2016_4/ug949-vivado-design-methodology.pdf

 

Regards,
Prathik
-----------------------------------------------------------------------------------------------
Please mark the post as an answer "Accept as solution" in case it helps to resolve your query.
Helpful answer -> Give Kudos
-----------------------------------------------------------------------------------------------

0 Kudos
Reply
Adventurer
Adventurer
3,963 Views
Registered: ‎11-29-2017

Is the fpga board that you recommend appropriate for newbies like me? I have a Ph.D. and I program all

the time, but I am not an electrical engineer.

 

I am interested in learning about high level synthesis with a newbie introduction.

 

So recommend a card. Also, does the card you recommend in the previous post come with HLS software or at least a way to get

it at an inexpensive price?

 

Any help appreciated. thanks in advance.

 

Respectfully,

 

Newport_j

0 Kudos
Reply
Advisor
Advisor
3,950 Views
Registered: ‎04-26-2015

@newport_j I would actually suggest one of the Digilent Zynq boards. Digilent is definitely the right company to buy from for getting started in FPGAs; they're used very frequently by universities and the support for their boards is excellent. At the same time, they're a small fraction of the price of the big Xilinx-branded boards like the ZC702.

 

I prefer Zynq over Artix because it gives you a decent processor in addition to the programmable logic - and a bunch of handy built-in peripherals (memory controller, USB, ethernet, etc). It's also compatible with SDSoC, which is Xilinx's "next generation" of tools.

 

For that reason, I'd look at the Zybo-Z7-20. It's relatively expensive ($300), but it's got much better I/O options than some of the other Zynq kits (Arty-Z7 and Pynq-Z1). Vivado and HLS are completely free for this board (the chip is small enough to be covered under the free WebPack license), and you can buy a very heavily discounted SDSoC license to go with it (normally $10, but it looks like it's actually free right now).

0 Kudos
Reply
Adventurer
Adventurer
3,917 Views
Registered: ‎11-29-2017

Okay, I think that the Digilent board is a god idea. My questions is where can I buy it (other than from Digilent)? I was hoping that I could get it from Amazon, since I deal with them all of the time.

 

Also what else should I buy in addition to the board? I am quite new at this and I am really just feeling my way in the dark. I know that they sell a lot of accessories for it. Which ones should I buy?.

 

In addition this uses the downloadable software (i.e.. free) software for high level synthesis? Is it available for Linux Ubuntu?

 

Finally, does it connect to the my laptop from the USB port or does it connect in some other way?

 

Sorry for the bush league questions, but as I said I am a newbie.

 

Any help appreciated. Thanks in advance.

 

Respectfully,

 

Newport_j

 

 

0 Kudos
Reply
Advisor
Advisor
3,906 Views
Registered: ‎04-26-2015

Easier just to get it from Digilent - it saves effort if you have to send it back, it simplifies licensing (I don't know if third-party sellers would be able to include the SDSoC license as Digilent does), and Digilent customer support is excellent.

 

Xilinx's response to any problems is invariably along the lines of "contact the authorized Xilinx reseller that you bought the board from. If you didn't buy it from an authorized reseller, then we cannot guarantee that it's an authentic part and therefore cannot provide any support". Digilent is definitely an authorized seller; Amazon is not.

 

The only things I'd consider adding are:

 

- A 5V power supply. The Zybo can run from a USB port, but you might not always want to have it plugged in.

 

- Maybe a Pmod NIC100. The reason I suggest this is that, on the Zynq boards, the built-in ethernet port is connected to the processor (rather than to the FPGA fabric). For high-frequency trading, I can imagine that having a direct connection might give you lower latency.

 

 

All the cheap boards use free Vivado WebPack software (includes high level synthesis). It runs on Windows or Linux - in fact the Linux version seems to be better at the moment.

 

For connecting to a laptop, the board includes a USB JTAG/UART adaptor. This allows for programming the board and low-speed data transfer (top speed on a UART is about 1Mbps). For more speed, it has the ethernet port (the Zynq processor can run Linux, so talking to it over ethernet is much like using any other Linux computer).

0 Kudos
Reply
Adventurer
Adventurer
3,363 Views
Registered: ‎11-29-2017

I got the Digilent board from Digilent. I am unsure where to begin. It came with some code to activate the software, I guess. I am looking for something like A Getting Started booklet or a Quick Start booklet.

 

It just seems to be light on such items. I need a tutorial and frankly a little hand holding. Since I have never done HLS before and that is the reason, that i got this board. It was the$ 300.00 one with all the accessorizes.

 

I have programmed for many years though.

 

I just am unsure where to start.

 

Nespectfully,

 

newport_j

0 Kudos
Reply
Advisor
Advisor
3,263 Views
Registered: ‎04-26-2015

@newport_j Digilent's Resource Centre provides a few useful projects:

 

https://reference.digilentinc.com/reference/programmable-logic/zybo-z7/start

 

 

They also provide the "Zybo Z7-10 HLS Processing Workshop", which should work nicely for the Z7-20 too (just have to change the processor type from XC7Z010 to XC7Z020). Give that a try; if it doesn't help then I will try to find time to write more of a tutorial.

0 Kudos
Reply
Adventurer
Adventurer
3,186 Views
Registered: ‎11-29-2017

I am confused. I know that Digilent Zybo boards use Vivado software. I thought that software was free. If you want to use more sophisticated version, then you must pay - usually a lot.

 

So what is with the coupon in the box to get your free software?

 

It seems that the software is already free.

 

I also would rather use the Linux version. I am forced to use Windows since it is already on my laptop., but Windows 10 has hyper v so that could work?

 

Will that work, Using Vivado on Linux with the Linux on Window s 10 hyper v?

 

Any help appreciated. Thanks in advance.

 

Respectfully,

 

Newport_j

0 Kudos
Reply
Adventurer
Adventurer
1,533 Views
Registered: ‎11-29-2017

Please I need an answer to this question as soon as possible. I am really stuck on what to do next.

 

Please respond.

 

Respectfully,

 

Newport_j

0 Kudos
Reply