Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21593 Discussions

about the CONF_DONE in the PS configuration

Altera_Forum
Honored Contributor II
5,226 Views

Dear all, I am trying to configure the Cyclone III device using the Passive Serial mode. In the very beginning, I draw the nCONFIG low, and subsequently the Cyclone III draw the nSTATUS low....the question is: why CONF_DONE is always low from the very beginning? As to the configuration handbook, there should be a high-to-low transition for the CONF_DONE... why? 

 

In addition, there is said to be a low-to-high transition for the CONF_DONE in the end of the configuration, I just want to know, how does the Cyclone device know the configuration is done ? 

 

PS. MSEL is 0000, and the clock is 1M, and the file format is .hex.  

 

Thanks !
0 Kudos
37 Replies
Altera_Forum
Honored Contributor II
1,015 Views

I have even tried padding the end of the transmission with extra clock cycles 8,16,32,64... and still never see CONF_DONE go high. 

 

I did look at this document yesterday... All of my timing looks within spec on the scope output. I just never get CONF_DONE...
0 Kudos
Altera_Forum
Honored Contributor II
1,015 Views

Do you have JTAG connected on the board? If so, try configuring the FPGA with JTAG to confirm it is possible. 

 

This will eliminate an issue with say nCE not being asserted low, or the MSEL pins being incorrect. 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
1,015 Views

 

--- Quote Start ---  

Is there a specific way Quartus should be setup to build a PS serial file for loading like this? 

--- Quote End ---  

 

I don't think so. The doc I linked to has the methods I used to generate the images I needed in Appendix A. There was no special step required. 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
1,015 Views

The board currently is being used by the team with the EPCS4 prom loading the FPGA at startup. My board has been modified to move to loading it with the MPC8309. So we have been able to program it, but to reduce board cost we are moving the the micro loading it and removing the EPCS4. I am seeing if we still have JTAG access to try this method.

0 Kudos
Altera_Forum
Honored Contributor II
1,015 Views

 

--- Quote Start ---  

The board currently is being used by the team with the EPCS4 prom loading the FPGA at startup. 

--- Quote End ---  

 

 

Ok, that is good to know. 

 

 

--- Quote Start ---  

 

My board has been modified to move to loading it with the MPC8309. So we have been able to program it, but to reduce board cost we are moving the the micro loading it and removing the EPCS4. I am seeing if we still have JTAG access to try this method. 

--- Quote End ---  

 

 

You could also replace the EPCS4 with a lower-cost part. These parts are rebranded Numonyx (Micron) devices. Spansion devices also work. 

 

Regardless of that fact, there should be no reason you cannot PS program the part. Check your MSEL settings, eg., check any logic high levels are pulled up to the correct voltage (I think its VCCA). 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
1,015 Views

 

--- Quote Start ---  

 

Regardless of that fact, there should be no reason you cannot PS program the part. Check your MSEL settings, eg., check any logic high levels are pulled up to the correct voltage (I think its VCCA). 

 

--- Quote End ---  

 

 

I think I may have solved your problem ... you're not going to believe this (or that I remembered seeing this line of code) ... 

 

Download the Altera JRunner software, unzip it, open jrunner.c and you'll find this at line 878 

 

/*Ignore first 44 bytes in the rbf file for Cyclone device*/  

 

Subtle, eh! 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
1,015 Views

With the modifications, MSEL0 - pulled up to VCCA, MSEL1 & MSEL2 pulled down. The documentation I have says MSEL 0 to VCC and mSEL1 to GND. doesn't mention MSEL2.

0 Kudos
Altera_Forum
Honored Contributor II
1,015 Views

 

--- Quote Start ---  

I think I may have solved your problem ... you're not going to believe this (or that I remembered seeing this line of code) ... 

 

Download the Altera JRunner software, unzip it, open jrunner.c and you'll find this at line 878 

 

/*Ignore first 44 bytes in the rbf file for Cyclone device*/  

 

Subtle, eh! 

 

Cheers, 

Dave 

--- Quote End ---  

 

 

Still not getting the CONF_DONE...
0 Kudos
Altera_Forum
Honored Contributor II
1,015 Views

 

--- Quote Start ---  

Still not getting the CONF_DONE... 

--- Quote End ---  

 

 

Darn ... 

 

Compare the bytes in the .rbf file with those in the EPCS image (.rpd file). How similar are they? 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
1,015 Views

just found a that there are two different documents for this that tell me two different setting for MSEL

0 Kudos
Altera_Forum
Honored Contributor II
1,015 Views

 

--- Quote Start ---  

just found a that there are two different documents for this that tell me two different setting for MSEL 

--- Quote End ---  

 

 

The appropriate Cyclone-series handbook should be the only place you need to look. Which part (full part number please) are you using? 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
1,015 Views

 

--- Quote Start ---  

With the modifications, MSEL0 - pulled up to VCCA, MSEL1 & MSEL2 pulled down. The documentation I have says MSEL 0 to VCC and mSEL1 to GND. doesn't mention MSEL2. 

--- Quote End ---  

 

 

Cyclone III handbook: 

 

http://www.altera.com/literature/lit-cyc3.jsp 

 

Table 9-7, pp169-170: PS mode MSEL[3:0] = 0000b for standard POR, and 1100b for fast POR. 

 

Given that your device does not have MSEL[3] it must be one of the smaller packages. 

 

Your setting of MSEL[2:0] = 001b is invalid, it should be 100b or 000b. 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
1,015 Views

 

--- Quote Start ---  

Cyclone III handbook: 

 

http://www.altera.com/literature/lit-cyc3.jsp 

 

Table 9-7, pp169-170: PS mode MSEL[3:0] = 0000b for standard POR, and 1100b for fast POR. 

 

Given that your device does not have MSEL[3] it must be one of the smaller packages. 

 

Your setting of MSEL[2:0] = 001b is invalid, it should be 100b or 000b. 

 

Cheers, 

Dave 

--- Quote End ---  

 

 

Yes that is what I found in my search. The documents I was given and told to use were wrong. They are currently modifying my board now and I should know shortly.
0 Kudos
Altera_Forum
Honored Contributor II
1,015 Views

 

--- Quote Start ---  

Yes that is what I found in my search. The documents I was given and told to use were wrong. They are currently modifying my board now and I should know shortly. 

--- Quote End ---  

 

 

 

Fixing the MSEL worked. I was able to send the full compressed .rbf and received the CONF_DONE. Thank you for all your help.
0 Kudos
Altera_Forum
Honored Contributor II
1,015 Views

 

--- Quote Start ---  

Fixing the MSEL worked. I was able to send the full compressed .rbf and received the CONF_DONE. 

--- Quote End ---  

 

 

Awesome! 

 

So no need to skip the first 44 bytes? 

 

 

--- Quote Start ---  

Thank you for all your help. 

--- Quote End ---  

 

 

You're welcome. 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
1,015 Views

 

--- Quote Start ---  

 

 

So no need to skip the first 44 bytes? 

--- Quote End ---  

 

 

No, I did not have to skip the first 44 bytes. I tried that first and it did not work. I had to send the full file.
0 Kudos
Altera_Forum
Honored Contributor II
1,015 Views

 

--- Quote Start ---  

No, I did not have to skip the first 44 bytes. I tried that first and it did not work. I had to send the full file. 

--- Quote End ---  

 

 

Good to know, thanks! 

 

Cheers, 

Dave
0 Kudos
Reply