- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
writing offset constraint for source synchronou s SDR data
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
06-27-2012 10:49 AM
HI,
I am using an SSRAM from GSI. I use ISE10.1.
The SSRAM runs at 250MHz. The setup time for memory is 1.2ns and hold time is 0.2ns.the clock to output time for the memory is 2.5ns.
I use DCM to generate the a clock of 500MHz and divide it by 2 for the purpose of driving SSRAM data out along with passing a copy on another output port.
Can any one help me in writing the offset in and out cnstraint for this scenario?
I read in somoe document that i need to use REFERENCE_NET for source synchronous data.
thanks .
Re: writing offset constraint for source synchronou s SDR data
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
06-27-2012 11:19 AM
I wonder what FPGA you are targeting.
And which SRAM. Do you have a link to a datasheet?
-- 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: writing offset constraint for source synchronou s SDR data
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
06-28-2012 12:55 AM
Re: writing offset constraint for source synchronou s SDR data
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-01-2012 03:19 AM
I plan to use the SSRAM in pipeline mode.
Re: writing offset constraint for source synchronou s SDR data
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-02-2012 10:14 AM
Can any one plz help me in writing these constraints.
Re: writing offset constraint for source synchronou s SDR data
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-02-2012 02:51 PM
Writing the constraints are really the last part of this problem - there are lots of other ones that need to be solved first.
Basically, you need to design the memory controller. For SSRAMs, the controller state machine is very simple (almost non-existant), but the mechanism of managing the timing is quite complex.
At 250MHz (4ns period), nothing is simple - generally you will need to design a number of mechanisms
The first mechanism is to generate the forwarded clock and the associated data/control to guarantee the setup/hold relationships required by the SSRAM. This is usually not too hard as long as you are using
- IOB FFs for all signals
- (probably ODDR for the forwarded clock - using a 500MHz clock for this purpose is probably not the best way to go)
- either invert the outgoing clock to generate the SU/H requirement, or use the ODELAY, or generate two clocks in a MMCM/DCM with the desired phase relationship to guarantee the SU/H requirement
The second mechanism is FAR more difficult. The complete read path is from
- clock inside the FPGA
- A DDR output FF
- An OBUF (1-3+ns)
- Trace delay to the RAM (??ns)
- RAM CLK->Q (1.5 - 2.5ns)
- Trace delay back to the FPGA (??ns)
- an IOBUF input stage
- an IOB FF (SU/H window around 1+ns), which needs an "appropriate" clock to capture the data
All of this will have to be done in such a way to satisfy the IOB FF's SU/H requirement in a 4ns clock period. This is not easy. There are some techniques that can help
- using an externally deskewed capture clock to remove the OBUF/IBUF and trace delay uncertainties
- then you have to figure out how to move data back to the main domain
- using dynamic calibration to find the data eye
- lots of extra stuff to do
Lastly, it appears that this RAM has a bidirectional data bus - you will need to figure out how to control the tristate enable of the IOBUF to ensure that you don't have contention on the read-write and write-read turnaround.
Once you have designed these mechanisms
a) then you will be able to constrain the design but
b) most of these mechanisms are either "correct by construction" (using clock phases and IOB FFs) hence constraints are unecessary or use dynamic calibration, in which case there are no correct constraints
Avrum
Re: writing offset constraint for source synchronou s SDR data
[ Edited ]
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-02-2012 04:23 PM - edited 07-02-2012 04:28 PM
Have you already designed the board?
How is the SSRAM clock generated? By FPGA or external oscillator?
Is the V5 FPGA both reading from AND writing to the SSRAM?
-- 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: writing offset constraint for source synchronou s SDR data
[ Edited ]
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-03-2012 01:44 AM - edited 07-03-2012 02:15 AM
Hi bob, thanks for the reply.
Board layout is under progress (pre layout SI phase).
SSRAM clock is generated by FPGA by dividing the DCM clock(500Mhz) by 2(user logic). And that clock is used to drive the FSM generating the address,data and control. The same clock is assigned to another net connected to top level port driving the clock input of SSRAM.
v5 is doing both write and read from memory.
thanks
Re: writing offset constraint for source synchronou s SDR data
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-03-2012 02:14 AM
hi avrum,
thanks for the detailed reply.
i have few doubts :
1. you suggest to invert the clock. Is it not against the ideal way of designing synchronous circuits. What i understand is it may even worsen the timing.
2.can you give an explanation or a link for these methods:
--------------------------------------------------
All of this will have to be done in such a way to satisfy the IOB FF's SU/H requirement in a 4ns clock period. This is not easy. There are some techniques that can help
- using an externally deskewed capture clock to remove the OBUF/IBUF and trace delay uncertainties
- then you have to figure out how to move data back to the main domain
- using dynamic calibration to find the data eye
- lots of extra stuff to do
--------------------------------------------------
Re: writing offset constraint for source synchronou s SDR data
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
07-04-2012 05:53 PM
waris.mohammad wrote:
1. you suggest to invert the clock. Is it not against the ideal way of designing synchronous circuits. What i understand is it may even worsen the timing.
I am not referring to inverting the internal FPGA clock, but generating an inverted clock for clock forwarding - this would be done by using the ODDR with D0 connected to 0 and D1 connected to VCC; on the rising edge of the internal clock, the external signal would fall and vice versa. If the data comes from an SDR FF on the same internal clock, then this will generate a 1.25ns SU and 1.25ns hold around the rising edge of the external clock.
2.can you give an explanation or a link for these methods:
--------------------------------------------------
-------------------------------------------------- ------------------- All of this will have to be done in such a way to satisfy the IOB FF's SU/H requirement in a 4ns clock period. This is not easy. There are some techniques that can help
- using an externally deskewed capture clock to remove the OBUF/IBUF and trace delay uncertainties
- then you have to figure out how to move data back to the main domain
- using dynamic calibration to find the data eye
- lots of extra stuff to do
These are really too complex to cover in a chat forum. What I am trying to illustrate is that you need to design the physical layer interface to this SSRAM - lots of people have spent lots of time designing interfaces for high speed memories. However, without some "fancy" stuff, your design won't work - the uncertainty of the returning data plus the SU/H window of your capturing FPGA FF are larger than one clock period.
Incidentally, you need to design this BEFORE you lay out your board - some of these solutions (deskewing the clock externally) requires some additional connections outside the FPGA.











