Gå til innhold

Kretsdesign


Anbefalte innlegg

Videoannonse
Annonse

Artig sammentreff:

 

TEXAS INSTRUMENTS TO ACQUIRE CHIPCON

On December 21, 2005, Texas Instruments announced it will acquire Chipcon AS. The acquisition expands TI's short-range wireless portfolio with world-leading RF transceivers from Chipcon and ultimately results in increased benefits of a wider product selection, enhanced technology and increased manufacturing resources. Together we will offer customers complete short-range wireless solutions for consumer, home and building automation - a win-win combination!

Lenke til kommentar
Når størrelsen på Open Source-hardware er så mye mindre enn for software, skyldes det nok flere ting. Blant de viktigste faktorene er en langt høyere terskel for å komme igang, kompliserte verktøy og tildels kostbart utstyr.Les mer

5317814[/snapback]

 

Terskelen for å komme igang er egentlig ikke så høy, hvis man skaffer seg et utviklings-kit for FPGA. Man må ut med rundt 5.000 - 10.000 kr for et nytt og moderne kit av moderat størrelse. Da får man også med all nødvendig software for å designe kretsene. Absolutt all utvikling skjer uansett på en helt vanlig PC, og man kan designe komplette systemer bare ved bruk av programmeringsspråket C. For å utnytte teknologien maksimalt trenger man også (hardware-) programmeringsspråket VHDL.

 

Foruten software er den viktigste komponenten kretskortet med FPGA brikken og diverse tilleggsfunksjoner som serieport, RAM, ROM, USB, Nettverk, PCI grensesnitt, mm, og generelle signalpinner til eget bruk. Et slikt system likner egentlig i stor grad på en vanlig PC, bortsett fra at man ikke installerere de samme operativsystemene. Man programmerer ofte alt fra bunnen, slik at skillet mellom program (oppgaven som systemet løser) og operativsystem ikke finnes. Nybegynnere bør starte med å utvikle systemer som først og fremst benytter funksjonene inne i selve FPGA'en, det er veldig trygt og greit sammenliknet med å benytte de eksterne funksjonene som RAM, USB og Ethernet.

 

For å lage en fungerende prosessorsystem i FPGA, som kommuniserer med PC'en via serieporten (Hyperterminal programmet) trenger man ikke programmere i det hele tatt. Bare starte opp et nytt prosjekt som beskrives via kjente og kjære windows help wizzards. Det hele minner egentlig veldig om å starte et nytt prosjekt i software utviklingsverktøy som MS Visual Studio .NET og liknende. Prøving og feiling er en sentral del av det hele, men man løper liten risiko for å ødelegge kretsene ved feilprogramering og bugs. Resultatet kan evalueres umiddelbart, så det er mulig å prøve seg fram. Kravet til tålmodighet og nøyaktighet er det samme som når man lager programmvare for en PC.

 

En nybegynner vil nok ikke klare å lage så ekstremt nyskapende og nyttige kretser, men de skal virke i praksis! Det samme gjelder jo i stor grad for vanlig software programmering. Man begynner med tutorials og problemer med fasit før man lager sine egne ting. Det morsomme med et FPGA utviklings-kit er at det blir selvgående når det er konfigurert. PC'en trengs bare under utviklingen, etterpå begynner utviklingskortet å gjøre sin oppgave hver gang man skrur det på. Og man kan redesigne så mange ganger man vil, kretsene blir ikke utslitt av å endre konfigurasjonen.

 

Typiske 'hardware design tutorials' går ut på å få lysdioder til å blinke etter mønster som du definerer, eller å sende meldinger til PC'en via seriekabel. Videre prøver man ofte å få forskjellige eksterne komponenter (kretser) rundt FPGA'en til å virke (spesielt ekstern RAM, intern-minnet i en FPGA er dyrebart). Når man er stø på de grunnleggende tingene, kan man begynne å koble til andre typer komponenter (typisk for folk med budsjett i 10.000 kr klassen vil dette være andre utviklings-kit for morsomme kretser; f.eks. digitalkamera, GHz radio, Gyro/kompass, motorer, display, temperaturføler, høyttaler osv).

 

