La simulació lògica és l'ús de programari de simulació per predir el comportament de circuits digitals i llenguatges de descripció de maquinari. La simulació es pot realitzar a diferents graus d'abstracció física, com ara a nivell de transistor, nivell de porta, nivell de transferència de registre (RTL), nivell de sistema electrònic (ESL) o nivell de comportament.
Ús en la verificació La simulació lògica es pot utilitzar com a part del procés de verificació en el disseny de maquinari.
Les simulacions tenen l'avantatge de proporcionar un aspecte familiar a l'usuari, ja que es construeixen a partir del mateix llenguatge i símbols utilitzats en el disseny. En permetre que l'usuari interactuï directament amb el disseny, la simulació és una manera natural perquè el dissenyador obtingui comentaris sobre el seu disseny.
Durada de la simulació El nivell d'esforç necessari per depurar i després verificar el disseny és proporcional a la maduresa del disseny. És a dir, al principi de la vida del disseny, els errors i el comportament incorrecte se solen trobar ràpidament. A mesura que el disseny madura, la simulació requerirà més temps i recursos per executar-se, i els errors trigaran progressivament més a trobar-se. Això és particularment problemàtic a l'hora de simular components per a sistemes moderns; cada component que canvia d'estat en un sol cicle de rellotge a la simulació requerirà diversos cicles de rellotge per simular.
Un enfocament senzill d'aquest problema pot ser emular el circuit en una matriu de portes programable en camp. La verificació formal també es pot explorar com una alternativa a la simulació, encara que una prova formal no sempre és possible o convenient.
Una manera prospectiva d'accelerar la simulació lògica és utilitzar càlculs distribuïts i paral·lels.
Per ajudar a mesurar l'exhaustivitat d'una simulació, existeixen eines per avaluar la cobertura del codi, la cobertura funcional, la cobertura de la màquina d'estats finits (FSM) i moltes altres mètriques.
Simulació d'esdeveniments versus simulació de cicle La simulació d'esdeveniments permet que el disseny contingui informació de temps senzilla: el retard necessari perquè un senyal viatgi d'un lloc a un altre. Durant la simulació, els canvis de senyal es fan un seguiment en forma d'esdeveniments. Un canvi en un moment determinat desencadena un esdeveniment després d'un cert retard. Els esdeveniments s'ordenen per l'hora en què es produiran i, quan s'han gestionat tots els esdeveniments d'un temps determinat, l'hora simulada s'avança a l'hora del següent esdeveniment programat. La rapidesa amb què s'executa una simulació d'esdeveniments depèn del nombre d'esdeveniments a processar (la quantitat d'activitat del model).
Tot i que la simulació d'esdeveniments pot proporcionar alguns comentaris sobre la temporització del senyal, no és un reemplaçament de l'anàlisi de temporització estàtica.
En la simulació de cicle, no és possible especificar retards. S'utilitza un model precís al cicle, i cada porta s'avalua en cada cicle. Per tant, la simulació de cicle s'executa a una velocitat constant, independentment de l'activitat del model. Les implementacions optimitzades poden aprofitar la baixa activitat del model per accelerar la simulació saltant l'avaluació de les portes les entrades de les quals no han canviat. En comparació amb la simulació d'esdeveniments, la simulació de cicles tendeix a ser més ràpida, a escalar millor i a ser més adequada per a l'acceleració/emulació de maquinari.
No obstant això, les tendències de disseny de xips apunten a que la simulació d'esdeveniments guanya un rendiment relatiu a causa de la reducció del factor d'activitat al circuit (a causa de tècniques com el control de rellotge i el control de potència, que s'estan fent servir molt més habitualment en un esforç per reduir la dissipació de potència). En aquests casos, com que la simulació d'esdeveniments només simula els esdeveniments necessaris, el rendiment pot deixar de ser un desavantatge respecte a la simulació de cicle. La simulació d'esdeveniments també té l'avantatge d'una major flexibilitat, manejant característiques de disseny difícils de manejar amb la simulació de cicles, com ara la lògica asíncrona i els rellotges descommensurats. A causa d'aquestes consideracions, gairebé tots els simuladors lògics comercials tenen una capacitat basada en esdeveniments, encara que es basen principalment en tècniques basades en cicles.
Referències
Categoria:Programari Categoria:Fabricació de circuits electrònics