add partition subflow
This commit is contained in:
parent
bebf20167c
commit
54197f5e8a
|
@ -26,7 +26,7 @@ class BranchFlow(object):
|
|||
# compare here
|
||||
syn_ckpt = cc.ops.cmp(syn_ckpt1, syn_ckpt2, self.syn_cmp)
|
||||
# syn_ckpt.save(path)
|
||||
flp_ckpt = self.flop_op(syn_ckpt, self.flp_para)
|
||||
flp_ckpt = self.flp_op(syn_ckpt, self.flp_para)
|
||||
place_ckpt = self.place_op(flp_ckpt, self.place_para)
|
||||
cts_ckpt = self.cts_op(place_ckpt, self.cts_para)
|
||||
route_ckpt = self.route_op(cts_ckpt, self.route_para)
|
||||
|
|
|
@ -21,7 +21,7 @@ class MyFlow(object):
|
|||
def build_flow(self, inp):
|
||||
syn_ckpt = self.syn_op(inp, self.syn_para)
|
||||
# syn_ckpt.save(path)
|
||||
flp_ckpt = self.flop_op(syn_ckpt, self.flp_para)
|
||||
flp_ckpt = self.flp_op(syn_ckpt, self.flp_para)
|
||||
place_ckpt = self.place_op(flp_ckpt, self.place_para)
|
||||
cts_ckpt = self.cts_op(place_ckpt, self.cts_para)
|
||||
route_ckpt = self.route_op(cts_ckpt, self.route_para)
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
import cocoon as cc
|
||||
from cc.design import Design
|
||||
|
||||
class MyFlow(object):
|
||||
def __init__(self, cfg):
|
||||
self.cfg = cfg
|
||||
self.syn_op = cc.ops.cds.synth
|
||||
self.syn_para = dict()
|
||||
self.flp_op = cc.ops.cds.flp
|
||||
self.flp_para = dict()
|
||||
self.part_op = cc.ops.part
|
||||
# self.pdn_ckpt = cc.ops.cds.pdn
|
||||
self.place_op1 = cc.ops.cds.place
|
||||
self.place_para1 = dict()
|
||||
self.place_op2 = cc.ops.dream_place.place
|
||||
self.place_para2 = dict()
|
||||
self.place_op3 = cc.ops.ntu.place
|
||||
self.place_para3 = dict()
|
||||
self.merge_op = cc.ops.merge
|
||||
self.cts_op = cc.ops.cds.cts
|
||||
self.cts_para = dict()
|
||||
self.route_op = cc.ops.cds.route
|
||||
self.route_para = dict()
|
||||
self.drc_op = cc.ops.cds.drc
|
||||
pass
|
||||
|
||||
def build_flow(self, inp):
|
||||
syn_ckpt = self.syn_op(inp, self.syn_para)
|
||||
# syn_ckpt.save(path)
|
||||
flp_ckpt = self.flp_op(syn_ckpt, self.flp_para)
|
||||
|
||||
# partition
|
||||
part1, part2, part3 = self.part_op(flp_ckpt, 3)
|
||||
# subflow
|
||||
place_ckpt1 = self.place_op1(part1, self.place_para1)
|
||||
place_ckpt2 = self.place_op1(part2, self.place_para2)
|
||||
place_ckpt3 = self.place_op1(part3, self.place_para3)
|
||||
# merge
|
||||
place_ckpt = self.merge_op([place_ckpt1, place_ckpt2, place_ckpt3])
|
||||
|
||||
cts_ckpt = self.cts_op(place_ckpt, self.cts_para)
|
||||
route_ckpt = self.route_op(cts_ckpt, self.route_para)
|
||||
drc_ckpt = self.drc_op(route_ckpt)
|
||||
return drc_ckpt
|
||||
|
||||
def main():
|
||||
cfg = {"path": "..."}
|
||||
design = Design(cfg)
|
||||
mf = MyFlow(cfg)
|
||||
ckpt = mf.build_flow(design)
|
||||
cc.engine.run(ckpt)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in New Issue