La exploración del espacio de diseño (DSE) se refiere al análisis sistemático y la eliminación de puntos de diseño no deseados en función de parámetros de interés. Si bien el término DSE puede aplicarse a cualquier tipo de sistema, en este artículo nos referimos al diseño de sistemas electrónicos e integrados.
Dada la compleja especificación de los sistemas electrónicos y la plétora de opciones de diseño que van desde la elección de componentes, número de componentes, modos operativos de cada uno de los componentes, conexiones entre los componentes, elección de algoritmo, etc.; las decisiones de diseño deben basarse en un proceso de exploración sistemático. [1] Sin embargo, el proceso de exploración es complejo debido a una variedad de formas en las que se puede implementar la misma funcionalidad. Un análisis de compensaciones entre cada una de las opciones de implementación basado en un cierto parámetro de interés forma la base de DSE. El parámetro de interés puede variar entre sistemas, pero los parámetros utilizados comúnmente son potencia, rendimiento y costo. Factores adicionales como tamaño, forma, peso, etc. pueden ser importantes para algunos sistemas portátiles como teléfonos celulares y tabletas. Con el creciente uso de dispositivos móviles, la energía también se está convirtiendo en un parámetro de optimización principal junto con la potencia y el rendimiento.
Debido a la complejidad del proceso de exploración, los investigadores [ ¿según quién? ] han propuesto un DSE automatizado en el que el software de exploración puede tomar decisiones y llegar a la solución óptima. Sin embargo, no es posible tener un DSE automatizado para todo tipo de sistemas y, por lo tanto, existen métodos semiautomatizados de DSE en los que el diseñador tiene que dirigir la herramienta después de cada iteración hacia la convergencia. Dado que la exploración es un proceso complejo que requiere mucho tiempo de cálculo, los investigadores han desarrollado herramientas de exploración que pueden proporcionar un análisis aproximado del comportamiento del sistema en una fracción de tiempo en comparación con un análisis preciso. Estas herramientas son muy importantes para la comparación rápida de las decisiones de diseño y son cada vez más importantes a medida que aumenta la complejidad de los diseños.
Para simplificar la complejidad de DSE, los investigadores se han esforzado continuamente por aumentar las abstracciones de la definición de componentes y sistemas para poder atender a sistemas más grandes y complejos. Por ejemplo, en lugar de modelar un sistema digital a nivel de transistor o de compuerta, se han intentado utilizar RTL o modelado de comportamiento. También se utilizan abstracciones más altas, como SystemC o modelado basado en diagramas de bloques, según los requisitos del sistema. El modelado a abstracciones más altas permite una exploración rápida de varias opciones de diseño para la implementación de nivel inferior.
La capacidad de operar en el espacio de candidatos de diseño hace que DSE sea útil para muchas tareas de ingeniería, como creación rápida de prototipos, optimización e integración de sistemas. [2]