Jam, Java API eller Isp-VM. Det är tre förslag på standard för programmering av CPLD-kretsar som sitter monterade på kretskort.
Det finns mycket att vinna om en standard kan etableras, men de tre företagen som ligger bakom förslagen - Altera, Xilinx och Lattice - har olika syn på hur programmeringen ska gå till.Ska det vara CPLD så ska det vara systemprogrammerbart - dagens CPLD- konstruktörer vill ha möjlighet att konfigurera sina alster även efter att de monterats på kortet.
Frågan är bara hur programmeringen av dessa ISP-kretsar, (In System Programmables) ska gå till. Idealet vore en standard som stöds av samtliga CPLD- tillverkare, vilket exempelvis skulle göra det lättare att låta kretsar av olika fabrikat husera på samma kretskort.
Dessvärre drar marknadens kretsleverantörer åt olika håll och standardiseringsorganisationen Jedec har att ta ställning till tre olika förslag: Altera ligger bakom en lösning vid namn Jam, Xilinx pushar för Java API, medan Lattice förespråkar Isp-VM.
En gemensam ståndpunkt är ändock att programmeringen ska göras via Jtag-porten som annars används för boundary scan-test. Därmed stöds alla CPLDer med Jtag- port.
Jam eller JavaAlteras bidrag Jam är ett tolkande språk som påminner om Basic. Kretsleverantören ska utveckla en kompilator, Jam Composer, som skapar en Jamfil utifrån den programmeringsfil som i vanliga fall används för att konfigurera kretsen.
En annan typ av programvara, Jam Player, tolkar Jamfiler och manipulerar JTAG- kedjan för att programmera kretsarna. Programvaran kan laddas ner från www.jamisp.com. Jam stöds även av exempelvis CPLD-leverantören Cypress.
Konkurrenten Xilinx presenterade i september Silicon Xpresso, ett initiativ för interaktiv Internetbaserad konstruktion. En av byggstenarna är programmeringsgränssnittet Java API, som ska utnyttjas för att programmera, testa och felsöka CPLD-kretsar från olika leverantörer. Enkelt uttryckt används Suns programmeringsspråk Java istället för Jam.
- Vi bygger vårt förslag på Java, ett språk som har bra verktygsstöd och som behärskas av tusentals konstruktörer och programmerare, säger Scott Lewis på Xilinx.
Finessen med kod skriven i Java är att den enkelt kan flyttas. Den kompileras till bytekod, ett maskin-oberoende mellanformat som är helt oberoende av datorplattform och CPLD-fabrikat. Bytekoden kan exekveras på valfri processor, med hjälp av en virtuell Javamaskin som översätter mellanformatet till mikroinstruktioner för den utrustning som ska programmera kretsarna.
"Snabbast och minst filer"Lattice, företaget som för sju år sedan uppfann ISP, kallar sitt förslag för Isp-VM, där VM uttyds Virtual Machine.
- Vårt förslag erbjuder den snabbaste programmeringen och de minsta programmeringsfilerna hittills, säger Stan Kopec.
Isp-VM påminner om Xilinx Javaalternativ. En kompilator skapar en exekverbar binär bytekodsfil med såväl algoritmer som data. Programmeringsmotorn Isp-VM exekverar sedan filen vid programmering och boundary scantest.
- Men till skillnad från Java API är vårt förslag öppet och fritt från royalties och licenser, säger Stan Kopec.
Vilket av de tre förslagen som slutligen vinner har kanske inte så jättestor betydelse för konstruktören i gemen, huvudsaken är att det blir en standard. För visst finns det stora vinster med en standardiserad programmeringsmetod. Dagens ISP-kretsar programmeras med assemblerliknande språk, som kan vara specifikt för en viss CPLD-tillverkare, kretsprogrammerare eller testutrustning.
- Idag behövs olika programvara för att programmera olika CPLD-fabrikat, och ibland krävs det till och med särskilda kablar. Det slipper man med en standardiserad programmeringsmetod, säger Scott Lewis på Xilinx.
Man sparar även tid vid produktionen, särskilt om kretsarna kan sluttestas och programmeras samtidigt.
Charlotta von Schultz