FPGA !?

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

Reply to
Lasse Madsen
Loading thread data ...

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

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

Reply to
Lars Kristensen

m.v.

alle

?

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.

Reply to
Rgr

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 :)

Reply to
Lars Kristensen

Blocks)

nogle

FPGA

designs

(intet

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 //

Reply to
Bo Bjerre

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

formatting link
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

Reply to
Jcaob Dybvad

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!!!
Reply to
Preben

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.