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

Dynamic adjustment of Cyclone III IOE Programmable Delay?

Altera_Forum
Honored Contributor II
1,642 Views

Hi, is it possible to adjust the Cyclone III IOE delay at runtime, or only at bitstream generation time? 

 

In particular, the i/o buffer megafunction (altiobuf) user guide (http://application-notes.digchip.com/038/38-21601.pdf) for StratixIII+CycloneIII says that it is possible, but all the examples use the StratixIII-specific StratixII_CONFIG_IO primitive, which doesn't work on CycloneIII (or is there some trick that makes it work?). 

 

According to the Cyclone III datasheet the input-pin-to-register and output-register-to-pin delay lines have a range of 0ps to 1000ps or more, but I need to be able to adjust this on a per-board and per-pin basis, so the values aren't known at the time the bitstream is written. I need to be able to sweep the values while checking error rates, similar to how the PLL output phases can be adjusted in real time.
0 Kudos
7 Replies
Altera_Forum
Honored Contributor II
971 Views

Hi, 

 

Seems like there is no further description. It would be great if you could further elaborate on your inquiry
0 Kudos
Altera_Forum
Honored Contributor II
971 Views

The forum has done something very strange and deleted my post but didn't delete the thread! Here is what I wrote: 

 

Sorry for the double-post, but the forum is doing really strange stuff with my threads. The previous thread I started has zero postings (not even my own!). Did a moderator delete my post but not delete the thread? Sorry if I did something wrong... 

 

Anyways: 

 

Is it possible to adjust the Cyclone III IOE delay at runtime, or only at bitstream generation time? 

 

In particular, the I/O Buffer Megafunction (ALTIOBUF) User Guide for StratixIII+CycloneIII says that it is possible, but all the examples use the StratixIII-specific StratixII_CONFIG_IO primitive, which doesn't work on CycloneIII (or is there some trick that makes it work?). 

 

According to the Cyclone III datasheet the input-pin-to-register and output-register-to-pin delay lines have a range of 0ps to 1000ps or more, but I need to be able to adjust this on a per-board and per-pin basis, so the values aren't known at the time the bitstream is written. I need to be able to sweep the values while checking error rates, similar to how the PLL output phases can be adjusted in real time.
0 Kudos
Altera_Forum
Honored Contributor II
971 Views

Sorry about the double-post above. I tried to delete the duplicate but the forum barfed at me: 

 

Fatal error: Existing data passed is not an array 

Called set_existing in [path]/editpost.php on line 1324 

in [path]/includes/class_dm.php on line 265 

 

Sad forum :(
0 Kudos
Altera_Forum
Honored Contributor II
971 Views

Any ideas?

0 Kudos
Altera_Forum
Honored Contributor II
971 Views

As I mentioned in your other post - the buffer dynamic delay chain is not available in the ALTIOBUF for Cyclone III. So, it cannot be dynamically changed. It can only be modified prior to bitstream generation. 

 

Cheers, 

Alex
0 Kudos
Altera_Forum
Honored Contributor II
971 Views

 

--- Quote Start ---  

As I mentioned in your other post 

--- Quote End ---  

 

 

My other post? 

 

 

--- Quote Start ---  

the buffer dynamic delay chain is not available in the ALTIOBUF for Cyclone III. So, it cannot be dynamically changed. It can only be modified prior to bitstream generation. 

--- Quote End ---  

 

 

Ah, that is unfortunate. Thanks for clarifying. 

 

Cheers, 

Alex 

--- Quote End ---  

0 Kudos
Reply