Terskelen for å tilegne seg denne formen for kunnskap ble kraftig redusert for 3-4 år siden, da en ledende FPGA produsent lanserte utviklings-kit og PC-software som lager ferdige system-on-a-chip design for sine FPGA'er med noen få tastetrykk. Desverre er det ikke så mange som vet at kravene for å lære seg alt på egenhånd ikke er så høye lengre. I tillegg finnes det svært interessante jobber for folk som kan slikt (selverfart, og vi ansetter snart flere :-)). Formell utdanning innen elektronikk fokuserer i stor grad på teorien bak hvorfor ting oppfører seg som de gjør. Slikt er svært nyttig å vite, men man får likevel ikke en FPGA til å gjøre det man vil uten praktisk trening, og dette får man langt fra nok av i utdanningen. På den annen side trenger man altså ikke universitetsgrad for å drive med FPGA hardware-utvikling! Situasjonen er blitt svært lik som den man har for vanlig software-programmering.

 

 

 

 

 

Et morsomt 'state-of-the-art' utviklings-kit:

http://www.xilinx.com/xlnx/xebiz/designRes...O-ML403-EDK-ISE

Lenke til kommentar
Terskelen for å tilegne seg denne formen for kunnskap ble kraftig redusert for 3-4 år siden, da en ledende FPGA produsent lanserte utviklings-kit og PC-software som lager ferdige system-on-a-chip design for sine FPGA'er med noen få tastetrykk. Desverre er det ikke så mange som vet at kravene for å lære seg alt på egenhånd ikke er så høye lengre. I tillegg finnes det svært interessante jobber for folk som kan slikt (selverfart, og vi ansetter snart flere :-)). Formell utdanning innen elektronikk fokuserer i stor grad på teorien bak hvorfor ting oppfører seg som de gjør. Slikt er svært nyttig å vite, men man får likevel ikke en FPGA til å gjøre det man vil uten praktisk trening, og dette får man langt fra nok av i utdanningen. På den annen side trenger man altså ikke universitetsgrad for å drive med FPGA hardware-utvikling! Situasjonen er blitt svært lik som den man har for vanlig software-programmering.

 

5319465[/snapback]

 

Bra innlegg SgtPepper. Enig i at Xilinx ML40x virker som et svært morsomt kit. Har et på skrivebordet nå, gleder meg til å teste det litt mer!

 

Denne høsten har vi hatt et kurs om digitaldesign ved UiO - INF3430. Det blir jo alltid litt teoretisk, men her er det også en del praktisk arbeid. Blant annet er det en praktisk innføring i design av system-on-chip. Vi har brukt dette kortet: Spartan-3 starter board. Det er en god del mindre og mindre spennende enn det du nevnte, men det kan kjøpes for $100. Veldig greit for nybegynnere.

Lenke til kommentar

Positivt med kommentarer, følger opp med noen selv her.

 

Når størrelsen på Open Source-hardware er så mye mindre enn for software, skyldes det nok flere ting. Blant de viktigste faktorene er en langt høyere terskel for å komme igang, kompliserte verktøy og tildels kostbart utstyr.Les mer

5317814[/snapback]

 

Terskelen for å komme igang er egentlig ikke så høy, hvis man skaffer seg et utviklings-kit for FPGA. Man må ut med rundt 5.000 - 10.000 kr for et nytt og moderne kit av moderat størrelse. Da får man også med all nødvendig software for å designe kretsene. Absolutt all utvikling skjer uansett på en helt vanlig PC, og man kan designe komplette systemer bare ved bruk av programmeringsspråket C. For å utnytte teknologien maksimalt trenger man også (hardware-) programmeringsspråket VHDL.

