hdlmake version 3.3


I have just released hdlmake 3.3
I haven’t tracked all the changes since version 3.2. But these are the main changes:

  • a testsuite has been added (to ease maintainance)
  • improved verilog parser
  • support of xilinx XCI files
  • improved windows support
  • lot’s of refactoring.

In the next version, I will change the support of verilog include:

  • The +incdir+ switch won’t be anymore filtered out
  • There will be a list of private include files (files included only by the local files)
  • There will be a list of public include files (files included by any user of the hdlmake module).

Feedback is welcomed.

1 Like

Hi Tristan,

Great to see that Xilinx XCI files are supported!

Sorry for never stopping hunger for more… Maybe the items below can be added to the wish-list.
To my opinion there is also a need for Xilinx BMM files (currently I add them manually).
Possibly also the option to source a Vivado tcl script to automate the process of generating predefined Xilinx Block Designs.

Best Regards,



I didn’t write the support for XCI files, that’s a contribution (hint!).

For BMM files: I have never used them. If I understand correctly, you just want to be able to put them in the files list, so that they are part of the project. Is that correct ?

For TCL scripts, I just guess what you mean. I am not sure when they should be called.

If you could provide small examples for both cases, that would be nice (specially for the TCL files).


Hi Tristan
I can’t find the corresponding tag at GitHub. Is it missing?
the latest commits are:

* 243b27b ( **HEAD** , **origin/master** , **origin/HEAD** , **master** ) Bump version to 3.3
* a45ae80 testsuite: add a test for NameError while parsing a manifest.
* 97fa0aa sourcefileset: remove unused function.
* 9d06dd7 testsuite: add a test for system packages.

Best regards,

Hi Tristan,

Great features, I’m going to try 3.3 asap.

I’m trying to compile the SPS LLRF project now but the depenency solver fails on encrypted IP files (with `pragma protect blocks). As these are never recompiled, could you remove them from the dependency parser?


You’re right. I have just pushed tag 3.3

Best regards,