Hello, Guest the thread was called1.9k times and contains 106 replays

last post from RexRetro at the

Arduino (FPGA/ARM) als Basis für einen Retro-Computer [aus: Neuer Retro-Computer ...]

  • nun die Enttäuschung: mein guter alter EIZO macht das CVI-RB ( reduced blank) nicht:

    Reguläres 720p mit 74.250MHz Pixeltakt ist mit dem Chip nicht erreichbar?

    Tja. Gut Frage. Ich habe im Web mehrere Aussagen zum Vidor 4000 gefunden, wie "720p is no problem" , "I overclocked the FPGA to make FHD witt 1080i" (oder war es 30 fps?). Der offizielle VidorGraphics aus VidorBitstream Repo sollte auch 720p machen (mit etwas seltsamen Timings), aber ich habe ihn nicht zum Laufen gebracht.


    Ich habe dieses Projekt von VGA auf normales 720p umstellen wollen. Die Farbbits würden dann mit 360 MHz und DDR rausgehauen. Aber Quartus motzt dann, dass dein Pin mit 720 Mbps getrieben wird und nur 640 Mbps kann.

    Auch dazu hab ich im Internet mal wieder Aussagen gefunden, wie z.B. man könne mit speed grade 6 mehr machen beim Cyclone 10 LP (der auf dem Vidor 4000 hat 8). Hat aber bei mir auch nicht geklappt.


    Aber ich kenne mich mit den Tools kaum aus. Vielleicht gibt es da ja Tricks. Hab auch noch sehr wenig Ahnung von altpll Wizard. War halt recht einfach, von den 48MHz des SAMD21 auf 64MHz Pixeltakt und 360MHz für die Farbbits zu kommen. Bei normalem 720p und den 74,xx MHz hab ich immer nur andere (krumme) Werte um 73,yy bekommen oder Warnings,dass Multiplier/Divisor so nicht realisiert werden können.

  • Vielleicht gibt es da ja Tricks

    Zu den Tools kann ich keine geben, da ich eher auf Xilinx-Seite unterwegs bin, aber IIRC darf der Takt um +/- 0.5% abweichen - damit wären zB 74,0 oder 74,5 MHz auch noch im erlaubten Rahmen. Vielleicht kann man auch mit zwei hintereinandergeschalteten PLLs was hinbekommen. Sowas ist halt immer Zahlenschieberei, man sucht sich aus dem Chip-Manual die Möglichkeiten der PLL heraus und knobelt dann, wie man mit den erlaubten Multiplikatoren und Divisoren vom Start zum Ziel kommt ohne die weiteren Nebenbedingungen (VCO-Taktbereich, Mindestfrequenzen usw.) zu verletzen. Manche Chips sind da flexibler als andere, IIRC gabs zB bei Lattice PLLs mit Nachkommastellen beim Divisor.


    Eine weitere Alternative wäre es, den Takt auf dem Board komplett zu ignorieren und einen weiteren Oszillator mit einer "angenehmeren" Frequenz an den Chip zu hängen, sofern noch ein als Takteingang tauglicher Pin erreichbar ist. Für 74,25MHz würde sich zB ein Oszillator mit 13,5 oder 27,0MHz anbieten.


    Aber Quartus motzt dann, dass dein Pin mit 720 Mbps getrieben wird und nur 640 Mbps kann.

    Kann man das nicht ignorieren und die Übertaktung auf eigenes Risiko hin ausprobieren?


    War halt recht einfach, von den 48MHz des SAMD21 auf 64MHz Pixeltakt und 360MHz

    Meinst du 320MHz statt 360? DVI schiebt ja auf jedem Kanal 10 Bit pro Pixel raus und durch DDR ist nur der halbe Takt nötig -> 64MHz * 5 = 320MHz

  • Vielleicht gibt es da ja Tricks

    Zu den Tools kann ich keine geben, da ich eher auf Xilinx-Seite unterwegs bin, aber IIRC darf der Takt um +/- 0.5% abweichen - damit wären zB 74,0 oder 74,5 MHz auch noch im erlaubten Rahmen. Vielleicht kann man auch mit zwei hintereinandergeschalteten PLLs was hinbekommen. Sowas ist halt immer Zahlenschieberei, man sucht sich aus dem Chip-Manual die Möglichkeiten der PLL heraus und knobelt dann, wie man mit den erlaubten Multiplikatoren und Divisoren vom Start zum Ziel kommt ohne die weiteren Nebenbedingungen (VCO-Taktbereich, Mindestfrequenzen usw.) zu verletzen. Manche Chips sind da flexibler als andere, IIRC gabs zB bei Lattice PLLs mit Nachkommastellen beim Divisor.


    Eine weitere Alternative wäre es, den Takt auf dem Board komplett zu ignorieren und einen weiteren Oszillator mit einer "angenehmeren" Frequenz an den Chip zu hängen, sofern noch ein als Takteingang tauglicher Pin erreichbar ist. Für 74,25MHz würde sich zB ein Oszillator mit 13,5 oder 27,0MHz anbieten.

    Ja, muss mal genauer im User Manual nachlesen und vielleicht Tutorials zu dem Quartus PLL Wizard suchen. Viele Settings sagen mir als Software-Mensch halt so ziemlich gar nichts.

    Selbst irgendwas zum Vidor dazulöten mag ich erst recht nicht. Die Idee war ja, dass Leute (so ahnungslos wie ich) out-of-the-box damit rumspielen können, ohne wie bei DE10-nano gleich 150 Euro hinzulegen.

    Wenn man selbst löten will (und kann) kommt man mit dem Board von M.J. und Maiks Addon eh viel billiger weg (hat aber halt kein MiniHDMI).


    Aber Quartus motzt dann, dass dein Pin mit 720 Mbps getrieben wird und nur 640 Mbps kann.

    Kann man das nicht ignorieren und die Übertaktung auf eigenes Risiko hin ausprobieren?


    War halt recht einfach, von den 48MHz des SAMD21 auf 64MHz Pixeltakt und 360MHz

    Meinst du 320MHz statt 360? DVI schiebt ja auf jedem Kanal 10 Bit pro Pixel raus und durch DDR ist nur der halbe Takt nötig -> 64MHz * 5 = 320MHz

    Ja, ich meinte 320MHz. Ich hab nicht im output Ordner geschaut, aber es sah aus, als hätte Quartus nach der Error-Message sehr schnell aufgehört und nichts ausgespuckt.

  • Mein jüngster Sohn hat das Signal mit seinem 8 Euro HDMI Capture Device getestet (funktioniert gut für Let's play-Aufnahmen von der Nintendo Switch). Leider mag das mein 720p DVI Signal auch so gar nicht. Erkennt nichtmal, dass was anliegt :-(


    Also mal Fazit:

    • Phillips LCD-TV von Ende 2011 zeigt es gut an, sagt in der Info"720p / unscaled" und zeigt es Vollbild (man kann es per Menü aber noch in irgendeine Art "Overscan" bekommen)
    • DELL LED-LCD Monitor von 2020 zeigt es am DVI gut an (Vollbild)
    • EIZO von Mitte 2008 erkennt 1280x720x60Hz und zeigt Farbrauschen in diesem Format
    • Billig HDMI Capture Took , China Mitte 2021: erkennt gar nix

    Die Werte sind die Reduced Blanking Werte für das 1280x720p Preset von diesem "Video Timings Calculator":


    CVT-RB

    H Pixels 1280

    H Front Porch 48

    H Sync 32

    H Back Porch 80

    V Pixels 720

    V Front Porch 3

    V Sync 5

    V Back Porch 13


    Ach ja: das ganze ist natürlich nur ein Testpattern, dass direkt in Verilog im FPGA erzeugt wird, kein Framebuffer (gar vom SDRAM) oder sowas.

  • Drei andere "Findings" der letzten Tage, die für das Topic evtl. relevant sind:

    1. DE10-nano verwendet einen extra Chip (Analog Devices ADV7513) für HDMI und kann damit wohl auch FullHD 1080p
    2. das WiFi/BLE Modul (U-blox NINA-W102) vom Vidor 4000 nutzt wohl einen dual-core ESP32 (hat also deutlich mehr Wumms als der SAMD21)
    3. Seeed Spartan Edge Accelerator Board könnte für 39 USD noch eine günstigere Alternative zum Vidor 4000 sein (mit Spartan 6, ca. 13000 LEs, auch Mini-HDMI)