11.01.2012, 17:16
Hallo ihr,
Ich verwende innerhalb einer FPGA-VI zwei FIFOs. Die eine zum FPGA-Chip, die andere zum Host. Dabei gibts Probleme bei der Datenübertragung zum Host.
Die Tiefe der FIFO ändere ich nicht über die Depth-Methode, sondern lasse einfach den Default-Wert. Auf der Host-Seite rufe ich immer 100 Werte gleichzeitig ab. Der Timeout ist dort auf unendlich gestellt. Auf der Fifo-Seite muss der Timeout natürlich 0 sein.
Die Fifo (Target to Host - DMMA) ist laut Projeteinstellungen 32767 Elemente tief. Der Datentyp ist U8.
Seitens der FPGA-Logik wird sichergestellt, das Daten nur in die FIFO geschrieben werden, wenn die Zahl größer als 15 ist. Jedoch sind ca. 7% der Zahlen genau 0. Wir haben leider keine Möglichkeit herauszufinden, ob die restlichen 93% korrekt übertragen werden.
Zuletzt hatte ich sogar 70% nur 0, jedoch habe ich die Tiefe der Fifo geändert und das hat schonmal gut geholfen. Leider ist es immernoch nicht perfekt.
Woran kann das liegen? Was beeinflusst noch die Datenübertragung?
Grüße,
Robert
Ich verwende innerhalb einer FPGA-VI zwei FIFOs. Die eine zum FPGA-Chip, die andere zum Host. Dabei gibts Probleme bei der Datenübertragung zum Host.
Die Tiefe der FIFO ändere ich nicht über die Depth-Methode, sondern lasse einfach den Default-Wert. Auf der Host-Seite rufe ich immer 100 Werte gleichzeitig ab. Der Timeout ist dort auf unendlich gestellt. Auf der Fifo-Seite muss der Timeout natürlich 0 sein.
Die Fifo (Target to Host - DMMA) ist laut Projeteinstellungen 32767 Elemente tief. Der Datentyp ist U8.
Seitens der FPGA-Logik wird sichergestellt, das Daten nur in die FIFO geschrieben werden, wenn die Zahl größer als 15 ist. Jedoch sind ca. 7% der Zahlen genau 0. Wir haben leider keine Möglichkeit herauszufinden, ob die restlichen 93% korrekt übertragen werden.
Zuletzt hatte ich sogar 70% nur 0, jedoch habe ich die Tiefe der Fifo geändert und das hat schonmal gut geholfen. Leider ist es immernoch nicht perfekt.
Woran kann das liegen? Was beeinflusst noch die Datenübertragung?
Grüße,
Robert