Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
Announcements
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.
17268 Discussions

Fast I/O registers in Bidirection IO

Altera_Forum
Honored Contributor II
3,046 Views

Hi, I am trying to improve the IO timing by using fast IO registers. 

However, how could I set a proper register when facing a bidirection IO? 

 

Thank you~!
0 Kudos
4 Replies
Altera_Forum
Honored Contributor II
2,123 Views

You have three settings at your disposal: 

FAST_INPUT_REGISTER 

FAST_OUTPUT_REGISTER 

FAST_OUTPUT_ENABLE_REGISTER 

 

For a bidirectional IO, you can set any or all of these to TRUE for the pin in question. Your design must of course actually support the function: 

1 - The pin must be driven directly by a register output with no combinatorial logic. 

2 - The input must be fed directly to a register with no combinatorial logic 

3 - If you choose to use a fast output enable then the output enable for the pin must be driven directly by a register. 

 

Jake
0 Kudos
Altera_Forum
Honored Contributor II
2,123 Views

 

--- Quote Start ---  

 

 

For a bidirectional IO, you can set any or all of these to TRUE for the pin in question. Your design must of course actually support the function: 

1 - The pin must be driven directly by a register output with no combinatorial logic. 

2 - The input must be fed directly to a register with no combinatorial logic 

3 - If you choose to use a fast output enable then the output enable for the pin must be driven directly by a register. 

 

--- Quote End ---  

 

 

Thank you for your rapidly reply! 

 

When using a bidirection IO, the output and input are not directly fed by a register, but via a buffer. 

Even if my output reg before bidirection buffer is register pipelined so that there is certainly no combinatorial logic. I think course 1 and 2 are not met because of the buffer itself. 

Only the buffer's enable reg could be set in this condition? 

 

thank you ag~
0 Kudos
Altera_Forum
Honored Contributor II
2,123 Views

I should be more clear. Besides the buffer ... there can be nothing between the pin and register. 

 

Jake
0 Kudos
Altera_Forum
Honored Contributor II
2,123 Views

 

--- Quote Start ---  

I should be more clear. Besides the buffer ... there can be nothing between the pin and register. 

 

Jake 

--- Quote End ---  

 

 

 

I think I've been thinking too much to waht you've said just now, hehe~ 

And so according to this, I just set and apply the Fast IO register constrains directly to the Bidir IO pin, it will do work. 

 

Thank you very much!
0 Kudos
Reply