rdp_partition.ss 10.3 KB

search_path = search_path + "../src" + "../../inc" + \
   "../../../lib/verilog/user" + "../../syn"

/* read the verilog sources */

/* at */
read -f verilog ../../at/src/at.v
read -f verilog ../../at/src/at_bl.v
read -f verilog ../../at/src/at_cc.v
read -f verilog ../../at/src/at_ew.v
read -f verilog ../../at/src/at_ms.v
read -f verilog ../../at/src/at_tc.v
read -f verilog ../../at/src/at_ctr2.v
read -f verilog ../../at/src/at_ctr3.v
read -f verilog ../../at/src/at_ctr4.v
read -f verilog ../../at/src/at_ctw2.v
read -f verilog ../../at/src/at_ctw3.v
read -f verilog ../../at/src/at_ctw4.v
read -f verilog ../../at/src/at_ctrb.v
read -f verilog ../../at/src/at_ctrn.v
read -f verilog ../../at/src/at_latch_l.v
read -f verilog ../../at/src/at_latch_h.v
read -f verilog ../../at/src/at_latch1.v
read -f verilog ../../at/src/at_latch3.v
read -f verilog ../../at/src/at_latch23.v
read -f verilog ../../at/src/at_latch32.v
read -f verilog ../../at/src/at_latch56.v
read -f verilog ../../at/src/at_latch64.v
/* bl */
read -f verilog ../../bl/src/bl_add.v
read -f verilog ../../bl/src/bl_cvg2.v
read -f verilog ../../bl/src/bl_cvg3.v
read -f verilog ../../bl/src/bl_dec.v
read -f verilog ../../bl/src/bl_deltaz.v
read -f verilog ../../bl/src/bl_deltaz_quant.v
read -f verilog ../../bl/src/bl_deltaz_add15.v
read -f verilog ../../bl/src/bl_div.v
read -f verilog ../../bl/src/bl_enc.v
read -f verilog ../../bl/src/bl_exp.v
read -f verilog ../../bl/src/bl_lerp.v
read -f verilog ../../bl/src/bl_lerp_add10.v
read -f verilog ../../bl/src/bl_lerp_and.v
read -f verilog ../../bl/src/bl_lerp_fa5.v
read -f verilog ../../bl/src/bl_lerp_fa6.v
read -f verilog ../../bl/src/bl_lerp_fa7.v
read -f verilog ../../bl/src/bl_lerp_fa8.v
read -f verilog ../../bl/src/bl_lerp_fa9.v
read -f verilog ../../bl/src/bl_lerp_faso.v
read -f verilog ../../bl/src/bl_lerp_ha1.v
read -f verilog ../../bl/src/bl_lerp_ha3.v
read -f verilog ../../bl/src/bl_lerp_haso.v
read -f verilog ../../bl/src/bl_log.v
read -f verilog ../../bl/src/bl_mux8.v
read -f verilog ../../bl/src/bl_muxa.v
read -f verilog ../../bl/src/bl_muxb.v
read -f verilog ../../bl/src/bl_mxpm.v
read -f verilog ../../bl/src/bl_norm.v
read -f verilog ../../bl/src/bl_nrma.v
read -f verilog ../../bl/src/bl_nrmb.v
read -f verilog ../../bl/src/bl_zcomp_gt.v
read -f verilog ../../bl/src/bl_zcomp.v
read -f verilog ../../bl/src/bl_max.v
read -f verilog ../../bl/src/bl.v
/* cc */
read -f verilog ../../cc/src/cc_abs16n.v
read -f verilog ../../cc/src/cc_add12.v
read -f verilog ../../cc/src/cc_edge_add.v
read -f verilog ../../cc/src/cc_edge_booth.v
read -f verilog ../../cc/src/cc_edge_booth0.v
read -f verilog ../../cc/src/cc_edge_booth1.v
read -f verilog ../../cc/src/cc_edge_booth2.v
read -f verilog ../../cc/src/cc_edge_csa.v
read -f verilog ../../cc/src/cc_edge_ctrl.v
read -f verilog ../../cc/src/cc_edge_div.v
read -f verilog ../../cc/src/cc_inc4.v
read -f verilog ../../cc/src/cc_key.v
read -f verilog ../../cc/src/cc_key_gt.v
read -f verilog ../../cc/src/cc_key_mux.v
read -f verilog ../../cc/src/cc_key_clamp.v
read -f verilog ../../cc/src/cc_lerp.v
read -f verilog ../../cc/src/cc_lerp_booth.v
read -f verilog ../../cc/src/cc_lerp_booth0.v
read -f verilog ../../cc/src/cc_lerp_booth7.v
read -f verilog ../../cc/src/cc_lerp_booth8.v
read -f verilog ../../cc/src/cc_lerp_csa.v
read -f verilog ../../cc/src/cc_lerp_csa_add12.v
read -f verilog ../../cc/src/cc_lerp_csa_fa10.v
read -f verilog ../../cc/src/cc_lerp_csa_fa11.v
read -f verilog ../../cc/src/cc_lerp_csa_fa14.v
read -f verilog ../../cc/src/cc_lerp_csa_fa8.v
read -f verilog ../../cc/src/cc_lerp_csa_fa9.v
read -f verilog ../../cc/src/cc_lerp_csa_faso.v
read -f verilog ../../cc/src/cc_lerp_csa_ha1.v
read -f verilog ../../cc/src/cc_lerp_csa_ha3.v
read -f verilog ../../cc/src/cc_lerp_csa_ha5.v
read -f verilog ../../cc/src/cc_mxaa.v
read -f verilog ../../cc/src/cc_mxar.v
read -f verilog ../../cc/src/cc_mxca.v
read -f verilog ../../cc/src/cc_mxcr.v
read -f verilog ../../cc/src/cc_mxxa.v
read -f verilog ../../cc/src/cc_mxxr.v
read -f verilog ../../cc/src/cc_mxya.v
read -f verilog ../../cc/src/cc_mxyr.v
read -f verilog ../../cc/src/cc.v
/* cs */
read -f verilog ../../cs/src/cs.v
read -f verilog ../../cs/src/csclk.v
read -f verilog ../../cs/src/csdatamux.v
read -f verilog ../../cs/src/csdecode.v
read -f verilog ../../cs/src/csfiforptr.v
read -f verilog ../../cs/src/csgclk.v
read -f verilog ../../cs/src/cspartdec.v
read -f verilog ../../cs/src/csshuffle.v
read -f verilog ../../cs/src/csadder5b.v
read -f verilog ../../cs/src/csshuftbl.v
/* cv */
read -f verilog ../../cv/src/cv.v
read -f verilog ../../cv/src/cvcompl.v
read -f verilog ../../cv/src/cvcompr.v
read -f verilog ../../cv/src/cvg.v
read -f verilog ../../cv/src/cvmask.v
read -f verilog ../../cv/src/cvoffset.v
read -f verilog ../../cv/src/cvpipe.v
read -f verilog ../../cv/src/cvvalue.v
read -f verilog ../../cv/src/cvxcnt.v
/* ep */
read -f verilog ../../ep/src/ep.v
read -f verilog ../../ep/src/ep_cc.v
read -f verilog ../../ep/src/ep_tc.v
/* ew */
read -f verilog ../../ew/src/ewctr.v
read -f verilog ../../ew/src/ew.v
read -f verilog ../../ew/src/ewaddr.v
read -f verilog ../../ew/src/ewrfdelay.v
read -f verilog ../../ew/src/ew32blatch.v
read -f verilog ../../ew/src/ewrf32b18w.v
read -f verilog ../../ew/src/adder16b.v
read -f verilog ../../ew/src/ewattadder.v
read -f verilog ../../ew/src/ewshuffle.v
read -f verilog ../../ew/src/ewattseldxdy.v
read -f verilog ../../ew/src/ewattoffseti.v
read -f verilog ../../ew/src/ha.v
read -f verilog ../../ew/src/ewatt.v
read -f verilog ../../ew/src/adder27bi.v
read -f verilog ../../ew/src/ewx.v
read -f verilog ../../ew/src/ewscx.v
read -f verilog ../../ew/src/ewscy.v
read -f verilog ../../ew/src/ewscyinc14b.v
read -f verilog ../../ew/src/ewras.v
/* ms */
read -f verilog ../../ms/src/ms.v
read -f verilog ../../ms/src/ms_drvd.v
read -f verilog ../../ms/src/ms_drve.v
read -f verilog ../../ms/src/ms_debug.v
read -f verilog ../../ms/src/ms_dma.v
read -f verilog ../../ms/src/ms_drvt.v
read -f verilog ../../ms/src/ms_rand.v
read -f verilog ../../ms/src/ms_rp.v
read -f verilog ../../ms/src/ms_sc.v
read -f verilog ../../ms/src/ms_si.v
read -f verilog ../../ms/src/ms_sm.v
read -f verilog ../../ms/src/ms_latch_h.v
read -f verilog ../../ms/src/ms_latch8.v
read -f verilog ../../ms/src/ms_latch10.v
read -f verilog ../../ms/src/ms_latch72.v
read -f verilog ../../ms/src/ms_latch144.v
/* st */
read -f verilog ../../st/src/st.v
read -f verilog ../../st/src/adder21b.v
read -f verilog ../../st/src/strgbaoffseti.v
read -f verilog ../../st/src/strgba.v
read -f verilog ../../st/src/adder27b.v
read -f verilog ../../st/src/ststwl.v
read -f verilog ../../st/src/adder32b.v
read -f verilog ../../st/src/stzoffseti.v
read -f verilog ../../st/src/stz.v
/* tc */
read -f verilog ../../tc/src/tc.v
read -f verilog ../../tc/src/tc_adj.v
read -f verilog ../../tc/src/tc_adrs.v
read -f verilog ../../tc/src/tc_div.v
read -f verilog ../../tc/src/tc_frac.v
read -f verilog ../../tc/src/tc_lod.v
read -f verilog ../../tc/src/tc_sort.v
read -f verilog ../../tc/src/tc_tilemem.v
/* tf */
read -f verilog ../../tf/src/tf.v
read -f verilog ../../tf/src/tf_mux9.v 
read -f verilog ../../tf/src/tf_lerp.v
read -f verilog ../../tf/src/tf_lerp_booth.v 
read -f verilog ../../tf/src/tf_lerp_booth0.v 
read -f verilog ../../tf/src/tf_lerp_booth8.v
read -f verilog ../../tf/src/tf_lerp_csa.v
read -f verilog ../../tf/src/tf_lerp_csa_fa8.v 
read -f verilog ../../tf/src/tf_lerp_csa_fa9.v 
read -f verilog ../../tf/src/tf_lerp_csa_fa10.v 
read -f verilog ../../tf/src/tf_lerp_csa_fa11.v 
read -f verilog ../../tf/src/tf_lerp_csa_fa12.v 
read -f verilog ../../tf/src/tf_lerp_csa_fa13.v
read -f verilog ../../tf/src/tf_lerp_csa_ha1.v 
read -f verilog ../../tf/src/tf_lerp_csa_ha2.v 
read -f verilog ../../tf/src/tf_lerp_csa_ha3.v
read -f verilog ../../tf/src/tf_lerp_csa_haco.v 
read -f verilog ../../tf/src/tf_lerp_csa_faco.v 
read -f verilog ../../tf/src/tf_lerp_csa_faso.v
read -f verilog ../../tf/src/tf_lerp_csa_add12.v
/* tm */
read -f verilog ../../tm/src/ram_bist_tmem.v
read -f verilog ../../tm/src/tm.v
read -f verilog ../../tm/src/tm_half.v
read -f verilog ../../tm/src/tm_load.v
read -f verilog ../../tm/src/tm_mux.v