Mulig jeg er litt konservativ her, men å legge 5000 - 10000 kroner i noe som er såvidt lite kjent blant hobbyfolket tror jeg er i overkant hva folk tar sjangsen på.
Foruten software er den viktigste komponenten kretskortet med FPGA brikken og diverse tilleggsfunksjoner som serieport, RAM, ROM, USB, Nettverk, PCI grensesnitt,  mm, og generelle signalpinner til eget bruk. Et slikt system likner egentlig i stor grad på en vanlig PC, bortsett fra at man ikke installerere de samme operativsystemene. Man programmerer ofte alt fra bunnen, slik at skillet mellom program (oppgaven som systemet løser) og operativsystem ikke finnes. Nybegynnere bør starte med å utvikle systemer som først og fremst benytter funksjonene inne i selve FPGA'en, det er veldig trygt og greit sammenliknet med å benytte de eksterne funksjonene som RAM, USB og Ethernet.

Jeg er enig i at dette er en vei å gå, men jeg har en følelse av at kurven blir vel bratt fra å få enkle lys til å blinke til at en lager en helt ny design. Debugging via JTAG kan vel heller ikke kalles spesielt nybegynnervennlig.
For å lage en fungerende prosessorsystem i FPGA, som kommuniserer med PC'en via serieporten (Hyperterminal programmet) trenger man ikke programmere i det hele tatt. Bare starte opp et nytt prosjekt som beskrives via kjente og kjære windows help wizzards. Det hele minner egentlig veldig om å starte et nytt prosjekt i software utviklingsverktøy som MS Visual Studio .NET og liknende. Prøving og feiling er en sentral del av det hele, men man løper liten risiko for å ødelegge kretsene ved feilprogramering og bugs. Resultatet kan evalueres umiddelbart, så det er mulig å prøve seg fram. Kravet til tålmodighet og nøyaktighet er det samme som når man lager programmvare for en PC.

Er ikke dette det samme som IP-blokkene beskrevet i artikkelen? Jeg er litt usikker på om du har noe annet i tankene. Ellers er jeg helt enig i at nøyaktighet er nødvendig.
En nybegynner vil nok ikke klare å lage så ekstremt nyskapende og nyttige kretser, men de skal virke i praksis! Det samme gjelder jo i stor grad for vanlig software programmering. Man begynner med tutorials og problemer med fasit før man lager sine egne ting. Det morsomme med et FPGA utviklings-kit er at det blir selvgående når det er konfigurert. PC'en trengs bare under utviklingen, etterpå begynner utviklingskortet å gjøre sin oppgave hver gang man skrur det på. Og man kan redesigne så mange ganger man vil, kretsene blir ikke utslitt av å endre konfigurasjonen.

Jeg har selv stor glede av å lage duppeditter av alle slag, men det må jo være en hake som gjør at selv tenåringer er habile programmerere, mens open source-aktiviteten på hardwaresiden er relativt laber. En kan også sammenligne med analog-elektronikk: det har lenge vært mange byggesett for barn, men likevel er det en desperat mangel på analogdesignere i verden.
Typiske 'hardware design tutorials' går ut på å få lysdioder til å blinke etter mønster som du definerer, eller å sende meldinger til PC'en via seriekabel. Videre prøver man ofte å få forskjellige eksterne komponenter (kretser) rundt FPGA'en til å virke (spesielt ekstern RAM, intern-minnet i en FPGA er dyrebart). Når man er stø på de grunnleggende tingene, kan man begynne å koble til andre typer komponenter (typisk for folk med budsjett i 10.000 kr klassen vil dette være andre utviklings-kit for morsomme kretser; f.eks. digitalkamera, GHz radio, Gyro/kompass, motorer, display, temperaturføler, høyttaler osv).

Jeg tenkte på radio da jeg skrev, spesielt GNU radio-prosjektet, men heller ikke det skrider særlig raskt fremover, hardwareprisen er 850 USD. Ellers er det en utrolig interessant software defined radio-krets ute som etter sigende skal kunne håndtere WiFi, GSM og GPS.
Terskelen for å tilegne seg denne formen for kunnskap ble kraftig redusert for 3-4 år siden, da en ledende FPGA produsent lanserte utviklings-kit og PC-software som lager ferdige system-on-a-chip design for sine FPGA'er med noen få tastetrykk. Desverre er det ikke så mange som vet at kravene for å lære seg alt på egenhånd ikke er så høye lengre. I tillegg finnes det svært interessante jobber for folk som kan slikt (selverfart, og vi ansetter snart flere :-)). Formell utdanning innen elektronikk fokuserer i stor grad på teorien bak hvorfor ting oppfører seg som de gjør. Slikt er svært nyttig å vite, men man får likevel ikke en FPGA til å gjøre det man vil uten praktisk trening, og dette får man langt fra nok av i utdanningen. På den annen side trenger man altså ikke universitetsgrad for å drive med FPGA hardware-utvikling! Situasjonen er blitt svært lik som den man har for vanlig software-programmering.

