[xilinx] Using a DDR output register with a differential standard

Jan 14, 2005 1 Replies

Hello,


I'm trying to do a glue-less TFT controller for LVDS panels with a spartan 3. I can't just output the data using standard registers since the output data frequency is about 455 Mhz, so I was thinking to use the DDR registers to output these data so my internal clock is 232Mhz which fits into the Spartan 3 capability.



The problem is that I never used differential standards before. Looking at the manual I saw the OBUFDS macro that seems to be exactly what I wanted. But I can't connect the Q port of the OFDDRCPE macro to the input of OBUFDS, it doesn't work :



ERROR:LIT - OBUF symbol "OFDDRCPE_inst/OBUF1" (output signal=lcd_d1_int) can only drive IBUF, but it is driving pin I of OBUFDS symbol "OBUFDS_inst" (output signal=lcd_d1). Errors found during logical drc.


I've seen some xilinx app note about SDI that uses the same "trick" and the block diagram shows a DDR Flip/Flops + Mux followed by differential output buffer but no code was provided ...


Thanks.



Sylvain


PS: If you give code, I prefer VHDL but If you only have verilog, I'll try to translate it myself.


Ah, finally found one with code example.

Changing the OFDDRCPE to FDDRCPE did the trick ... I should have known that the preceding "O" was to include the output buffer ...

Sylvain

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required