Forum Discussion

EBoln's avatar
EBoln
Icon for Occasional Contributor rankOccasional Contributor
6 years ago

Can't pack to I/O pin

I have two inputs (TMDS_DATA and TMDS2_RX_DATA) When I directly pass to the output the input everything works without any problems. But if I insert scaler between then the register at one input is not implemented in ddio. At the same time, the second entrance fitted correctly

TimeQuest report path

Report Path: Found 6 paths. Longest delay is 6.720
    -from [get_keepers {TMDS*_DATA[*]}]
    -to [get_registers {*dd_*}]
    -npaths 10
    -multi_corner
    -stdout
Path #1: Delay is 6.720
    ===================================================================
    From Node    : TMDS_DATA[1]
    To Node      : TMDS_Receiver:TMDSReceiver_inst0|dd_green
    Path:
    Total (ns)  Incr (ns)     Type  Element
    ==========  ========= ==  ====  ===================================
         0.000      0.000           TMDS_DATA[1]
         0.000      0.000 FF    IC  TMDS_DATA[1]~input|i
         0.970      0.970 FF  CELL  TMDS_DATA[1]~input|o
         6.153      5.183 FF    IC  TMDSReceiver_inst0|dd_green|asdata
         6.720      0.567 FF  CELL  TMDS_Receiver:TMDSReceiver_inst0|dd_green
    Total Path Delay :     6.720
    ===================================================================
    
Path #2: Delay is 2.323
    ===================================================================
    From Node    : TMDS_DATA[2]
    To Node      : TMDS_Receiver:TMDSReceiver_inst0|dd_red
    Path:
    Total (ns)  Incr (ns)     Type  Element
    ==========  ========= ==  ====  ===================================
         0.000      0.000           TMDS_DATA[2]
         0.000      0.000 FF    IC  TMDS_DATA[2]~input|i
         1.016      1.016 FF  CELL  TMDS_DATA[2]~input|o
         1.016      0.000 FF    IC  TMDSReceiver_inst0|dd_red|d
         2.323      1.307 FF  CELL  TMDS_Receiver:TMDSReceiver_inst0|dd_red
    Total Path Delay :     2.323
    ===================================================================
    
Path #3: Delay is 2.233
    ===================================================================
    From Node    : TMDS2_RX_DATA[0]
    To Node      : TMDS_Receiver:TMDSReceiver_inst1|dd_blue
    Path:
    Total (ns)  Incr (ns)     Type  Element
    ==========  ========= ==  ====  ===================================
         0.000      0.000           TMDS2_RX_DATA[0]
         0.000      0.000 FF    IC  TMDS2_RX_DATA[0]~input|i
         0.940      0.940 FF  CELL  TMDS2_RX_DATA[0]~input|o
         0.940      0.000 FF    IC  TMDSReceiver_inst1|dd_blue|d
         2.233      1.293 FF  CELL  TMDS_Receiver:TMDSReceiver_inst1|dd_blue
    Total Path Delay :     2.233
    ===================================================================
    
Path #4: Delay is 2.233
    ===================================================================
    From Node    : TMDS_DATA[0]
    To Node      : TMDS_Receiver:TMDSReceiver_inst0|dd_blue
    Path:
    Total (ns)  Incr (ns)     Type  Element
    ==========  ========= ==  ====  ===================================
         0.000      0.000           TMDS_DATA[0]
         0.000      0.000 FF    IC  TMDS_DATA[0]~input|i
         0.940      0.940 FF  CELL  TMDS_DATA[0]~input|o
         0.940      0.000 FF    IC  TMDSReceiver_inst0|dd_blue|d
         2.233      1.293 FF  CELL  TMDS_Receiver:TMDSReceiver_inst0|dd_blue
    Total Path Delay :     2.233
    ===================================================================
    
Path #5: Delay is 2.223
    ===================================================================
    From Node    : TMDS2_RX_DATA[2]
    To Node      : TMDS_Receiver:TMDSReceiver_inst1|dd_red
    Path:
    Total (ns)  Incr (ns)     Type  Element
    ==========  ========= ==  ====  ===================================
         0.000      0.000           TMDS2_RX_DATA[2]
         0.000      0.000 FF    IC  TMDS2_RX_DATA[2]~input|i
         0.930      0.930 FF  CELL  TMDS2_RX_DATA[2]~input|o
         0.930      0.000 FF    IC  TMDSReceiver_inst1|dd_red|d
         2.223      1.293 FF  CELL  TMDS_Receiver:TMDSReceiver_inst1|dd_red
    
    Total Path Delay :     2.223
    ===================================================================
    