Jeg leser stadig stillingsannonser, det er et interessant termomenter på norsk økonomi, og jeg har sett flere etterspørre VHDL- og relaterte kunnskaper i det siste. Jeg vet det finnes mange dyktige folk p området her i landet, men jeg hadde inntrykk av at miljøene ikke var spesielt utadrettede, er dette blitt bedre?

 

 

 

Et morsomt 'state-of-the-art' utviklings-kit:

http://www.xilinx.com/xlnx/xebiz/designRes...O-ML403-EDK-ISE

5319465[/snapback]

 

Det jeg helst hadde håpet på var at FPGA kunne bli en del av chipsettet på standard PC, f.eks. til IO som serielinjer. I tillegg til å sikre mot designbugs ville det åpne opp muligheter for mange å prøve ting selv.

 

En ser f.eks. at da en DSP ble standard i NeXT-boksene, ble dette populært blant hobbyfolket, og reduserte tersekelen for å prøve ut eksperimentering. Da DSP56300-serien kom med PCIbuss som standard håpet jeg at dette også ville bli en PC-standard, men det slo ikke til, jeg antar at initielle bugs i hardwaren ødela endel her.

 

Selv ønsker jeg det blir litt oppmerksomhet rundt slike ting; det er da også en av hovedgrunnene til at jeg skriver disse artiklene.

Lenke til kommentar

Først av alt, en meget interessant artikkel!

 

Opensource maskinvare er et meget spennende område. I programvarebransjen er det svært utbredt, i maskinvarebransjen har man så vidt prøvd seg (relativt sett). Jeg tror de viktigste åpen maskinvare har blitt mer utbredt skyldes at teknologien ikke har nådd ut til "mannen i gata" og at bransjen er skeptisk til åpen kildekode.

 

Det er først helt i det siste det har kommet utviklingspakker (spesielt FPGA) som kan er brukervennlige å arbeide med, og som tillater mange morsomme funksjonaliteter for entusiaster. Kommunikasjon over ethernet gjør det både mer brukervennlig å utvikle på maskinvare, og ikke minst gir mange muligheter med tanke på kommunikasjon med eksterne enheter. Prisene er fortsatt ikke spesielt lave, så for å komme i gang må man enten være veldig interessert eller blitt kjent med utviklingspakkene i en annen sammenheng.

 

Videre tror jeg hele elektronikkbransjen sinker utbredelsen av åpen kildekode. Om det er bevisst eller ikke vet jeg ikke, men for meg virker det som om "alle" ser på muligheten til å bruke åpen kildekode i sine egne prosjekter, men at lite kunnskap/verdi blir ført tilbake til opensource-miljøet. I en periode har jeg fulgt med på blant annet OpenRISC-prosjektet på OpenCores.org, og det er tydelig at det er en liten gjeng entusiaster som holder liv i prosjektet. Da jeg var innom sidene igjen i dag var det veldig gøy å se at aktiviteten i forumet har tatt seg opp selv om det har vært lite offisielle nyheter rundt OpenRISC det siste året.

 

Selv tenker jeg at det hadde vært veldig moro å programmere mer for FPGA, men siden jeg allerede har en PC hvor jeg kan gjøre andre prosjekter blir det ikke til at jeg går til anskaffelse av et skikkelig FPGA utviklingskort.

 

Mvh,

Amund

Lenke til kommentar

Veldig interesang artikkel. Synes det der kjempeflott at HWB også tar tak i litt digital hardware innimellom og ikke bare software og system.

 