/* lib/verilog/user */
read -f verilog cbus_driver.v
read -f verilog dbus_driver.v
read -f verilog ebus_driver.v
read -f verilog tmem_driver.v

/* rdp top-level */

read -f verilog rdp.v

current_design = rdp

link 

/*  Partition top-level rdp netlist for physical design */

sub_modules = {at_tc, at_ew, at_cc, at_bl, at_ms, \
	       bl, cc, cs, cv, ep_cc, ep_tc, ew, \
	       ststwl, strgba, stz, tc, tf, tm, ms}

set_dont_touch sub_modules

ungroup -all -flatten 

/* combine tm and tf */
current_design = rdp
group {tm, tf} -design_name tm_tf -cell_name tm_tf
current_design = tm_tf
set_dont_touch tm_tf

/* combine cs, ew and cv, plus the steppers and attribute buffers */
current_design = rdp
group {cs, ew, cv, at/atew} -design_name cs_ew_cv -cell_name cs_ew_cv
current_design = cs_ew_cv
set_dont_touch cs_ew_cv

/* combine cc with the steppers, ew pipe, and attribute buffers */
current_design = rdp
group {cc, st/bluestepper, st/redstepper, st/greenstepper, \
       st/alphastepper, ep/epcc, at/atcc} -design_name cc_logic -cell_name cc_logic
