First let me say that I love what you guys are doing here with Bender and the PULP Platform as a whole!
One thing that I think would be really useful is allowing targets to imply or activate other targets. As an example of how this would work, consider the following mockup of a manifest:
package: mock
sources:
- target: axi_register
files:
- hdl/axi_register.sv
- target: axi_mux
- implies_targets: axi_register
files:
- hdl/axi_mux.sv
...
- target: large_ip_example
- implies_targets: [axi_mux, axi_demux, ...]
files:
- hdl/large_ip_example.sv
This would be particularly useful for repositories that contain many small IPs that may be used in number of configurations, so you don't have to list the full file list for each target, or have really long any(...) target specs. It would also help prevent manual replication of file lists and manual updates when a new file is added near the bottom of the hierarchy (which would then need to be included in every file list upward in the hierarchy).
First let me say that I love what you guys are doing here with Bender and the PULP Platform as a whole!
One thing that I think would be really useful is allowing targets to imply or activate other targets. As an example of how this would work, consider the following mockup of a manifest:
This would be particularly useful for repositories that contain many small IPs that may be used in number of configurations, so you don't have to list the full file list for each target, or have really long
any(...)target specs. It would also help prevent manual replication of file lists and manual updates when a new file is added near the bottom of the hierarchy (which would then need to be included in every file list upward in the hierarchy).