Jeg synes det er fint at vi får igang en diskusjon rundt open source hardware. Det er mange gode poenger her. Som poengtert tidligere i tåden er ikke skrittet til å begyne å lære seg litt hardware-koding nødvendigvis så stort. Det kan gjøres langt billigere enn de 5k-10k sm nevnt. Men steget derfra til å drive med open source hardware er nok en del lenger. Jeg tror nok at prosessen fra du skriver litt kode til man har noe som kan defineres som open source prosjekt er ganske anderledes for hardware enn for software. Jeg anbefaler alle som har lyst til å drive med litt mer open source hardware å lese denne artikelen på OpenCores. Den er veldig kortfattet, men trekker fram en del gode poenger som er fine å ta med seg i bevstgjøringen av en opensource prosess. Det er nok store likhetstrekk mellom hvodan man må vinkle både et sw og et hw prosjekt i forhold til en open source tankegang, men jeg tror at det foreløpig er et markant kulturelt skille som skaper de største forskjellene.

Lenke til kommentar

Takk for kommentarer og spørsmål, jeg skal prøve å utdype litt... (advarsel, alt for langt innlegg! :-) )

 

Først av alt, så aner jeg at våre perspektiver til emnet kommer fra litt forskjellige ståsteder. Ser for meg at du har mye kunnskap innen vanlig programmering, og ønsker å nærme deg FPGA teknologien som en tilleggsresurs som utvider mulighetene til en PC. Dette har jeg bare såvidt være borti, har hørt om noen PCI innstikkskort som akselererer DSP systemer laget i MATLAB og SimuLink.

 

Jeg har fra begynnelsen av drevet med FPGA systemer for komplette system-on-chip løsninger, eller stand-alone systemer om du vil. Disse kjennetegnes ved at de blir helt uavhengige av PC'en når de er ferdig utviklet. Oppgavene til slike systemer kan være alt fra leketøy til kjøleskap til satelitter. Slike systemer kan grovt sett designes i to faser:

 

Første trinn:

Først lager man hardware-systemet, ved hjelp av VHDL og IP. Dette har en forholdsvis høy inngangsterskel hvis man spesifiserer egne hardware-funksjoner. Jeg synes denne biten er den mest underholdende, men det tar tid å sette seg inn i alle detaljer. Men hele denne biten kan overlates til programvare som er satt opp fra produsenten sin side. Det er bare når man har sterke meninger om hva systemet skal klare at man må gjøre ting manuelt.

 

Andre trinn for system-on-chip design:

Når hardware systemet er designet, skal oppførselen beskrives i form av C-kode (eller til og med C++) for den spesifiserte prosessoren. Drivere for de spesifiserte periferi-IP'ene, samt kompilatormodifikasjoner for valgte hardware aksleratorer er allerede spesifisert automagisk når hardware systemet ble generert. Programmeringsopplevelsen er svært lik den man har ved første spede forsøk på vanlig programmering. Man lager "Hello World" og liknende. Eneste forskjellen er at utskriften fra programmet kommer i Hyperterminal vindu isteden for Kommandolinje vindu. Man kan starte med å skrive alt i main() funksjonen som utviklinsmiljøet allerede har gitt deg. En helt vanlig nybegynnerbok for C- programmering gir deg det du trenger.

 

 

 

Mulig jeg er litt konservativ her, men å legge 5000 - 10000 kroner i noe som er såvidt lite kjent blant hobbyfolket tror jeg er i overkant hva folk tar sjangsen på.

 

Enig, men dette er ikke den billigste løsningen. Snarere Ole Brum versjonen som har litt av det meste, samt den raskeste FPGA teknologien. Man kan få enklere fysiske komponenter så langt ned som 150$ men da må man få tak i programmvare på annet vis. Inngangsterskelen blir også en del høyere om man velger utviklings-kit med få tilgjengelige eksempel-design. Mitt tips er å starte med det beste. Mye høyere ytelse på FPGA'en en strengt tatt nødvendig gjør at hardware-syntesen blir mindre tidkrevende. (hardware-syntese er når PC'en 'kompilerer' systembeskrivelsen til noe FPGA'en skjønner, veldig upresist beskrevet. Dette tar timer for et stort system som ligger nær ytelsesgrensen, men minutter for små systemer med lave ytelseskrav) Da får man mer mulighet til prøving og feiling. Samtidig er utviklings-kit fra FPGA produsenten veldig godt dokumentert, og PC-softwaren kommer med standardkonfigurasjon som fungerer.

 

 

