Other Parts Discussed in Thread: LMH0318
I am driving an LMH0050 serializer IC from a Zynq-7 Series FPGA.
The basis of my driver RTL is the IP provided for generating SDI using the part. I've heavily modified it to suit my specific purpose, but maintained it's original structure as much as possible.
When I use a 13.5MHz pixel clock, SD resolution, and 27MHz IC clock to generate SDI the RTL works perfectly; however, when I switch the system to a 74.25MHz pixel clock and 148.5MHz IC clock to generate 1080p30 HD-SDI 2 of the 3 SDI receiver devices I have do not recognize the signal as SDI at all. The third device does recognize the signal and converts it to HDMI, which then displays exactly what I expect to see on a monitor.
I have verified that the 2 devices can receive 1080p30 HD-SDI from a known good source, so I assume that I am imperfectly implementing the standard and the third device is more tolerant than the other 2. My design needs to be able to run any potential receiver device to be considered fully operational.
I am using the Timing_Gen module to create timing signals to run the Trs_Crc, AudioOut, testpattern_top, and ipt_smpte352_insert modules within the basic structure created by ipt_datapath. The test pattern generator is almost completely unmodified from what's provided.
The datastreams (test pattern and actual video created using Timing_Gen and some custom RTL I've written) are muxxed before going into the ipt_scrambler and then ipt_tx_io.
No resolution I have tried at HD speeds, with or without Audio and SMPTE352 VPID (and each combination thereof) is registered by the 2 receivers that I'm having problems with as being SDI. Both using input video from the testpattern generator from TI RTL and video from my RTL. All resolutions and combinations of ancillary data packets have worked for the third device both from test pattern and my RTL.
The specifics of my system are proprietary, but I can also state that the generated SDI is sent to an LMH0318 impedance buffer before being outputted from the device. On the working receiver device when I configure the LMH0318 to output raw input from the LMH0050 video works perfectly, when I configure the LMH0318 to output retimed video, on the other hand, video becomes sporadic (~10 frames working, then a few seconds of nothing, repeat...) and there are visible artifacts in the working frames (looks like early line endings, in some random lines there is a bad pixel and then nothing for the rest of the line, these artifacts jump around the screen). I'm not sure if this is related to the problems I have with generating SDI earlier in the pipeline, but since I have a setting I know to use that solves that problem I'm not worried about it if is unrelated.