Commit 2539b604 by sakundu

Merge branch 'main' of github.com:TILOS-AI-Institute/MacroPlacement into main

parents e25c23ce 7fc45ef2
......@@ -106,7 +106,7 @@ distribute any compiled binaries. While we build our implementation on top of th
Input file: [setup.tcl](https://github.com/TILOS-AI-Institute/MacroPlacement/blob/main/CodeElements/Clustering/test/setup.tcl) (you can follow the example to set up your own design) and [FixFile](https://github.com/TILOS-AI-Institute/MacroPlacement/blob/main/CodeElements/Clustering/test/fix_files_grouping/ariane.fix.old) (This file is generated by our [Grouping](https://github.com/TILOS-AI-Institute/MacroPlacement/tree/main/CodeElements/Grouping) scripts)
Output_files: [clusters.lef](https://github.com/TILOS-AI-Institute/MacroPlacement/blob/main/CodeElements/Clustering/test/results/OpenROAD/clusters.lef) and [clustered_netlist.def](https://github.com/TILOS-AI-Institute/MacroPlacement/blob/main/CodeElements/Clustering/test/results/OpenROAD/clustered_netlist.def) for OpenROAD flows; [cluster.tcl](https://github.com/TILOS-AI-Institute/MacroPlacement/blob/main/CodeElements/Clustering/test/results/Cadence/ariane_cluster_500.tcl) for Cadence flows.
Output_files: [clusters.lef](https://github.com/TILOS-AI-Institute/MacroPlacement/blob/main/CodeElements/Clustering/test/results/OpenROAD/clusters.lef) and [clustered_netlist.def](https://github.com/TILOS-AI-Institute/MacroPlacement/blob/main/CodeElements/Clustering/test/results/OpenROAD/clustered_netlist.def) for OpenROAD flows; [cluster.tcl](https://github.com/TILOS-AI-Institute/MacroPlacement/blob/main/CodeElements/Clustering/test/results/Cadence/ariane_cluster_500.tcl) for Cadence flows; [ariane.pb.txt](https://github.com/TILOS-AI-Institute/MacroPlacement/blob/main/CodeElements/Clustering/test/results/Protocol_buffer_format/ariane.pb.txt) for clustered netlist in protocol buffer format.
Note that the [example](https://github.com/TILOS-AI-Institute/MacroPlacement/tree/main/CodeElements/Clustering/test) that we provide is the ariane design implemented in NanGate45. The netlist and corresponding def file with placed instances are generated by [Genus iSpatial](https://github.com/TILOS-AI-Institute/MacroPlacement/tree/main/Flows/NanGate45/ariane133) flow. Here the macro placement is automatically done by the Genus and Innovus tools,
i.e., according to Flow **(B.1)** above.
......
......@@ -128,8 +128,6 @@ class Clustering:
self.net_file, self.soft_macros, \
self.pbf_file, self.net_size_threshold, 1.0)
exit()
self.CreateInvsCluster() # Generate Innovus Clustering Commands
self.CreateDef() # Generate clustered lef and def file
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -43,6 +43,13 @@ class Port:
self.str += "node {\n"
self.str += ' name: "' + self.name + '"\n'
for sink in self.sinks:
sink_new = ''
for char in sink:
if char == '\\':
sink_new += '\\\\'
else:
sink_new += char
sink = sink_new
self.str += ' input: "' + sink + '"\n'
self.str += " attr {\n"
self.str += ' key: "type"\n'
......@@ -108,6 +115,13 @@ class StandardCell:
self.str += "node {\n"
self.str += ' name: "' + self.name + '"\n'
for sink in self.sinks:
sink_new = ''
for char in sink:
if char == '\\':
sink_new += '\\\\'
else:
sink_new += char
sink = sink_new
self.str += ' input: "' + sink + '"\n'
self.str += " attr {\n"
self.str += ' key: "type"\n'
......@@ -263,6 +277,13 @@ class MacroPin:
self.str += "node {\n"
self.str += ' name: "' + self.name + '"\n'
for sink in self.sinks:
sink_new = ''
for char in sink:
if char == '\\':
sink_new += '\\\\'
else:
sink_new += char
sink = sink_new
self.str += ' input: "' + sink + '"\n'
self.str += " attr {\n"
self.str += ' key: "macro_name"\n'
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment