UPF Generation
This commit is contained in:
committed by
abejgonzalez
parent
07fc230a1c
commit
6f8041bf82
@@ -106,3 +106,22 @@ With the Synopsys plugin, hierarchical RTL and gate-level simulation is supporte
|
||||
* ``-$(VLSI_TOP)`` suffixes denote simulations/power analysis on a submodule in a hierarchical flow (remember to override this variable). Note that you must provide the testbenches for these modules since the default testbench only simulates a Chipyard-based ``ChipTop`` DUT instance.
|
||||
|
||||
The simulation configuration (e.g. binaries) can be edited for your design. See the ``Makefile`` and refer to Hammer's documentation for how to set up simulation parameters for your design.
|
||||
|
||||
UPF Generation Flow
|
||||
-------------------------------
|
||||
This VLSI flow experimentally supports generating Chisel-based `UPF <https://vlsitutorials.com/upf-low-power-vlsi/>`__ files using `Chisel Aspects <https://javadoc.io/doc/edu.berkeley.cs/chisel3_2.13/latest/chisel3/aop/Aspect.html>`__.
|
||||
|
||||
To generate UPF for any design, first modify the ``UPFInputs`` object in ``generators/chipyard/src/main/scala/upf/UPFInputs.scala`` to fit your design power specifications.
|
||||
|
||||
This involves filling in the ``upfInfo`` list with ``PowerDomainInput`` objects representing all the power domains you want in your design, along with specifying hierarchy and domain attributes.
|
||||
|
||||
The given example in ``UPFInputs`` corresponds to a dual-core Rocket config with 3 power domains (1 parent domain with all uncore modules and 2 children corresponding to the Rocket tiles).
|
||||
|
||||
To run the flow:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
cd chipyard/vlsi
|
||||
make verilog ASPECTS=chipyard.upf.ChipTopUPFAspect
|
||||
|
||||
The output UPF files will be dumped in ``vlsi/generated-src/upf``.
|
||||
|
||||
Reference in New Issue
Block a user