Fixed-Point Designer

Modellare e ottimizzare algoritmi a virgola fissa e a virgola mobile

Fixed-Point Designer™ fornisce strumenti e tipi di dati per ottimizzare e implementare algoritmi a virgola fissa e mobile su hardware embedded. Include tipi di dati a virgola fissa e mobile e impostazioni numeriche target-specific.  Con Fixed-Point Designer è possibile eseguire una simulazione specifica per il target con rappresentazioni bit-true per la virgola fissa. È quindi possibile testare ed eseguire il debug degli effetti di quantizzazione come overflow e perdita di precisione prima di implementare il progetto su hardware.

Fixed-Point Designer fornisce app e strumenti per analizzare algoritmi in doppia precisione e convertirli in virgola mobile o fissa a precisione ridotta. Gli strumenti di ottimizzazione consentono di selezionare tipi di dati che rispondano ai requisiti di precisione numerica e ai vincoli imposti dall’hardware target. Per un’implementazione efficiente è possibile sostituire i costrutti di progettazione che richiedono calcoli complessi con pattern ottimali per l’hardware come le tabelle di lookup compresse.

È possibile generare il codice di produzione C e HDLdirettamente dai modelli ottimizzati a virgola fissa e mobile.

Inizia ora:

Esplorazione dei tipi di dati

Esplora tipi di dati a virgola fissa e mobile per analizzare il tradeoff sulla precisione numerica.

Specificazione a virgola fissa

Specifica i tipi di dati a virgola fissa e mobile del tuo progetto con una lunghezza delle parole specifica per applicazione, binary-point scaling, bias scaling,slope arbitrario e dettagli di controllo come le modalità overflow e di arrotondamento.

Specificazione di un tipo di dati a virgola fissa e di tutte le proprietà come la modalità arrotondamento.

Simulazione a virgola mobile

Emula il comportamento dell’hardware target per numeri a virgola mobile denormalizzati, come flush-to-zero, nella generazione di codice e nella simulazione. Simula tipi di dati a virgola mobile con precisione limitata a mezza precisione fp16 in MATLAB® e Simulink®.

Strumentazione e visualizzazione

Raccogli dati di simulazione e statistiche del modello completo tramite strumentazione automatica. Raccogli dati di intervallo per esplorare e analizzare i tuoi progetti. Utilizza le visualizzazioni per ottimizzare il progetto per un utilizzo efficiente delle risorse hardware.

Visualizzazione dei range di segnali e dei dati dell’istogramma.

Analisi dei range derivati

Deriva i range di segnali sull’analisi matematica del tuo progetto e determina i range peggiori o i casi limite senza dover creare testbench di simulazione completi. I range derivati garantiscono che il progetto sarà in grado di prevenire o gestire tutti i possibili overflow.

Derivazione di range utilizzando i range di progetto.

Tipizzazione automatica di dati

Quantifica e ottimizza i tuoi progetti utilizzando tipi di dati a virgola fissa e mobile.

Quantizzazione a virgola fissa

Esplora diversi tipi di dati a virgola fissa e i loro effetti di quantizzazione su comportamenti numerici del tuo sistema con un flusso di lavoro guidato. Osserva il range dinamico di variabili nel tuo progetto e assicurati che l’algoritmo abbia un comportamento coerente nella rappresentazione a virgola fissa e mobile dopo la conversione.

Conversione di un modello a virgola mobile utilizzando lo strumento a virgola fissa.

Quantizzazione a virgola mobile

Converti automaticamente un progetto da precisione doppia a precisione singola e analizza gli effetti della rappresentazione a virgola mobile a precisione limitata e la quantizzazione a precisione singola.

Conversione automatica utilizzando il convertitore a precisione singola.

Ottimizzazione dei tipi di dati

Esegui l’iterazione automatica tramite varie configurazioni a virgola fissa per scegliere i tipi di dati eterogenei ottimali rispettando le restrizioni di tolleranza sul comportamento numerico del tuo sistema. L’ottimizzazione cerca di minimizzare la larghezza totale dei bit utilizzando tipi di dati a virgola fissa per una progettazione efficiente.

Implementazione embedded

Esplora i tradeoff dell’implementazione e ottimizza i tuoi progetti con algoritmi embedded efficienti.

Approssimazione delle funzioni e compressione delle tabelle di lookup

Approssima matematicamente funzioni complesse (come SQRT e exp) o sottosistemi complessi con una tabella di lookup ottimale. Comprimi le tabelle di lookup esistenti per ridurre l’utilizzo di memoria ottimizzando i punti e i tipi di dati.

Generazione di codice bit-true

Assicura l’accordo bit-true tramite la progettazione Model-Based dalla simulazione alla generazione di codice, compresa l’accelerazione e le simulazioni processor-in-the-loop e software-in-the-loop. Analizza e verifica algoritmi a virgola fissa basati su rappresentazioni bit-true. Genera codice efficiente dai progetti a precisione ridotta, inclusi quelli con tipi di dati a mezza precisione.

Verifica del comportamento bit-true del codice generato in un simulatore.

Blocchi di matrice ottimizzati HDL

Accedi alla libreria HDL a virgola fissa di blocchi Simulink in grado di modellare progettazioni per sistemi di equazioni lineari e operazioni fondamentali con matrici, come la decomposizione QR, per un’implementazione hardware efficace su FPGA. Genera codice HDL per i progetti che incorporano questi blocchi utilizzando HDL Coder™.

Blocco di libreria che fornisce un modello di progettazione ottimizzato HDL per la decomposizione QR.

Test e debugging

Analizza, testa ed esegui il debug del comportamento numerico degli algoritmi.

Rilevamento di overflow e della perdita di precisione

Identifica, traccia ed esegui il debug velocemente delle fonti dell’overflow, della perdita di precisione e del range o precisione inutilizzati e confronta il tuo progetto con il comportamento ideale a virgola mobile. L’accordo bit-true tra il tuo modello e il codice massimizza i numerosi vantaggi della progettazione Model-Based, consentendoti di scoprire in anticipo questi problemi nel flusso di lavoro.

Tracciamento della causa principale di un overflow.

Test dei casi numerici limite

Genera valori a virgola fissa e mobile numericamente complessi, come valori vicini a limiti e numeri denormalizzati, per testare i casi limite dei tuoi algoritmi e garantire la coerenza numerica. Genera combinazioni di segnali di dimensioni e complessità variabili e con tipi di dati interi, a virgola mobile o virgola fissa.

Generazione di dati di test con le API del generatore di dati.