current_design = cc_logic
set_dont_touch cc_logic

/* combine bl with the steppers, and attribute buffers */
current_design = rdp
group {bl, st/depthstepper, at/atbl} -design_name bl_logic -cell_name bl_logic
current_design = bl_logic
set_dont_touch bl_logic

/* combine tc with the steppers, ew pipe, and attribute buffers */
current_design = rdp
group {tc, st/sstepper, st/tstepper, st/wstepper, st/lstepper, ep/eptc, \
       at/attc} -design_name tc_logic -cell_name tc_logic
current_design = tc_logic
set_dont_touch tc_logic

/* combine ms with the attribute buffers */
current_design = rdp
group {ms, at/atms} -design_name memspan -cell_name memspan
current_design = memspan
set_dont_touch memspan


current_design = rdp

report_reference

/* enforce naming restrictions for Compass tools */
change_names -rules compass_rules -hierarchy

check_design > rdp_partition.lint

report_reference

/*  Write out partitioned edif netlists for synth & layout */

write -f edif -o rdp.edf_p rdp
write -f edif -o bl_logic.edf_p bl_logic
write -f edif -o cc_logic.edf_p cc_logic
write -f edif -o tc_logic.edf_p tc_logic
write -f edif -o tm_tf.edf_p tm_tf
write -f edif -o memspan.edf_p memspan
write -f edif -o cs_ew_cv.edf_p cs_ew_cv

quit