ORConf 2024 Det område inom chipdesign som har mest gemensamt med mjukvara är verifiering och det kanske därför inte är så konstigt att det också händer mycket på den sidan. Det är också den del av utvecklingsprocessen som typiskt inte kräver tillgång till hårdvara vilket underlättar ytterligare.
Denna rapport från ORConf 2024 är tidigare publicerad i magasinet Elektroniktidningen. Prenumerera kostnadsfritt! |
Och när det kommer till verifiering stal ramverket cocotb showen i år med fyra presentationer som direkt avhandlade olika aspekter av cocotb och många fler där det nämndes i förbifarten.
Cocotb, för den oinsatte, är ett projekt som gör det möjligt att skriva testfall i Python, istället för Verilog eller VHDL. Testerna körs som vanligt i ett simuleringsverktyg som QuestaSim, Xcelium eller Verilator.
Det finns två goda, inbördes relaterade, anledningar till att cocotb börjar få stor spridning. Det finns en betydligt större mängd färdig kod för Python än för Verilog och VHDL vilket innebär att man kan koppla ihop och jämföra simuleringsresultat med exempelvis numpy eller krypteringsbibliotek.
Det finns dessutom oerhört många fler programmerare som kan Python vilket innebär att det är en mycket kortare upplärningstid för att utbilda nya verifierare som kan använda ett språk de redan känner till istället för att lära dem arkaiska hårdvarubeskrivande språk för en uppgift som i de flesta fall inte behöver detta.
En tredje faktor som har betydelse för spridningen är att cocotb fortfarande behöver en traditionell simulator för att fungera. Det gör att de stora EDA-leverantörerna inte känner sig hotade av cocotb utan tvärtom välkomnar och i en del fall till och med erbjuder utbildning i tekniken.
På ORConf fick vi först ta del av en översikt av cocotb med en svidande jämförelse av utvecklingstakten av verifieringsverktyg för hårdvara, som traditionellt drivits av de tre stora EDA-leverantörernas intressen, och för mjukvara, där utveckling drivits av användarnas behov.
Presentationen tog också upp exempel på olika användningsområden, begränsingar och pyuvm-projektet som försöker vara en brygga mellan Python och den traditionella UVM-metodiken.
Detta följdes av en presentation av cocotb 2.0 som är planerad att släppas inom kort. Förbättringar, justeringar och inkompabiliteter med den befintliga version 1.9 avhandlades.
Med såväl översikt som framtidsutsikter avklarade följde två presentationer som byggde på varandra.
Forastero är ett bibliotek som tillhandahåller ett antal extrafunktioner vilka typiskt finns i traditionella verifieringsramverk, som kött på benen för cocotb.
Inte bara cocotb var representerat, utan också traditionella verifieringmetoder, bland annat två presentationer kring VHDL-ramverket OSVVM.
Här såg vi också det tydligaste åldersspannet. Först ut var en översikt från skaparen av OSVVM som också har lett arbetsgruppen för språkstandarden VHDL i snart 20 år och har en karriär långt längre än så. Den andra presentationen hölls av en student som fortfarande går i high school.