Jeg er enig i at dette er en vei å gå, men jeg har en følelse av at kurven blir vel bratt fra å få enkle lys til å blinke til at en lager en helt ny design. Debugging via JTAG kan vel heller ikke kalles spesielt nybegynnervennlig

 

"Man skal ikke undervurdere prestasjonen bak en blinkende diode". (Sitat fra en bekjent)... Har man klart dette, og til dels skjønt hvorfor, så er man igang. 'Nye design' for en nybegynner vil si at man endrer C-koden, ikke hardware-systemet. De første hardware endringene man gjør vil nok også bestå i å legge til nye ferdiglagede IP'er, og fortsatt unngår VHDL.

 

Angående debuging; i og med at man bruker komplett utviklings-software fra FPGA produsenten, er det ikke så vanskelig å sette opp debugeren. Det er riktig at denne kan komuniserere med FPGA'en via JTAG porten, men dette trenger man strengt tatt ikke vite. Har man koblet kablen som følger med mellom PC'en og utviklings-kortet, så ordner PC softwaren både FPGA konfigurering og C-kode debuging.

 

 

 

Er ikke dette det samme som IP-blokkene beskrevet i artikkelen? Jeg er litt usikker på om du har noe annet i tankene. Ellers er jeg helt enig i at nøyaktighet er nødvendig.

 

Det er det samme som du beskriver i artikkelen, bare at sammensyingen av de ulike IP'ene er inkludert i det som skjer automatisk i PC-softwaren.

 

Jeg har selv stor glede av å lage duppeditter av alle slag, men det må jo være en hake som gjør at selv tenåringer er habile programmerere, mens open source-aktiviteten på hardwaresiden er relativt laber. En kan også sammenligne med analog-elektronikk: det har lenge vært mange byggesett for barn, men likevel er det en desperat mangel på analogdesignere i verden.

 

Haken er at svært få tenåringer har foreldre som driver med FPGA design. En far kjøper nok ikke slike ting til poden uten å kunne det selv. Dette kan ikke sammenliknes med analog elektronikk synes jeg :-). Med et FPGA utviklings-kit kan man lage artigere duppeditter enn analog elektronikk uten å røre en loddebolt. All elektronikken er ferdig produsert og testet. 'Byggingen' er ren programmering. Selv når man inkluderer analoge sensorer, ser FPGA-designeren digitaliserte data fra slike periferienheter. Den møysommelige prosessen med å lage krets-systemet rundt en analog komponent er løst av de som produserer utviklings-kit. Hvis man har bygget sin egen PC, og klart å kople på-knapp og harddisk-lys riktig, så har man forutsetninger til å sette opp et FPGA utviklings-kit. Igjen, programvareinstallasjon og kompleksitet kan sammenliknes med å installere og bruke Borland C++.

 

 

 

Jeg tenkte på radio da jeg skrev, spesielt GNU radio-prosjektet, men heller ikke det skrider særlig raskt fremover, hardwareprisen er 850 USD. Ellers er det en utrolig interessant software defined radio-krets ute som etter sigende skal kunne håndtere WiFi, GSM og GPS.

 

Jeg tenkte mest på trådløs overføring av enkel toveis kommunikasjon, for eksempel med Nordic VLSI sin enbrikke GHz radio, kanskje for å erstatte serielinja eller USB-kabelen mellom PC og FPGA utviklings-kit med en radio link. Perspektivene våre er som sagt litt ulike. Jeg er helt enig i at terskelen blir svært høy om man går rett på et FPGA-system som skal kontrollere kompliserte radioprotokoller. En FPGA har antakelig nok ytelse til å løse slike oppgaver som du beskriver, men man skal være godt vant med alle aspekter av FPGA design for å se hvordan de kan implementeres. Men å vite at kretsen man leker med også er en sentral del i Mars-roverne (så vidt jeg vet) og mange nye satelitter som sendes opp, er vel det bare motiverende for å lære?

 

 

