Fpga, var ska man börja?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
jockwe
Inlägg: 142
Blev medlem: 24 februari 2009, 09:51:18
Ort: Göteborg

Fpga, var ska man börja?

Inlägg av jockwe »

Hej!
Jag sitter och funderar lite på att testa att labba med en fpga.
Vad jag har förstått är det optimalt att köra fpga när man behöver bearbeta digital data?
Men jag är helt nybörjare på detta området och skulle behöva lite tips på vad som kan vara bra att börja med! Vilken tillverkare har smidigast utvecklingsmiljö osv?
Hur styr man hastigheten på en fpga? Har dom inbyggda pll eller måste man fixa det själv?
Vad brukar max klockhastighet ligga på? (Dum fråga egentligen..)

All möjlig information kring fpgas välkommnas! Eller en knuff åt rätt riktning iallafall..

// Jocke
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Re: Fpga, var ska man börja?

Inlägg av blueint »

FPGA är användbar när man behöver reaktionstider på nanosekunder (10^-9) och absolut realtidsrespons. Samt för uppgifter som kan nyttja parallellism och pipeline. Test inför ASIC design är också en tillämpning där prestandan blir mindre kritisk.

Själv gillar jag Xilinx pga bra utbud av kretsar som också går att köpa t.ex via DigiKey (hallå ELFA!). En annan tillverkare som är värd att kika på är Actel, dock har de senare lite begränsande villkor om man vill sälja sin design. Båda dessa tillverkare erbjuder utvecklingsmiljö som fungerar med BSD, Linux och Windoze.

Grafisk miljö är enkel men begränsande. Programmering i VHDL eller Verilog är att föredra samt att man använder makefiler. Dator med stor L-cache och snabb minneskontroller är också bra! (klockfrekvens av mindre vikt)

En FPGA är en hög grindar. Så om du frågar hur snabb en AND-grind är, så är svaret detsamma. det beror på hur snabba signaler DU skickar in. Dock finns det begränsningar på hur snabbt grinden kan reagera säkert och ju fler som är sammankopplade, desto längre tid tar stabilisering av signaler (hold + setup tid).

Maximal klockningshastighet beror helt på vad du konstruerar. Men 50 MHz är en vanligt förekommande standardfrekvens på utvecklingskort. Utöver detta kan man använda egna oscillatorer på kanske upp till 300 MHz, helt beroende på chip och impedansanpassning. Internt kan man multiplicera klockan till högre frekvens med hjälp av DCM modulen (Xilinx). Latenstiden för yttre anslutningar är utan problem 2 ns och bithastigheten 300 Mbit/s. Så man kan lätt konstruera HDMI signaler, A/D bearbetning, DDR2 gränssnitt osv.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Fpga, var ska man börja?

Inlägg av sodjan »

> Vad jag har förstått är det optimalt att köra fpga när man behöver bearbeta digital data?

Det beror ju helt på vilken betydelse du lägger i "digital data" !

För lägre hastigheter så är det sannolikt fortfarande betydligt
enklare att använda "vanliga" generella processorer som t.ex
AVR eller PIC om en 8-bitars räcker till, eller ARM om det är
lite större krav.

> All möjlig information kring fpgas välkommnas!

Som vanligt är det mesta redan skrivet... :-)
http://en.wikipedia.org/wiki/Field-prog ... gate_array
jockwe
Inlägg: 142
Blev medlem: 24 februari 2009, 09:51:18
Ort: Göteborg

Re: Fpga, var ska man börja?

Inlägg av jockwe »

Allright! Tack för bra info! Det är ju egentligen videodata jag vill hantera, så det lär bli ganska höga hastigheter på det hela.. Men det får bli någon gång i framtiden när jag känner mig mer säker på vad jag håller på med.

VHDL, är det väldigt olikt andra språk? Jag har tidigare bara kört avr och stm32 och då programmerat mest i c.

För att testa tänkte jag beställa hem något från ebay. Länk
kan det vara något att ha som nybörjare eller bör jag satsa på något annat?
Har förstått att jag behöver en jtag programmerare med, är det någon specifik man behöver använda eller räcker det med någon billig variant?

// Jocke
Användarvisningsbild
AndersG
EF Sponsor
Inlägg: 9158
Blev medlem: 25 februari 2008, 17:10:58
Ort: Mariehamn
Kontakt:

Re: Fpga, var ska man börja?

Inlägg av AndersG »

Kolla senaste numren av Elektor. Rätt mycket fpga där och dessutom har de ett färdigt kit till salu.
Användarvisningsbild
Wedge
Inlägg: 1026
Blev medlem: 8 juli 2012, 17:33:33

Re: Fpga, var ska man börja?

Inlägg av Wedge »

Ska du implementera en mikroprocessor i en fpga??
zealotry
Inlägg: 919
Blev medlem: 9 oktober 2004, 22:28:40
Ort: Västerås

Re: Fpga, var ska man börja?

Inlägg av zealotry »

Här http://elecrom.wordpress.com/2008/03/02 ... nx-xc9536/ finns lite info om hur man kommer igång med en fin liten CPLD, ganska rakt på. Bra början för att labba och lära sig grunderna.

Kort kan man väl säga att det inte finns några likheter alls mellan VHDL och det du programmerat till din stm32. VHDL är mer ett hårdvarubeskrivande språk. Tänk att du bygger ett nät av grindar/vippor som utför någon logisk funktion när klockan tickar. VHDL beskriver såna nät i kod. Så istället för att bygga din lösning med grindar/vippor så kodar du VHDL (eller verilog, samma sak fast annat språk bara), sen låter du 'kompilatorn' skapa ditt nät och skriver ner det på en fpga/cpld.
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: Fpga, var ska man börja?

Inlägg av Krille Krokodil »

Finns syntesverktyg på högre nivå också där man grafiskt kopplar ihop grindar och mer komplexa komponenter. Och också på ännu högre nivå där man drar in hela moduler såsom CPU, VGA-drivare, PCI-buss m.m och kopplar ihop.

Sist jag kollade vad som var det värsta på marknaden har jag för mig att man låg nära 1 Tbit/s genomströmning av data, det var en 1936 kulors BGA.
jockwe
Inlägg: 142
Blev medlem: 24 februari 2009, 09:51:18
Ort: Göteborg

Re: Fpga, var ska man börja?

Inlägg av jockwe »

Wedge: Näääe, varför undrar du det?

Tack för länken, Zealotry!
Till en början låter det faktiskt rätt smidigt att designa grafiskt och koppla grindar. Nånting säger mig att det kommer bli mycket att lära sig.. Men det blir nog skoj! :D

AndersG: Fanns det någon smidig modul att köpa från elektor? Har inte prenumererat på dem..

// Jocke
Användarvisningsbild
Wedge
Inlägg: 1026
Blev medlem: 8 juli 2012, 17:33:33

Re: Fpga, var ska man börja?

Inlägg av Wedge »

Jag undrar eftersom du postat i kategorin "Mikroprocessorer", that's why.
jockwe
Inlägg: 142
Blev medlem: 24 februari 2009, 09:51:18
Ort: Göteborg

Re: Fpga, var ska man börja?

Inlägg av jockwe »

Ja jusste. lite fel egentligen... Kan jag flytta tråden eller får mod göra det?
Användarvisningsbild
ojz0r
Inlägg: 276
Blev medlem: 14 september 2007, 19:38:04
Ort: Småland

Re: Fpga, var ska man börja?

Inlägg av ojz0r »

Jag håller på med FPGA och CPLD på hobbybasis och det är väldigt roliga små leksaker.

Jag kan rekommendera dig att börja kolla på SPI-interface vilket är ett smidigt sätt att koppla ihop din enhet till periferi hjälpmedel tex ADC, displayer, sensorer osv.

Och har du hållt på med C-programering innan kan jag varmt rekommendera att skriva koden i språket verilog vilket är starkt baserat på just C så du kommer nog känna igen dig mer där.
void
Inlägg: 119
Blev medlem: 8 juli 2007, 11:06:50
Ort: Enköping

Re: Fpga, var ska man börja?

Inlägg av void »

Ett sätt att komma igång kan vara Papilio, FPGA-motsvarigheten till Arduino: http://papilio.cc/ . Jag har själv köpt ett kort för att leka lite med "soft-processors" mm. Ganska kul faktiskt.
Användarvisningsbild
SeniorLemuren
Inlägg: 8507
Blev medlem: 26 maj 2009, 12:20:37
Ort: Kristinehamn

Re: Fpga, var ska man börja?

Inlägg av SeniorLemuren »

Jag har ett par rör med en krets som heter Altera EP910. Dessa var med i ett surplusinköp. Så vitt jag förstår så är det någon typ av programmerbara grindar. Kanske dom är hopplöst gamla och inte särskilt användbara men om du vill ha några ex för att leka med kan jag skänka några st. Skicka mig ett PM och meddela din adress i så fall.

Sedan tycker jag att tråden väl passar in under rubriken mikroprocessorer. Det är ju visserligen inte en renodlad mikroprocessor men det är enligt min mening i alla fall frågan om mikroprocessing / kretsprogrammering.

Tråkigt det där med att en del inlägg bara handlar om att vara skollärare och knäppa folk på näsan utan att tillföra något vettigt angående frågeställningen.
Användarvisningsbild
Krille Krokodil
Inlägg: 4062
Blev medlem: 9 december 2005, 22:33:11
Ort: Helsingborg

Re: Fpga, var ska man börja?

Inlägg av Krille Krokodil »

Studentversionen av Alteras gamla verktyg Max Plus II är rätt lagom stort för att börja med, deras nya Quartus II är en koloss på flera GB som man går vilse i. I det kan man skriva en komponenter i VHDL och sedan får man den som en grafisk krets som man kan koppla in och utgångar till, lägga in grindar och och några av de vanligaste digitala kretsarna och sedan simulera hela rasket.

Finns ingen lämpligare forumkategori än denna för FPGA, blir det ett vanligare diskussionsämne bör man lägga till det i definitionen.
Skriv svar