JavaScript is currently disabled.Please enable it for a better experience of Jumi. Recension: Altium Nanoboard och Altium Designer
nanobRecension:

Altium Nanoboard

och Altium Designer

Joachim Strömbergson, vd på Informasic, har för Elektroniktidningens räkning tagit en närmare titt på Altiums FPGA-utvecklingskort Nanoboard. Den är oemotståndligt läcker, nästan som en leksak. Men är den användbar?
 JS
Joachim Strömbergson
teknikchef på Informasic

Appleanvändare talar om unboxing event — det tillfälle då en Apple-produkt varsamt packas upp ur sin designade förpackning. Samma känsla infann sig när jag packade upp Altiums Nanoboard 3000 som är ett ... FPGA-utvecklingskort?!

Vänta nu, kan detta verkligen stämma?

Det började på Twitter där en branschkollega tipsade om ett annorlunda utvecklingskort. En snabb sökning på nätet senare dök bilderna på Nanoboard 3000 upp. Jag har köpt och använt ett stort antal FPGA-utvecklingskort, men Nanoboard liknande inget jag sett tidigare. Nanoboard såg mer ut som den perfekta leksaken för en hårdvarukonstruktör. Här sitter jag nu med denna snyggt paketerade, eleganta leksak och försöker förstå vad den är avsedd för.

Det första man lägger märke till när man tittar på kortet är en TFT-panel med touchfunktion. Ovanför skärmen sitter även en sensor för en IR-mottagare, en sensor som fungerar tillsammans med fjärrkontrollen som följer med kortet.

En klart ovanlig kategori av funktionalitet är relaterat till ljud. Kortet stödjer sampling och generering av ljud med riktiga audio-CODECs och det finns linjeförstärkare, analog mixer samt högtalare (placerade på ett kort under huvudkortet). Och det finns MIDI-portar.

Vidare är kortet utrustat med ett stort antal olika typer av portar för SVGA-video, PS/2 samt flera USB 2.0-portar. Det finns även portar för RS-232, RS-485, 10/100 Ethernet och S/PDIF. För mer industriliknande applikationer finns reläportar, ADC, DAC samt PWM-utgångar.

 bak
Minst dubbla skärmar och snabba grafikkort rekommenderas för utvecklaren
Kortet är även utrustad med Dubbla SD-kortläsare och kontakter för dotterkort.

Hela härligheten toppas av med en stor mängd multifärgade LED:er.

Den version av Nanoboard 3000 jag testat är utrustad med en Spartan 3A-1400. Detta är inte en gigantiskt stor FPGA, men tillräckligt stor för att få plats med en komplett processorplattform med periferienheter samt applikationsspecifika hårdvarufunktioner. Det finns även versioner av Nanoboard med FPGA:er från Altera och Lattice.

Så, vem är då Nanoboard till för? Det är ingen lätt fråga att besvara. Normalt är FPGA-kort generella med enkla I/O-funktioner och minne nog att kunna köra en processorplattform. Alternativt är korten tydligt konstruerade för en given typ av applikationer eller produkter exempelvis signalbehandling (DSP), höghastighetskommunikation eller automotive-applikationer.

Här har vi en istället en plattform som lika gärna kan vara basen i ett elektroniskt musikinstrument, en multimedia-produkt i vardagsrummet eller kontrollplattformen för en industriprocess.

Men även om Nanoboard 3000 är en udda och spännande fågel är det inte den viktigaste komponenten och den riktigt radikala nyheten i lådan. Den hittar vi istället på den medföljande DVD:n – Altiums utvecklingsverktyg Designer.

Den som idag konstruerar inbyggda system arbetar med med olika verktyg för konstruktionens olika delar. Verktyg exempelvis för PCB-konstruktion, för SW-utveckling samt verktyg för FPGA-implementation och simulering.

Var och en av dessa verktyg har sitt sätt att lägga upp ett arbetsprojekt, hantera filer och flöde för att gå från källkod till färdig konstruktionsdel.

Altium säger sig med Designer vilja ändra på detta och istället skapa ett enhetligt och homogent utvecklingsflöde, från koncept till test, paketering och leverans.

Designer inkluderar funktioner för kortkonstruktion inklusive schema, BOM och layout, SW-utveckling med integrerad debugger och emulator samt HW-utveckling inklusive simulering av digitala funktioner implementerade i FPGA-teknologi. En funktion jag aldrig sett förut i denna typ av verktyg är 3D-modellering av fysisk layout och komplett produkt.

 encl
Färdiga skal till kortet finns att köpa
Det finns till och med en funktion för att ta C-kod och generera en hårdvarukonstruktion. Funktionen påminner om Alteras C2H och har liknande begränsningar att det är du som konstruktör som ansvarar för att skriva kod som går att konvertera, och för att hantera resursdelningar och göra schemaläggning.

