Gå til innhold

FPGA - hvor det er lurt og starte


Anbefalte innlegg

Det kom spørsmål i en annen tråd om FPGA'er og hvor det er lurt og starte. Jeg mener at Grant Searle sin Multicomp er et bra sted og starte. Grunnen til det er at prosjektet er godt forklart, fungerer etter "byggekloss" prinsippet og er relativt begrenset i omfang. Og så bruker det billige deler.
Hvis man vil ha noe med mer oppdatert programvare og "bedre" (på en måte) byggeklosser så er RetroBrew Computers sin variant av Multicomp (Cyclone-IIc eller Cyclone-IVb) bra. Selve FPGA-kortene kjøpes billig på AliExpress eller eBay (ok, lang ventetid med billig shipping), programvaren er gratis, bare og laste ned (funker på Windows og Linux). Hvis man ikke har noe imot en "manuell" opplasting av kode til FPGA'en, så kan man bruke en DirtyJTAG adapter sammen med programmet UrJTAG for å laste opp kode istedet for en Altera FPGA-programmerer. Har man en BluePill eller ti fra før, så sparer man noen kroner der og.

Endret av tingo
rettet en skrivefeil
Lenke til kommentar
Videoannonse
Annonse

Du kan begynne med simulering egentlig, siden det er der man begynner FPGA-utvikling uansett.

https://zipcpu.com/blog/2017/06/21/looking-at-verilator.html

Hardwaremessig så kan jeg anbefale TinyFPGA Bx om du vil ha en enkel FPGA med en open source toolchain. Ønsker du noe mer komplett så kan du kjøpe devboards med LED, RAM, 7-seg og annet stash, men de koster vanligvis en del.

Lenke til kommentar

Når man begynner med FPGA, så bør man vel ta to valg i starten, enten Xilinx eller Altera, og enten VHDL eller Verilog.
Det finnes veldig mye annet man kan velge, men dette er de to store, hvor det finnes mye informasjon enkelt tilgjengelig, og forholdsvis billige kort osv.

Personlig ville jeg nok startet med Altera og Verilog, og så etterhvert sett på andre ting, som SystemVerilog osv, når man forstår det grunnleggende, FPGA'er er ikke som annen programmering, men er mer som å designe en krets.

Originale USB Blastere er dyre, jeg ville startet med et billig Altera dev-board, og en kina-kopi USB Blaster.
Man trenger heller ikke det siste nye for å lære seg dette, Cyclone 2, 3 ,4 og lignende er mer enn bra nok for det meste, og fåes for noen hundrelapper fra Kina.

Microkontrollere har fremdeles sitt bruk, men blir mer som en liten CPU hvor man programmer ting mer tradisjonelt, mens FPGA kan simulere nesten en hvilken som helst fysisk krets, og er langt mer fleksibelt, samt at programmering ligger nærmere elektronikk-design, enn software-design.

Med et okey dev-board så blir det nesten som å komme i gang med Arduino, RPi eller lignende, man kan raskt skrive kode å teste den i Quartus (eller ISE for Xilinx), så laste den rett inn med USB, å få ting til å blinke, bråke eller vises på en skjerm relativt raskt.

Endret av 0laf
  • Innsiktsfullt 1
Lenke til kommentar
1 hour ago, Kahuna said:

Hvorfor bruker du FPGA til dette i stedet for en mikrokontroller eller en tradisjonell CPU?

Noen grunner:
- programmerbar hardware er mye mer fleksibelt (multicomp er et eksempel; her kan man med samme fysiske hardware kjøre flere forskjellige cpu arkitekturer: 6502, 6809, z80, ++ bare ved å laste opp ny kode til FPGA'en)
- noen ting er enklere å implementere i en FPGA enn med mikrokontroller
- mange operasjoner går mye raskere (forenklet: i en FPGA skjer alt "samtidig", ikke skevensielt)
- jeg hadde lyst å lære mer om FPGAer

Lenke til kommentar
1 hour ago, 0laf said:

Når man begynner med FPGA, så bør man vel ta to valg i starten, enten Xilinx eller Altera, og enten VHDL eller Verilog.
Det finnes veldig mye annet man kan velge, men dette er de to store, hvor det finnes mye informasjon enkelt tilgjengelig, og forholdsvis billige kort osv

Jeg sier ja takk, begge deler. Både Xilinx og Altera (nå Intel), og både VHDL og Verilog. Ingen grunn til å begrense seg for mye.

Lenke til kommentar
tingo skrev (3 timer siden):

Jeg sier ja takk, begge deler. Både Xilinx og Altera (nå Intel), og både VHDL og Verilog. Ingen grunn til å begrense seg for mye.

Er enig i det, men i starten kan det kanskje bli litt mye for mange å både drive med to produsenter og deres rammeverk og programmer, pluss to forskjellige språk.

Jeg ville anbefale å begynne med en av de to store produsentene, og ett av språkene, så kan man utvide når man forstår hvordan det virker, ettersom de ikke er så ulike allikevel.

Lenke til kommentar

 

On 9/15/2020 at 10:57 PM, Gavekort said:

Du kan begynne med simulering egentlig, siden det er der man begynner FPGA-utvikling uansett.

Veldig enig. Det beste er å starte med simulering.

Men man kan laste ned Altera Quartus Web edition som inneholder Modelsim ASE (Altera Starter Edition) som er en litt begrenset versjon av Modelsim som egner seg ypperlig for læring og hobbybruk. Det er mulig navnene på disse produkt variantene har endret seg etter at Intel kjøpte Altera.

Vivado har også en simulator (xsim). Denne hadde ikke så bra SystemVerilog støtte tidligere, men den har blitt stadig bedre og har features som er eksplisit fjernet i ASE versjonen av Modelsim.

On 9/16/2020 at 9:02 AM, 0laf said:

man kan raskt skrive kode å teste den i Quartus (eller ISE for Xilinx), 

ISE er litt gammelt. Vivado er mer vanlig i dag. 

Litt eldre dev kit er selvsagt billigere , men man kan få  kort med Artix7 og Cyclone10 som er de nye billigfamiliene fra Xilinx og Altera til ca $100. 

 

Lenke til kommentar
  • 3 uker senere...
  • 2 uker senere...

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...