UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
616 Views
Registered: ‎11-27-2018

Startup timing problem

Jump to solution

Hello everyone,

I am designing a Artix-7 system based with DDR3.

Flash SPI Configuration :

  • Flash : S25FL256S
  • From constraints file :
set_property CFGBVS VCCO [current_design]
set_property CONFIG_VOLTAGE 3.3 [current_design]
set_property BITSTREAM.CONFIG.PERSIST YES [current_design]
set_property BITSTREAM.CONFIG.SPI_FALL_EDGE YES [current_design]
set_property BITSTREAM.GENERAL.COMPRESS FALSE [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 33 [current_design]
set_property CONFIG_MODE SPIx2 [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 2 [current_design]
set_property BITSTREAM.STARTUP.STARTUPCLK CCLK [current_design]
set_property BITSTREAM.STARTUP.DONEPIPE NO [current_design]

set_property BITSTREAM.CONFIG.TCKPIN PULLNONE [current_design]
set_property BITSTREAM.CONFIG.TDIPIN PULLNONE [current_design]
set_property BITSTREAM.CONFIG.TDOPIN PULLNONE [current_design]
set_property BITSTREAM.CONFIG.TMSPIN PULLNONE [current_design]
set_property BITSTREAM.CONFIG.CCLKPIN PULLNONE [current_design]
set_property BITSTREAM.CONFIG.M1PIN PULLDOWN [current_design]
set_property BITSTREAM.CONFIG.M2PIN PULLDOWN [current_design]

The issue that we have is when we power up the system with JTAG connected (Platform cable USB II), it is working fine.

When we disconnect JTAG and power-up it doesn't work as expected.

I think problem comes from startup because DDR3 initialization generates a system reset and the STARTUPCLK is CCLK.

I tried to replace CCLK by USERCLK but I need to instantiate the STARTUP component and I didn't find any clear documentation about.

Do you have some thoughts about this issue ? Am I in the right track ?

 

Thanks,

Simon

0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
477 Views
Registered: ‎06-05-2013

Re: Startup timing problem

Jump to solution

Hi Simon,

Thanks for the properties. Can you remove the persist property from your design. 

Persist is not recommended for standard Master SPI/BPI configuration mode setups.  The persist bitstream option (BITSTREAM.CONFIG.PERSIST YES) maintains the configuration logic access to the multi-function configuration pins after configuration. The persist option is primarily used to maintain the SelectMAP port after configuration for readback access. Refer to UG#570 page#178.

 

sfsf.JPG

Let us know how it goes.

Thanks

Harshit

 
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

0 Kudos
10 Replies
Scholar drjohnsmith
Scholar
592 Views
Registered: ‎07-09-2009

Re: Startup timing problem

Jump to solution
what do you have for the Mode pin pull ups / downs ?
What data have you found and found in adequate
<== If this was helpful, please feel free to give Kudos, and close if it answers your question ==>
0 Kudos
558 Views
Registered: ‎11-27-2018

Re: Startup timing problem

Jump to solution

Hi John

Mode are :

  • M2 / M1 pull-downs
  • M0 pull-up

Thanks,

Simon

0 Kudos
Scholar drjohnsmith
Scholar
549 Views
Registered: ‎07-09-2009

Re: Startup timing problem

Jump to solution
Are they external pull up / downs ?

You said documentation is in adequate,
any thoughts on that ?
<== If this was helpful, please feel free to give Kudos, and close if it answers your question ==>
0 Kudos
Scholar drjohnsmith
Scholar
548 Views
Registered: ‎07-09-2009

Re: Startup timing problem

Jump to solution

https://www.xilinx.com/support/documentation/user_guides/ug470_7Series_Config.pdf

 

page 11 says use real resistors externaly on M pins.

Just to check, page 22, your in master SPI 1X mode for boot ?

 

<== If this was helpful, please feel free to give Kudos, and close if it answers your question ==>
0 Kudos
537 Views
Registered: ‎11-27-2018

Re: Startup timing problem

Jump to solution

Hi John,

M pins are directly tied to GND & VCC_O so no problem on this.

We are in SPI x2 mode.

The SPI Flash that we are using is S25FL256S, I checked the "Enable 32-bit address style" box.

Simon

0 Kudos
Moderator
Moderator
505 Views
Registered: ‎06-05-2013

Re: Startup timing problem

Jump to solution
Hi Simon,
Can you share the design properties? Use the below command once you open the implemented design:
report_property -all [current_design]

What happens if you press program_b when it fails without JTAG? Does done pin goes high?

Thanks
Harshit
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
488 Views
Registered: ‎11-27-2018

Re: Startup timing problem

Jump to solution

Hi Harshit,

Here is the replid to the tcl command :

report_property -all [current_design]
Property                                  Type     Read-only  Value
BITSTREAM.CONFIG.BPI_1ST_READ_CYCLE       enum     false      
BITSTREAM.CONFIG.BPI_PAGE_SIZE            enum     false      
BITSTREAM.CONFIG.BPI_SYNC_MODE            enum     false      
BITSTREAM.CONFIG.CCLKPIN                  enum     false      PULLNONE
BITSTREAM.CONFIG.CCLK_TRISTATE            enum     false      
BITSTREAM.CONFIG.CONFIGFALLBACK           enum     false      
BITSTREAM.CONFIG.CONFIGRATE               enum     false      66
BITSTREAM.CONFIG.DCIUPDATEMODE            enum     false      
BITSTREAM.CONFIG.DONEPIN                  enum     false      
BITSTREAM.CONFIG.EXTMASTERCCLK_EN         enum     false      
BITSTREAM.CONFIG.INITPIN                  enum     false      
BITSTREAM.CONFIG.INITSIGNALSERROR         enum     false      
BITSTREAM.CONFIG.M0PIN                    enum     false      
BITSTREAM.CONFIG.M1PIN                    enum     false      PULLDOWN
BITSTREAM.CONFIG.M2PIN                    enum     false      PULLDOWN
BITSTREAM.CONFIG.NEXT_CONFIG_ADDR         hex      false      
BITSTREAM.CONFIG.NEXT_CONFIG_REBOOT       enum     false      
BITSTREAM.CONFIG.OVERTEMPPOWERDOWN        enum     false      
BITSTREAM.CONFIG.PERSIST                  enum     false      YES
BITSTREAM.CONFIG.PROGPIN                  enum     false      
BITSTREAM.CONFIG.REVISIONSELECT           enum     false      
BITSTREAM.CONFIG.REVISIONSELECT_TRISTATE  enum     false      
BITSTREAM.CONFIG.SELECTMAPABORT           enum     false      
BITSTREAM.CONFIG.SPI_32BIT_ADDR           enum     false      YES
BITSTREAM.CONFIG.SPI_BUSWIDTH             enum     false      2
BITSTREAM.CONFIG.SPI_FALL_EDGE            enum     false      YES
BITSTREAM.CONFIG.TCKPIN                   enum     false      PULLNONE
BITSTREAM.CONFIG.TDIPIN                   enum     false      PULLNONE
BITSTREAM.CONFIG.TDOPIN                   enum     false      PULLNONE
BITSTREAM.CONFIG.TIMER_CFG                hex      false      
BITSTREAM.CONFIG.TIMER_USR                hex      false      
BITSTREAM.CONFIG.TMSPIN                   enum     false      PULLNONE
BITSTREAM.CONFIG.UNUSEDPIN                enum     false      
BITSTREAM.CONFIG.USERID                   hex      false      
BITSTREAM.CONFIG.USR_ACCESS               string   false      
BITSTREAM.ENCRYPTION.ENCRYPT              enum     false      
BITSTREAM.ENCRYPTION.ENCRYPTKEYSELECT     enum     false      
BITSTREAM.ENCRYPTION.HKEY                 hex      false      
BITSTREAM.ENCRYPTION.KEY0                 hex      false      
BITSTREAM.ENCRYPTION.KEYFILE              file     false      
BITSTREAM.ENCRYPTION.STARTCBC             hex      false      
BITSTREAM.GENERAL.COMPRESS                enum     false      FALSE
BITSTREAM.GENERAL.CRC                     enum     false      
BITSTREAM.GENERAL.DEBUGBITSTREAM          enum     false      
BITSTREAM.GENERAL.DISABLE_JTAG            enum     false      
BITSTREAM.GENERAL.JTAG_XADC               enum     false      
BITSTREAM.GENERAL.PERFRAMECRC             enum     false      
BITSTREAM.GENERAL.XADCENHANCEDLINEARITY   enum     false      
BITSTREAM.GENERAL.XADCPOWERDOWN           enum     false      
BITSTREAM.READBACK.ACTIVERECONFIG         enum     false      
BITSTREAM.READBACK.ICAP_SELECT            enum     false      
BITSTREAM.READBACK.SECURITY               enum     false      
BITSTREAM.READBACK.XADCPARTIALRECONFIG    enum     false      
BITSTREAM.STARTUP.DONEPIPE                enum     false      
BITSTREAM.STARTUP.DONE_CYCLE              enum     false      
BITSTREAM.STARTUP.GTS_CYCLE               enum     false      
BITSTREAM.STARTUP.GWE_CYCLE               enum     false      
BITSTREAM.STARTUP.LCK_CYCLE               enum     false      
BITSTREAM.STARTUP.MATCH_CYCLE             enum     false      
BITSTREAM.STARTUP.STARTUPCLK              enum     false      
BMM_FILE                                  string   false      
CFGBVS                                    enum     false      VCCO
CLASS                                     string   true       design
CONFIG_MODE                               enum     false      SPIx2
CONFIG_VOLTAGE                            enum     false      3.3
CONSTRSET                                 fileset  true       constrs_1
DCP_VERSION                               string   true       Vivado v2018.2 (64-bit) SW Build 2258646 on Thu Jun 14 20:03:12 MDT 2018
DEFAULT_IOSTANDARD                        string   false      
HD.ISOLATED                               bool     false      
HD.OVERRIDE_PERSIST                       bool     false      
HD.PARTITION                              bool     false      
HD.RECONFIGURABLE                         bool     false      
HD.TANDEM_BITSTREAMS                      enum     false      
IS_BLOCK                                  bool     true       0
IS_PRSHELL_DESIGN                         bool     true       
KEEP_COMPATIBLE                           string*  false      
KEEP_HIERARCHY                            enum     false      
MLO_VERSION_NUMBER                        string   false      2018.2_9
NAME                                      string   true       impl_1
NEEDS_REFRESH                             bool     true       0
NEEDS_SAVE                                bool     true       0
PART                                      part     true       xc7a35tcsg324-1
POST_CRC                                  enum     false      
POST_CRC_ACTION                           enum     false      
POST_CRC_FREQ                             int*     false      
POST_CRC_INIT_FLAG                        enum     false      
POST_CRC_SOURCE                           enum     false      
SPEED_LABEL                               string   true       
SPEED_LEVEL_ID                            string   true       
SPEED_LEVEL_ID_DATE                       string   true       
SRCSET                                    fileset  true       sources_1
SUSPEND_FILTER                            string   false      

What do you mean by press program_b (hardware ? It is pull-up by a resistor)

Thanks,

Simon

0 Kudos
Moderator
Moderator
478 Views
Registered: ‎06-05-2013

Re: Startup timing problem

Jump to solution

Hi Simon,

Thanks for the properties. Can you remove the persist property from your design. 

Persist is not recommended for standard Master SPI/BPI configuration mode setups.  The persist bitstream option (BITSTREAM.CONFIG.PERSIST YES) maintains the configuration logic access to the multi-function configuration pins after configuration. The persist option is primarily used to maintain the SelectMAP port after configuration for readback access. Refer to UG#570 page#178.

 

sfsf.JPG

Let us know how it goes.

Thanks

Harshit

 
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------

View solution in original post

0 Kudos
Moderator
Moderator
436 Views
Registered: ‎06-05-2013

Re: Startup timing problem

Jump to solution
@simon-emarre91

Can you share the results after removing the persist settings? If issue is resolved then go ahead and close the thread.

Thanks
Harshit
-------------------------------------------------------------------------
Don’t forget to reply, kudo, and accept as solution.
-------------------------------------------------------------------------
0 Kudos
422 Views
Registered: ‎11-27-2018

Re: Startup timing problem

Jump to solution

Hi @harshit,

Sorry i was working on design itself last days.

Yes it works perfectly now.

Thanks a lot,

Simon