-
The command
apio simdoesn't define anymore the macroINTERACTIVE_SIM. To distinguish if a testbench is run byapio simorapio testuse the macroAPIO_SIMwhich has the values1and0respectivly. -
The values in the project file apio.ini can now contain pre-defined macros https://fpgawars.github.io/apio/docs/project-file/#value-macros .
-
Restructured the FPGAs definition file fpgas.jsonc. This requires users that custom FPGAs definition in their projects to adapt the format. see
~/.apio/packages/definitions.fpgas.jsoncfor examples. -
Fine-tuned the parameters of Gowin build (e.g. add an optional
familyarg for the Gowin 20k FPGA). -
Minor tweaks and refactoring of the commands tree for clarity.
-
Added to the
openFPGAloaderprogrammer definition the options--force-terminal-modeand--verify. If you have in your project a customboards.jsoncorprogrammers.jsoncfile, you may need to adjust them accordingly.
-
Added right-click context menu commands for
apio format,apio sim,apio lint, andapio test. The context menu works in the VS Code explorer and in the editor. -
Added a menu command to test only the default testbench, similar to the behavior of the sim command which tests the
default-testbenchdefined inapio.ini, or the existing testbench if the project has exactly one testbench. -
The
simcommand now creates automatically a.gtkwdefault file to have GTKWave showing the testbench signals when it opens. This selection of signals and their display setting can then be changed in GTKWave and saved a a user created.gtkwfile. See more details in the documentation of thesimcommand at https://fpgawars.github.io/apio/docs/cmd-apio-sim. -
Added a command
report verbosethat prints additional information such as critical nets. -
Now exiting with an error if a testbench contains
$dumpfile(...)(used to be a warning). Apio sets automatically the location of the dumpfile based on the currently active environment. -
Apio now defines the macro
SYNTHESIZEthat allows to simulate modules that use blackbox primitive cells. https://fpgawars.github.io/apio/docs/apio-macros. -
The project file
apio.ininow supports the new optiongtkwave-extra-optionsthat allows to customize the invocation of of the signal viewergtkwaveby theapio simcommand. -
Added language support for .pvf, .lpf and .cst FPGA constraint files. This include things such as syntax coloring and block comment/uncomment.
-
The project file
apio.ininow supports the optionverilator-extra-optionswhich allows to add flags to the verilator commands thatapio lintlaunches.
-
Added support for legacy MacOS/Intel (x86-64)
-
The option 'top-module' is now required in apio.ini. In previous version it was optional with default value 'main'.
- Maintenance release. Streamlined the internal Apio build workflows.
-
Custom
boards.jsonc,fpgas.jsonc, andprogrammers.jsoncdefinition files are now merged with the standard definitions files instead of replacing them. This allows to use in the same project both standard and custom definitions. In case of a conflict, the custom files win. -
FPGA constraint files such as
pinout.pcfcan now be placed also in subdirectories. Previously they had to reside at the top directory of the project. This provides more flexibility in multi-board projects.
Initial version.