circuit_training icon indicating copy to clipboard operation
circuit_training copied to clipboard

plc_client.get_canvas_width_height unexplained behavior

Open Maria-UET opened this issue 2 years ago • 2 comments

Hi! Great work on circuit training.

I came across this issue while parsing the Ariane RISC netlist.pb.txt file with plc_client. plc_client.get_canvas_width_height() gives the canvas size: (408.06, 408.06). But I cannot find the source/logic behind this canvas size. Note that:

  • The netlist.pb.txt file has no explicit mention of canvas width and height.

  • The initial.plc file has a different size: # Width : 356.592 Height : 356.640 Also, I have tried changing the canvas size in initial.plc to random numbers but this does not affect the outcome of plc_client.get_canvas_width_height() proving that canvas size in initial.plc is not linked to canvas size from plc_client.get_canvas_width_height()

  • Also the macro_10x10 netlist file, gets the canvas size is: (645.49, 645.49) from plc client. This proves that the canvas size does vary with the netlist file and is not a fixed initial value.

So, where do canvas sizes like (408.06, 408.06) and (645.49, 645.49) come from?

Maria-UET avatar Jul 10 '22 18:07 Maria-UET

By default plc_client computes the total area of macros and soft macros and then create a square canvas with 60% utilization.

If you want to use different canvas size you have to add comment in your protobuf netlist or in the input plc file. You can see placement_util.py can extract canvas size and other details.


You may check out our MacroPlacement repo.

We provide a script to write out the protobuf netlist from the Innovus tool which can be used as input to the CircuitTraining grouping code to generate the clustered netlist.

Also, you can train circuit training using the testcases available in MacroPlacement/Flows/<Enablement>/<Design>/netlist/output_CT_Grouping/.

If you are interested to learn more about proxy cost computation, you can visit this link.

You can find here the progress we have made till August 26.

sakundu avatar Sep 02 '22 06:09 sakundu

Hi I have a doubt on canvas shape, will it always be a rectangular block? If not then how can we set the different shape

jagdisht12817 avatar Jun 30 '23 09:06 jagdisht12817