- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In my design I need to sample the incoming serial data in 8 different registers simultaneously. The registers are clocked by different clocks (8 different phases of one clock). The design should select the correct clock phase for sampling. How can I constrain the data comming from PAD to arrive to the registers as simultaneously as it possible. Thanks
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The thing that I know is to set the Option of (fast input register) as ON in the assignment editor so that the deign uses io registers instead of general purpose registers.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank You Kaz.
I will try it. But I'm pesimistic it will help. There is one input comming to 8 registers. So one of registers will implemented as fast input register. What about others? Do You think it is possible to implement 8 fast input registers in one IO?- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You can't implement 8 fast input registers in one cell - the fast input register is in the IO cell itself - i.e. right at the pin. You could connect eight pins together externally and have your eight fast input registers that way.
How fast is your clock(s)? Could you use one common clock at eight times the speed and use eight clock enables instead - i.e. each clock enable is active in turn for one clock cycle.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks batfink.
The Data input is LVDS. To "spread" it to 8 different LVDS receivers is impossible (HW issue). The clock speed is 312MHz.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you use an altlvds_rx SERDES?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I got a funny idea but may be worth playing with it.
declare 8 inout pins. drive all 8 pins continuously with your input data then read back from the 8 inouts setting all to fast registers... the signal will pass through always enabled tristate in all cases, hopefully with same delay. edit: Of course you can use serdes rx to recover data and clock but I assume the purpose is a DIY exercise to recover clock.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
312 MHz is a little on the quick side for my suggestion.
I'll get my coat.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Come into the input, then feed your 8 F/F and floorplan the 8 F/F to be right next to the I/O cell on the die.
This should help control the route delays. The real challenge is that you will be using 8 different clocks (related by phase), each FF will need to be in a different LAB. To help control the route delays, you can then set a very "almost" undo-able SDC constraint on the incoming part to force the tool to work real hard to meet all the parallel timings. (turn on timing driven options). Good luck with this, and keep us informed.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi All.
To make long story short - it is working. The thing that made it working is Logic lock feature and Chip planer. Using Logic lock feature and Chip planer I constrained the problematic registers to be as close to Data in pad as possible. Thank You All- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page