PIC/FPGA?
Det beror på konstruktören!
Sen är skillnaden mellan PIC och FPGA himla stor och du kan inte jämnföra dom på så vis.
Ytterligare antar jag att du med 'PIC' menar mikroprocessorer i gemen och inte enbart PIC-serien, om du faktisk menar just PIC-serien är frågan än mer befängd.
Din fråga är lite som att fråga vad som är bäst på att koka kaffe: Ferrari eller VW.
Sen är skillnaden mellan PIC och FPGA himla stor och du kan inte jämnföra dom på så vis.
Ytterligare antar jag att du med 'PIC' menar mikroprocessorer i gemen och inte enbart PIC-serien, om du faktisk menar just PIC-serien är frågan än mer befängd.
Din fråga är lite som att fråga vad som är bäst på att koka kaffe: Ferrari eller VW.
-
- Inlägg: 14
- Blev medlem: 21 juli 2005, 02:26:15
Om vi säger PIC == relativt lågpresterande mikrodator och nu talar jag endast genom erfarenhet av mina egna hobbykonstruktioner: Jag föredrar att använda en FPGA först då det blir för krångligt eller omöjligt att använda en mikrodator. FPGAer är bra då uppgiften kräver en hög grad av parallellism eller då något måste utföras mycket snabbt. Sen tycker jag även att timing är smidigare att få till med programmerbar logik.
En vinnande kombinaion kan vara att börja med att implementera din konstruktion med en mikrodator, om det visar sig att det är omöjligt att utföra alla uppgifter på den (vilket man borde insett från början, men det är ju så roligt att koda) kan man flytta ut de tunga beräkningarna i anpassad logik, enklast då med en CPLD eller FPGA.
En vinnande kombinaion kan vara att börja med att implementera din konstruktion med en mikrodator, om det visar sig att det är omöjligt att utföra alla uppgifter på den (vilket man borde insett från början, men det är ju så roligt att koda) kan man flytta ut de tunga beräkningarna i anpassad logik, enklast då med en CPLD eller FPGA.
Man får inte glömma av att syntetisera kod för en FPGA kan ta lång tid. Många minuter är mer standard än undantag. Att labba kan alltså bli lite segt med turnaround tiden mellan varje buggfixning.
Kompilering för PIC går på ett par sekunder.
FPGA är oslagbart om man ska göra saker som kräver strikt timing och PIC om man ska göra lite generella saker.
Kompilering för PIC går på ett par sekunder.
FPGA är oslagbart om man ska göra saker som kräver strikt timing och PIC om man ska göra lite generella saker.
Icecap skrev:Det beror på konstruktören!
Sen är skillnaden mellan PIC och FPGA himla stor och du kan inte jämnföra dom på så vis.
Ytterligare antar jag att du med 'PIC' menar mikroprocessorer i gemen och inte enbart PIC-serien, om du faktisk menar just PIC-serien är frågan än mer befängd.
Din fråga är lite som att fråga vad som är bäst på att koka kaffe: Ferrari eller VW.
ok ledsen..
jag menar lite mer så att FPGA där bränner man in hårdvarumässigt
medan pic atmel är mjukvarumässigt
Nu är jag lite osäker på om du vet vad en FPGA egentligen är...
Man bränner inte in hårdvaramässigt i en FPGA, man programmerar in dens konfiguration, precis som man programmerar minnet i en mikroprocessor.
Skillnaden mellan mikroprocessorlösning och FPGA-lösning är egentligen obefintlig om man ser det som en svart låda och definiera funktionen som en följd av stimuli:
Om detta händer på ingången ska detta hända på utgången.
Denna extremt simpla funktion kan expanderas extremt med minne osv och du kan göra de grejor med de 2 tekniker utan hinder.
Skillnaden är att i en FPGA anger man hur man skulle koppla ihop en jävla massa normala logiska gates och i en mikroprocessor anger man hur datan ska behandlas....vilket logisk sett är det samma man gör när man ritar ett schema = programmerar en FPGA.
Så skillnaden är hårfin til obefintlig....eller som natt o dag, allt beroende på vilken funktion som ska uppnås och vilken konstruktör som håller på.
Skillnaden är egentligen hur man beskriver funktionen, i detta ska man komma ihåg att det till många FPGA finns processorkärnor att lägga in så man kan säga att allt du kan göra i en processor kan du göra i en FPGA...och mer till.
Man bränner inte in hårdvaramässigt i en FPGA, man programmerar in dens konfiguration, precis som man programmerar minnet i en mikroprocessor.
Skillnaden mellan mikroprocessorlösning och FPGA-lösning är egentligen obefintlig om man ser det som en svart låda och definiera funktionen som en följd av stimuli:
Om detta händer på ingången ska detta hända på utgången.
Denna extremt simpla funktion kan expanderas extremt med minne osv och du kan göra de grejor med de 2 tekniker utan hinder.
Skillnaden är att i en FPGA anger man hur man skulle koppla ihop en jävla massa normala logiska gates och i en mikroprocessor anger man hur datan ska behandlas....vilket logisk sett är det samma man gör när man ritar ett schema = programmerar en FPGA.
Så skillnaden är hårfin til obefintlig....eller som natt o dag, allt beroende på vilken funktion som ska uppnås och vilken konstruktör som håller på.
Skillnaden är egentligen hur man beskriver funktionen, i detta ska man komma ihåg att det till många FPGA finns processorkärnor att lägga in så man kan säga att allt du kan göra i en processor kan du göra i en FPGA...och mer till.
Såklart det är.....precis som att det finns fördelar vid att ta en PLC i stället för ett skåp fullt med reläer.
Grejen är att en FPGA (och liknande) kan ses som en tung samling gates som kan kopplas (via funktionsblock) till att utföra funktioner. Det är möjligt att utföra samma funktioner som i mjukvara men vissa saker kan vara krångliga som fan att få till och där kan en processor vara grejen.
På samma gång kan en processor komma till korte när man ska ha skyfflat en massa data med precis timing t.ex., något som "ganska enkelt" låter sig göra med en (stor) nävefull logiska gates (=FPGA).
Man kan alltså mycket grovt räknat säga att om funktionen är lätt att bygga med logikkretsar (fast kanske en helvetes massa...) är det FPGA som gäller, är det krångligt med logikkretsar är det CPU som gäller och är det båda.....då är det båda som gäller.
Fruktansvärd förenklat men det håller som riktlinje tror jag.
Grejen är att en FPGA (och liknande) kan ses som en tung samling gates som kan kopplas (via funktionsblock) till att utföra funktioner. Det är möjligt att utföra samma funktioner som i mjukvara men vissa saker kan vara krångliga som fan att få till och där kan en processor vara grejen.
På samma gång kan en processor komma till korte när man ska ha skyfflat en massa data med precis timing t.ex., något som "ganska enkelt" låter sig göra med en (stor) nävefull logiska gates (=FPGA).
Man kan alltså mycket grovt räknat säga att om funktionen är lätt att bygga med logikkretsar (fast kanske en helvetes massa...) är det FPGA som gäller, är det krångligt med logikkretsar är det CPU som gäller och är det båda.....då är det båda som gäller.
Fruktansvärd förenklat men det håller som riktlinje tror jag.
ok
tack
Tycker VHDL är ett mkt roligare språk än ASM/C
därför jag undrar lite ..
har dock bara skrapat lite på ytan vad gäller de olika programmeringsspråken..
men tycker VHDL känns roligast..
kanske ska köpa mig nått spartan kit ..
edit: vhdl - hårdvarubeskrivande språk

Tycker VHDL är ett mkt roligare språk än ASM/C
därför jag undrar lite ..
har dock bara skrapat lite på ytan vad gäller de olika programmeringsspråken..
men tycker VHDL känns roligast..
kanske ska köpa mig nått spartan kit ..
edit: vhdl - hårdvarubeskrivande språk
Senast redigerad av aGGe 1 november 2005, 22:41:54, redigerad totalt 1 gång.