Sida 15 av 16
Re: Korkens Optical Flow sensor
Postat: 4 maj 2015, 22:49:11
av Korken
Grejen är att jag inte vet hur varm den kommer bli.

Så just nu tänkte jag förbereda för det värsta och sen hoppas jag på att jag slipper kylning.
Men att göra 200 000 FFTer/s kanske genererar lite värme.
Men tack för idén, ska kolla på sånna kylflänsar!
Re: Korkens Optical Flow sensor
Postat: 5 maj 2015, 13:27:19
av Agwan
När du routade DDR3-minnena, använde du 40 eller 50 ohms impedans? Det står 40 ohm på hälften av alla ställen och 50 på resterande.
Re: Korkens Optical Flow sensor
Postat: 5 maj 2015, 16:21:27
av Korken
För Artix-7 så görs allt i mjukvara, den har On Die Termination (ODT) så man kan välja lite hejvilt.
Men jag kör med 50 Ohm vilket också rekommenderat för DDR2, vilket jag kör med (behövde inte hastigheten i DDR3).
För Zynq så är jag lite osäker, där måste jag snegla i manualen.

UG933, sidan 63 säger att för DDR3/3L så ska det vara 40 Ohm.
ug933-Zynq-7000-PCB.pdf
Re: Korkens Optical Flow sensor
Postat: 5 maj 2015, 21:07:20
av qx5
Hur häftigt minne kan du köra med din FPGA? Några problem med signalintegritet på mönsterkortet? Hur går det med att minnesåtkomsten måste ske i större block? (burst)
(finns SD, DDR1, DDR2, DDR3, DDR4 och diverse GDDR)
Re: Korkens Optical Flow sensor
Postat: 5 maj 2015, 21:39:03
av Korken
Artix-7 stödjer DDR3, DDR2 och LPDDR2 i generatorn som skapar ett memory interface (MIG).
När det kommer till signalintegritet så är det standard: matchad längd på banor, 50 ohm för single ended och 100 ohm för differentiell.
Minnesåtkomst har jag inte kollat på än, jag har bara beräknat hur snabbt det behöver vara och sedan tagit till extra.
Det kommer bli ett eget kapitel i min väg att lära mig FPGAer.
Saken som jag ser som största problemet för mig inom en snar framtid är att hitta ett interface som stöder nog snabba överföringar.
Jag har typ Gigabit Ethernet och USB 3.0 att välja, och USB 3.0 har ingen vettig bridge IC än samt att ethernet är mer industristandard.
Så måste ta och läsa in mig på ethernet och se om jag kan skriva en egen MAC + enkel UDP överföring (utan att behöva ta till en soft core MCU) för att pumpa bilddata i 43MB/s.

Hittade folk som gjort det, så det är inte omöjligt men jag kan inte ethernet nog bra än.
Re: Korkens Optical Flow sensor
Postat: 5 maj 2015, 21:46:21
av Agwan
Kör du Zynq:en så kan du låta en av processoerna sköta Ethernet-interfacet. Så gör vi. 400 Mbit/s skall inte vara så svårt att nå med en lösningen. Kopiera ethernetlösningen från något av demokorten bara. Om du vill flöda data från en Artix-7 till zynq:en så gör det via något av Xilinx standard serieinterface.
Men varför skall du flöda så mycket data, skall du inte utvärdera datat på FPGA:n och bara skicka resultatet?
Re: Korkens Optical Flow sensor
Postat: 5 maj 2015, 22:14:58
av Korken
Jodå, för Artix-kortet så blir det inte något så avancerat, då skulle det projektet aldrig bli klart.

Jag funderar dock mer för framtida användning för att kunna strömma en bildström till minne i datorn för att testa algoritmer innan man börjar trycka in dom i en FPGA.
Att utveckla en algoritm från början i en FPGA känns lite överambitiöst.
Tex så kommer vi snart behöva det på universitetet för framtida utveckling, så funderar redan på det.
Men på Zynqen, finns det "gratis" block för ethernet där?
Jag har tvärr inte haft nog med tid att leka där än, men vet att alla Xilinx ethernet IPs inte är gratis för Artix-7 iaf.

Re: Korkens Optical Flow sensor
Postat: 6 maj 2015, 09:06:49
av Agwan
ARM:arna kan köra ethernet i hårdvara, FPGA:n behöver inte blandas in. Så inga IP behövs förutom IP-nummer då.

