CUSTOMER INPUTS :
Following HMs (14) are frozen in FN1 release with no further planned change
IO
hm_io_nw
hm_io_sw
hm_io_e
hm_io_big
hm_io_pm
DPD
hm_ae
hm_be
hm_grad
hm_iop
DFE
hm_dl
hm_clipo
hm_clipi
ETH
hm_xlgx
hm_mac
Following HMs (11) have some bug fixes and netlist will be refreshed in FN2 release
DFE
hm_ulcap
PSS
hm_pss
hm_msix
CONV (RFIF+JESD)
hm_conv_n
hm_conv_s
ETH
hm_efr_n
hm_efr_s
L1low
hm_l1dl
hm_l1ul
FHASIP
hm_fh_n
hm_fh_s
LEVEL SHIFTERS :
/project/mercury/source/FN.1/80_blockdrop/LS_Check_Dir/hm_fh_n_input_LS.rpt
/project/mercury/source/FN.1/80_blockdrop/LS_Check_Dir/hm_fh_s_input_LS.rpt
/project/mercury/source/FN.1/80_blockdrop/LS_Check_Dir/hm_mac_input_LS.rpt
/project/mercury/source/FN.1/80_blockdrop/LS_Check_Dir/hm_pss_input_LS.rpt
/project/mercury/source/FN.1/80_blockdrop/LS_Check_Dir/hm_xlgx_input_LS.rpt
/project/mercury/source/FN.1/80_blockdrop/LS_Check_Dir/pss_subsys_nokmercury_input_LS.rpt
Power paving :
hm_pss
pcie_ss_pcie_0
hm_ae [ to the right side only ]
Logic spread :
hm_conv_n/s
hm_grad [ first level flops]
hm_io_e
DCAP AREA :
hm_grad
hm_ae
Floorplaning near corners :
hm_ae [ To move memory near corner]
pcie_ss_pcie_0 [ To move memory near corner]
MBIT : To add interactive code to forcefully increase MBIT%
hm_ae
hm_msix
Latency :
hm_grad : H-tree to be built for "clk_core_a_div1" for minimum latency
hm_mac : clk_core_a_div1 : 400ps
hm_pss : clk_core_a_div1 , clk_core_a_div2 : 400ps
hm_msix : clk_mcu_a_div2_CLK : 400ps
pss_subsys_nokmercury : clk_core_a_div1 : 400ps
pcie_ss_pcie_0 : pipe_clk_core* to have minimum latency
I/O blocks / PLL blocks : 400ps latency
DONT TOUCH :
We have dont touch file from customer . Added a command in block execution steps . Please ensure that it is taken care
Output port ISO down sized : FROM X32 to X16
hm_grad
hm_be
TAP FUCTIONAL CLOCK FROM HM_PSS
We need to ensure that below path from "flop" to "port" are built as clock with proper NDR and shield .
FLOP : i_pss_pp__i_ijtag001__inst_mars_ijtag_ahb_registers__Delay_reg2_0__0_
PORT : TEST_CORE_TCK_OUT
FOR BELOW BLOCKS :
hm_ae
hm_clipi
hm_clipo
hm_conv_n
hm_conv_s
hm_dl
hm_efr_n
hm_efr_s
hm_fh_n
hm_fh_s
hm_grad
hm_iop
hm_l1dl
hm_l1ul
hm_mac
hm_msix
hm_ulcap
hm_xlgx
pss_subsys_nokmercury
newgrp design_apd
cd /project/mercury
/bin/bash
. /project/mercury/bin/chip_env_FN.1 -proj_dir FN.1_postdft_08182025 -prog_desc FN.1
export DROP_DATA=/project/mercury/source/FN.1/80_blockdrop/FN.1.fp17.nv_run.17Aug2025_Rel_V1
export MY_BLOCK=<your block name here - see the list below>
export MY_BLOCK_ROOT=$BLOCKPATH/$MY_BLOCK
/project/mercury/bin/mercury_block_setup
cd $GEV_PROJECT_ROOT/user/$USER/$PROJECT_DIR/impl/$MY_BLOCK
cat $GEV_PROJECT_ROOT/user/$USER/$PROJECT_DIR/impl/$MY_BLOCK/scripts/con/${MY_BLOCK}.trc_waivers | gawk '/nochain_flop_instance/ {print $2}' > SIZE_ONLY
cat $GEV_PROJECT_ROOT/user/$USER/$PROJECT_DIR/impl/$MY_BLOCK/scripts/con/${MY_BLOCK}.tetrc_waivers | gawk '/nochain_flop_instance/ {print $2}' | sed "s/\\///g" >> SIZE_ONLY
cat /project/mercury/data_transfer/incoming/release_ww29_2025_FN1_07162025/release_ww29_2025_FN1/$MY_BLOCK/reports/${MY_BLOCK}.dont_touch.rpt | awk '{print $3}' | sed "s/\//__/g" | sed "s/]//" >> SIZE_ONLY
( For pss_subsys_nokmercury : cat /project/mercury/data_transfer/incoming/pss_subsys_nokmercury_dont_touch_list_0819/pss_subsys_nokmercury-sizeonly.tcl >> SIZE_ONLY )
sort -u SIZE_ONLY > source/${MY_BLOCK}.size_only_list.tcl
zgrep "get_pins" source/${MY_BLOCK}.sdc | grep -e "\/phi" -e "\/q" -e "\/d" | grep set_multicycle_path | sed 's/\[get_pins/\n \[get_pins/g' | grep -e "\/phi" -e "\/q" -e "\/d" | awk '{print $NF}' | sort -u | sed 's/\// /' | awk '{print $1}' | sort -u >> source/${MY_BLOCK}.size_only_list.tcl
FOR BELOW BLOCKS :
hm_be
hm_pss
pcie_ss_pcie_0
newgrp design_apd
cd /project/mercury
/bin/bash
. /project/mercury/bin/chip_env_FN.1 -proj_dir FN.1_postdft_08182025 -prog_desc FN.1
export DROP_DATA=/project/mercury/source/FN.1.1/80_blockdrop/FN.1.fp17.nv_run.17Aug2025_Rel_V2
export MY_BLOCK=<your block name here - see the list below>
export MY_BLOCK_ROOT=$BLOCKPATH/$MY_BLOCK
/project/mercury/bin/mercury_block_setup
cd $GEV_PROJECT_ROOT/user/$USER/$PROJECT_DIR/impl/$MY_BLOCK
cat $GEV_PROJECT_ROOT/user/$USER/$PROJECT_DIR/impl/$MY_BLOCK/scripts/con/${MY_BLOCK}.trc_waivers | gawk '/nochain_flop_instance/ {print $2}' > SIZE_ONLY
cat $GEV_PROJECT_ROOT/user/$USER/$PROJECT_DIR/impl/$MY_BLOCK/scripts/con/${MY_BLOCK}.tetrc_waivers | gawk '/nochain_flop_instance/ {print $2}' | sed "s/\\///g" >> SIZE_ONLY
cat /project/mercury/data_transfer/incoming/release_ww33_2025_FN1_incr_1_0814/release_ww33_2025_FN1_incr_1/$MY_BLOCK/reports/${MY_BLOCK}.dont_touch.rpt | awk '{print $3}' | sed "s/\//__/g" | sed "s/]//" >> SIZE_ONLY
( For pcie_ss_pcie_0 : cat /project/mercury/data_transfer/incoming/pcie_ss_pcie_0_dont_touch_list_0819/dont_touch_pcie_ss.rpt >> SIZE_ONLY )
sort -u SIZE_ONLY > source/${MY_BLOCK}.size_only_list.tcl
zgrep "get_pins" source/${MY_BLOCK}.sdc | grep -e "\/phi" -e "\/q" -e "\/d" | grep set_multicycle_path | sed 's/\[get_pins/\n \[get_pins/g' | grep -e "\/phi" -e "\/q" -e "\/d" | awk '{print $NF}' | sort -u | sed 's/\// /' | awk '{print $1}' | sort -u >> source/${MY_BLOCK}.size_only_list.tcl
FOR BELOW BLOCKS :
lv_top_core_pll_0
nv_top_mcu_pll_0
nv_top_pcie_pll_0
sbus_qmmi_qmmi_pll_wrapper_0
newgrp design_apd
cd /project/mercury
/bin/bash
. /project/mercury/bin/chip_env_FN.1 -proj_dir FN.1_postdft_08192025 -prog_desc FN.1
export DROP_DATA= /project/mercury/source/FN.1/80_blockdrop/FN.1.fp17.nv_run.18Aug2025_Rel_V3
export MY_BLOCK=<your block name here - see the list below>
export MY_BLOCK_ROOT=$BLOCKPATH/$MY_BLOCK
/project/mercury/bin/mercury_block_setup
cd $GEV_PROJECT_ROOT/user/$USER/$PROJECT_DIR/impl/$MY_BLOCK
FOR BELOW BLOCKS :
hm_io_big
hm_io_pm
newgrp design_apd
cd /project/mercury
/bin/bash
. /project/mercury/bin/chip_env_FN.1 -proj_dir FN.1_postdft_08192025 -prog_desc FN.1
export DROP_DATA= /project/mercury/source/FN.1/80_blockdrop/FN.1.fp17.nv_run.18Aug2025_Rel_V4
export MY_BLOCK=<your block name here - see the list below>
export MY_BLOCK_ROOT=$BLOCKPATH/$MY_BLOCK
/project/mercury/bin/mercury_block_setup
cd $GEV_PROJECT_ROOT/user/$USER/$PROJECT_DIR/impl/$MY_BLOCK
cat $GEV_PROJECT_ROOT/user/$USER/$PROJECT_DIR/impl/$MY_BLOCK/scripts/con/${MY_BLOCK}.trc_waivers | gawk '/nochain_flop_instance/ {print $2}' > SIZE_ONLY
cat $GEV_PROJECT_ROOT/user/$USER/$PROJECT_DIR/impl/$MY_BLOCK/scripts/con/${MY_BLOCK}.tetrc_waivers | gawk '/nochain_flop_instance/ {print $2}' | sed "s/\\///g" >> SIZE_ONLY
cat /project/mercury/data_transfer/incoming/release_ww29_2025_FN1_07162025/release_ww29_2025_FN1/$MY_BLOCK/reports/${MY_BLOCK}.dont_touch.rpt | awk '{print $3}' | sed "s/\//__/g" | sed "s/]//" >> SIZE_ONLY
zgrep "get_pins" source/${MY_BLOCK}.sdc | grep -e "\/phi" -e "\/q" -e "\/d" | grep set_multicycle_path | sed 's/\[get_pins/\n \[get_pins/g' | grep -e "\/phi" -e "\/q" -e "\/d" | awk '{print $NF}' | sort -u | sed 's/\// /' | awk '{print $1}' | sort -u >> source/${MY_BLOCK}.size_only_list.tcl
FOR BELOW BLOCKS :
hm_io_e
hm_io_nw
hm_io_sw
newgrp design_apd
cd /project/mercury
/bin/bash
. /project/mercury/bin/chip_env_FN.1 -proj_dir FN.1_postdft_08192025 -prog_desc FN.1
export DROP_DATA= /project/mercury/source/FN.1.1/80_blockdrop/FN.1.fp17.nv_run.17Aug2025_Rel_V5
export MY_BLOCK=<your block name here - see the list below>
export MY_BLOCK_ROOT=$BLOCKPATH/$MY_BLOCK
/project/mercury/bin/mercury_block_setup
cd $GEV_PROJECT_ROOT/user/$USER/$PROJECT_DIR/impl/$MY_BLOCK
cat $GEV_PROJECT_ROOT/user/$USER/$PROJECT_DIR/impl/$MY_BLOCK/scripts/con/${MY_BLOCK}.trc_waivers | gawk '/nochain_flop_instance/ {print $2}' > SIZE_ONLY
cat $GEV_PROJECT_ROOT/user/$USER/$PROJECT_DIR/impl/$MY_BLOCK/scripts/con/${MY_BLOCK}.tetrc_waivers | gawk '/nochain_flop_instance/ {print $2}' | sed "s/\\///g" >> SIZE_ONLY
cat /project/mercury/data_transfer/incoming/release_ww29_2025_FN1_07162025/release_ww29_2025_FN1/$MY_BLOCK/reports/${MY_BLOCK}.dont_touch.rpt | awk '{print $3}' | sed "s/\//__/g" | sed "s/]//" >> SIZE_ONLY
zgrep "get_pins" source/${MY_BLOCK}.sdc | grep -e "\/phi" -e "\/q" -e "\/d" | grep set_multicycle_path | sed 's/\[get_pins/\n \[get_pins/g' | grep -e "\/phi" -e "\/q" -e "\/d" | awk '{print $NF}' | sort -u | sed 's/\// /' | awk '{print $1}' | sort -u >> source/${MY_BLOCK}.size_only_list.tcl
Notes:
1. Perform Tag/Watermark check on the netlist.
2. Restore the database with latest nelists and place the unplaced TEST* ports.
3. Provide floorplan LEF's after going through the default pad block flow for TLR purpose.
4. We will incrementally review the pin placement and do necessary changes. (hm_io_e <=> hm_ae interface, and if any other interface to reduce the TLR route.)
5. Please share the Drop Sheet which captures the Top & Mike Ho Drops (DEF). Maintain all the issues consolidated in the same sheet to discuss with Mike for any additional changes.
6. TIE cells' pitch needs to be tighter in the pad block please review.