Menu

Reply To: 1920 lines horizontal sampling/output for all inputs + aspect ratio controls

Home Forums OSSC OSSC – Feature Requests 1920 lines horizontal sampling/output for all inputs + aspect ratio controls Reply To: 1920 lines horizontal sampling/output for all inputs + aspect ratio controls

#14853

tcdev
Participant

@paulb_nl: In theory, Cyclone IV PLLs could be configured dynamically with ALTPLL_RECONFIG, but it’s not very flexible in practice (if I recall right, you can only switch between pre-defined configurations).

Not quite. You can configure all the parameters from the NIOS, however they don’t publish the algorithms used to generate those parameters given the desired inputs and outputs.

On a Cyclone V design we have a large number of PLL configurations – 30+ from last count – so I generated them all in the PLL wizard and then post-processed the .mif files to produce a series of arrays in C source for subsequent programming from the NIOS. Once you’ve got the QSYS and NIOS code working it’s pretty quick and painless to add another PLL configuration; in this case about 1 minute.

An earlier incarnation was based on Cyclone III and my colleague ‘reverse-engineered’ the algorithms to produce the – admittedly simpler – PLL parameters on-the-fly for arbitrary clock values. At that time I only had peripheral involvement with the project but AFAIK it was successful for every case they required/tested.

FWIW the above-mentioned designs are video boards that (amongst other functions) sample analogue RGB via the TVP7002 and drive digital video (DVI) out. That 7002 is a PITA, but then again my primary role was FPGA design and NIOS code and little to do with actually getting the video to work. At one stage – with the previous-gen hardware – I built my own cut-down version of the FPGA and was running both a Coco3 and Amiga on a VGA monitor. We had designs on producing a monster video converter for every system/configuration imaginable – there was an option to load composite video input connectors and it already had a triple frame buffer with clipping, scaling etc – but we were too busy with real work to do much about it.