Jeg leser stadig stillingsannonser, det er et interessant termomenter på norsk økonomi, og jeg har sett flere etterspørre VHDL- og relaterte kunnskaper i det siste. Jeg vet det finnes mange dyktige folk p området her i landet, men jeg hadde inntrykk av at miljøene ikke var spesielt utadrettede, er dette blitt bedre?

 

Miljøene er nok mest åpne mot de formelle utdanningsinstitusjonene, for eksempel elektronikkstudiet ved NTNU. Tradisjonelt har jo inngangsterskelen vært svært dyr og krevende, og bransjen er vel fortsatt tilpasset dette. Du kan på en måte si at utviklingsverktøyene som kom for 4 år siden har brukt tiden fram til nå på å bli mer brukervennlige for nybegynnere. Jeg har fulgt nøye med i denne tiden, og vært en aktiv bruker, og jeg ville ikke anbefalt en amatør uten hardware programmeringskunskaper å prøve FPGA design for 3 år siden. Nå er det mulig, hvis man passer på å velge et utviklings-kit der software og eksempel-design fungerer uten brukertilpasninger fra starten.

 

Det jeg helst hadde håpet på var at FPGA kunne bli en del av chipsettet på standard PC, f.eks. til IO som serielinjer. I tillegg til å sikre mot designbugs ville det åpne opp muligheter for mange å prøve ting selv.

 

Det håper jeg på også :-). Men da får man ikke den givende opplevelsen i å lage en duppeditt som går av seg selv når den er ferdig. For å forstå system-on-chip mulighetene med en FPGA foretrekker jeg dagens utviklings-kit. For å gjøre nyttige ting fort, for eksempel å lage sanntidsakseleratorer for alskens datastrømmer på PC'en, vil ditt forslag gi raske resultater. Men i det sistnevnte bruksområdet kommer man fort borti VHDL og hardware design, fordi FPGA'en må utnyttes godt for å overgå ytelsen i dagens generelle prosessorer fra AMD og Intel. Her har du helt rett i at terskelen vil være høy, siden VHDL programmeringskunnskap ikke er så vanlig i open-source miljøet enda.

Lenke til kommentar

Hei

 

Du har hoppet over utlegg (eller bakt det inn i "floorplanning"?), og det er tross alt ikke en uvesentlig del.

 

Produkt-flyten slik jeg kjenner den er (helt kortfattet):

 

-Design (skrive koden som beskriver produktet i et hardware-språk. "Logisk floorplanning")

-verifikasjon (sjekke at koden er rett)

-Syntese (datamaskinen optimaliserer designet og lager en "nettliste".)

-verifikasjon (sjekke at synteseverktøyet har gjort jobben, formell verif.)

-Utlegg (gjøre "nettlista" om til silisium og metall. Bestemme hva som (fysisk) skal ligge hvor, og å lage "maskesett". "Fysisk floorplanning")

-verifikasjon (sjekke at utlegget stemmer med designet -> "tape out")

-Produksjon (fabrikken lager produktet)

-test (funker det? "yield")

-Pakking (silisiumen kommer normalt i svart plast med metallbein)

-test (funker det fremdeles?)

-Karakterisering (hvordan funker produktet egentlig?)

 

....og da først kan du sende produktet til kunden.

 

Open source hardware er sikkert bra til fpga, men produksjonskostnadene er ofte store i forhold til utviklingskostnadene, og så lenge teknologien bestemmes produksjonsanlegget vil hardware aldri kunne bli ordentlig open source.

 

"Hjulet" må også fornyes jevnlig, og det finnes stadig opp bedre "hjul", også i Norge. Mikrokontrolleren AVR er f.eks. egentlig designet i Norge.

Lenke til kommentar
Open source hardware er sikkert bra til fpga, men produksjonskostnadene er ofte store i forhold til utviklingskostnadene, og så lenge teknologien bestemmes produksjonsanlegget vil hardware aldri kunne bli ordentlig open source.

 

