ieee_proposed changed to floatfixlib to be compatible with Quartus Prime Lite and Questa and support fixed, float, etc. in vhdl 1993
This repo is the edited ieee_proposed
→ floatfixlib
place the folder in C:\intelFPGA_lite\22.1std\quartus\libraries\vhdl\ieee
or your equivalent Quartus directory and use it in your VHDL
library floatfixlib;
use floatfixlib.fixed_pkg.all;
Quartus support for VHDL-2008 is complicated and limited. It is intentionally further limited past version 17 and has different limitation across tiers (lite, std, pro).
This is further complicated by device support across tiers. e.g. if you want max10 and VHDL-2008 you need standard, not lite or pro and the correct version. Even then support is limited.
They proceeded to remove versions of Quartus prior to 17 from available downloads.
Is Intel really cutting VHDL-2008 support from Quartus Prime Lite?
I discovered that this "ieee_proposed" library is a thing. peteut vhdl2008c
"This is a compatability library, which is designed to provide all of the functionality of the VHDL-200X-FT packages in VHDL-93.
The "_c" after the package name is used to denote that this is a 1993 compliant version of this package.
Otherwise, the name of the file and the name of the package are the same."
Adding a folder named: ieee_proposed
containing these files to your Quartus directory
C:\intelFPGA_lite\22.1std\quartus\libraries\vhdl\ieee\
and using it in your VHDL will allow you to use ufixed, sfixed, etc.
library ieee_proposed;
use ieee_proposed.fixed_pkg.all;
However, when you try to use:
Tools > RTL Simulation
Questa / Modelsim will complain that it does not have ieee_proposed
.
It is known that Questa has support for these features however they are locked behind $$$ 😤
Thanks to a clue from How to use ieee_proposed libraries in Modelsim?
If we look in C:\intelFPGA_lite\22.1std\questa_fse
we can see where Questa stores its libraries and that it calls their equivalent of the ieee_proposed
library floatfixlib
So we just need to convince Quartus to use ieee_proposed
but called floatfixlib
This turned out to be as simple (haha, no) as re-naming all instances of the text ieee_proposed
to floatfixlib
This repo is the edited ieee_proposed
→ floatfixlib
place the folder in C:\intelFPGA_lite\22.1std\quartus\libraries\vhdl\ieee\
or your equivalent Quartus directory and use it in your VHDL to allow you to use ufixed, sfixed, etc.
library floatfixlib;
use floatfixlib.fixed_pkg.all;
Please let me know if there are any issues or questions.
thanks to Writing Github README