Tillståndsmaskiner och komplexa funktioner beskrivs smidigare med grafer än med ren Verilogkod. Konstruktionen blir dessutom lättare att begripa och granska.
Men man måste ha gedigen Verilogkunskap. Det är några slutsatser efter 2 års erfarenhet av det grafiska verktyget Visual Verilog från Summit Design.Grafiska konstruktionsverktyg blir allt vanligare inom hårdvarukonstruktion. Men hur fungerar egentligen ett grafiskt verktyg? Konstruktören beskriver sin konstruktion grafiskt och verktyget genererar sedan Verilogkod.
Med Visual Verilog kan man välja mellan fyra olika beskrivningssätt för att implementera själva logiken: tillståndsdiagram, flödesdiagram, sanningstabell och Verilogkod.
Tillståndsdiagram används för att beskriva tillståndsmaskiner och deras utsignaler. Flödesdiagram kan i princip användas till all övrig logik, klockad såväl som oklockad. Komplexa funktioner hanteras med lätthet i flödesdiagrammen - motsvarande if-else-struktur i Verilog blir däremot mycket svår att följa.
Sanningstabeller går också att använda till blandad logik. Men de är dessvärre inte riktigt användbara eftersom de har så många begränsningar.
Verilogkod används med fördel för att implementera stora avkodningar i case- satser. Verilogkodsinmatning kan också användas för att snabbt få in en gammal konstruktion i verktyget.
All hierarki och modulinstansieringar beskrivs med hjälp av blockdiagram. Undermodulerna representeras antingen av block med flexibla gränssnitt eller som komponenter med låsta gränssnitt.
Vettiga granskningarDen största fördelen med verktyget är att andra snabbt och enkelt kan sätta sig in i konstruktionen och granska den. Kodgranskningar som förut var svåra att få något vettigt ur blir med Visual Verilog väl värda att ägna tid åt. Felsökning underlättas också.
Man skall dock inte tro att man automatiskt får strukturerade och tydliga konstruktioner bara för man använder ett grafiskt verktyg - det går alldeles utmärkt att producera helt oläsliga diagram och tabeller, även om det är svårare jämfört med när man skriver Verilogkod direkt.
Och man slipper inte att titta på den genererade Verilogkoden bara för att man använder ett grafiskt verktyg - trots en mängd olika inställningar blir koden inte alltid som man hade tänkt sig. Det är snarare så att man måste veta vilken kod man vill ha och hur den ska genereras.
Utan ordentlig Verilogkunskap i botten uppstår problem. Alla kodningsregler gäller exempelvis fortfarande eftersom de inte finns inbyggda i verktyget. Detta gör att verktyget enbart erbjuder en grafisk representation av Verilogkod - inte någon högre abstraktionsnivå.
Man bör också veta att själva grafinmatningen tar längre tid än att skriva motsvarande Verilogkod i Emacs.
Brister i användargränssnittetTyvärr märks det att Visual Verilog inte är gjort av hårdvarukonstruktörer. Det är framför allt brister i användargränssnittet som drar ner betyget. Funktioner, som man använder ofta, döljer sig exempelvis i pop-up-menyer i flera steg. Om man exempelvis lägger in en ny signal till ett underblock och sedan skall ansluta denna får man klicka inte mindre än 7 gånger i två olika pop-up-menyer.
Men när man lägger ihop plus och minus överväger fördelarna ändå helt klart - verktyget är värt att satsa på även om det inte innebär någon revolution. De flesta konstruktioner blir lättare att förstå men långt ifrån alla. Helt klart är att grafiska verktyg är på marknaden för att stanna, men Visual Verilog version 5.1 är inte den slutgiltiga lösningen.
Tobias Roos
Artikelförfattaren är asic-konsult på Silinova,
Den här e-postadressen skyddas mot spambots. Du måste tillåta JavaScript för att se den.Har du också åsikter och erfarenheter som du vill delge läsarna? Sänd ett mail till
Den här e-postadressen skyddas mot spambots. Du måste tillåta JavaScript för att se den.