Fixed-Point Designer

Modele y optimice algoritmos en punto fijo y punto flotante

 

Fixed-Point Designer™ proporciona tipos de datos y herramientas para optimizar e implementar algoritmos en punto fijo y en punto flotante en hardware embebido. Incluye tipos de datos en punto fijo y en punto flotante, así como ajustes numéricos específicos de la plataforma. Con Fixed-Point Designer puede realizar una simulación que detecta la plataforma de tipo bit-true para punto fijo. A continuación, puede probar y depurar los efectos de la cuantización, como desbordamientos y pérdida de precisión, antes de implementar el diseño en el hardware.

Fixed-Point Designer proporciona apps y herramientas para analizar algoritmos de doble precisión y convertirlos en punto flotante o en punto fijo de precisión reducida. Las herramientas de optimización permiten seleccionar los tipos de datos que se adaptan a sus requisitos de precisión numérica y a las restricciones de hardware de la plataforma. Para una implementación eficiente, puede reemplazar las construcciones de diseño que requieren muchos cálculos por patrones óptimos de hardware, como tablas de búsqueda comprimidas.

El código C y HDL de producción se puede generar directamente desde los modelos optimizados en punto fijo y flotante.

Cómo empezar:

Exploración de tipos de datos

Explore tipos de datos en punto flotante y punto fijo para analizar el tradeoff en la precisión numérica.

Especificación en punto fijo

Especifique las propiedades de punto fijo de su diseño con longitudes de palabra, escalado de punto binario y escalado de pendiente arbitraria y desviación específicos para la aplicación, así como detalles de control tales como los modos de redondeo y desbordamiento.

Especificación de un tipo de datos en punto fijo y de todas sus propiedades, tales como el modo de redondeo.

Simulación en punto flotante

Emule el comportamiento de la plataforma de hardware para números en punto flotante desnormalizados, tales como el ras a cero, tanto en la simulación como en la generación de código. Simule punto flotante de precisión limitada con un tipo de datos de media precisión fp16 en MATLAB® y Simulink®.

Instrumentación y visualización

Recopile datos y estadísticas de simulación del modelo completo a través de instrumentación automática. Recopile datos de rango para explorar y analizar sus diseños. Las visualizaciones le permiten optimizar su diseño y utilizar  los recursos de hardware eficientemente.

Visualización de rangos de señales y datos de histogramas.

Análisis del rango derivado

Derive los rangos de las señales basándose en el análisis matemático de su diseño y determine los rangos en los casos más desfavorables o los casos límite, sin necesidad de crear bancos de pruebas de simulación completamente exhaustivos. Los rangos derivados le permiten asegurarse de que su diseño pueda evitar o gestionar posibles desbordamientos.

Derivación de rangos mediante rangos de diseño

Introducción automática de datos

Cuantice y optimice sus diseños con tipos de datos en punto fijo y punto flotante.

Cuantización en punto fijo

Explore distintos tipos de datos en punto fijo y sus efectos de cuantización en el comportamiento numérico de su sistema con un flujo de trabajo guiado. Observe el rango dinámico de las variables de su diseño y asegúrese de que el algoritmo se comporte de manera coherente en la representación en punto flotante y en punto fijo tras la conversión.

Conversión de un modelo en punto flotante mediante la herramienta Fixed-Point Tool.

Cuantización en punto flotante

Convierta automáticamente un diseño de precisión doble a precisión simple y analice los efectos de la representación en punto flotante con precisión limitada y cuantización en precisión simple.

Conversión automática mediante el convertidor Single Precision Converter.

Optimización de tipos de datos

Realice iteraciones automáticamente con varias configuraciones en punto fijo para escoger los tipos de datos heterogéneos óptimos, al tiempo que respeta las limitaciones de tolerancia del comportamiento numérico de su sistema. La optimización intenta minimizar el ancho de bit total utilizando tipos de datos en punto fijo para conseguir un diseño eficiente.

Implementación embebida

Explore los tradeoffs de implementación y optimice sus diseños con algoritmos eficientes embebidos .

Aproximación de funciones y compresión de tablas de búsqueda

Aproxime funciones matemáticamente complejas (como sqrt o exp) o subsistemas complejos con una tabla de búsqueda óptima. Comprima las tablas de búsqueda existentes para reducir el uso de memoria optimizando los puntos de datos y los tipos de datos.

Generación de código de tipo bit-true

Asegúrese de que exista concordancia de tipo bit-true en todo el diseño basado en modelos, desde la simulación hasta la generación de código, incluyendo la aceleración y las simulaciones de tipo processor-in-the-loop y software-in-the-loop. Analice y verifique algoritmos en punto fijo basados en representaciones de tipo bit-true. Genere código eficiente a partir de diseños de precisión reducida, incluidos aquellos con tipos de datos de media precisión.

Verificación del comportamiento de tipo bit-true del código generado en un simulador.

Bloques de matriz optimizados para HDL

Acceda a una librería HDL en punto fijo de bloques de Simulink que modelan patrones de diseño para sistemas de ecuaciones lineales y operaciones matriciales básicas, como la descomposición QR, para una implementación en FPGA eficiente para hardware. Genere código HDL para diseños que incorporan estos bloques utilizando HDL Coder™.

Bloque de librería que proporciona un patrón de diseño optimizado para HDL para la descomposición QR.

Pruebas y depuración

Analice, pruebe y depure el comportamiento numérico de sus algoritmos.

Detección de desbordamiento y pérdida de precisión

Identifique, rastree y depure rápidamente las causas del desbordamiento, los rangos o la precisión desperdiciados y compare su diseño con un comportamiento en punto flotante ideal. La concordancia de tipo bit-true entre el modelo y el código maximiza muchas de las ventajas del diseño basado en modelos, lo que le permite descubrir problemas desde el comienzo del flujo de trabajo.

Rastreo de la causa raíz de un desbordamiento.

Pruebe casos límite numéricos

Genere valores en punto fijo y en punto flotante con gran riqueza numérica, como valores cercanos a los límites y números desnormalizados, para probar casos límite de sus algoritmos en relación con la coherencia numérica. Genere combinaciones de señales con dimensiones y complejidad variables, así como tipos de datos enteros, en punto flotante o en punto fijo.

Generación de datos de prueba con API de generador de datos.

Nuevas funcionalidades

Mejoras de la herramienta Fixed-Point Tool

Explore intervalos de señales en sus diseños y convierta sus modelos de Simulink usando la optimización de tipos de datos

Optimización de tablas de búsqueda

Rediseñe y comprima iterativamente las tablas de búsqueda en lote y ejecute la optimización de tablas de búsqueda en paralelo

Optimización de tipos de datos

Mejoras en la especificación de tipos de datos conocidos y el margen de seguridad como restricciones adicionales

Tech Preview

Diseñe, simule y genere código para tipos de datos de media precisión en Simulink

Librería Fixed-Point

Librería de bloques de Simulink para operaciones matemáticas y operaciones matriciales eficientes en hardware

Consulte las notas de la versión para obtener detalles sobre estas características y las funciones correspondientes.