Conversation
gen_sources.sh hoisted only *_pkg.sv to the top of generated filelists, so a vendored package whose name lacks the suffix (cvfpu's defs_div_sqrt_mvp.sv) listed after its importers and broke order-sensitive consumers like Questa and VCS. Classify files as packages by their content instead of their name, keeping the package/interface/rest tiering intact. Verified: the repro directory now hoists the package first and lists it exactly once; the default xrt synthesis flist and the includes/externs modes are byte-identical to the previous script on existing trees. Reported by @JulessD in #420. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Problem confirmed — reproduced exactly as you described (defs_div_sqrt_mvp.sv listed |
The package defs_div_sqrt_mvp of the fpnew was not recognized as a package in hw/scripts/gen_sources.sh script because the filename does not contain the substring "_pkg", resulting in it not being put at the top of the generated flist and resulting in a compilation error.
Proposed fix: Hardcode the defs_div_sqrt_mvp package name into gen_sources script.
No functional change.
The problem was found when using the script to generate a filelist for Questasim.