Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

plc_client.get_canvas_width_height unexplained behavior #27

Open
Maria-UET opened this issue Jul 10, 2022 · 2 comments
Open

plc_client.get_canvas_width_height unexplained behavior #27

Maria-UET opened this issue Jul 10, 2022 · 2 comments

Comments

@Maria-UET
Copy link

Maria-UET commented Jul 10, 2022

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?

@sakundu
Copy link

sakundu commented Sep 2, 2022

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.

@jagdisht12817
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants