uC VS VHDL

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

uC VS VHDL

Inlägg av ankan »

Har programmerat en del picar och har nu börjat läsa en kurs i VHDL i skolan. Min fråga är vad det är för skillnader.
Har jag fattat rätt att FPGA är själva kretsarna man programmerar med VHDL. Är de kretsarna effektivare eller används de bara till andra saker?

Vad är skillnaderna alltså?
sodjan
EF Sponsor
Inlägg: 43257
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Grovt sätt...

PIC/AVR o.s.v programmeras med program som innehåller algoritmer för att lösa en viss uppgift.

FPGA (och alla andra liknande kretstyper) programmeras med en logikbeskrivning (skriven i t.ex VHDL) för att lösa en viss logisk funktion.
Det finns inget sekvensiellt "program" som man normalt ser det.

Grovt sett, det finns idag öven processorkärnor i FPGA o.s.v...
thepirateboy
EF Sponsor
Inlägg: 2109
Blev medlem: 27 augusti 2005, 20:57:58
Ort: Borlänge

Inlägg av thepirateboy »

Jag är ju ingen expert men i stora drag så programmerar du hårdvaran i VHDL (eller rättare sagt beskriver hårdvaran) medans i mikrokontrollers har du färdig hårdvara och du programmerar mjukvaran. Du kan alltså skapa en mikrokontroller i VHDL som gör exakt det du tänkt dig tillsammans med annan logik du behöver, allt i samma kapsel.
cyr
Inlägg: 2712
Blev medlem: 27 maj 2003, 16:02:39
Ort: linköping
Kontakt:

Inlägg av cyr »

En FPGA är något förenklat en jättehög med logiska grindar och vippor, man laddar en "ritning" som säger hur alla dessa ska kopplas ihop (och ritningen kommer oftast från början från en beskrivning i VHDL eller liknande språk).

En FPGA är bäst på att utföra ganska enkla saker väldigt snabbt (och flera saker parallelt).
Seven11
Inlägg: 547
Blev medlem: 13 maj 2004, 23:43:33

Inlägg av Seven11 »

Allt beror ju på hur lång utvecklingstid och hur bra din uppgift måste lösas. Ibland är det viktigare att få produkten klar snabbt än att göra den optimalt för sitt jobb. Det går att göra PIC:ar i VHDL (okej... du lär behöva VHDL-AMS frö nästan alla modeller men iaf) eller liknande mikroprocessorer men frågan är om det är värt den tid det kommer att kräva.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Vad jag har läst lite så skrivs det att företag tjänar pengar på att gå över till FPGA och använda VHDL. Det skulle tydligen gå snabbare att utveckla.

Skulle man kunna få en jämförelse genom att ni beskriver lämpliga arbetsuppgifter för en uC respektive en FPGA. För vad jag förstår så verkar de inte användas till samma ändamål riktigt.
evert2
Inlägg: 2182
Blev medlem: 18 april 2004, 22:47:56
Ort: Jönköping

Inlägg av evert2 »

Nja så kanske det är...men ofta är det så att man använder FPGA (eller CPLD) för klisterlogik..alltså för att förenkla interfacet mot yttervärden...på så vis att FPGA:n t ex gör en "arbeta" som annars skulle sacka ner µC:s arbete rejält...exempelvis!

EdiT: Fast FPGA används väl i (allteftersom utvecklingen går framåt inom området till att användas till) mer och mer avancerade funktioner...jag läste VHDL för mer än 5 år sedan å mycket har hänt sedan dess.
Användarvisningsbild
Icecap
Inlägg: 26730
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Som jag ser det finns det uppgifter som en µC är bra på och andra som logik (grindar, flip-flop osv = FPGA) är bra på och ofta kan de hjälpa varandra. Det finns även en gråzon där det är huggit som stuckit vilket man väljer.

