Emulatortillverkarna klarar inte av framtidens processorhastigheter, säger Hewlett-Packard och Tektronix.
I stället kommer logikanalysatorn tillsammans med processorprobar och programvara att användas för avlusning, säger man.
Men emulatorbranschen håller inte med.
Dagens fullskaleemulatorer, så kallade in-circuit-emulatorer, ICE, har problem med att hänga med när kretsarna skenar i väg i hastighet. Emulatorn ersätter ju processorkretsen och måste således göra allt som processorn gör, och lika snabbt, om man vill kunna göra realtidsanalyser av sitt system.
- Problemen uppstår vid ungefär 33 till 40 MHz, berättar Per Ankarås på Hewlett- Packard. Går processorn fortare än så måste man lägga in tomma instruktioner, wait states.
- Ta Pentium till exempel. Idag går det inte att bygga in-circuit-emulatorer för Pentium.
Därför satsar både HP och Tektronix på logikanalysatorn som det primära instrumentet för avlusning. Logikanalysatorn emulerar inte själva kretsen, utan avlyssnar den bara via benen. Olika program används sedan för att tolka informationen så att den blir begriplig för programmeraren.
PreprocessorHewlett-Packards idé går ut på att till en vanlig logikanalysator koppla en processorspecifik preprocessor, som i sin tur ansluts till processorns ben. Preprocessorn förbehandlar insamlade data innan de skickas till logikanalysatorn.
Den utvecklingsingenjör som vill byta processor behöver bara köpa en ny preprocessor. HP tillsammans med sina tredjepartsleverantörer stödjer idag cirka 200 olika kretsar.
- För tio år sedan hade alla 68000 eller Intels 186. Idag använder man exempelvis 68330, 68300-familjen och nya varianter kommer hela tiden. Det blir helt enkelt för dyrt att göra emulatorer till alla kretsar.
Flödeskontrollen sköter HP med den avlusningsfunktion som idag nästan alla nylanserade processorer har inbyggd i sig. Mest känd är kanske Motorolas Background Debug Mode, BDM. Andra fabrikat använder JTAG-porten.
Tektronix har tagit fram en liknande lösning med logikanalysatorn och processorprobar. Programpaketet LA-Browser fungerar som disassemblerare och omvandlare maskinkoden till C-kod.
Logikanalysatorn är ett passivt instrument till skillnad mot emulatorn. Därmed störs inte exekveringen av programmet, vilket är en stor fördel. Man kan studera vad som händer i realtid utan att påverka målsystemet.
Emulatortillverkarna tror dock inte att logikanalysatorn kommer att ersätta in- circuit-emulatorn.
- Det har de sagt i flera år, men än har vi inte sett det, säger Lars Forsberg på Kaliber som säljer Applied Microsystems emulatorer.
Applieds emulatorer klarar idag upp till 75 MHz och i teorin kan de köras upp till 100 MHz. Så hastigheten är inget problem.
En annan fördel med emulatorer är att kretsen inte behöver finnas tillgänglig. Man kan börja avlusa programvaran redan innan hårdvaran finns färdig.
In-circuit-emulatorerna är också utrustade med mycket emuleringsminne, vilket gör att man kan spela in långa sekvenser av programflödet.
Modulär emulator- Det går inte heller att använda lika komplexa triggvillkor med en logikanalysator, poängterar en annan emulatoranhängare, Greger Andersson på Nohau Elektronik.
- Då blir det svårt att stoppa programflödet.
Lauterbachs emulatorsystem Trace-32, som säljs av Nohau, är uppbyggt i moduler, vilket gör det lätt att byta processor. Man köper bara en ny modul för den aktuella processorn.
- Det stora problemet med avlusning är om processorn har ett cacheminne. I så fall ser man ju inte vad som händer inuti processorn.
För att få tillgång processorns insida har en del halvledartillverkare börjat sälja så kallade bondout-chips, provkretsar med extra ben. Dit kan man dra ut den information som annars är intern i processorn. Annars måste man stänga av cacheminnet vid exekveringen, och då försämras kretsens prestanda.
Mikael Zackrisson