Old is gold. AHDL is king.
Case Study: We have a 17 year old design for an Acex device in AHDL. The hardware was redesigned with a Cyclone LP. Now I had to port the AHDL code to the new board. I decided to take a huge leap and work with HLS because that could be the future, it is said to produce RTL code similar or better than handwritten HDL and saves development effort immensely.
But the ground truth was disappointing:
In Quartus Lite 19.1 HLS is nowhere to be found for download. In 19.4 Pro luckily it supported Cyclone10GX though our device was Cyclone 10 LP. Anyway was curious to have a feel of HLS.
HLS has to be invoked from the command prompt from a batch file. Very primitive but that is OK
I got the counter example compiled. A simple counter took 5 minutes to compile. There we four folders and hundreds of files. I could include this as an IP in my project WOW.
Next tried with ïmage_downsample' example. After 15 minutes it was still compiling (as I found from the Windows Task Manager) Aborted.
Next tried the example interp_decim_filter. It did output IP.
So abstracting the design to a high level in C and using the HLS compiler is indeed an option. But I do not think I would/could use it today. First it should support Cyclone 10. Next a better integration into Quartus would be desirable. Thirdly the compile times should be a bit faster.
Until then reusing the AHDL code is the easiest path. Some LPM's have disappeared, some have mutated (17 years is a long period). But porting them is trivial and at most involves some clicks on the IP Catalog editor that code rewriting.
Thanks Intel for the AHDL support.