Det enda man behöver göra är att langa över datat från FPGA:n till minnet så att ARM:arna kan komma åt det.
Re: Korkens Optical Flow sensor
Postat: 6 maj 2015, 13:35:14
av Agwan
Nu routade du ju inte DDR3-minnen här, men du kanske tittat på det tidigare. På sida 64 i ditt fina dokument som du länkat till ovan står det:
In the fly-by topology, TL0 should be kept from 0-64 mm, with TL1 14 mm ±0.1 mm, and
TL2 from 6-20 mm.
TL1 är från FPGA till första minnet, TL1 mellan minnen och TL2 från sista minne till terminering. Det som förvånar mig är att det står 14mm mellan minnena. När jag monterar minnena i princip kant i kant så blir mina trace ändå 15,7mm långa. Iaf de som behöver gå i vior genom hela kortet. Jag är förvånad över att kravet verkligen skulle vara precis 14mm.
Re: Korkens Optical Flow sensor
Postat: 7 maj 2015, 08:54:11
av Korken
Ahhh, justja - man kan ju köra det genom PS delen och inte använda PL öht!
Det är mycket enklare skulle jag gissa på än att använda Ethernet i en vanlig FPGA.

Har ni testat att köra ethernet från bare-metal? Jag skulle iaf inte vilja ha ett helt linux körandes där.
Såg att FreeRTOS och lwIP stöds, så de kanske man kan testa.
Angående trace längder, jag kommer ihåg att jag läst detta, men det är konstigt.
Jag ska fråga våran expert på universitetet om han vet varför det är så, men det har säkert något att göra med reflektioner som kan ske när man gör stubs.
Dock när jag själv gör detta så kör jag nästan alltid T-branch, jag gjorde Fedevel Academy:s kurser och där är det 4 minnen man routar, två på ovansidan och två på undersidan.
SÅ när jag kommer köra fler minnen blir det nog samma grej för mig. Bäst att sno något som man har facit för.

Re: Korkens Optical Flow sensor
Postat: 7 maj 2015, 11:11:58
av Agwan
Vi har inte kommit så långt i utvecklingen än, men tanken är att vi skall köra i Linux.
Ser fram emot förklaring från er expert.
Re: Korkens Optical Flow sensor
Postat: 7 maj 2015, 19:20:05
av Korken
Han hade lite spekulationer, men summa summarum va:
Svårt att dra några direkta lärdomar av det xilinx föreslår här är jag rädd, känns som om texten är tagen ur en större rapport och att för många detaljer tagits bort.
Så vi får leva med det tror jag...
Dock så är det inte bra att vi diskuterar Zynq så mycket, nu vill jag byta till den minsta att ha på processing kortet istället...

Re: Korkens Optical Flow sensor
Postat: 8 maj 2015, 17:29:30
av Korken
Hmm, jag har nu jämfört Artix-7 och Zynq-7000, och man får en Zynq för 100kr extra.
Det lockar väldigt mycket att köra den av fyra anledningar:
1. Den har en CPU direkt, så tex sup-pixel registreringen jag behöver göra skulle vara mycket enklare att utföra (en minsta kvadratmetod plus optimering av maxima).
2. Den har inbyggda kondingar i kapseln så det är lite mindre känsligt för hur man gör med all avkoppling.
3. Zynq kommer i en trevlig 225 bollar BGA som passar prefekt till projektet och tar mindre plats mot Artix-7an som behövde en 324 bollars för att få dit DDR2 minnet.
4. Zynq har delay matching i CPUn för DDR minnena så man kan fiddla lite där för att garantera att DDR minnet skulle funka bra.
Vad säger ni? Ska man stanna på Atrix-7 eller hoppa till en Zynq? Är väldigt kluven...

Re: Korkens Optical Flow sensor
Postat: 8 maj 2015, 22:40:22
av Agwan
Vi använder båda. Artixen som en dum enhet som bara processar data och omvandlar till en serieström som skickas in i en Zynq för packetering och ethernetöverföring via ARM-kärnorna. Men vi har en modulär design där det ofta blir 9 Artixar som skickar data en Zynq.
Zynq:en är ett klart bättre val, men har du orken och tiden att lära dig både FPGA:delen och ARM:delen samt kommunikationen mellan dem? Och det utöver det projekt som är kärnan i det du arbetar med.
Re: Korkens Optical Flow sensor
Postat: 10 maj 2015, 15:49:11
av Korken
Att lära sig och använda den är ingen fara, ska till efter sommaren börja på en 3D sensor baserad på Zynq 7Z030, så det måste jag lära mig iaf.

Men jag har lite koll på det just nu, AXI delen börjar falla på plats, bara vanan kvar. Det som mest gör mig fundersam just nu är PS delen.
Har lekt med den i bare metal mode, men skulle behöva komma igång med FreeRTOS, lwIP osv där (hur man ställer in allt som är mitt största problem).
Samt i värsta fall kan jag strunta i PS delen och köra allt som ett isolerat system i PL delen. Men det ska inte vara några problem hoppas jag.
Jag testar att designa lite med Zynqen och ser hur den känns.
För de som vill lära sig AXI delen, kolla alla videos av denne person:
https://www.youtube.com/user/mamsadegh2
Gav mig allt jag behövde för att börja använda det!