tudortimi / gradle-hdvl

Family of Gradle plugins that provide support for hardware design and verification languages
Apache License 2.0
4 stars 2 forks source link

Implement header-awareness for SystemVerilog #2

Open tudortimi opened 6 years ago

tudortimi commented 6 years ago

Currently, the SV source sets only track *.sv files, meaning that a new build won't get triggered if included files get changed.

martinda commented 2 years ago

I would like to propose the following.

Create a conventional layout that supports header files. Like in the C/C++ gradle plugin, the included files are of two sorts: the local private ones and the ones shared with other projects (exported).

Say there are two sourcesets: rtl and verification. There would be four folders for included files:

  1. src/rtl/included/private
  2. src/rtl/included/public
  3. src/verification/included/private
  4. src/verification/included/public

Note that in the gradle c++ plugin, they are called src/main/headers and src/main/public but I find the above more explicit. Also, calling the folder included clarifies the meaning of the included files, which may be different than "header" files.