[Oberon] FPGA Portability

Walter Gallegos walter at waltergallegos.com
Tue Mar 1 23:45:17 CET 2016


My experience writing HDL to the industrial world is that portability in 
FPGA is more a myth than a reality. With the FPGAs available today is 
impossible build an efficient project without create some portability 
issues.

Inference "works", but not all times; FPGA architecture, tools versions 
and setting play your role also. I infer components some times but 
inference must be handled knowing what you are doing.

Writing in HDL without taken in care how the hardware description will 
be implemented into the resources available in the FPGA is the one of 
the most biggest mistakes that you can do. Believe or not, forgetting 
the hardware when you are describing hardware  is one of the most common 
sources of issues found in consultancy, as write in HDL as in a software 
language.

When you need push a design to the limits use 4 inputs LUTs or 6 inputs 
LUT could make a difference. Of course with today FPGAs and frequencies 
under ~50 MHZ in certain cases you can take some liberties and 
unfortunately the project "works". The clock issue was a very 
illustrative example.

About portability, our approach to minimize issues is build a 
personalization package with all non portable resources, then we 
instantiate the components in the package when needed. To porting a 
project to another FPGA architecture only the personalization package 
must be rewrite.

Walter.


More information about the Oberon mailing list