Forum: FPGA, VHDL & Co. Geringe Übertragungsrate


von Alain K. (alain92)


Lesenswert?

Hi Leute,

Ich verwende Zedboard und windows 7.

Ich habe ein Problem mit meinem Design in Vivado.

Ich habe ein IP Core erstellt aus zwei Stream Interface( ein Master und 
ein Slave). Der Block ist einen einfachen Allpass. Die Daten werden 
durch ein DMA Controller übertragen.


Ich habe die Zeit und Die Übertragungsrate in SDK gemessen und find ich 
sie zu gering. kann jemand mir helfen, um das Problem zu finden.?

Number of Samples 2048.
Output took 695822396 clock cycles.
Output took 1.04 s.
DataRate 7848.75 Byte/s.


Dies ist mein VHDL-Code:
1
 Allpass : process ( s_axis_aclk ) is    
2
  begin 
3
if  rising_edge (s_axis_aclk) then   -- Rising clock edge 
4
        if (m_axis_tready = '1') then   -- tready activ
5
                
6
                s_axis_tready <= m_axis_tready ;   
7
                m_axis_tstrb <= s_axis_tstrb;
8
                m_axis_tlast <= s_axis_tlast ;
9
                m_axis_tvalid <= s_axis_tvalid ; 
10
                m_axis_tdata <= s_axis_tdata ;              
11
         end if ;
12
13
  end if ; 
14
 end process Allpass;  --

Beste Grüße
Alain

: Bearbeitet durch Moderator
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Alain K. schrieb:
> Dies ist mein VHDL-Code:
Mach das nächste Mal bitte gleich die passenden Tokens drum rum. Wie das 
geht?
So wie in der Anleitung zur Editbox beschrieben:
1
Antwort schreiben
2
Wichtige Regeln - erst lesen, dann posten!
3
:
4
Formatierung (mehr Informationen...)
5
    [vhdl]VHDL-Code[/vhdl]

: Bearbeitet durch Moderator
von Florian Pitzl (Gast)


Lesenswert?

Hallo Alain,

Bei "richtiger" Verwendung kann man die im Datenblatt des Zynq 
angegebenen Bandbreiten zwischen dem Processorsytem und dem FPGA-Teil 
nahezu erreichen. Warum deine Werte nur einen kleinen Bruchteil davon 
erreichen, kann man aufgrund der geringen Systembeschreibung nicht 
erraten...

Unabhängig davon ist dein AXI-Stream-Interface nicht wirklich konform 
zum Standard. Daten werden nur bei gleichzeit gültigen Valid- und 
Ready-Signal übernommen. Ein Slave kann sein Ready-Signal vor, 
gleichzeitig oder nach einem aktiven Valid-Signal setzen. Es ist also 
sogar möglich, dass deine Interfacebeschreibung in einen Deadlock 
(Master hat nur inital sein Ready gesetzt und erwartet zu einem späteren 
Zeitpunkt erst ein Valid bevor er sein Ready erneut setzt) läuft - aber 
wie oben schon angemerkt ohne ausreichende Systembeschreibung alles nur 
reine Spekulation.

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.