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.

Per iniziare:

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.

Ultime Novità

Strumento a virgola fissa migliorato

Esplorazione di intervalli di segnali nei progetti e conversione dei modelli Simulink tramite l’ottimizzazione dei tipi di dati

Ottimizzazione della tabella di lookup

Rimodellamento iterativo, compressione delle tabelle di lookup in batch ed esecuzione dell’ottimizzazione in parallelo delle tabelle di lookup

Ottimizzazione dei tipi di dati

Miglioramento che include la possibilità di specificare tipi di dati conosciuti e margini di sicurezza come vincoli aggiuntivi

Tech Preview

Progettazione, simulazione e generazione di codice per tipi di dati a mezza precisione in Simulink

Libreria a virgola fissa

Libreria di blocchi Simulink per operazioni di matrici e operazioni matematiche efficienti per l’hardware

Consulta le note di rilascio per ulteriori informazioni su queste caratteristiche e sulle funzioni corrispondenti.