- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
Timing Constraint s for Output Data and Clock
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-24-2012 03:29 PM
Dear Members;
I have a question related to required timing constraints for
- sending data and clock out from the FPGA to a processor and
- receiving data back from the processor.
This is, in fact, for the JTAG communication between FPGA and the processor while the FPGA creates and sends the clock/data and receives data with the same clock.
The figure below shows the 4 I/Os:
- 3 outputs sent to the processor -> Clock, Data Out and Control (each 1 bit)
- 1 Input is received from the processor -> Data In (1 bit)
CLK is internally generated by dividing incoming clock (input to the FPGA, SYS_CLK) using combinational logic.
SYS_CLK -> PLL -> combinational logic -> CLK
As an additional information, combinational logic divides the incoming clock with any number between 3 to 16 and sends it out as an output.
What type of constraints are required for these to function correctly?
Any recommendation is appreciated.
Regards,
Re: Timing Constraint s for Output Data and Clock
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-24-2012 03:53 PM
I sincerely hope you are not using purely combinatorial logic for dividing clocks.
The only timing constraint you should need is for defining the operating frequency of your internal clock. Of course, if you don't use registers in your FPGA design, then there is no need to use timing constraints for your internal clock.
A properly designed FPGA JTAG (IEEE 1149.1 Standard Test Access Port) controller design should have very little use for timing constraints. The biggest 1149.1 design hasard is a signal integrity issue due to poor circuit board layout of the JTAG clock.
Have you done state machine design before?
Are you familiar with IEEE1149.1 (JTAG) signal timing and protocol?
-- Bob Elkind
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369
Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.
Re: Timing Constraint s for Output Data and Clock
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-24-2012 04:12 PM
This is purely combinatorial...
But I know that there are more stable ways of doing it, mainly the methods mentioned here: http://forums.xilinx.com/t5/Timing-Analysis/Two-cl
Have you done state machine design before?
Are you familiar with IEEE1149.1 (JTAG) signal timing and protocol?
Yes, I am, in general, familar with the JTAG Timing and protocol. And sure, with the state machine design.
The JTAG design was tested throughly and it was working without an error for a pretty long time. However, the FPGA device utilization has increased lately (~%80 slices) and I started to have some problems with the JTAG communication.
These problems are very rare when I divide the clock with 16 (low frequencies), however the number of errors increases while the divide_value decreases such as 3 (high frequencies).
I was looking for some recommendations before going in for detailed testing/debugging.
I am currently looking into its functionality using SP605 so I wouldn't worry about the circuit board layout (well hopefully).
Regards,
Re: Timing Constraint s for Output Data and Clock
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-24-2012 04:15 PM
"These problems are very rare when I divide the clock with 16 (low frequencies), however the number of errors increases while the divide_value decreases such as 3 (high frequencies). "
I meant its more likely to get an error when it is running at a higher frequency. It does not create an error when it is running using the slowest frequency. And this likelihood increases when the divide_value decreases.
Re: Timing Constraint s for Output Data and Clock
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-25-2012 03:24 AM
So, run it at a frequency you prove to be reliable during temperature testing.
------------------------------------------
"If it don't work in simulation, it won't work on the board."
Re: Timing Constraint s for Output Data and Clock
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-28-2012 05:13 AM
Hi,
This sounds like your design is not fully constrained. When you change the divide_by value, it is possible that some setup or hold time violation occur at the interface or internally.
Do you think that the data corruption occured while the FPGA receives data from the processor or the other way around?
I would suggest that you LOC down the PLL, associated BUFGs, the whole divider circuit as per the working design...and let us know if you see improved consistency.
Re: Timing Constraint s for Output Data and Clock
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
05-28-2012 10:25 AM
I sincerely hope you are not using purely combinatorial logic for dividing clocks.
This is purely combinatorial...
But I know that there are more stable ways of doing it, mainly the methods mentioned here: http://forums.xilinx.com/t5/Timing-Analysis/Two-cl
The divider discussed in the linked thread is not combinatorial.
-- Bob Elkind
README for newbies is here: http://forums.xilinx.com/t5/New-Users-Forum/README-first-Help-for-new-users/td-p/219369
Summary:
1. Read the manual or user guide. Have you read the manual? Can you find the manual?
2. Search the forums (and search the web) for similar topics.
3. Do not post the same question on multiple forums.
4. Do not post a new topic or question on someone else's thread, start a new thread!
5. Students: Copying code is not the same as learning to design.
6 "It does not work" is not a question which can be answered. Provide useful details (with webpage, datasheet links, please).
7. You are not charged extra fees for comments in your code.
8. I am not paid for forum posts. If I write a good post, then I have been good for nothing.











