Fixed-Point Designer

 

Fixed-Point Designer

Modele y optimice algoritmos en punto fijo y punto flotante

Más información:

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.

Un tipo de datos en punto fijo y sus propiedades.

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.

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.

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.

La herramienta Fixed-Point Tool.

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.

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 .

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.

Simulación de tipo bit-true.

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 descomposición QR en ráfaga compleja.

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.

Detección de desbordamientos y depuración.

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.

API de generador de datos.

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