FPGA !?

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From Danish to

Threaded View
Hej !
jeg har et fungerende stort logik kredsløb med flere 74F269 (8bit binær
tæller med U/D og carry m.v.) samt en masse styre logik ...
Jeg tæller med noget der ligner 500KHzog jeg sætter en masse SR gate m.v.

Jeg kunne godt tænke mig at løse opgaven med en FPGA kreds
jeg har aldrig rodet med dem men så vidt jeg har forstået kan man lave alle
gates i en sådan fætter men hvor kan jeg få fat i dem ?
er de billige ? nemme at interface til ? hvordan med udviklingsværktøjer ?
skriver man i C ? noget ABEL halløj ?
koster en "compiler" penge til en sådan og findes der noget gratis ?

M.v.h.
Lasse Madsen



Re: FPGA !?



Quoted text here. Click to load it

Billig er vist et relativt begreb! ;-) _Udefra_ set er de nærmest at
betragte som microprocessore, bortset fra at de kan køre temmeligt stækt
og asynkront.
Mht. udviklingsværktøjer kan du kigge hos xilinx der er en af de store
inden for det område.
Atmel har lavet nogle FPGA'ere med indbyggede AVR kredse, så man kan
kombinere det bedste fra de to forskellige teknologier

Quoted text here. Click to load it

Man skriver i VHDL. Og det kan give mange grå hår i hoved inden man får
styr på det. Især hvis man glemmer at tage højde for at tingene kan
foregå parralelt inde i sådan en fætter.

Når du er ude og kigge på FPGA'er kan du også kigge efter CPLD'ere. Det
er i samme stil.

- Lars


Re: FPGA !?
Quoted text here. Click to load it
m.v.
alle
?
Quoted text here. Click to load it


FPGA'er har intet med en mikroprocessor, men kan godt se hvor du vil
hen.....den består hovedsageligt af nogle CLB'er (Configurable Logic Blocks)
som består af nogle opslagstabeller og flip-flops. Disse ligger i en stor
matrice af ledninger. Syntese værktøjet omsætter så din VHDL-kode til nogle
forbindelser mellem disse CLB'er så det opfører sig som den digital
elektronik du har kodet.
Ja FPGA'er og CPLD'er er henad det samme, den store forskel ligger i at FPGA
i reglen (kommer an på hvilke du køber selvfølgelig) kan have større designs
end CPLD'er, men slukker du for forsyningen til en FPGA er den "tom" (intet
program downloaded) ved ny opstart. Vil du derfor have en FPGA til at
"huske" sit program skal der en lille PROM til der programmerer FPGA'en på
ny ved hver reboot. CPLD'er holder deres programmerede program lige meget
hvor mange gange du tænder og slukker for forsyningen. Så du er formentlig
ude efter en CPLD til dit projekt, det lyder ikke til at være særligt stort.
Man skriver stadig VHDL og bruger samme syntese værktøj (Kig efter Webpack
på Xilinx hjemmeside - her skal du dog bruge Xilinx kredse for at det
virker) man har bare e´n anden "target" kreds.

Rune G.



Re: FPGA !?



Quoted text here. Click to load it

Lige for at præcisere hvad jeg mente: Når man skal interface til dem er
det som at betragte dem som en uP.
Jeg er ganske klar over at FPGA/CPLD og uP er to vidt forskellige ting.

- Lars :)


Re: FPGA !?


Quoted text here. Click to load it
Blocks)
Quoted text here. Click to load it
nogle
FPGA
designs
(intet
Quoted text here. Click to load it
stort.

Lige et par rettelser: nogle FPGA'er er baseret på flash teknologi, og
husker ganske godt hvad de er for nogen, selv om man slukker. Andre er
baseret på anti-fuse, og er eengangsprogramerbare. Andre, som fx. Xilinx, er
baseret på at logikken konfigureres i SRAM celler. Det har den fordel, at
man kan opdatere den efter at den er monteret, og at en evt mikroprocessor i
kredsløbet kan programmere den under opstart.

FPGA er Field Programmable Gate Array og CPLD er Complex Programmable
Logical Device.

En CPLD er opbygget med et antal I/O celler, een for hvert ben. Alle disse
I/O celler kan forbindes med hinanden via et AND/OR array, der ligger i
midten. Disse kredse har deres flipsflop i I/O cellerne, og derfor er de
ikke egnede til de store register/tæller konstruktioner. Jeg har aldrig set
CPLD'er der er RAM baserede. De fleste er FLASH eller EE typer.

FPGA'er har ligeledes I/O celler, men inde i midten ligger et array af
logiske blokke, der hver indeholder såvel kombinatorisk logik, som
flipflops. Derfor er de egnede til komplicerede og store ting, der kræver
tællere og registre.

Man kan programmere dem i VHDL, som er et programmeringssprog, eller man kan
tegne det som diagrammer og senere oversætte diagrammerne til den netliste,
der programmerer den. Det letteste er at konbinere diagrammer og VHDL.
Dermed får man det overblik, som diagrammet giver, og den mulighed det giver
at beskrive f.x. dekodere og sekvensmaskiner som tekst. Ud over det skal man
have nogle Constraint filer, der beskriver hvilke ben, der skal forbindes
til hvad og evt hvilke krav, man har til timing.

Da man ikke kan komme til at måle på det, der sker inde i kredsen, er man
nødt til at kunne simulere hvad der sker.

Bo //



Re: FPGA !?
Quoted text here. Click to load it

Hej Lasse

Det er alt sammen rigtigt nok, men hvis du ikke har arbejdet med VHDL,
FPGA'er og Xilinx Webpack før, vil du meget hurtigt opleve "grå hår".
Derimod vil jeg anbefale, hvis kompleksiteten i dit design tillader det,
at du bruger en CPLD og programmere den med ABEL, som du tilsyneladende
kender til.
Derudover ved jeg at du kan få FPGA'er og programmerings værktøjer fra
Lattice (http://www.latticesemi.com/) der også bruger ABEL.(Kan muligvis
også lade sig gøre i Xilinx).
Måden du probrammere både ekstern ram til en FPGA og CPLD'er er gennem
en JTAG. Den kan du selv fremstille med to 74HC125.

Hilsen Jacob Dybvad


Re: FPGA !?
Quoted text here. Click to load it

Gratis???


Mvh / Preben


--
If your Dell laptop is unstable, try change the power supply - it works!
But the Dell will still stink! Nothing can change that!!!


Site Timeline