Att verifiera sin asickonstruktion i ett prototypkort kan minska både tid och kostnad. Framför allt ökar sannolikheten att asicen beter sig som förväntat. Som bonus får man då också möjligheten att börja utveckla programvaran tidigare.
Fyra rejäla prototypkort På marknaden finns hundratals prototypkort att tillgå - de fyra som beskrivs här är exempel på några av de kraftfullaste. De rymmer miljontals grindar och är bestyckade med Xilinx och Alteras största logikkretsar. Hardi Asic Prototyping System Logik: Upp till fyra Virtex II från Xilinx eller upp till fyra Apex II från Altera. Minne: Tre 36 x 512 kbit ZBT (Zero bus turnaround) SRAM. SDRAM kan anslutas via DIMM-sockel. Klockor: 16 klockor till varje FPGA i Xilinxversion, 8 till varje i Alteraversion. Fyra klockor till varje kontaktdon. Format: PCI 2.2, stöd för 32/64 bitars PCI upp till 66 MHz. Åtta 150-bensanslutningar för dotterkort. Övrigt: Utvecklat för användning med programvaran Certify från Synplicity. Stöder avlusning med Xilinx Chipscope respektive Alteras Signaltap. Gidel Proc20KE Logidk: Upp till 5 Altera Apex, max 7,5 miljoner grindar. Minne: Upp till 18 x 128k SRAM, 256 Mbyte SDRAM, 2 Mbyte CAM. Klockor: Tre klocknät, programmerbara upp till 133 MHz. Format: PCI. Även fristående. 692 I/O för fritt bruk, exempelvis för upp till fem dotterkort. Övrigt: Tillhörande programvara Procwizard. ISS Group är svensk återförsäljare. Nallatech Benblue II Logik: Två Virtex II eller andra Xilinxkretsar, max 20 miljoner grindar. Minne: 8 Mbyte ZBT (Zero bus turnaround) SRAM. Klockor: Tre klocknät på kortet. Format: Dime II (eget format, cirka 6 ¥ 10 cm), med två 40-bens kontaktdon för 80 enkla signaler, 40 LVDS-signaler eller två 8-bitars Rapid I/O. Dini DN3000K10 Logik: Upp till fem Virtex II från Xilinx, max 3 miljoner grindar. Minne: 4 stycken 512k x 36 SRAM, 1 Gbyte DRAM. Klockor: Fem klockor till varje FPGA. Åtta klocknät på kortet. Format: 32/64-bitars PCI/PCI-X-kort. Finns även fristående. Över 400 punkter där logikanalysator eller mönstergenerator kan anslutas. Övrigt: Kan konfigureras med flashkort av typen Smartmedia. |
Så länge asicen är måttligt komplicerad och inte större än att logiken ryms i en FPGA så är det relativt rättframt att få fram en prototyp. Men så fort det krävs två eller fler FPGA-kretsar så är det en rejäl utmaning att få till exempelvis timing och signalintegritet. Att införskaffa ett färdigt prototypkort i stället för att bygga det själv kan spara både tid och pengar.
Stort utbud
På marknaden finns hundratals sådana kort, med varierande kapacitet, kvalitet och kostnad. De fyra som visas i tabellen här intill är exempel hämtade ur det övre sortimentet - de klarar flera miljoner grindar, varumärkena är accepterade på marknaden och korten har en prislapp i storleksordningen ett par hundratusen kronor eller ännu mer. Det kan låta dyrt.
- Men att misslyckas med en asic är så dyrt att det helt enkelt inte får hända. Då får det också kosta litet att ta fram en prototyp. Jämfört med månader av simulering eller emuleringskörningar så är det faktiskt billigt, säger Lars-Eric Lundgren på Hardi Electronics som utvecklat ett antal prototypkort.
- Vår leverantör hade en kund som behövde tre månader för att ta fram utrustning för att testa sitt system. Med våra verktyg tog det en vecka, säger Martin Bofeldt på ISS som säljer israeliska Gidels prototypkort i Sverige.
De kort som står till buds är bestyckade med mellan en och fem logikkretsar från Altera eller Xilinx. Priset beror i stor utsträckning på hur stora och hur många logikkretsar som behövs - mindre kort kostar förstås betydligt mindre pengar. Vilket logikfabrikat som är bäst beror mer på tillämpningen än på prototypkortet.
Asicen behöver inte vara särskilt stor för att det ska vara meningsfullt att ta fram en prototyp.
- Biometri är ett bra exempel. Där finns ganska komplicerade algoritmer i många varianter och det är inte helt lätt att simulera hur man känner av ett fingeravtryck. Däremot kan man lätt ta reda på om det fungerar med en prototyp, säger Lars-Eric Lundgren.
Själva prototypkortet löser dock bara en del av problemet. Ska prototypen kunna tas fram snabbt och effektivt krävs förstås även programvara, och de flesta som säljer kort säljer också sådan. Hardi framhåller programmet Certify från Synplicity. Gidels kort kan också användas med det programmet, men man har också ett eget program kallat Procwizard.
Delar upp koden automatiskt
Certify är ett syntesverktyg specialgjort för prototypverksamhet. Det kan bland annat automatiskt dela upp RTL-koden så att den ryms i de olika FPGA-kretsarna på prototypkortet.
Nyligen lanserades version 6.0, med bättre stöd för många av marknadens prototypkort.
Den som tar fram en prototyp får dessutom ett par andra fördelar på köpet. Viktigast är nog att programutvecklarna får något handfast att utgå från.
Ett prototypkort kan köras i hastigheter uppåt 100 MHz, vilket kanske inte är vad slutprodukten ska klockas i men torde räcka väl för att ta fram och testa programvaran.
Något att visa för kunderna
En annan poäng är att produktens funktioner kan visas upp för kunder på ett tidigt stadium. Ur marknadsföringssynpunkt kan ju en funktionellt färdig konstruktion vara betydligt mer användbar än powerpointbilder och produktblad.
Finns då inga nackdelar? Inbitna asickonstruktörer brukar klaga på att antalet klockor i FPGA-kretsarna alltid är en begränsning. Här går dock utvecklingen raskt framåt - dagens bästa FPGA:er har betydligt fler och mer styrbara klockor än tidigare generationer.
Ett större problem är att syntes- och konstruktionsregler för FPGA är ibland annorlunda än för asicar. Risken finns därför att man ägnar mycket tid åt att få FPGA-kretsarna i prototypen att fungera bra. Och ändrar man sin VHDL-kod för att få ner konstruktionen i FPGA-kretsarna så är det ju inte längre en asicprototyp man tar fram.
Just detta problem ska dock verktyget Certify lösa, men då krävs förstås att man investerar i detta. Seriösa företag som säljer prototypkort ska kunna diskutera detta.
Adam Edström