Forum: FPGA, VHDL & Co. Suche jemanden für FPGA Programmierung


von Robert S. (roncobuster)


Angehängte Dateien:

Lesenswert?

Suche jemanden der mir für ein "Proof of Concept" auf einem FPGA 
Entwicklungsboard wie z.B. Zybo Z7 einen FPGA programmieren kann.
Es geht um Videosignalbearbeitung vom HDMI.

Hier ganz kurz erklärt:
Das HDMI Signal soll auf eine bestimmte Pixelanzahl skaliert bzw. 
beschnitten werden.

Fall_1:
HDMI_IN 1920x1080 Pixel, HDMI_OUT 1920x720 Pixel. (Hier soll der Bereich 
1920x720 aus dem 1920x1080 Frame ausgeschnitten werden)

Fall_2:
HDMI_IN 3440x1440 Pixel, HDMI_OUT 1720x720 Pixel. (Hier sollen die Pixel 
halbiert werden)

von Zero V. (Firma: Freelancer) (gnd)


Lesenswert?

Gegen Bezahlung?

von N. M. (mani)


Lesenswert?

Das Beispiel geht schon Mal in eine richtige Richtung:
https://digilent.com/reference/programmable-logic/zybo-z7/demos/hdmi?redirect=1

Wobei HDMI_IN 3440x1440 Pixel schon nicht so wenig ist, oder?

von Tipp (Gast)


Lesenswert?

Robert S. schrieb:
> HDMI_IN 1920x1080 Pixel, HDMI_OUT 1920x720 Pixel. (Hier soll der Bereich
> 1920x720 aus dem 1920x1080 Frame ausgeschnitten werden)
Dafür gibt es einen Core von Xilinx.

Robert S. schrieb:
> HDMI_IN 3440x1440 Pixel, HDMI_OUT 1720x720 Pixel. (Hier sollen die Pixel
> halbiert werden)
Auch das müsste der rescaler können.  Die Pixel müssen aber nicht 
halbiert, sondern vergrößert werden, also braucht es noch ein resampling 
filter. Das gibt es auch als Core.

Und: Man braucht den HDMI-Core + PHY, die sind alle kostenpflichtig. Die 
Weitergabe der Sourcen wird also ein lizenztechnisches Problem.

Das zu bauen sind 2-3 Wochen bis das geht, wobei ich nicht sicher bin, 
ob das ZYBO das technisch auch kann, denn:

N. M. schrieb:
> Wobei HDMI_IN 3440x1440 Pixel schon nicht so wenig ist, oder?
Das ist so ein wide screen Format für game-Monitore, wenn ich nicht irre 
und es könnte sein, dass der CORE das nicht kann oder die Transceiver da 
nicht mitmachen.

von Martin S. (strubi)


Lesenswert?

Tipp schrieb:
> Das ist so ein wide screen Format für game-Monitore, wenn ich nicht irre
> und es könnte sein, dass der CORE das nicht kann oder die Transceiver da
> nicht mitmachen.

Ohne Angabe der Pixelfrequenz kann man dazu eigentlich gar keine Aussage 
machen.
150 MHz (~1080p60) laeuft nach meiner Erinnerung gerade noch stabil mit 
einer simplen Pipeline. Crop/Scale ist auch mit dem AXI-Overhead recht 
billig.
Darueber wirds schwierig, ohne einen HDMI Transceiver mit vernuenftigem 
Lane-Deskewing sollte man das nicht in ein Produkt zwaengen.

@Robert: Mehr Butter bei die Fische, oder Xilinx-FAEs loechern. 
Gratis-Tips in der 'Suche'-Form abholen kommt hier nicht so wahnsinns 
gut an.

von Johannes S. (Gast)


Lesenswert?

andere suchen händeringend nach FPGAs...

von Patrick L. (Firma: S-C-I DATA GbR) (pali64)


Lesenswert?

Johannes S. schrieb:
> andere suchen händeringend nach FPGAs...

Und wieder andere haben die, aber nicht im passenden Gehäuse Lager .....

von Robert S. (roncobuster)


Lesenswert?

Guten Tag,

ja, gegen Bezahlung.

von Robert S. (roncobuster)


Lesenswert?

HDMI_IN

Pixel Clock: 319.75MHz
Horizontal Active : 3440
Horizontal Blanking : 160
Vertical Active : 1440
Vertical Blanking : 41
Horizontal Sync Offset: 48
Horizontal Sync Pulse: 32
Vertical Sync Offset: 3
Vertical Sync Pulse: 10
Horizontal Display Size: 800
Vertical Display Size: 335
Horizontal Border: 0
Vertical Border: 0
Interlaced : false
Stereo Mode: 0
Sync Type: 3



HDMI_OUT

Pixel Clock: 89.3MHz
Horizontal Active : 1920
Horizontal Blanking : 128
Vertical Active : 720
Vertical Blanking : 9
Horizontal Sync Offset: 25
Horizontal Sync Pulse: 15
Vertical Sync Offset: 1
Vertical Sync Pulse: 2
Horizontal Display Size: 2048
Vertical Display Size: 732
Horizontal Border: 0
Vertical Border: 0
Interlaced : false
Stereo Mode: 0
Sync Type: 3