Path #6: Delay is 2.198
    ===================================================================
    From Node    : TMDS2_RX_DATA[1]
    To Node      : TMDS_Receiver:TMDSReceiver_inst1|dd_green
    Path:
    Total (ns)  Incr (ns)     Type  Element
    ==========  ========= ==  ====  ===================================
         0.000      0.000           TMDS2_RX_DATA[1]
         0.000      0.000 FF    IC  TMDS2_RX_DATA[1]~input|i
         0.905      0.905 FF  CELL  TMDS2_RX_DATA[1]~input|o
         0.905      0.000 FF    IC  TMDSReceiver_inst1|dd_green|d
         2.198      1.293 FF  CELL  TMDS_Receiver:TMDSReceiver_inst1|dd_green
    
    Total Path Delay :     2.198
    ===================================================================
    

I added the following to QSF:

set_instance_assignment -name FAST_INPUT_REGISTER ON -to "TMDS_Receiver:TMDSReceiver_inst0|dd_green"
set_instance_assignment -name FAST_INPUT_REGISTER ON -to "TMDS_Receiver:TMDSReceiver_inst0|dd_red"
set_instance_assignment -name FAST_INPUT_REGISTER ON -to "TMDS_Receiver:TMDSReceiver_inst0|dd_blue"

But:

Warning (176225): Can't pack node TMDS_Receiver:TMDSReceiver_inst0|dd_green to I/O pin
	Warning (176229): Can't pack node TMDS_Receiver:TMDSReceiver_inst0|dd_green and I/O node TMDS_DATA[1] -- nodes have conflicting location assignments
		Info (176253): Node "TMDS_Receiver:TMDSReceiver_inst0|dd_green" assigned to CUSTOM_REGION_X0_Y0_X44_Y36 due to Automatic Periphery Placement
		Info (176253): Node "TMDS_DATA[1]" assigned to PIN AA29 due to User Location Constraints and Automatic Periphery Placement
			Info (176253): Node "TMDS_DATA[1]" assigned to PIN AA29 due to Automatic Periphery Placement
		Info (171110): Nodes could not be merged because their location constraints do not overlap
			Info (171109): Node "TMDS_DATA[1]~input" assigned to IOIBUF_X89_Y32_N4 due to Automatic Periphery Placement

Why? and how can I force the use of ddio register?

8 Replies

  • KhaiChein_Y_Intel's avatar
    KhaiChein_Y_Intel
    Icon for Regular Contributor rankRegular Contributor

    Hi,

    Can you try to remove the user-defined location setting for the TMDS_DATA[1] node?

    Thanks.

    • EBoln's avatar
      EBoln
      Icon for Occasional Contributor rankOccasional Contributor

      Do you mean pin assignment? Should fitter put input elsewhere?

    • EBoln's avatar
      EBoln
      Icon for Occasional Contributor rankOccasional Contributor

      In Assignments Editor:

      • Set Location(to pins only) for TMDS_DATA
      • Set I/O Standart(LVDS) for TMDS_DATA
      • Set Input termination
      • Set Fast Input register(enable)
    • EBoln's avatar
      EBoln
      Icon for Occasional Contributor rankOccasional Contributor

      Yes, no effects

  • KhaiChein_Y_Intel's avatar
    KhaiChein_Y_Intel
    Icon for Regular Contributor rankRegular Contributor

    Hi,

    The error cannot be reproduced. I enable the following assignments and the software reported that this node does not exist in the design.

    set_instance_assignment -name FAST_INPUT_REGISTER ON -to "TMDS_Receiver:TMDSReceiver_inst0|dd_green"

    set_instance_assignment -name FAST_INPUT_REGISTER ON -to "TMDS_Receiver:TMDSReceiver_inst0|dd_red"

    set_instance_assignment -name FAST_INPUT_REGISTER ON -to "TMDS_Receiver:TMDSReceiver_inst0|dd_blue"

    set_instance_assignment -name FAST_INPUT_REGISTER ON -to "TMDS_Receiver:TMDSReceiver_inst1|dd_blue"

    set_instance_assignment -name FAST_INPUT_REGISTER ON -to "TMDS_Receiver:TMDSReceiver_inst1|dd_green"

    set_instance_assignment -name FAST_INPUT_REGISTER ON -to "TMDS_Receiver:TMDSReceiver_inst1|dd_red"

    Could you help to check?

    Thanks.