|
|
|
|
|
by reeses
4380 days ago
|
|
To make a comparison for anyone who hasn't programmed FPGAs (especially on the path to etching silicon), placement is extraordinarily important. Not only can (will) you make a highly non-optimal layout, FPGAs are not orthogonal. You'll spend a lot of time trying to route the bits that need to talk to each other via direct connection as much as possible instead of going through a gp line or worse. Depending on the make and model of FPGA, you will have "large" areas that you either can't or don't want to plop logic. You can have a pretty netlist that validates and simulates correctly (although you'll eventually end up dealing with Cadence, who seem to have the right hand side of the bugs per line of code curve locked up) but still takes weeks or months of that inline ASM work to make it competitive with a rack of Xeons. The edit/compile/debug cycle is not quick by any means past a trivial number of gates. Dealing with that junk is why IP blocks are so attractive, but you end up on the road to structured ASICs and that just leads to misery. |
|