Det är tydligt att Altium anser att det är System on Chip (SoC) som skall byggas, system med både hårda funktioner och funktioner implementerad i programvara. Inkopplat till FPGA:n på Nanoboard finns såväl FLASH-minnen som RAM-minnen avsedda för lagring och exekvering av programkod.

Förutom mjuka processorer från FPGA-leverantörerna har Altium en egen processor kallad TSK3000. För den som läst sin Hennesey & Patterson är detta ett kärt återseende — TSK3000 är väldigt likt en MIPS R3000, en klassisk 32-bitarsRISC-arkitektur. I jämförelse med Nios II och MicroBlaze är TSK3000 troligen mindre kodeffektiv och har inte samma funktionalitet som dessa moderna, FPGA-anpassade processorkärnor. Men en stor fördel med TSK3000 är att den är FPGA-agnostiskt, att den går att använda oavsett typ av FPGA.

En intressant funktion hos Designer är stödet för att både att använda färdiga instrument och att skapa nya instrument som kopplas in mot konstruktionen som körs på kortet. Instrumenten kan användas för debug, men även agera som ett snyggt grafiskt applikationsgränssnitt för att styra och övervaka konstruktionen på kortet från en PC. Inte helt olikt Labview, men i mitt tycke både smidigare och snyggare.

En viktig del av Designer är det stora bibliotek av komponenter som finns att tillgå för att bygga upp ens system. Det finns fysiska komponenter, konstruktionsblock för SW-implementation och konstruktionsblock för implementation i FPGA. Vissa av komponenterna är skal runt komponenter från tredjepartsleverantörer, exempevis specifika makron i en given typ av FPGA.

Det går även bra att skapa sina egna komponenter och lägga in i biblioteket.

Det är inte ovanligt att med visst strul under installation och konfigurering av ett komplext utvecklingsverktyg. Altium var i det här avseendet enkelt, även om installationen tog en hel del tid. Dock måste du även installera separata FPGAverktyg för den FPGA som sitter på ditt kort, exempelvis ISE från Xilinx.

Ett litet problem jag sprang på är att det inte lätt går att se att Designer lyckats hitta och kan använda de installerade FPGA-verktygen. Enda sättet jag hittade var att öppna ett konstruktionsprojekt som inkluderade en FPGA från Xilinx —då dök ett aktivt FPGA-föde upp i fönstret som visar projektets specifika utvecklingsföde.

När väl flödet fungerar är integrationen av FPGA-leverantörernas verktyg väldigt snygg. Altium Designer lyckas verkligen kapsla in och göra FPGA-bygget till en homogen del av projektets flöde. I alla fall så länge som det inte uppstår fel under bygget.

Vad gäller övriga verktyg hävdar att Altium att det är egenutvecklade verktyg.

SW-verktygen skall inte vara baserade på GNU-verktyg, vilket annars är väldigt vanligt.

Altium Designer tycker inte om att köra virtualiserad. Jag försökte få igång verktyget i Virtualbox och även om den virtualiserade Windowsmaskinen hittar Nanoboard som USB-enhet och Xilinx underliggande ISE-verktyg fungerar, ville Designer inte vara med alls.

Altium Designer ställer förhållandevis stora krav på datorsystemet.

Rekommenderat system inkluderar snabba processorer, mycket minne och två eller tre högupplösta skärmar kopplade till högpresterande grafikkort. När jag testade Designer använde jag dock ett mer modest system med en skärm och det gick utmärkt även om det inte var lika lätt att ha samtidig överblick över konstruktionens alla delar.

Det är skönt att se att Altium insett att all utveckling i dag handlar om att hantera stora mängder digitala filer. Designer stödjer därför olika revisionshanteringssystem, inte minst Subversion.

Altium Designer kostar 4995 USD, men ett Nanoboard 3000 inklusive en ettårslicens av Designer knutet till kortet kostar 395 USD, vilket känns som ett prisvärt steg in i Designers holistiska konstruktionsmiljö. Några som tagit steget är enligt Altium NASA, National Instruments, hifitillverkaren Linn och svenska Omnisys Instruments.

För den som vill ta sin prototyp ut i fält eller skeppa som produkt säljer Altium färdiga skal för Nanoboard 3000.

Nanoboard och Designer handlar mycket om yta och känsla, men Altium visar med dessa produkter att de har mycket större ambitioner än så – att leverera en komplett, modern, homogen och effektiv miljö för att utveckla komplexa inbyggda system. Dom är kanske inte där än, men är på god väg och jag blir övertygad om att deras väg är rätt väg. Och kanske det viktigaste – jag har ännu inte kommit på vilken tillämpning Nanoboard 3000 är avsedd och mest lämpad för, men jag har otroligt roligt under tiden jag försöker klura ut det.
MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Anne-Charlotte Lantz

Anne-Charlotte
Lantz

+46(0)734-171099 ac@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)