Commit c5d7ccd6 by Dinple

moved file location

parent a9442d9b
# PlacementCost
## Quick Start
Under `MACROPLACEMENT/CodeElements` directory, run the following command:
```
# Download plc_client from Google's circuit training
curl 'https://raw.githubusercontent.com/google-research/circuit_training/main/circuit_training/environment/plc_client.py' > ./Plc_client/plc_client.py
# Copies the placement cost binary to /usr/local/bin and makes it executable.
sudo curl https://storage.googleapis.com/rl-infra-public/circuit-training/placement_cost/plc_wrapper_main \
-o /usr/local/bin/plc_wrapper_main
# Run plc testbench
python -m Plc_client.plc_client_os_test
```
## HPWL Computation
$$
\begin{align*}
HPWL = \\
\end{align*}
$$
## Adjacency Matrix Computation
import unittest
import os
from Plc_client import plc_client_os as plc_client_os
from Plc_client import plc_client as plc_client
class CircuitDataBaseTest(unittest.TestCase):
# NETLIST_PATH = "./Plc_client/test/ariane_hard2soft/netlist.pb.txt"
# NETLIST_PATH = "./Plc_client/test/ariane_soft2hard/netlist.pb.txt"
# NETLIST_PATH = "./Plc_client/test/ariane_port2soft/netlist.pb.txt"
# NETLIST_PATH = "./Plc_client/test/sample_clustered_nomacro/netlist.pb.txt"
# NETLIST_PATH = "./Plc_client/test/sample_clustered_macroxy/netlist.pb.txt"
# NETLIST_PATH = "./Plc_client/test/ariane/netlist.pb.txt"
def test_proxy_cost(self):
# Google's Binary Executable
self.plc = plc_client_os.PlacementCost(self.NETLIST_PATH)
# Open-sourced Implementation
self.plc_os = plc_client_os.PlacementCost(netlist_file=self.NETLIST_PATH,
macro_macro_x_spacing = 50,
macro_macro_y_spacing = 50)
assert int(self.plc_os.get_wirelength()) == int(self.plc.get_wirelength())
def test_metadata(self):
# Google's Binary Executable
self.plc = plc_client_os.PlacementCost(self.NETLIST_PATH)
# Open-sourced Implementation
self.plc_os = plc_client_os.PlacementCost(netlist_file=self.NETLIST_PATH,
macro_macro_x_spacing = 50,
macro_macro_y_spacing = 50)
assert self.plc_os.get_block_name() == self.plc_os.get_block_name()
assert self.plc_os.get_project_name() == self.plc_os.get_project_name()
assert int(self.plc_os.get_area()) == int(self.plc_os.get_area())
self.plc.set_routes_per_micron(1.0, 2.0)
self.plc_os.set_routes_per_micron(1.0, 2.0)
assert self.plc.get_routes_per_micron() == self.plc_os.get_routes_per_micron()
self.plc.set_overlap_threshold(2.0)
self.plc_os.set_overlap_threshold(2.0)
assert self.plc.get_overlap_threshold() == self.plc_os.get_overlap_threshold()
self.plc.set_congestion_smooth_range(2.0)
self.plc_os.set_congestion_smooth_range(2.0)
assert self.plc.get_congestion_smooth_range() == self.plc_os.get_congestion_smooth_range()
self.plc.set_macro_routing_allocation(3.0, 4.0)
self.plc_os.set_macro_routing_allocation(3.0, 4.0)
assert self.plc.get_macro_routing_allocation() == self.plc_os.get_macro_routing_allocation()
assert self.plc.get_macro_adjacency() == self.plc_os.get_macro_adjacency()
def test_miscellaneous(self):
# Google's Binary Executable
self.plc = plc_client_os.PlacementCost(self.NETLIST_PATH)
# Open-sourced Implementation
self.plc_os = plc_client_os.PlacementCost(netlist_file=self.NETLIST_PATH,
macro_macro_x_spacing = 50,
macro_macro_y_spacing = 50)
if __name__ == '__main__':
unittest.main()
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
# proto-file: tensorflow/core/framework/graph.proto
# proto-message: tensorflow.GraphDef
node {
name: "rst_ni"
input: "Grp_1204/Pinput"
input: "Grp_1203/Pinput"
input: "Grp_791/Pinput"
input: "Grp_729/Pinput"
input: "Grp_654/Pinput"
input: "Grp_573/Pinput"
input: "Grp_408/Pinput"
input: "Grp_347/Pinput"
input: "Grp_145/Pinput"
attr {
key: "side"
value {
placeholder: "BOTTOM"
}
}
attr {
key: "type"
value {
placeholder: "PORT"
}
}
attr {
key: "x"
value {
f: 216.676
}
}
attr {
key: "y"
value {
f: 0.1975
}
}
}
node {
name: "Grp_1204"
attr {
key: "height"
value {
f: 0.87276214
}
}
attr {
key: "type"
value {
placeholder: "macro"
}
}
attr {
key: "width"
value {
f: 10.188343
}
}
attr {
key: "x"
value {
f: 119.31816
}
}
attr {
key: "y"
value {
f: 46.898712
}
}
}
node {
name: "Grp_1204/Pinput"
attr {
key: "macro_name"
value {
placeholder: "Grp_1204"
}
}
attr {
key: "type"
value {
placeholder: "macro_pin"
}
}
attr {
key: "x"
value {
f: 119.31816
}
}
attr {
key: "x_offset"
value {
f: 0
}
}
attr {
key: "y"
value {
f: 46.898712
}
}
attr {
key: "y_offset"
value {
f: 0
}
}
}
node {
name: "Grp_1203"
attr {
key: "height"
value {
f: 0.013427109
}
}
attr {
key: "type"
value {
placeholder: "macro"
}
}
attr {
key: "width"
value {
f: 10.188343
}
}
attr {
key: "x"
value {
f: 270.3795
}
}
attr {
key: "y"
value {
f: 55.56
}
}
}
node {
name: "Grp_1203/Pinput"
attr {
key: "macro_name"
value {
placeholder: "Grp_1203"
}
}
attr {
key: "type"
value {
placeholder: "macro_pin"
}
}
attr {
key: "x"
value {
f: 270.3795
}
}
attr {
key: "x_offset"
value {
f: 0
}
}
attr {
key: "y"
value {
f: 55.56
}
}
attr {
key: "y_offset"
value {
f: 0
}
}
}
node {
name: "Grp_791"
attr {
key: "height"
value {
f: 5.384271
}
}
attr {
key: "type"
value {
placeholder: "macro"
}
}
attr {
key: "width"
value {
f: 10.188343
}
}
attr {
key: "x"
value {
f: 209.91792
}
}
attr {
key: "y"
value {
f: 13.782457
}
}
}
node {
name: "Grp_791/Pinput"
attr {
key: "macro_name"
value {
placeholder: "Grp_791"
}
}
attr {
key: "type"
value {
placeholder: "macro_pin"
}
}
attr {
key: "x"
value {
f: 209.91792
}
}
attr {
key: "x_offset"
value {
f: 0
}
}
attr {
key: "y"
value {
f: 13.782457
}
}
attr {
key: "y_offset"
value {
f: 0
}
}
}
node {
name: "Grp_729"
attr {
key: "height"
value {
f: 10.0945015
}
}
attr {
key: "type"
value {
placeholder: "macro"
}
}
attr {
key: "width"
value {
f: 10.188343
}
}
attr {
key: "x"
value {
f: 212.21855
}
}
attr {
key: "y"
value {
f: 77.724434
}
}
}
node {
name: "Grp_729/Pinput"
attr {
key: "macro_name"
value {
placeholder: "Grp_729"
}
}
attr {
key: "type"
value {
placeholder: "macro_pin"
}
}
attr {
key: "x"
value {
f: 212.21855
}
}
attr {
key: "x_offset"
value {
f: 0
}
}
attr {
key: "y"
value {
f: 77.724434
}
}
attr {
key: "y_offset"
value {
f: 0
}
}
}
node {
name: "Grp_654"
attr {
key: "height"
value {
f: 7.755499
}
}
attr {
key: "type"
value {
placeholder: "macro"
}
}
attr {
key: "width"
value {
f: 10.188343
}
}
attr {
key: "x"
value {
f: 225.82556
}
}
attr {
key: "y"
value {
f: 84.97305
}
}
}
node {
name: "Grp_654/Pinput"
attr {
key: "macro_name"
value {
placeholder: "Grp_654"
}
}
attr {
key: "type"
value {
placeholder: "macro_pin"
}
}
attr {
key: "x"
value {
f: 225.82556
}
}
attr {
key: "x_offset"
value {
f: 0
}
}
attr {
key: "y"
value {
f: 84.97305
}
}
attr {
key: "y_offset"
value {
f: 0
}
}
}
node {
name: "Grp_573"
attr {
key: "height"
value {
f: 7.223785
}
}
attr {
key: "type"
value {
placeholder: "macro"
}
}
attr {
key: "width"
value {
f: 10.188343
}
}
attr {
key: "x"
value {
f: 167.68932
}
}
attr {
key: "y"
value {
f: 34.91934
}
}
}
node {
name: "Grp_573/Pinput"
attr {
key: "macro_name"
value {
placeholder: "Grp_573"
}
}
attr {
key: "type"
value {
placeholder: "macro_pin"
}
}
attr {
key: "x"
value {
f: 167.68932
}
}
attr {
key: "x_offset"
value {
f: 0
}
}
attr {
key: "y"
value {
f: 34.91934
}
}
attr {
key: "y_offset"
value {
f: 0
}
}
}
node {
name: "Grp_408"
attr {
key: "height"
value {
f: 9.369437
}
}
attr {
key: "type"
value {
placeholder: "macro"
}
}
attr {
key: "width"
value {
f: 10.188343
}
}
attr {
key: "x"
value {
f: 144.78984
}
}
attr {
key: "y"
value {
f: 42.249233
}
}
}
node {
name: "Grp_408/Pinput"
attr {
key: "macro_name"
value {
placeholder: "Grp_408"
}
}
attr {
key: "type"
value {
placeholder: "macro_pin"
}
}
attr {
key: "x"
value {
f: 144.78984
}
}
attr {
key: "x_offset"
value {
f: 0
}
}
attr {
key: "y"
value {
f: 42.249233
}
}
attr {
key: "y_offset"
value {
f: 0
}
}
}
node {
name: "Grp_347"
attr {
key: "height"
value {
f: 5.2446294
}
}
attr {
key: "type"
value {
placeholder: "macro"
}
}
attr {
key: "width"
value {
f: 10.188343
}
}
attr {
key: "x"
value {
f: 134.50482
}
}
attr {
key: "y"
value {
f: 72.23737
}
}
}
node {
name: "Grp_347/Pinput"
attr {
key: "macro_name"
value {
placeholder: "Grp_347"
}
}
attr {
key: "type"
value {
placeholder: "macro_pin"
}
}
attr {
key: "x"
value {
f: 134.50482
}
}
attr {
key: "x_offset"
value {
f: 0
}
}
attr {
key: "y"
value {
f: 72.23737
}
}
attr {
key: "y_offset"
value {
f: 0
}
}
}
node {
name: "Grp_145"
attr {
key: "height"
value {
f: 2.1214833
}
}
attr {
key: "type"
value {
placeholder: "macro"
}
}
attr {
key: "width"
value {
f: 10.188343
}
}
attr {
key: "x"
value {
f: 203.82744
}
}
attr {
key: "y"
value {
f: 40.768833
}
}
}
node {
name: "Grp_145/Pinput"
attr {
key: "macro_name"
value {
placeholder: "Grp_145"
}
}
attr {
key: "type"
value {
placeholder: "macro_pin"
}
}
attr {
key: "x"
value {
f: 203.82744
}
}
attr {
key: "x_offset"
value {
f: 0
}
}
attr {
key: "y"
value {
f: 40.768833
}
}
attr {
key: "y_offset"
value {
f: 0
}
}
}
\ No newline at end of file
# proto-file: tensorflow/core/framework/graph.proto
# proto-message: tensorflow.GraphDef
node {
name: "i_ariane/i_frontend/i_icache/sram_block_0__tag_sram/mem/mem_inst_mem_256x45_256x16_0x2/D[1]"
attr {
key: "macro_name"
value {
placeholder: "i_ariane/i_frontend/i_icache/sram_block_0__tag_sram/mem/mem_inst_mem_256x45_256x16_0x2"
}
}
attr {
key: "type"
value {
placeholder: "MACRO_PIN"
}
}
attr {
key: "x"
value {
f: 297.996
}
}
attr {
key: "x_offset"
value {
f: -14.5635
}
}
attr {
key: "y"
value {
f: 86.68
}
}
attr {
key: "y_offset"
value {
f: 0.01
}
}
}
node {
name: "i_ariane/i_frontend/i_icache/sram_block_1__tag_sram/mem/mem_inst_mem_256x45_256x16_0x2/D[1]"
attr {
key: "macro_name"
value {
placeholder: "i_ariane/i_frontend/i_icache/sram_block_1__tag_sram/mem/mem_inst_mem_256x45_256x16_0x2"
}
}
attr {
key: "type"
value {
placeholder: "MACRO_PIN"
}
}
attr {
key: "x"
value {
f: 298.732
}
}
attr {
key: "x_offset"
value {
f: -14.5635
}
}
attr {
key: "y"
value {
f: 67.420006
}
}
attr {
key: "y_offset"
value {
f: 0.01
}
}
}
node {
name: "i_ariane/i_frontend/i_icache/sram_block_2__tag_sram/mem/mem_inst_mem_256x45_256x16_0x2/D[1]"
attr {
key: "macro_name"
value {
placeholder: "i_ariane/i_frontend/i_icache/sram_block_2__tag_sram/mem/mem_inst_mem_256x45_256x16_0x2"
}
}
attr {
key: "type"
value {
placeholder: "MACRO_PIN"
}
}
attr {
key: "x"
value {
f: 326.2815
}
}
attr {
key: "x_offset"
value {
f: -14.5635
}
}
attr {
key: "y"
value {
f: 115.664505
}
}
attr {
key: "y_offset"
value {
f: 0.01
}
}
}
node {
name: "i_ariane/i_frontend/i_icache/sram_block_3__tag_sram/mem/mem_inst_mem_256x45_256x16_0x2/D[1]"
attr {
key: "macro_name"
value {
placeholder: "i_ariane/i_frontend/i_icache/sram_block_3__tag_sram/mem/mem_inst_mem_256x45_256x16_0x2"
}
}
attr {
key: "type"
value {
placeholder: "MACRO_PIN"
}
}
attr {
key: "x"
value {
f: 327.3775
}
}
attr {
key: "x_offset"
value {
f: -14.563
}
}
attr {
key: "y"
value {
f: 80.4385
}
}
attr {
key: "y_offset"
value {
f: 0.0095
}
}
}
node {
name: "Grp_11"
attr {
key: "height"
value {
f: 2.2826085
}
}
attr {
key: "type"
value {
placeholder: "macro"
}
}
attr {
key: "width"
value {
f: 10.188343
}
}
attr {
key: "x"
value {
f: 326.52057
}
}
attr {
key: "y"
value {
f: 53.713078
}
}
}
node {
name: "i_ariane/i_frontend/i_icache/sram_block_0__tag_sram/mem/mem_inst_mem_256x45_256x16_0x2"
attr {
key: "height"
value {
f: 19.26
}
}
attr {
key: "orientation"
value {
placeholder: "N"
}
}
attr {
key: "type"
value {
placeholder: "MACRO"
}
}
attr {
key: "width"
value {
f: 29.355
}
}
attr {
key: "x"
value {
f: 312.5595
}
}
attr {
key: "y"
value {
f: 86.67
}
}
}
node {
name: "i_ariane/i_frontend/i_icache/sram_block_1__tag_sram/mem/mem_inst_mem_256x45_256x16_0x2"
attr {
key: "height"
value {
f: 19.26
}
}
attr {
key: "orientation"
value {
placeholder: "N"
}
}
attr {
key: "type"
value {
placeholder: "MACRO"
}
}
attr {
key: "width"
value {
f: 29.355
}
}
attr {
key: "x"
value {
f: 313.2955
}
}
attr {
key: "y"
value {
f: 67.41
}
}
}
node {
name: "i_ariane/i_frontend/i_icache/sram_block_2__tag_sram/mem/mem_inst_mem_256x45_256x16_0x2"
attr {
key: "height"
value {
f: 19.26
}
}
attr {
key: "orientation"
value {
placeholder: "N"
}
}
attr {
key: "type"
value {
placeholder: "MACRO"
}
}
attr {
key: "width"
value {
f: 29.355
}
}
attr {
key: "x"
value {
f: 340.845
}
}
attr {
key: "y"
value {
f: 115.6545
}
}
}
node {
name: "i_ariane/i_frontend/i_icache/sram_block_3__tag_sram/mem/mem_inst_mem_256x45_256x16_0x2"
attr {
key: "height"
value {
f: 19.26
}
}
attr {
key: "orientation"
value {
placeholder: "N"
}
}
attr {
key: "type"
value {
placeholder: "MACRO"
}
}
attr {
key: "width"
value {
f: 29.355
}
}
attr {
key: "x"
value {
f: 341.9405
}
}
attr {
key: "y"
value {
f: 80.429
}
}
}
node {
name: "Grp_11/Poutput_multi_5"
input: "i_ariane/i_frontend/i_icache/sram_block_0__tag_sram/mem/mem_inst_mem_256x45_256x16_0x2/D[1]"
input: "i_ariane/i_frontend/i_icache/sram_block_1__tag_sram/mem/mem_inst_mem_256x45_256x16_0x2/D[1]"
input: "i_ariane/i_frontend/i_icache/sram_block_2__tag_sram/mem/mem_inst_mem_256x45_256x16_0x2/D[1]"
input: "i_ariane/i_frontend/i_icache/sram_block_3__tag_sram/mem/mem_inst_mem_256x45_256x16_0x2/D[1]"
attr {
key: "macro_name"
value {
placeholder: "Grp_11"
}
}
attr {
key: "type"
value {
placeholder: "macro_pin"
}
}
attr {
key: "x"
value {
f: 326.52057
}
}
attr {
key: "x_offset"
value {
f: 0
}
}
attr {
key: "y"
value {
f: 53.713078
}
}
attr {
key: "y_offset"
value {
f: 0
}
}
}
\ No newline at end of file
# Placement file for Circuit Training
# Source input file(s) : circuit_training/environment/test_data/sample_clustered/netlist.pb.txt
# This file : circuit_training/environment/test_data/sample_clustered/initial.plc
# Date : 2022-03-13 09:30:00
# Columns : 2 Rows : 2
# Width : 600.000 Height : 600.000
# Area : 17603.53279986302
# Wirelength : 0.0
# Wirelength cost : 0.0
# Congestion cost : 0.0
# Density cost : 0.2305
# Project : circuit_training
# Block : sample_clustered
# Routes per micron, hor : 70.33 ver : 74.51
# Routes used by macros, hor : 51.79 ver : 51.79
# Smoothing factor : 2
# Overlap threshold : 0.004
#
#
#
# Counts of node types:
# HARD_MACROs : 2
# HARD_MACRO_PINs : 4
# MACROs : 3
# MACRO_PINs : 6
# PORTs : 2
# SOFT_MACROs : 1
# SOFT_MACRO_PINs : 2
# STDCELLs : 0
#
# node_index x y orientation fixed
0 0 100 - 1
1 499 499 - 1
2 125 375 N 0
3 375 375 N 0
8 170 310 N 0
# proto-file: tensorflow/core/framework/graph.proto
# proto-message: tensorflow.GraphDef
node {
name: "P0"
input: "Grp_2/Pinput"
input: "M0/P0"
attr {
key: "side"
value {
placeholder: "LEFT"
}
}
attr {
key: "type"
value {
placeholder: "PORT"
}
}
attr {
key: "x"
value {
f: 0
}
}
attr {
key: "y"
value {
f: 100
}
}
}
node {
name: "P1"
attr {
key: "side"
value {
placeholder: "TOP"
}
}
attr {
key: "type"
value {
placeholder: "PORT"
}
}
attr {
key: "x"
value {
f: 499
}
}
attr {
key: "y"
value {
f: 499
}
}
}
node {
name: "M0"
attr {
key: "height"
value {
f: 50
}
}
attr {
key: "orientation"
value {
placeholder: "N"
}
}
attr {
key: "type"
value {
placeholder: "MACRO"
}
}
attr {
key: "x"
value {
f: 200
}
}
attr {
key: "y"
value {
f: 200
}
}
attr {
key: "width"
value {
f: 50
}
}
}
node {
name: "M1"
attr {
key: "height"
value {
f: 40
}
}
attr {
key: "orientation"
value {
placeholder: "N"
}
}
attr {
key: "type"
value {
placeholder: "MACRO"
}
}
attr {
key: "x"
value {
f: 100
}
}
attr {
key: "y"
value {
f: 100
}
}
attr {
key: "width"
value {
f: 40
}
}
}
node {
name: "M0/P0"
attr {
key: "macro_name"
value {
placeholder: "M0"
}
}
attr {
key: "type"
value {
placeholder: "MACRO_PIN"
}
}
attr {
key: "x_offset"
value {
f: -50
}
}
attr {
key: "y_offset"
value {
f: 50
}
}
attr {
key: "x"
value {
f: 150
}
}
attr {
key: "y"
value {
f: 250
}
}
}
node {
name: "M0/P1"
input: "Grp_2/Pinput"
attr {
key: "macro_name"
value {
placeholder: "M0"
}
}
attr {
key: "type"
value {
placeholder: "MACRO_PIN"
}
}
attr {
key: "x_offset"
value {
f: 50
}
}
attr {
key: "y_offset"
value {
f: 50
}
}
attr {
key: "x"
value {
f: 250
}
}
attr {
key: "y"
value {
f: 250
}
}
}
node {
name: "M1/P0"
attr {
key: "macro_name"
value {
placeholder: "M1"
}
}
attr {
key: "type"
value {
placeholder: "MACRO_PIN"
}
}
attr {
key: "x_offset"
value {
f: -20
}
}
attr {
key: "y_offset"
value {
f: 20
}
}
attr {
key: "x"
value {
f: 80
}
}
attr {
key: "y"
value {
f: 120
}
}
}
node {
name: "M1/P1"
input: "P1"
attr {
key: "macro_name"
value {
placeholder: "M1"
}
}
attr {
key: "type"
value {
placeholder: "MACRO_PIN"
}
}
attr {
key: "x_offset"
value {
f: 20
}
}
attr {
key: "y_offset"
value {
f: 20
}
}
attr {
key: "x"
value {
f: 120
}
}
attr {
key: "y"
value {
f: 120
}
}
}
node {
name: "Grp_2"
attr {
key: "height"
value {
f: 0.20625865
}
}
attr {
key: "type"
value {
placeholder: "macro"
}
}
attr {
key: "width"
value {
f: 17.128008
}
}
attr {
key: "x"
value {
f: 20
}
}
attr {
key: "y"
value {
f: 45
}
}
}
node {
name: "Grp_2/Poutput_single_0"
input: "M1/P0"
attr {
key: "macro_name"
value {
placeholder: "Grp_2"
}
}
attr {
key: "type"
value {
placeholder: "macro_pin"
}
}
attr {
key: "x"
value {
f: 20
}
}
attr {
key: "x_offset"
value {
f: 0
}
}
attr {
key: "y"
value {
f: 45
}
}
attr {
key: "y_offset"
value {
f: 0
}
}
}
node {
name: "Grp_2/Pinput"
attr {
key: "macro_name"
value {
placeholder: "Grp_2"
}
}
attr {
key: "type"
value {
placeholder: "macro_pin"
}
}
attr {
key: "x"
value {
f: 20
}
}
attr {
key: "x_offset"
value {
f: 0
}
}
attr {
key: "y"
value {
f: 45
}
}
attr {
key: "y_offset"
value {
f: 0
}
}
}
# Placement file for Circuit Training
# Source input file(s) : circuit_training/environment/test_data/sample_clustered/netlist.pb.txt
# This file : circuit_training/environment/test_data/sample_clustered/initial.plc
# Date : 2022-03-13 09:30:00
# Columns : 2 Rows : 2
# Width : 600.000 Height : 600.000
# Area : 17603.53279986302
# Wirelength : 0.0
# Wirelength cost : 0.0
# Congestion cost : 0.0
# Density cost : 0.2305
# Project : circuit_training
# Block : sample_clustered
# Routes per micron, hor : 70.33 ver : 74.51
# Routes used by macros, hor : 51.79 ver : 51.79
# Smoothing factor : 2
# Overlap threshold : 0.004
#
#
#
# Counts of node types:
# HARD_MACROs : 2
# HARD_MACRO_PINs : 4
# MACROs : 3
# MACRO_PINs : 6
# PORTs : 2
# SOFT_MACROs : 1
# SOFT_MACRO_PINs : 2
# STDCELLs : 0
#
# node_index x y orientation fixed
0 0 100 - 1
1 499 499 - 1
2 125 375 N 0
3 375 375 N 0
8 170 310 N 0
# proto-file: tensorflow/core/framework/graph.proto
# proto-message: tensorflow.GraphDef
node {
name: "P0"
input: "Grp_2/Pinput"
input: "P1"
attr {
key: "side"
value {
placeholder: "LEFT"
}
}
attr {
key: "type"
value {
placeholder: "PORT"
}
}
attr {
key: "x"
value {
f: 0
}
}
attr {
key: "y"
value {
f: 100
}
}
}
node {
name: "P1"
attr {
key: "side"
value {
placeholder: "TOP"
}
}
attr {
key: "type"
value {
placeholder: "PORT"
}
}
attr {
key: "x"
value {
f: 499
}
}
attr {
key: "y"
value {
f: 499
}
}
}
node {
name: "Grp_2"
attr {
key: "height"
value {
f: 0.20625865
}
}
attr {
key: "type"
value {
placeholder: "macro"
}
}
attr {
key: "width"
value {
f: 17.128008
}
}
attr {
key: "x"
value {
f: 20
}
}
attr {
key: "y"
value {
f: 45
}
}
}
node {
name: "Grp_2/Poutput_single_0"
input: "P0"
attr {
key: "macro_name"
value {
placeholder: "Grp_2"
}
}
attr {
key: "type"
value {
placeholder: "macro_pin"
}
}
attr {
key: "x"
value {
f: 20
}
}
attr {
key: "x_offset"
value {
f: 0
}
}
attr {
key: "y"
value {
f: 45
}
}
attr {
key: "y_offset"
value {
f: 0
}
}
}
node {
name: "Grp_2/Pinput"
attr {
key: "macro_name"
value {
placeholder: "Grp_2"
}
}
attr {
key: "type"
value {
placeholder: "macro_pin"
}
}
attr {
key: "x"
value {
f: 20
}
}
attr {
key: "x_offset"
value {
f: 0
}
}
attr {
key: "y"
value {
f: 45
}
}
attr {
key: "y_offset"
value {
f: 0
}
}
}
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