SystemC AMS


SystemC AMS es una extensión de SystemC para funciones analógicas, de señal mixta y RF. [1] El estándar SystemC AMS 2.0 se publicó el 6 de abril de 2016 como IEEE Std 1666.1-2016.

Un modelo de computación (MoC) es un conjunto de reglas que definen el comportamiento y la interacción entre los módulos primitivos SystemC AMS. SystemC AMS define los siguientes modelos de computación: flujo de datos temporizado (TDF), flujo de señal lineal (LSF) y redes lineales eléctricas (ELN).

En el modelo de flujo de datos temporizado (TDF), los componentes intercambian valores analógicos entre sí periódicamente a una tasa de muestreo elegida, como cada 10 microsegundos. Según el teorema de muestreo, esto sería suficiente para transmitir señales de hasta 50 MHz de ancho de banda sin artefactos de aliasing. Un modelo TDF define un método llamado 'procesamiento()' que se invoca a la velocidad adecuada a medida que avanza el tiempo de simulación. Un llamado grupo de modelos comparte un cronograma estático de cuándo deben comunicarse. Esto establece el orden relativo de las llamadas a los métodos de procesamiento () de cada instancia de TDF en el clúster. El comportamiento periódico de TDF le permite operar independientemente del kernel principal controlado por eventos de SystemC utilizado para la lógica digital.

La biblioteca de redes lineales eléctricas (ELN) de SystemC proporciona un conjunto de componentes eléctricos estándar que permiten ejecutar simulaciones similares a SPICE. Los tres componentes básicos, resistencias, condensadores e inductores, por supuesto, están disponibles. Otras variantes controladas por voltaje, como un amplificador de transconductancia (generador de corriente controlado por voltaje) permiten crear fácilmente la mayoría de FET y otros modelos de semiconductores.

La corriente que fluye en las redes ELN de resistencias se puede resolver con un solucionador de ecuaciones simultáneas adecuado. Estas se llaman ecuaciones nodales. Cuando se incluyen componentes variables en el tiempo, como capacitores e inductores, el método de Euler generalmente se implementa para modelarlos. El método de Euler es un enfoque simple para resolver problemas de dominio de tiempo de diferencias finitas (FDTD). Por ejemplo, para simular el problema de la carga del capacitor que se muestra a continuación a la izquierda, se selecciona un intervalo de tiempo delta\_t que suele ser aproximadamente el uno por ciento de la constante de tiempo y se ejecuta la iteración de la parte inferior derecha.

El error en el método de Euler disminuye cuadráticamente con pasos de tiempo más pequeños, pero un paso de tiempo demasiado pequeño da como resultado una simulación lenta para una simulación compleja de elementos finitos. Pero esto no es un problema en muchas situaciones en las que parte de un SoC complejo o controlador de planta se ejecuta junto con un modelo de planta que tiene solo unas pocas variables de estado, como el sistema de transmisión del automóvil, porque hay una diferencia de órdenes de magnitud en las constantes de tiempo ( por ejemplo, un reloj de 100 MHz frente a la constante de tiempo de inercia más corta de 1 milisegundo). Entonces tiene sentido simular el subsistema analógico dentro del simulador RTL. Además, la mayoría de las situaciones de control de la planta usan retroalimentación negativa de circuito cerrado y el controlador es tan bueno para administrar un modelo de planta con un ligero error como el modelo real.