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

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.

Reply to
Sylvain Munaut
Loading thread data ...

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

Reply to
Sylvain Munaut

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.