On 2020-05-21 07:34, Sytse van Slooten via cctalk wrote:
One of the things I?ve done with my pdp11 vhdl from
the start is that I?ve not used any vendor specific constructs or language extensions.
That?s probably the only design decision that I?m still really happy about - it allows me
to change to another vendor and another tool chain at will.
That's actually VERY important!
There is always a way, to get around the vendor specifics, and actually,
all three (altera/lattice/xilinx) got better over time, to figure what
you actually like to do (inferring RAM/ROM/Tables etc.).
So using the vendor specific stuff, gets you the last ns squeezed out of
the design, but in most cases it isn't necessary. However, in some
cases, you can't get around (DDR3/DDR4/etc) it is simpler to use the
Macros/Wizard to do.
And, just look around, there are some open projects, which use all three
in them, so you can learn a lot, how to hide the differences ...
Personally, I like to play with all of them, also to be able to compare
chips & tool chain. (made some carrier boards, and plug in little
modules, which just contain the FPGAs on them, to be able to easier
exchange them)
Cheers!