- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic to the Top
- Bookmark
- Subscribe
- Printer Friendly Page
Strange ODDR2 behavior on Spartan6
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-06-2012 08:31 AM
Hello Everybody,
I need your help for debugging a strange behavior on ODDR2. I'm using a LX16 Spartan6 and the ISE13.3.
I have instantiated an ODDR2 in order to drive an output (see the RTL on the following).
IP2Card_DATs : ODDR2
generic map(
DDR_ALIGNMENT => "C0",
INIT => '1',
SRTYPE => "ASYNC"
)
port map(
Q => IP2Card_DATs_line_out,
C0 => IP_Clk,
C1 => IP_Clk_180,
CE => Vdd,
D0 => IP2Card_DATs_line_D1_in,
D1 => IP2Card_DATs_line_D2_in,
R => Reset,
S => gnd
);
When the IP_Clk is 25 MHz I correctly see the start bit (a '0' bit for starting the payload communication), sent through Q pin. On the other hand, when the IP_Clk frequency rise up to 50 MHz, I can see two start bits sent through the ODDR2 output pin. This problem appears only on the start bit and only at 50 MHz. The payload in both 25 and 50 MHz frequency is correct.
Please, could someone help me?
Thanks in advanced
Claudio
Re: Strange ODDR2 behavior on Spartan6
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-06-2012 02:06 PM
When the IP_Clk is 25 MHz I correctly see the start bit (a '0' bit for starting the payload communication), sent through Q pin. On the other hand, when the IP_Clk frequency rise up to 50 MHz, I can see two start bits sent through the ODDR2 output pin. This problem appears only on the start bit and only at 50 MHz. The payload in both 25 and 50 MHz frequency is correct.
- Is this "problem" in simulation results, or in actual hardware?
- Do the ODDR2 block inputs suggest the ODDR2 block is not functioning correctly, or that the input signals are incorrect?
-- 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: Strange ODDR2 behavior on Spartan6
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-10-2012 02:11 AM
Hi Bob,
sorry for e late reply.
The problem arisen on the hardware, the simulation works properly.
The input signals are correctly applied, the start bit is driven from a state machine and it is tie low just for one clock cycle. So it is very strange that after the ODDR2 remains on the bus for twice.
What do you suggest? Could the problem related to ODDR2 wrong behavior? What the next?
Thanks Claudio
Re: Strange ODDR2 behavior on Spartan6
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-10-2012 07:29 AM
The input signals are correctly applied, the start bit is driven from a state machine and it is tie low just for one clock cycle. So it is very strange that after the ODDR2 remains on the bus for twice.
Question: How do you verify that inputs to ODDR2 are correct in actual hardware?
-- 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: Strange ODDR2 behavior on Spartan6
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-10-2012 08:34 AM
Hi Bob,
thank you for prompt replay.
I have probed the ODDR2 input.
Anyway tomorrow I have another test session in Lab.
I'll save the waveform in order to post it.
Question: Could this problem related to C0 DDR Alignment?Do you suggest other DDR alignment?
Thanks
Claudio
Re: Strange ODDR2 behavior on Spartan6
[ Edited ]- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-10-2012 08:41 AM - edited 04-10-2012 08:41 AM
Question: Could this problem related to C0 DDR Alignment?
If the ODDR2 D inputs are both generated on the rising edge of the C0 clock (e.g. by a state machine using C0 clock), C0 alignment is correct.
-- 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: Strange ODDR2 behavior on Spartan6
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-10-2012 09:10 AM
Thank you Bob.
So you are not aware of any problems related to DDR alignment. This is a good news for me.
Tomorrow I'll perform new tests. I'll keep you update.
Claudio
Re: Strange ODDR2 behavior on Spartan6
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-10-2012 09:55 AM
So you are not aware of any problems related to DDR alignment.
You have not posted any of your code, particularly the code which generates data inputs to ODDR2 block, so my affirmation is limited to the ODDR2 block capabilities.
-- 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: Strange ODDR2 behavior on Spartan6
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-11-2012 09:23 AM
Hi Bob,
I've just found out a problem on the ODDR2 input signals. I have to investigate regarding it.
I'm generating a new bitstream in which probing the State machine stimulus in order to deep understand the scenario.
I thing the investigation will be complete tomorrow and I'll post the results.
Thank you so much for you support. I'll keep you update
Claudio
Re: Strange ODDR2 behavior on Spartan6
- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content
04-18-2012 05:21 AM
Hi Bob,
sorry for a late replay.
After a deeper analysis I found out timing problem related to the ODDR2 input signals.
Sorry for the mistake. Anyway thank you so much for your help. Your help was very useful for my debug
Keep in touch
Claudio











