Is there a way to generate 'par.tcl' without running synthesis? #722
-
I'm using the example Makefile from chipyard, under directory "chipyard/vlsi". After running "make syn", I deleted the directory 'par-rundir', including 'par.tcl', 'floorplan.tcl', etc., and then run "make par CONFIG=SmallBoomConfig". But hammer does not re-generate the P&R directory and those tcl scripts . The only way I found so far is to run "make syn" again. Is there a way to let hammer re-generate those tcl scripts for P&R without running synthesis again? |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments
-
I'm trying to manually place the SRAMs of Small BOOM chip. I don't want to re-run synthesis every time I change the SRAM placement in YAML configs. That's why I'm asking this question. |
Beta Was this translation helpful? Give feedback.
-
I'm no expert, but you could try checking the ingredients and target of the "syn" recipe(s) in the hammer.d file in the build directory, then use "touch" to make target of syn newer than the yaml file after editing yaml file. The targets MIGHT be the json files... |
Beta Was this translation helpful? Give feedback.
-
Or you could try changing SRAM coordinates in the json file that carries the information of synthesis to par (maybe output of synthesis and input of par), instead of the yaml file which is the input to the whole syn+par process... |
Beta Was this translation helpful? Give feedback.
-
@m-usama-z has the correct suggestions. Alternatively, in Chipyard, you can also do the following:
This breaks the dependency chain and also appends the argument to the underlying Hammer command with your updated constraints. These redo targets are also present in the generated |
Beta Was this translation helpful? Give feedback.
-
It works! I think I just forgot to add the "HAMMER_EXTRA_ARGS" arguments. |
Beta Was this translation helpful? Give feedback.
@m-usama-z has the correct suggestions. Alternatively, in Chipyard, you can also do the following:
make redo-par HAMMER_EXTRA_ARGS='-p <your edited yml file>'
This breaks the dependency chain and also appends the argument to the underlying Hammer command with your updated constraints. These redo targets are also present in the generated
hammer.d
Make fragment.