På kort tid tog Ericsson Radio fram sju FPGA-kretsar till ett testsystem. Projektet gick bra, men det var tufft att klara timingen.
En orsak var att några projektmedlemmar enbart hade asicerfarenhet.- FPGAer var ett bra alternativet eftersom specifikationen inte var färdig när vi startade projektet, säger Carola Faronius på Ericsson Radio.
I fjol ledde hon ett projekt som utvecklade ett testsystem för WCDMA, den tredje generationens mobila bredbandsnät. Resultatet finns på plats hos kund i Japan. Men möjligheten att ändra funktioner var inte den enda orsaken till att gruppen valde att använda programmerbar logik. En asic var omöjlig även av andra skäl.
- Vi hade aldrig klarat att göra en asic på så kort tid med en så liten grupp. Det hade krävts så mycket mer verifiering till exempel, säger Carola Faronius.
På mindre än ett år utvecklade en handfull konstruktörer sammanlagt sju FPGAer med mellan 40 000 och 80 000 grindar. Alla skrev VHDL-kod, simulerade före syntes och gjorde statisk timinganalys efter placering och ledningsdragning.
- Vi la ner mycket arbete på testbänkar, men resten testade vi i labb.
Inte vanligt EricssonstukGruppen berättar att de körde grindnivåsimulering där de hittade problem, men att de knappt gjorde några körningar med återmatade - backannoterade - tider.
- Vi körde inte vanlig Ericssonstil eftersom tiden var så pressad. I normala fall hade vi nog backannoterat men det var så pass knepigt och leverantörens verktyg var inte riktigt färdigt, säger Carola Faronius.
Ytplanering - floorplan - använde gruppen inte, det fanns inte verktygsstöd för det.
- Men vi hade nog sparat tid och fått bättre timing om det hade gått, säger Carola Faronius.
Valet av syntesverktyg visade sig vara svårt. Gruppen använde både Synopsys FPGA Compiler och Synplicitys Synplify.
- Vi provkörde och jämförde. Vissa konstruktioner blev bra med Synopsys verktyg, andra med Synplicitys, säger Carola Faronius.
Gruppmedlemmarna har lite olika syn på vilket verktyg som egentligen var "bäst". Kontentan är dock att Synplicitys verktyg ofta gav mindre konstruktioner, men att Synopsys alternativ också kunde leverera goda resultat även om det kanske krävde lite mer av konstruktören. Noteras bör att de båda verktygsleverantörerna hunnit komma med nya hjälpmedel efter att jämförelsen gjordes.
Den största svårigheten vid sidan om tidspressen var att klara timingen. Problemen berodde delvis på att några av projektmedlemmarna var asickonstruktörer som nu gjorde sin första FPGA. Och att konstruera en asic är inte samma sak som att konstruera en FPGA, även om man använder VHDL.
- Asickonstruktörer är livrädda för att slösa D-vippor, men i en FPGA är det inget problem, säger Kent Wallenrud som deltog i projektet som konsult.
Även muxarna kräver ett nytänkande.
- Det första man får lära sig som asickonstruktör är att undvika tristatemuxar, men i en FPGA ska man använda dem för de tar mycket mindre plats än en vanlig mux, säger Carola Faronius.
Hon pekar på en annan viktig skillnad - RAM. I en asic måste man lägga till adresseringslogik när man använder RAM, vilket kostar kisel. I FPGAn är det annorlunda.
- I FPGAer finns RAM och adresseringslogik redan inbyggt, och det ska man utnyttja.
Seriellt bättre än parallelltCarola Faronius slår även ett slag för att konstruera med pipeliner.
- Man kan inte göra allt parallellt i en FPGA som i en asic. Istället får man konstruera seriellt och slösa klockcykler. Därför är det bra om kretsen klarar högre klockfrekvens än vad som behövs i systemet. Man ska också se till att återanvända resurser, det är lätt och man kan spara enormt mycket yta.
Kent Wallenrud instämmer i resonemanget. Själv har han konstruerat bortemot 50 FPGA-kretsar, och han vill inte avskräcka folk från att ta steget till FPGA.
- Det här kan låta skrämmande och krångligt, men man ska absolut inte tveka att prova på FPGA-konstruktion.
På Ericsson Radio ser man FPGAer som väldigt intressant även för kommande projekt. Nu utvärderar man några av de absolut största kretsarna på marknaden tillverkad i en mycket avancerad kiselprocess.
CvS