El modelado a nivel de transacción ( TLM ) es un enfoque para modelar sistemas digitales complejos mediante software de automatización del diseño electrónico . [ 1 ] : 1955 TLM se utiliza principalmente en el diseño y verificación de sistemas en chip (SoC) complejos y otros sistemas electrónicos donde el modelado tradicional a nivel de transferencia de registros (RTL) sería demasiado lento o intensivo en recursos para el análisis a nivel de sistema. El lenguaje TLM (TLML) es un lenguaje de descripción de hardware , generalmente escrito en C++ y basado en la biblioteca SystemC . [ 1 ] Los TLML se utilizan para modelar donde los detalles de la comunicación entre módulos se separan de los detalles de la implementación de las unidades funcionales o de la arquitectura de comunicación. Se utiliza para modelar sistemas que involucran mecanismos complejos de comunicación de datos. [ 1 ] : 1955 El enfoque de modelado se centra en las transacciones o transferencias de datos entre bloques funcionales en lugar de la implementación detallada de esos bloques o sus interconexiones. [ 2 ] Esta abstracción permite velocidades de simulación más rápidas, a menudo órdenes de magnitud más rápidas que RTL, al tiempo que mantiene una precisión suficiente para las decisiones de diseño a nivel de sistema, el desarrollo de software y la exploración arquitectónica. [ 3 ]
Componentes como buses o FIFOs se modelan como canales y se presentan a los módulos mediante clases de interfaz SystemC . Las solicitudes de transacción se realizan llamando a funciones de interfaz de estos modelos de canal, que encapsulan los detalles de bajo nivel del intercambio de información. A nivel de transacción, el énfasis se centra más en la funcionalidad de las transferencias de datos (qué datos se transfieren y desde qué ubicaciones) y menos en su implementación real, es decir, en el protocolo real utilizado para la transferencia de datos. Este enfoque facilita al diseñador del sistema la experimentación, por ejemplo, con diferentes arquitecturas de bus (todas compatibles con una interfaz abstracta común) sin tener que recodificar los modelos que interactúan con ninguno de los buses, siempre que estos modelos interactúen con el bus a través de la interfaz común. [ 4 ]
TLM se implementa típicamente usando SystemC , un lenguaje y biblioteca de modelado basado en C++ desarrollado específicamente para el diseño a nivel de sistema. [ 5 ] La Open SystemC Initiative (OSCI), ahora parte de Accellera , ha desarrollado bibliotecas TLM estandarizadas que proporcionan interfaces y metodologías comunes para la comunicación a nivel de transacción. Sin embargo, la aplicación del modelado a nivel de transacción no es específica del lenguaje SystemC y puede usarse con otros lenguajes. El concepto de TLM aparece por primera vez en el dominio del lenguaje y modelado a nivel de sistema. [ 6 ]
La metodología se ha vuelto esencial en los flujos de automatización del diseño electrónico modernos , particularmente para la creación de plataformas virtuales que permiten el desarrollo temprano de software y la validación del sistema antes de que se complete la implementación del hardware. [ 7 ] Los modelos TLM sirven como especificaciones ejecutables que salvan la brecha entre los requisitos del sistema de alto nivel y las implementaciones detalladas del hardware. Los TLM se utilizan para la síntesis de alto nivel de modelos de nivel de transferencia de registros (RTL) para un modelado e implementación de nivel inferior de los componentes del sistema. El RTL generalmente se representa mediante un código fuente de lenguaje de descripción de hardware (por ejemplo, VHDL , SystemC , Verilog ). [ 1 ] : 1955–1957
Antecedentes e historia
Desarrollo inicial (décadas de 1990-2000)
El modelado a nivel de transacción surgió a finales de la década de 1990 y principios de la de 2000 como respuesta directa a la creciente complejidad de los diseños de sistemas en chip y a las limitaciones del modelado tradicional a nivel de transferencia de registros (RTL) para la verificación a nivel de sistema y el desarrollo de software. [ 8 ] La industria de semiconductores estaba experimentando una creciente disparidad entre la complejidad del diseño y la productividad del diseñador. [ 9 ]
Los conceptos fundamentales de TLM fueron desarrollados simultáneamente por varios grupos de investigación y empresas. Cadence Design Systems introdujo los primeros conceptos de nivel de transacción en su lenguaje SpecC a mediados de la década de 1990, [ 10 ] mientras que Synopsys desarrolló conceptos similares en su metodología SystemC a partir de 1999. [ 11 ] En 2000, Thorsten Grötker, gerente de I+D en Synopsys, estaba preparando una presentación sobre el mecanismo de comunicación en lo que se convertiría en el estándar SystemC 2.0, y se refirió a él como "modelado basado en transacciones". Gilles Baillieu, entonces ingeniero de aplicaciones corporativas en Synopsys, insistió en que el nuevo término debía contener "nivel", como en " nivel de transferencia de registros " o "nivel de comportamiento". El hecho de que TLM no denote un único nivel de abstracción, sino una técnica de modelado, no lo hizo cambiar de opinión. Tenía que ser "nivel" para que se popularizara. Así que se convirtió en "TLM".
Formación de SystemC y OSCI
El desarrollo de SystemC resultó crucial para la adopción de TLM. SystemC fue desarrollado inicialmente por Synopsys en 1999 como un lenguaje de modelado a nivel de sistema basado en C++ . [ 12 ] En 2000, se formó la Open SystemC Initiative (OSCI) como un consorcio independiente para desarrollar y promover SystemC como un estándar abierto. [ 13 ] Entre los miembros fundadores se encontraban Synopsys , Cadence Design Systems , CoWare y varias importantes empresas de semiconductores, incluidas ARM Holdings , Infineon Technologies y STMicroelectronics . [ 14 ] La organización desarrolló el simulador OSCI para su uso y distribución abiertos.
Desde sus inicios, SystemC se ha consolidado como el lenguaje preferido para la síntesis de alto nivel, conectando el modelado de diseño y la aplicación de prototipos virtuales con la verificación funcional y la implementación automatizada a nivel de compuertas. Esto permite a los equipos de proyecto generar un único modelo para múltiples propósitos. En el evento DVCon de 2010, OSCI elaboró una especificación del primer subconjunto sintetizable de SystemC para su estandarización en la industria.
Estandarización TLM 1.0 (2005)
La primera metodología TLM estandarizada, conocida como TLM-1.0 , fue publicada por OSCI en 2005. [ 15 ] TLM-1.0 introdujo conceptos fundamentales que incluyen:
- Interfaces de transacción básicas para la comunicación
- Canales de comunicación basados en señales y FIFO
- Protocolos sencillos de transacciones de solicitud-respuesta
- Anotaciones de sincronización básicas
El estándar TLM-1.0 se centró principalmente en el modelado funcional y proporcionó un soporte limitado para el análisis de tiempos detallado. [ 16 ]
Evolución de TLM 2.0 y estandarización IEEE (2008-2011)
TLM-2.0 , publicado en 2008, representó un avance importante en la metodología de modelado a nivel de transacción. [ 17 ] El nuevo estándar introdujo varias innovaciones clave:
- Cargas útiles genéricas para la representación estandarizada de transacciones.
- Múltiples modelos de sincronización (sin sincronización, con sincronización aproximada, con sincronización aproximada)
- Interfaces de socket estandarizadas para la interoperabilidad
- Capacidades mejoradas de depuración y análisis [ 18 ]
TLM-2.0 se incorporó posteriormente al estándar IEEE 1666-2011 para SystemC, lo que proporcionó reconocimiento oficial y una mayor aceptación en la industria. [ 2 ]
Adopción industrial y herramientas comerciales
A mediados de la década de 2000, las principales empresas de automatización del diseño electrónico comenzaron a incorporar soporte TLM en sus herramientas comerciales. Mentor Graphics (ahora Siemens EDA ) introdujo soporte TLM en su simulador ModelSim en 2004, [ 19 ] seguido por Cadence Design Systems con su plataforma Incisive en 2005. [ 20 ] Empresas de plataformas virtuales como CoWare (adquirida por Synopsys en 2010), [ 21 ] Vast Systems (adquirida por Synopsys en 2007) y VaST Systems Technology contribuyeron significativamente a la adopción comercial de TLM al proporcionar plataformas virtuales de alto rendimiento basadas en la metodología TLM. [ 22 ]
Desarrollos modernos (década de 2010-presente)
En la década de 2010, TLM se convirtió en una práctica estándar en la industria de semiconductores, particularmente para el diseño de SoC basados en ARM . ARM Holdings publicó modelos TLM completos de sus arquitecturas de procesadores, incluidos los procesadores de las series ARM Cortex-A y ARM Cortex-M . [ 23 ] El auge de la inteligencia artificial y los aceleradores de aprendizaje automático a finales de la década de 2010 creó nuevas demandas para el modelado TLM, lo que llevó a bibliotecas y metodologías especializadas para modelar unidades de procesamiento neuronal y otro hardware de IA. [ 24 ] En 2020, OSCI se fusionó con Accellera , consolidando el desarrollo de SystemC y TLM bajo una sola organización y asegurando la evolución continua de los estándares. [ 25 ]
Conceptos clave
Véase también
Referencias
- ^ El manual VLSI . Wai-Kai Chen (2 ed.). Boca Ratón, FL: CRC/Taylor & Francis. 2007.ISBN 978-0-8493-4199-1OCLC 70699056
{{cite book}}: CS1 mantenimiento: otros ( enlace ) - 1 2 "Manual de referencia del estándar IEEE para el lenguaje SystemC estándar" . IEEE STD 1666-2011 . 2012. doi : 10.1109/IEEESTD.2012.6134619 . ISBN 978-0-7381-6801-2.
- ↑ Ghenassia, Frank, ed. (2005). Modelado a nivel de transacción con SystemC . Springer. ISBN 978-0-387-26233-4.
{{cite book}}: Valor de comprobación|isbn=: suma de comprobación ( ayuda ) - ↑ T. Grötker, S. Liao, G. Martin, S. Swan, Diseño de sistemas con SystemC. Springer, 2002, Capítulo 8, págs. 131. ISBN 1-4020-7072-1(citado con permiso)
- ↑ "Estándares SystemC" . Iniciativa de Sistemas Accellera . Consultado el 15 de enero de 2024 .
- ↑ L. Cai, D. Gajski, Modelado a nivel de transacción: una visión general, en las actas de la Conferencia Internacional sobre Codiseño de Hardware/Software y Síntesis de Sistemas (CODES-ISSS), octubre de 2003, págs. 19-24
- ↑ Schirner, Gunar (2013). Plataformas virtuales en el diseño a nivel de sistema . Conferencia de automatización del diseño. págs. 804–809 . doi : 10.1145/2463209.2488885 (inactivo el 1 de julio de 2025).
{{cite conference}}: CS1 maint: DOI inactivo desde julio de 2025 ( enlace ) - ↑ Gajski, Daniel D. (2000). SpecC: Specification Language and Methodology . Kluwer Academic Publishers. ISBN 978-0-7923-7822-5.
{{cite book}}: Valor de comprobación|isbn=: suma de comprobación ( ayuda ) - ↑ Hoja de ruta tecnológica internacional para semiconductores: Diseño (Informe). Asociación de la Industria de Semiconductores. 1999.
- ↑ Gajski, Daniel D. (1997). SpecC: Un lenguaje de diseño para el diseño a nivel de sistema . Conferencia de automatización del diseño. págs. 464–469 . doi : 10.1145/266021.266138 (inactivo el 1 de julio de 2025).
{{cite conference}}: CS1 maint: DOI inactivo desde julio de 2025 ( enlace ) - ↑ Grötker, Thorsten (2003). "SystemC: pasado, presente y futuro". IEEE Design & Test . 20 (6): 72– 77. doi : 10.1109/MDT.2003.1246169 .
- ↑ "Synopsys presenta SystemC para el diseño a nivel de sistema" . EE Times . 4 de octubre de 1999.
- ↑ "Se crea la Iniciativa Open SystemC para impulsar el diseño a nivel de sistema" (Comunicado de prensa). Iniciativa Open SystemC. 12 de septiembre de 2000.
- ↑ "Historia de Accellera" . Iniciativa de Sistemas Accellera . Consultado el 15 de enero de 2024 .
- ↑ "OSCI publica un estándar de modelado a nivel de transacción" (Comunicado de prensa). Open SystemC Initiative. 15 de junio de 2005.
- ↑ Ghenassia, Frank, ed. (2005). "Estándar TLM-1.0". Modelado a nivel de transacción con SystemC: conceptos y aplicaciones TLM para sistemas embebidos . Springer. págs. 87–124 . ISBN 978-0-387-26233-4.
{{cite book}}: Valor de comprobación|isbn=: suma de comprobación ( ayuda ) - ↑ "OSCI publica el estándar TLM-2.0 para el modelado a nivel de transacción" (Comunicado de prensa). Open SystemC Initiative. 10 de junio de 2008.
- ↑ Aynsley, John (2009). "Referencia TLM-2.0". Verificación de ASIC y FPGA: Guía para el modelado de componentes . Springer. págs. 145–198 . ISBN 978-1-4419-0564-5.
{{cite book}}: Valor de comprobación|isbn=: suma de comprobación ( ayuda ) - ↑ "Mentor Graphics añade SystemC TLM a ModelSim". EE Times . 15 de marzo de 2004.
- ↑ "Cadence presenta el flujo de modelado a nivel de transacción" (Comunicado de prensa). Cadence Design Systems. 12 de septiembre de 2005.
- ↑ "Synopsys adquiere CoWare para la creación de prototipos virtuales". EE Times . 22 de febrero de 2010.
- ↑ Análisis del mercado de prototipado virtual (Informe). Gary Smith EDA. 2010.
- ↑ ARM Fast Models: Modelado a nivel de sistema para el desarrollo de software , ARM Holdings, 2012
- ↑ Chen, Li (2019). Modelado a nivel de transacción para el diseño de aceleradores de IA . Conferencia de automatización del diseño. págs. 1–6 . doi : 10.1145/3316781.3317788 (inactivo el 1 de julio de 2025).
{{cite conference}}: CS1 maint: DOI inactivo desde julio de 2025 ( enlace ) - ↑ "Accellera y OSCI se fusionan para impulsar los estándares de diseño a nivel de sistema" (Comunicado de prensa). Iniciativa de Sistemas Accellera. 15 de enero de 2020.
Enlaces externos
- SystemC.org - Página principal de SystemC.
- Automatización del diseño electrónico