Zephyrnet-logotyp

En ny ras av EDA krävs

Datum:

När problemformuleringen ändras lönar det sig ibland att använda ett helt annat tillvägagångssätt.

popularitet

När de gjorde research för en av mina berättelser den här månaden sa ett par personer i princip att det kan vara problematiskt att tillämpa tidigare metoder på dagens design eftersom det finns grundläggande skillnader i arkitekturer och arbetsbelastningar. Även om jag håller helt med, tycker jag inte att dessa uttalanden räcker tillräckligt långt.

Dagens design har i allmänhet en av allt - en CPU, en accelerator, ett minnesundersystem, ett USB-gränssnitt, etc. Ja, det kan finnas flera acceleratorer, men var och en är olika. Varje block är ett unikt block i designen, och på ett sätt som betyder att hela chippet är ett specialtillverkat chip - även om de flesta av branschen skapar en design som har 90% gemensamt med designen från deras konkurrenter och förmodligen 95% gemensamt med den senaste designen de skapade.

IP-branschen har svarat med att skapa allt större multifunktionsblock eller delsystem och detta fortsätter att fungera för en-av-allt-designer. Men du skulle aldrig designa ett minne genom att betrakta det som en engångsföreteelse. Cellerna är designade en gång, logiken som omger den är designad i generisk mening, och sedan ger kompilatorer eller generatorer de exakta konfigurationerna som du behöver.

IP-XACT kom till från utveckling inom Mentor Graphics där design gjordes på ett mer modulärt sätt. Blocken definierades med "gränssnitt" och sedan behövde de bara kopplas till varandra. Systemet visste hur det skulle koppla ihop gränssnitten, så länge de var kompatibla, och infoga nödvändig logik om det krävdes. Det skapades för en-av-allt-designer, och det blev ett användbart sätt att beskriva IP-block.

Men vi kommer till den punkt där design inte innehåller en av allt. Processorer för grafik är uppsättningar av datorblock, och detsamma gäller för maskininlärning och AI-processorer, ljud- och videoprocessorer - och jag är säker på att andra block där jag inte helt förstår det interna. Var finns kompilatorerna för dessa typer av system? Varför måste alla designa sitt eget MAC-block istället för att ha ett fåtal företag, eller till och med gjuterierna, som producerar högoptimerade celler som sedan kan replikeras, kopplas ihop, kopplas till minne och IO på ett programmatiskt sätt? Var finns verktygen som kan analysera vanliga strukturer för att ta reda på vilka typer av dataflöden de skulle fungera bra för och vilka som skulle skapa flaskhalsar?

Branschen har letat efter nästa abstraktionsnivå för design av allt, men det kanske är fel tillvägagångssätt. De bör titta på en abstraktionsnivå där dataflöden definieras och lämpliga strukturer skapas som inkluderar massiv replikering. Tillsammans med det kan mycket bättre verifieringsmetoder skapas som kan utnyttja hierarkin på ett effektivt sätt.

Det kanske närmaste exemplet på detta som existerar idag är nätverk-på-chip (NOC) sammankopplingsstrukturer, där antalet begäranden och leverantörerna kan definieras och relationerna dem emellan etableras, till exempel vilka begäranden som behöver prata med vilka leverantörer , är de en-till-många- eller många-till-en-anslutningar, genomströmningskraven etc. Från det genereras sammankopplingen helt.

Om den genereringsprocessen är så nära konstruktionskorrigering som möjligt, så finns det bara ett behov av att verifiera implementeringen vid sign-off tidpunkten. Allt innan dess kan göras med abstrakta modeller på precis samma sätt som en CPU som levereras som IP från en pålitlig källa sällan verifieras på gatenivå.

Det är kanske denna förändring av designens karaktär som kommer att skapa möjligheten till effektivare verktyg som fokuserar på designens egenskaper. Jag skulle anta att denna mentalitet också skulle flöda in på plats och väg, termisk analys och många andra aspekter av back-end-flödet eftersom var och en av cellerna kan analyseras mer noggrant individuellt och sedan replikeras.

Naturligtvis kommer det alltid att finnas den lilla delen av varje design som är helt anpassad digital logik och som kan fortsätta att använda det befintliga verktygsflödet. Men det verkar bara som om det nu är en ganska liten del av problemet.

Brian Bailey

Brian Bailey

  (alla inlägg)

Brian Bailey är Technology Editor / EDA för Semiconductor Engineering.

plats_img

Senaste intelligens

plats_img

Chatta med oss

Hallå där! Hur kan jag hjälpa dig?