von Gustl B. (-gb-)


Lesenswert?

Robert S. schrieb:
> Pixel Clock: 319.75MHz

Zu schnell. Also nicht die Clock, aber eben die zugehörige Datenrate der 
Farbkanäle.

von Tipp (Gast)


Lesenswert?

Gustl B. schrieb:
> Zu schnell. Also nicht die Clock, aber eben die zugehörige Datenrate der
> Farbkanäle.
Die kommen doch double pixel und somit mit der halben Frequenz. 
Vollformat UHD 4K ist noch schneller, braucht 297. Es dürfte aber die 
Transceiver dieses Bausteins überfordern, nehme ich an. Der ZYBO ist 
eher eine mittelpreisige Architektur.

Robert S. schrieb:
> Pixel Clock: 89.3MHz
Wo kommt denn DER Takt her?
1920 sind 148.5 oder die Hälfte bei I60/30Hz und bei 720 wird das Bild 
doch noch kleiner und der Takt langsamer. Komische Formate sind das.

Da bin ich nicht so sicher, ob der Xilinx Video Core das kann. Lade es 
einfach und probiere es aus.

von Gustl B. (-gb-)


Lesenswert?

Tipp schrieb:
> Die kommen doch double pixel und somit mit der halben Frequenz.

Immer noch zu schnell.

Tipp schrieb:
> Es dürfte aber die Transceiver dieses Bausteins überfordern, nehme ich an.

Welche genau? Der Baustein hat keine.

Tipp schrieb:
> Der ZYBO ist eher eine mittelpreisige Architektur.

Das ist ein XC7Z010-1CLG400C die Eingänge/Ausgänge können nichtmal 1 
GBit/s. Auch nicht wenn man DDR spricht.

von Dergute W. (derguteweka)


Lesenswert?

Moin,

Gustl B. schrieb:
> Das ist ein XC7Z010-1CLG400C die Eingänge/Ausgänge können nichtmal 1
> GBit/s. Auch nicht wenn man DDR spricht.

Ja, aber wenn man IOSERDES spricht, scheints etwas schneller zu gehen:

Xilinx schrieb im Zynq-7000-Overview:
> By cascading two IOSERDES from two adjacent pins (default from
> differential I/O), wider width conversions
> of 10 and 14 bits can also be supported. The ISERDES has a special
> oversampling mode capable of asynchronous data
> recovery for applications like a 1.25 Gb/s LVDS I/O-based SGMII interface.

OK, dann ist man auch erst bei 125MHz Pixelclock und damit schon noch 
ordentlich weit weg von den geforderten 320Mhz. Aber die wuerden eh' 
auch schon lange nicht mehr durch den Cableequalizer auf dem Board 
gehen, da ist dann bei 225MHz Ende Gelaende.

Gruss
WK

: Bearbeitet durch User
von Gustl B. (-gb-)


Lesenswert?

https://www.xilinx.com/support/documentation/data_sheets/ds187-XC7Z010-XC7Z020-Data-Sheet.pdf 
Table 50.

1,25 GBit/s gelten für die Speedgrades 2 und 3.

Dergute W. schrieb:
> Ja, aber wenn man IOSERDES spricht, scheints etwas schneller zu gehen:

Die sollte man sowieso verwenden.

Dergute W. schrieb:
> cascading

Das bringt keine höhere Datenrate, aber man kann eben mehrere Bits 
rausholen. Was aber komischerweise nicht geht ist 12 Bits. Aber egal, 
dann nimmt man einen SerDes und eine Gearbox.

von Dergute W. (derguteweka)


Lesenswert?

Gustl B. schrieb:
> 1,25 GBit/s gelten für die Speedgrades 2 und 3.
Jamei, wenn da der langsame Zynq verbaut ist, dann reduziert sich die 
Pixelclk halt von 125 auf 95MHz. Fuer 1080p30 oder 720p60 taet's noch 
reichen, aber die exotische Aufloesung hier ist doch bissl zu hoch.

Gustl B. schrieb:
> Das bringt keine höhere Datenrate, aber man kann eben mehrere Bits
> rausholen. Was aber komischerweise nicht geht ist 12 Bits. Aber egal,
> dann nimmt man einen SerDes und eine Gearbox.
HDMI/TMDS ist iirc 10 bit breit, wenn man das anders als 1:10 
deserialisiert, wirds aaarg ungemuetlich...

Gruss
WK

von Gustl B. (-gb-)


Lesenswert?

Dergute W. schrieb:
> HDMI/TMDS ist iirc 10 bit breit, wenn man das anders als 1:10
> deserialisiert, wirds aaarg ungemuetlich...

Ja, sind 10 Bits. Aber arg ungemütlich ist das auch nicht wenn man 8 
Bits deserialisiert. Als einfachen Ansatz könntest du das kleinste 
gemeinsame Vielfache nehmen von 8 und 10, also 40.
Du deserialisierst immer 8 Bits je Takt und alle 5 Takte kommen 40 Bits 
raus die du dann in 4 mal 10 Bits aufteilst.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.