La simulación avanzada es una opción adicional extra que se puede agregar a todos los productos de la gama Proteus. Tanto a las licencias para construcción de placas de circuito impreso (PCB) como a las licencias de simulación de microprocesadores (VSM). Con este complemento se amplía las capacidades del módulo básico de simulación interactiva para proporcionar una gama más completa con numerosos tipos de análisis gráficos de circuitos.
La simulación interactiva es una herramienta muy potente y muy intuitiva de utilizar que podemos usar en un gran número de ocasiones. Sin embargo, en ciertas situaciones es conveniente realizar una simulación durante un periodo de tiempo concreto, almacenar los resultados y mostrarlos en un gráfico para poder cómodamente analizarlos con todo detalle. Esta forma de trabajo nos posibilita concentrarnos en un evento concreto durante la ejecución de una simulación y realizar las mediciones necesarias.
Además, la simulacion avanzada es la única manera de la que disponemos para poder realizar análisis que no suceden en la simulación en tiempo real, tales como el análisis de transitorios de corriente alterana de señales muy pequeñas, el análisis de ruidos o la medida de resultados con la técnica de barrido.
El modo de trabajo es similar al utilizado en la simulación interactiva convencional proporcionada por el módulo SPICE. Primero se dibuja el esquema electrónico. Luego se configuran los diferentes generadores que deseemos utilizar y se sitúan en el circuito. A continuación se colocan sondas de lecturas de tensión o de corriente en los lugares del circuito que deseamos analizar. Más tarde dibujamos los gráficos donde deseamos mostrar los valores leídos por las sondas. El siguiente paso consiste en ejecutar la simulación del gráfico que deseemos obtener. Cuando la simulación se completa, los resultados se muestran en los gráficos y pueden utilizarse éstos para analizar los datos recopilados según nuestras necesidades.
El módulo de simulación avanzada nos permite crear señales utilizando el generador tipo EasyHDL. Este generador nos proporciona acceso a un dialecto del lenguaje HDL simplificado llamado EasyHDL (un lenguaje similar al BASIC) que puede usarse para definir señales arbitrarias mediante el uso de códigos HDL.
Se incluyen una docena de análisis diferentes basados en gráficos:
- Análisis de transitorios en ciruitos analógicos
- Análisis de transitorios en circuitos digitales
- Análisis de transitorios en modo mixto
- Análisis de Frecuencias
- Análisis de curvas de transferencia
- Análisis de ruidos
- Análisis de distorsión
- Análisis de Fourier
- Análisis interactivo
- Análisis de Conformidad
- Análisis de barrido de CC
- Análisis de barrido de CA
Un analísis de conformidad es una herramienta valiosa de control de calidad que compara un conjunto de resultados de una simulación digital con otros. El fundamento teórico es que un diseño que ha pasado previamente los controles de calidad y que ha sido aceptado como válido, pueda ser, más tarde, revisado de nuevo después de haber experimentado alguna modificación para comprobar que los cambios no han tenido efectos indeseados en su modo de trabajo y que presenta resultados idénticos a los que habíamos comprobado antes de llevar a cabo las modificaciones. Estas comprobaciones son especialmente críticas en las aplicaciones basadas en microprocesadores donde el funcionamiento del programa puede necesitar ser objeto de una recomprobación después de haber llevado a cabo cambios en el código fuente.
La conformidad o disconformidad se determina comparando los resultados de los test obtenidos en la nueva prueba y en las realizadas anteriormente como referencias en cada variación de la primera pista del gráfico. Es importante tener en cuenta por su importancia que no es necesario que las variaciones ocurran al mismo tiempo en una y otra prueba. Esto significa que el hecho de que los cambios no se produzcan en espacios de tiempo absolutos exactamente iguales no es una razón de disconformidad. Esto es especialmente importante en el caso de los microprocesadores donde los cambios efectuados en el código fuente pueden provocar variaciones que retrasen o adelanten el momento en que se produce un evento. En estos casos podemos fijar una señal de control que puede ser generada por el mismo código a la entrada y/o salida de la subrutina que está siendo objeto de las pruebas de control.