Electronics > FPGA

FPGA Algorithms, what?

(1/4) > >>

I had an interview of an entry level job yesterday and the interviewer asked me "what algorithms have you written?".

I am stilling thinking about that question.. we never focused on algorithms at uni, just basic vhdl bit manipulation, bin2grey..etc

(Just as a side note, the interview stopped abruptly after that question, they didn't even get to introductions or explain the company much.. i had to ask about it. They also called me an hour late..)

It really depends on the company focus. Most of the things that could be considered "algorithms" for FPGAs would be in the area of DSP, so things like FFT, filtering, modems.

It is a somewhat strange question in general, but it may make more sense if you describe the type of the position.


I think it's a good question. An algorithm is just a way of accomplishing some useful task; it doesn't have to be listed in a chapter of some FPGA design manual entitled "Algorithms" in order to 'count'. The abilty to devise and implement an algorithm shows that you can look at a system, figure out the details of how to make it do something useful, and implement that method to make it work in practice.

It doesn't need to be complicated, nor does it need to be an implementation of some "standard" algorithm for solving some generic problem.

For example, a few years ago I did a project for a customer which involved a single master control device connected to a number of slaves on a common bus. In any given system, the master needs to know the number of slaves which are connected, and each slave needs a unique identifier so the master can communicate with it.

Rather than require each board to be individually programmed, I came up with a simple algorithm involving a sensor which was fitted to each slave PCB anyway. The method wasn't complicated, but it enabled each board to assign itself a unique ID, and the master ended up knowing exactly how many slaves were connected and what order they were in.

You can probably figure out for yourself how it worked; all you need to know is that every device on the bus receives everything that is transmitted by every other device. Provided you can trigger one sensor at a time, you have a way to make each slave unique.

IMHO describing a problem like this and how you chose to solve it is much more interesting than describing how you implemented, say, a fast or space efficient CRC.

I explained an algorithm I wrote to monitor dynamic power consumption. And some other smaller implementations.

Honestly, I think they were looking for specific things like protocols I've used and anything to do with HSSL.

I had a different experience with a company doing high speed transaction stuff. They really wanted search algos and things of that nature.
I'm going to start a list of a specific technology and what algos relate to that as often expect (for instance) that I know everything about CAN because I've worked with USB...
The wonderful world of job hunting...



[0] Message Index

[#] Next page

There was an error while thanking
Go to full version