Att en µC ju basalt sett består av logik betyder även att det är möjligt att bygga dom i FPGA vilket också sker. Fördelen är inte att man sparar mjukvara, det ska ju ett program till hur som helst, fördelen kan vara att man kan nöja sig med 1 krets och kanske på köpet få en bättre koppling (för funktionen) mellan µC och resten av logiken.

Fördelen kan även vara rent ekonomisk och/eller effektmässig osv.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Skulle gärna vilja ha lite konkreta exempel vilket det ena lämpar sig bäst till och vilket det andra lämpar sig bäst till.
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Skall du interfaca en bildskärm och skapa alla styrsignaler till denna är FPGA perfekt. Interfaca en bildsensor är också bra jobb for en FPGA och så skapar du register eller bussar som styr interfacet enkelt ifrån en uC. Kombinationen FPGA och uC är stark och kan göra komplexa uppgifter snabbt. En annan fördel med FPGA är att dessa ofta har en vansinnig massa ben så det räcker till för breda bussar.
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Inlägg av Andax »

Ankan, ett exempel är om du vill kunna styra en hel hög med servon. Att implementera 50 PWM kanaler är ofta inget problem i en FPGA och då med en högupplösning.

All typ av digital signalgenerering där signalen är enkel att beskriva men eventuellt har mycket hårda timingkrav på är ideala för CPLD/FPGA medan en mikrokontroller är ideal för mer komplexa signaler med lägre frekvens/timingkrav.
ankan
Inlägg: 1091
Blev medlem: 12 november 2004, 01:50:35

Inlägg av ankan »

Så att göra en overlayer för TVn borde tex inte vara några problem med en FPGA?
sodjan
EF Sponsor
Inlägg: 43257
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

bengt-re> En annan fördel med FPGA är att dessa ofta har en vansinnig massa ben...

En annan nackdel med FPGA är att dessa ofta har en vansinnig massa ben...

En annan fördel med uC är att dessa ofta inte har en vansinnig massa ben...

So, "it depends", I guess... :-)
Användarvisningsbild
bengt-re
EF Sponsor
Inlägg: 4829
Blev medlem: 4 april 2005, 16:18:59
Skype: bengt-re
Ort: Söder om söder
Kontakt:

Inlägg av bengt-re »

Så sant så sant, men har man en 14bitars adressbuss och en 16 bitars databuss så blir det lite jobbigt många ben på uP. Visst är BGA-kapslar lite trista att labba med, men för labbande brukar det finnas experimentkort där man dragit alla dessa ben till stiftlister så att det går lätt att ansuta något på dem. Och visst för BGA-kapslar behöver man nästan ha 4 lagerkort för att kunna fixa någon fungerande routning och de kärver i princip också en reflowugn för att kunna lödas. Allt beror på vad man skall göra - att skapa LVDS eller ens VGA signaler med en uP är svårt ( jag tror inte att jag skulle lyckas iaf) men med en FPGA är det nästan lätt. Så...

FPGA +
Enkelt att skapa komplexa signalmösnter
Många ben
Snabba
Lätta att programera

FPGA -
Många ben
Svåra att löda
Kräver i princip 4-lagerkort (dyrt att labba med)
Svårt att skapa nästlad logik

Up+
Billiga
Lätta att skapa nästalad logig med
Lätta att löda (oftast iaf)

uP-
Svårt att skapa komplexa signaler på många ben med exakt timing
Ont om ben (nåja)
d99dan
Inlägg: 23
Blev medlem: 27 januari 2006, 12:08:25

Inlägg av d99dan »

Sen kan man väl nämna att det inte är så att man bara använder VHDL till att beskriva FPGAer utan den största fördelen ligger väl i just att FPGAer är lätta att labba med och använda i mindre serier men att det sen går att använda VHDL koden för att göra asicar om man vill få ner kostnaden i större serier. Det ställer förvisso en del krav på koden men iden är att den beskriver hårdvaran så att den ska kunna simuleras och realiseras.
Skriv svar