[Metalab] ZedBoard - Dual ARM A9 / Xilinx Zynq-7000

Herbert Poetzl herbert at 13thfloor.at
Mon Jan 6 14:02:31 CET 2014


On Mon, Jan 06, 2014 at 04:33:35AM +0100, Clemens Hopfer wrote:
> Hallo Sebastian & Bertl,

> Am Sonntag, 5. Januar 2014, 18:33:32 schrieb Sebastian Pichelhofer:
>> Freut mich dass wir schon so weite Kreise ziehen :)

> Ich hab euer geniales Projekt schon vor einiger Zeit gesehen
> und durch das ZedBoard wieder gefunden. Nachdem ich das Mail
> geschrieben hab hatte ich irgendwie das Vermutung, dass ihr
> hier möglicherweise auch mit liest. ;-)

>> Wir haben einige Zedboards über http://www.wmelectronic.at/ bezogen.

> cool, danke für den pointer.

>> Wer noch etwas Geduld hat könnte auch auf das Zybo Board warten:
>> http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,719,1197&Prod=ZYBO
>> mit Zynq 7010 und ohne FMC aber dafür deutlich günstiger.

> Das sieht interessant aus, das Microzed hab ich auch schon     
> gesehen, der Z-7010 hat halt nur ca. 1/3 der logic cells.      

Die Frage hier ist einmal wieviele Resourcen du wirklich
brauchst. D.h. hast du eine Idee was in etwa benoetigt wird?

                Z-7010       Z-7020
-----------------------------------
Logic Cells     28.000       85.000
Lookup Tables   17.600       53.200
Flip Flops      35.200      106.400
Block RAM           60          140
DSP Slices          80          220


> Grundsätzlich möchte ich ein SDR (USRP N200) an der GbitE PHY
> betreiben und die Filterbänke, resampler, coder etc. an den
> FPGA auslagern.

> Es gibt für den Z-7020 eine Integration für FIR Filter in
> GnuRadio, an die ich mich halten möcht, da mir FPGA Design
> komplett neu ist und signal processing für mich Großteils
> noch Theorie.

> Peripherie und Speicher sind mir nicht besonders wichtig, 
> nett wäre eine zweite Ethernet PHY, wenn auch nur 100M.

Prinzipiell haben beide Zynq (7010 u 7020) zwei Gigabit
Ethernet Controller die sowohl ueber PS als auch PL geroutet
werden koennen.

> Am Sonntag, 5. Januar 2014, 18:43:57 schrieb Herbert Poetzl:
>> Ja, wir haben uns das Zedboard schon ausgiebig angesehen,
>> wenn es spezifische Fragen gibt, dann bitte einfach fragen
>> ich werde sie vermutlich beantworten koennen.

> Hat du Erfahrungen, wie weit man die GbitE PHY auslasten kann?

Der bestehende Linux Treiber schafft am Zedboard ca. 375Mbit/s
receive und 475Mbit/s transmit (TCP, iperf). zum Vergleich,
normaler Linux PC schafft typischerweise 940Mbit/s.

Ich denke jedoch, dass dies ein reines Softwareproblem ist,
da sowohl der Controller als auch der Phy selbst wesentlich
bessere Technische Daten aufweisen.
(Getestet mit Linux 3.10.0-xilinx)

> Grundsätzlich möchte ich ein SDR (USRP N200) daran betreiben,
> bei vollen 25MS/s/2x16bit sind das 2x ~900Mbit/s FDX.

> Da ich den SDR device driver nicht neu implementieren möchte,
> würde das ganze aus dem FPGA kommend über den Userspace
> gesendet werden.

> Wie funktioniert das device-mapping zwischen Cortex-A7 
> und FPGA? 

Da gibt es eine ganze Reihe von Optionen.
Mal von speziellen Interfaces fuer Debug, Timer, etc abgesehen,
funktioniert die Kommunikation hauptsaechlich ueber AXI Bus-
systeme. Dabei kannst du dir aussuchen, ob der PL (FPGA Fabric)
oder der PS (ARM Cores) Teil die Master oder Slave Rolle
uebernimmt.

Grundsaetzlich ergeben sich daraus folgende Varianten:

 - PL liesst/schreibt Daten direkt ins Memory bzw in den Cache
 - PS liesst/schreibt Daten in eine Memory Mapped Area
 - DMA transferiert Daten zwischen Memory und PL
 - DMA transferiert Daten zwischen Peripherie und PL/PS

Ausserdem waere es denkbar alles im PL zu tun und quasi die
ARM Cores nur zur Konfiguration zu benutzen.

> Ist es möglich in den FPGA unterschiedliche sketches zu       
> laden, die sich getrennt ansprechen lassen oder muss das
> gemeinsam sein?

Sketches sind normalerweise Arduino Programme, was genau
meinst du damit?

best,
Herbert

> Danke und liebe Grüße,
> Clemens


> _______________________________________________
> Metalab mailing list
> Metalab at lists.metalab.at
> https://lists.metalab.at/mailman/listinfo/metalab




More information about the Metalab mailing list