Det blir jo stadig vanligere å realisere prototyper og de første vanlige produktene med en FPGA i stedet for å sende produktene til Østen for produksjon. I tilfeller hvor time-to-market spiller en meget viktig rolle, eller hvor det er behov for fortløpende justeringer i en innkjøringsperiode vil det å lage produktet med en FPGA i systemet være hensiktsmessig.

 

Skal man derimot lage maskinvare med veldig høy ytelse må man få det produsert, og da er det som du sier langt større kostnader forbundet med det som kunne vært et "Open Source"-prosjekt. Utfordringen med å sende ting til produksjon er nok vel så mye at det er svindyrt å gjøre feil, som at det er dyrt å få ting produsert. En enkel tommelfingerregel sier at for hvert steg i designprosessen blir 10 ganger dyrere å oppdage en feil. Det definitivt dyreste er å oppdage feilen når produktet er ute hos kunde.

 

Mvh,

Amund

Lenke til kommentar
Hei

 

Du har hoppet over utlegg (eller bakt det inn i "floorplanning"?), og det er tross alt ikke en uvesentlig del.

Det var et bevisst valg fra min side. Dette er et fag der jeg ser arbeidsgivere ofte etterspør folk på mastergradsnivå, så jeg er klar over at det er adskillige detaljer som måtte utelates. Istedet valgte jeg å linke til andre artikler for de som ville vite mer. Tanken var å pirre nysgjerrigheten, ikke å slå ihjel folk, men en diskusjon her tror jeg er produktiv.
Produkt-flyten slik jeg kjenner den er (helt kortfattet):

 

-Design (skrive koden som beskriver produktet i et hardware-språk. "Logisk floorplanning")

-verifikasjon (sjekke at koden er rett)

-Syntese (datamaskinen optimaliserer designet og lager en "nettliste".)

-verifikasjon (sjekke at synteseverktøyet har gjort jobben, formell verif.)

-Utlegg (gjøre "nettlista" om til silisium og metall. Bestemme hva som (fysisk) skal ligge hvor, og å lage "maskesett". "Fysisk floorplanning")

-verifikasjon (sjekke at utlegget stemmer med designet -> "tape out")

-Produksjon (fabrikken lager produktet)

Fabrikasjonen er beskrevet i en tidligere artikkel.
-test (funker det? "yield")

-Pakking (silisiumen kommer normalt i svart plast med metallbein)

Partisjonering, pakking, design helt opp på apparatnivå var ting jeg hadde tenkt å skrive litt mer om senere.

Yield og pålitelighet er også et tema jeg mener fortjener en egen artikkel.

-test (funker det fremdeles?)

Test er et stort kapittel, fra design for test, testmetodikk og slutt-test. Her finner en alt fra ren matematikk til detektivarbeide, med andre ord materiale for ytterligere artikler. Test har dessverre en tendens til å være tørt.
-Karakterisering (hvordan funker produktet egentlig?)

Application notes og andre eksempler hører ofte også med.
....og da først kan du sende produktet til kunden.

 

Open source hardware er sikkert bra til fpga, men produksjonskostnadene er ofte store i forhold til utviklingskostnadene, og så lenge teknologien bestemmes produksjonsanlegget vil hardware aldri kunne bli ordentlig open source.

Jeg er ikke helt sikker på hva du mener her. Jeg har snakket med folk som ser ekstra langt inn i velpolerte krystallkuler, og det er miljøer i Sverige der en snakker om en slags blekkstråleskriver til å printe mikrokretser på et slags papir. I et slikt scenario tror jeg open hardware vil eksplodere i aktivitet og muligheter.
"Hjulet" må også fornyes jevnlig, og det finnes stadig opp bedre "hjul", også i Norge. Mikrokontrolleren AVR er f.eks. egentlig designet i Norge.

5322367[/snapback]

Helt enig, og det overrasker meg hvor seiglivede enkelte dårlige løsninger kan være, bare fordi mange ønsker å begrense risikoen i ny teknologi.

Lenke til kommentar

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