MICROCHIP CoreFPU Core-Gleitkommaeinheit
Einführung
- Die Core Floating Point Unit (CoreFPU) ist für Gleitkommaarithmetik und Konvertierungsoperationen für Gleitkommazahlen mit einfacher und doppelter Genauigkeit konzipiert. CoreFPU unterstützt die Konvertierung von Festkomma- in Gleitkommazahlen und von Gleitkomma- in Festkommazahlen sowie Additions-, Subtraktions- und Multiplikationsoperationen mit Gleitkommazahlen. Der IEEE®-Standard für Gleitkommaarithmetik (IEEE 754) ist ein technischer Standard für Gleitkommaberechnungen.
- Wichtig: CoreFPU unterstützt nur Berechnungen mit normalisierten Zahlen und es wird nur die Sprache Verilog unterstützt; VHDL wird nicht unterstützt.
Zusammenfassung
Die folgende Tabelle bietet eine Zusammenfassung der CoreFPU-Eigenschaften.
Tabelle 1. CoreFPU-Eigenschaften
Core-Version | Dieses Dokument gilt für CoreFPU v3.0. |
Unterstützte Gerätefamilien |
|
Unterstützter Tool-Flow | Erfordert Libero® SoC v12.6 oder spätere Versionen. |
Lizenzierung | CoreFPU ist nicht lizenzgebunden. |
Installationsanleitung | CoreFPU muss automatisch über die IP-Katalog-Update-Funktion im IP-Katalog des Libero SoC installiert werden. Alternativ kann CoreFPU manuell aus dem Katalog heruntergeladen werden. Sobald der IP-Core
Nach der Installation wird es in SmartDesign konfiguriert, generiert und instanziiert, um in das Projekt aufgenommen zu werden. |
Gerätenutzung und Leistung | Eine Zusammenfassung der Nutzungs- und Leistungsinformationen für CoreFPU finden Sie unter „Geräteressourcennutzung und -leistung“. |
CoreFPU-Änderungsprotokollinformationen
Dieser Abschnitt bietet eine umfassende Übersichtview der neu integrierten Funktionen, beginnend mit der neuesten Version. Weitere Informationen zu den behobenen Problemen finden Sie im Abschnitt „Behobene Probleme“.
Version | Was ist neu |
Version 3.0 | Zusätzliche Ausgabeflags implementiert, um die Genauigkeit der IP zu verbessern |
Version 2.1 | Die Funktion „Doppelte Genauigkeit“ wurde hinzugefügt |
Version 2.0 | Die Timing-Wellenformen wurden aktualisiert |
Version 1.0 | Erste Produktionsversion von CoreFPU |
1. Funktionen
CoreFPU verfügt über die folgenden Hauptfunktionen:
- Unterstützt Gleitkommazahlen mit einfacher und doppelter Genauigkeit gemäß IEEE-754-Standard
- Unterstützt die aufgeführten Konvertierungen:
- Konvertierung von Festkomma zu Gleitkomma
- Konvertierung von Gleitkommazahlen in Festkommazahlen
- Unterstützt die aufgeführten arithmetischen Operationen:
- Gleitkommaaddition
- Gleitkommasubtraktion
- Gleitkommamultiplikation
- Stellt das Rundungsschema (Runden auf die nächste gerade Zahl) nur für die arithmetischen Operationen bereit
- Bietet Flags für Überlauf, Unterlauf, Unendlichkeit (positive Unendlichkeit, negative Unendlichkeit), Quiet NaN (QNaN) und Signalling NaN (SNaN) für Gleitkommazahlen.
- Unterstützt die vollständig pipelined Implementierung von arithmetischen Operationen
- Bietet die Möglichkeit, den Kern für Designanforderungen zu konfigurieren
Funktionsbeschreibung
- Der IEEE-Standard für Gleitkommaarithmetik (IEEE 754) ist ein technischer Standard für Gleitkommaberechnungen. Der Begriff Gleitkomma bezieht sich auf den Basispunkt einer Zahl (Dezimalpunkt oder Binärpunkt), der sich an einer beliebigen Stelle innerhalb der signifikanten Ziffern der Zahl befindet.
Eine Gleitkommazahl wird typischerweise in wissenschaftlicher Notation mit einem Bruch (F) und einem Exponenten (E) einer bestimmten Basis (r) in der Form F × r^E ausgedrückt. Dezimalzahlen verwenden die Basis 10 (F × 10^E), Binärzahlen hingegen die Basis 2 (F × 2^E). - Die Darstellung der Gleitkommazahl ist nicht eindeutig. BeispielsweiseampBeispielsweise wird die Zahl 55.66 als 5.566 × 10^1, 0.5566 × 10^2, 0.05566 × 10^3 usw. dargestellt. Der Bruchteil ist normalisiert. In der normalisierten Form gibt es vor dem Dezimalpunkt nur eine einzige Ziffer ungleich Null. Zum BeispielampBeispielsweise wird die Dezimalzahl 123.4567 als 1.234567 × 10^2 normalisiert; die Binärzahl 1010.1011B wird als 1.0101011B × 2^3 normalisiert.
- Es ist wichtig zu beachten, dass Gleitkommazahlen unter Präzisionsverlust leiden, wenn sie mit einer festen Anzahl von Bits dargestellt werden (zum Beispielamp32-Bit oder 64-Bit). Dies liegt daran, dass es unendlich viele reelle Zahlen gibt (selbst innerhalb eines kleinen Bereichs von 0.0 bis 0.1). Andererseits
Das n-Bit-Binärmuster stellt eine endliche Anzahl von 2^n verschiedenen Zahlen dar. Daher werden nicht alle reellen Zahlen dargestellt. Stattdessen wird die nächstliegende Näherung verwendet, was zu einem Genauigkeitsverlust führt.
Die Gleitkommazahl mit einfacher Genauigkeit wird wie folgt dargestellt:
- Vorzeichenbit: 1 Bit
- Exponentenbreite: 8 Bit
- Signifikandengenauigkeit: 24 Bit (23 Bit werden explizit gespeichert)
Abbildung 2-1. 32-Bit-Frame
Die Gleitkommazahl mit doppelter Genauigkeit wird wie folgt dargestellt:
- Vorzeichenbit: 1 Bit
- Exponentenbreite: 11 Bit
- Signifikandengenauigkeit: 53 Bit (52 Bit werden explizit gespeichert)
Abbildung 2-2. 64-Bit-Frame Die CoreFPU ist die Integration der beiden Konvertierungsmodule (Festwert zu Gleitkomma und Gleitkomma zu Festkomma) und drei Rechenoperationen (FP ADD, FP SUB und FP MULT) auf höchster Ebene. Der Benutzer kann jede der Operationen je nach Bedarf konfigurieren, sodass die Ressourcen für die ausgewählte Operation genutzt werden.
Die folgende Abbildung zeigt das CoreFPU-Blockdiagramm der obersten Ebene mit Ports.
Abbildung 2-3. Blockdiagramm der CoreFPU-Ports
In der folgenden Tabelle ist die Breite der Eingangs- und Ausgangsports aufgeführt. Tabelle 2-1. Breite der Eingangs- und Ausgangsports
Signal | Breite mit einfacher Genauigkeit | Breite mit doppelter Genauigkeit |
ain | [31:0] | [63:0] |
bin | [31:0] | [63:0] |
über | [31:0] | [63:0] |
Schmollmund | [31:0] | [63:0] |
Festkomma zu Gleitkomma (Konvertierung)
CoreFPU, konfiguriert als Festkommazahl zu Gleitkommazahl, leitet das Modul zur Konvertierung von Festkomma zu Gleitkommazahl ab. Der Eingang (ain) von CoreFPU ist eine beliebige Festkommazahl mit Ganzzahl- und Bruchbits. Der CoreFPU-Konfigurator bietet die Möglichkeit, die Breite der Eingangs-Ganzzahl- und Bruchbits auszuwählen. Der Eingang ist gültig bei di_valid, der Ausgang bei do_valid. Der Ausgang (aout) der Festkomma-zu-Gleitkomma-Operation erfolgt im Gleitkommaformat mit einfacher oder doppelter Genauigkeit.
ExampDie Datei für die Konvertierungsoperation von Festkomma in Gleitkomma ist in der folgenden Tabelle aufgeführt.
Tabelle 2-2. ExampDatei für die Konvertierung von Festkomma- in Gleitkommazahlen
Festkommazahl | Gleitkommazahl | |||||
ain | Ganze Zahl | Fraktion | über | Zeichen | Exponent | Mantisse |
0x12153524 (32 Bit) | 00010010000101010 | 011010100100100 | 0x4610a9a9 | 0 | 10001100 | 00100001010100110101001 |
0x0000000000008CCC
(64 Bit) |
0000000000000000000000000000000000000000000000001 | 000110011001100 | 0x3FF199999999999A | 0 | 01111111111 | 0001100110011001100110011001100110011001100110011010 |
Gleitkomma zu Festkomma (Konvertierung)
CoreFPU, konfiguriert als Gleitkomma-zu-Festkomma-Konvertierungsmodul, leitet das Gleitkomma-zu-Festkomma-Konvertierungsmodul ab. Der Eingang (ain) von CoreFPU ist eine beliebige Gleitkommazahl mit einfacher oder doppelter Genauigkeit und erzeugt einen Ausgang (aout) im Festkommaformat mit Ganzzahl- und Bruchbits. Der Eingang ist gültig bei di_valid-Signal und der Ausgang gültig bei do_valid. Der CoreFPU-Konfigurator bietet die Möglichkeit, die Breite der Ganzzahl- und Bruchbits für den Ausgang auszuwählen.
ExampDie Datei für die Konvertierungsoperation von Gleitkomma zu Festkomma ist in der folgenden Tabelle aufgeführt.
Tabelle 2-3. ExampDatei für die Konvertierung von Gleitkomma- in Festkommawerte
Gleitkommazahl | Festkommazahl | |||||
ain | Zeichen | Exponent | Mantisse | über | Ganze Zahl | Fraktion |
0x41bd6783 (32 Bit) | 0 | 10000011 | 01111010110011110000011 | OS-Version: | 00000000000010111 | 101011001111000 |
0x4002094c447c30d3
(64 Bit) |
0 | 10000000000 | 0010000010010100110001000100011111000011000011010011 | 0 x 0000000000012095 | 0000000000000000000000000000000000000000000000010 | 010000010010101 |
Gleitkommaaddition (Arithmetische Operation)
CoreFPU, konfiguriert als FP ADD, leitet das Gleitkomma-Additionsmodul ab. Es addiert die beiden Gleitkommazahlen (ain und bin) und liefert die Ausgabe (pout) im Gleitkommaformat. Eingabe und Ausgabe sind Gleitkommazahlen mit einfacher oder doppelter Genauigkeit. Die Eingabe ist gültig bei di_valid, die Ausgabe bei do_valid. Der Kern erzeugt basierend auf der Addition die Flags ovfl_fg (Overflow), qnan_fg (Quiet Not a Number), snan_fg (Signalling Not a Number), pinf_fg (Positive Infinity) und ninf_fg (Negative Infinity).
ExampDateien für Gleitkomma-Additionsoperationen sind in den folgenden Tabellen aufgeführt.
Tabelle 2-4. ExampDatei für Gleitkomma-Additionsoperationen (32 Bit)
Gleitkommawert | Zeichen | Exponent | Mantisse |
Gleitkommaeingabe 1 ain (0x4e989680) | 0 | 10011101 | 00110001001011010000000 |
Gleitkomma-Eingabe 2 Bin (0x4f191b40) | 0 | 10011110 | 00110010001101101000000 |
Gleitkommaadditionsausgabe pout (0x4f656680) | 0 | 10011110 | 11001010110011010000000 |
Tabelle 2-5. ExampDatei für Gleitkomma-Additionsoperationen (64 Bit)
Gleitkommawert | Zeichen | Exponent | Mantisse |
Gleitkommaeingabe 1
ain (0x3ff4106ee30caa32) |
0 | 01111111111 | 0100000100000110111011100011000011001010101000110010 |
Gleitkommaeingabe 2
bin (0x40020b2a78798e61) |
0 | 10000000000 | 0010000010110010101001111000011110011000111001100001 |
Gleitkommaadditionsausgabe pout (0x400c1361e9ffe37a) | 0 | 10000000000 | 1100000100110110000111101001111111111110001101111010 |
Gleitkommasubtraktion (arithmetische Operation)
CoreFPU, konfiguriert als FP SUB, leitet das Gleitkomma-Subtraktionsmodul ab. Es subtrahiert die beiden Gleitkommazahlen (ain und bin) und liefert die Ausgabe (pout) im Gleitkommaformat. Ein- und Ausgabe sind Gleitkommazahlen mit einfacher oder doppelter Genauigkeit. Die Eingabe ist gültig bei di_valid, die Ausgabe bei do_valid. Der Kern erzeugt basierend auf der Subtraktionsoperation die Flags ovfl_fg (Überlauf), unfl_fg (Unterlauf), qnan_fg (Ruhe, keine Zahl), snan_fg (Signalisierung, keine Zahl), pinf_fg (Positive Unendlichkeit) und ninf_fg (Negative Unendlichkeit).
ExampDateien für Gleitkomma-Subtraktionsoperationen sind in den folgenden Tabellen aufgeführt.
Tabelle 2-6. ExampDatei für Gleitkomma-Subtraktionsoperationen (32 Bit)
Gleitkommawert | Zeichen | Exponent | Mantisse |
Gleitkommaeingabe 1 ain (0xac85465f) | 1 | 01011001 | 00001010100011001011111 |
Gleitkomma-Eingabe 2 Bin (0x2f516779) | 0 | 01011110 | 10100010110011101111001 |
Gleitkomma-Subtraktionsausgabe pout (0xaf5591ac) | 1 | 01011110 | 10101011001000110101011 |
Gleitkommawert | Zeichen | Exponent | Mantisse |
Gleitkommaeingabe 1
ain (0x405569764adff823) |
0 | 10000000101 | 0101011010010111011001001010110111111111100000100011 |
Gleitkommaeingabe 2
bin (0x4057d04e78dee3fc) |
0 | 10000000101 | 0111110100000100111001111000110111101110001111111100 |
Gleitkomma-Subtraktionsausgabe pout (0xc02336c16ff75ec8) | 1 | 10000000010 | 0011001101101100000101101111111101110101111011001000 |
Gleitkommamultiplikation (Arithmetische Operation)
CoreFPU, konfiguriert als FP MULT, leitet das Gleitkommamultiplikationsmodul ab. Es multipliziert die beiden Gleitkommazahlen (ain und bin) und liefert die Ausgabe (pout) im Gleitkommaformat. Ein- und Ausgabe sind Gleitkommazahlen mit einfacher oder doppelter Genauigkeit. Die Eingabe ist gültig bei di_valid, die Ausgabe bei do_valid. Der Kern erzeugt basierend auf der Multiplikationsoperation die Flags ovfl_fg (Überlauf), unfl_fg (Unterlauf), qnan_fg (Ruhe, keine Zahl), snan_fg (Signalisierung, keine Zahl), pinf_fg (Positive Unendlichkeit) und ninf_fg (Negative Unendlichkeit).
ExampDateien für Gleitkommamultiplikationsoperationen sind in den folgenden Tabellen aufgeführt.
Tabelle 2-8. ExampDatei für Gleitkommamultiplikationsoperationen (32 Bit)
Gleitkommawert | Zeichen | Exponent | Mantisse |
Gleitkommaeingabe 1 ain (0x1ec7a735) | 0 | 00111101 | 10001111010011100110101 |
Gleitkomma-Eingabe 2 Bin (0x6ecf15e8) | 0 | 11011101 | 10011110001010111101000 |
Gleitkommamultiplikationsausgabe pout (0x4e21814a) | 0 | 10011100 | 01000011000000101001010 |
Gleitkommawert | Zeichen | Exponent | Mantisse |
Gleitkommaeingabe 1
ain (0x40c1f5a9930be0df) |
0 | 10000001100 | 0001111101011010100110010011000010111110000011011111 |
Gleitkommaeingabe 2
bin (0x400a0866c962b501) |
0 | 10000000000 | 1010000010000110011011001001011000101011010100000001 |
Gleitkommamultiplikationsausgabe pout (0x40dd38a1c3e2cae9) | 0 | 10000001101 | 1101001110001010000111000011111000101100101011101001 |
Wahrheitstabelle für Addition und Subtraktion
Die folgenden Wahrheitstabellen listen die Werte für Additions- und Subtraktionsoperationen auf. Tabelle 2-10. Wahrheitstabelle für Addition
Daten A | Daten B | Vorzeichenbit | Ergebnis | Überlauf | Unterlauf | SNaN | QNaN | PINF | NINF |
QNaN/SNaN | x | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
x | QNaN/SNaN | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
null | null | 0 | POSZERO | 0 | 0 | 0 | 0 | 0 | 0 |
null | positivendlich(y) | 0 | positivendlich(y) | 0 | 0 | 0 | 0 | 0 | 0 |
null | negendlich(y) | 1 | negendlich(y) | 0 | 0 | 0 | 0 | 0 | 0 |
null | positunendlich | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
null | negendunendlich | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
positivendlich(y) | null | 0 | positivendlich(y) | 0 | 0 | 0 | 0 | 0 | 0 |
positiv | positunendlich | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
Tisch 2-10. Wahrheitstabelle für die Addition (Fortsetzung) | |||||||||
Daten A | Daten B | Vorzeichenbit | Ergebnis | Überlauf | Unterlauf | SNaN | QNaN | PINF | NINF |
positiv | negendunendlich | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
negendlich(y) | null | 1 | negendlich(y) | 0 | 0 | 0 | 0 | 0 | 0 |
negfinit | positunendlich | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
negfinit | negendunendlich | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
positunendlich | null | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positunendlich | positiv | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positunendlich | negfinit | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positunendlich | positunendlich | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positunendlich | negendunendlich | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
negendunendlich | null | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
negendunendlich | positiv | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
negendunendlich | negfinit | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
negendunendlich | positunendlich | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
negendunendlich | negendunendlich | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
positiv | positiv | 0 | positiv | 0 | 0 | 0 | 0 | 0 | 0 |
positiv | positiv | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positiv | positiv | 0/1 | QNaN | 0 | 0 | 0 | 1 | 0 | 0 |
positiv | positiv | 0/1 | SNaN | 0 | 0 | 1 | 0 | 0 | 0 |
positiv | positiv | 0 | POSSNaN | 1 | 0 | 1 | 0 | 0 | 0 |
positiv | negfinit | 0 | positiv | 0 | 0 | 0 | 0 | 0 | 0 |
positiv | negfinit | 1 | negfinit | 0 | 0 | 0 | 0 | 0 | 0 |
positiv | negfinit | 0 | POSSNaN | 0 | 1 | 1 | 0 | 0 | 0 |
negfinit | positiv | 0 | positiv | 0 | 0 | 0 | 0 | 0 | 0 |
negfinit | positiv | 1 | negfinit | 0 | 0 | 0 | 0 | 0 | 0 |
negfinit | positiv | 0 | POSSNaN | 0 | 1 | 1 | 0 | 0 | 0 |
negfinit | negfinit | 1 | negfinit | 0 | 0 | 0 | 0 | 0 | 0 |
negfinit | negfinit | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
negfinit | negfinit | 0/1 | QNaN | 0 | 0 | 0 | 1 | 0 | 0 |
negfinit | negfinit | 0/1 | SNaN | 0 | 0 | 1 | 0 | 0 | 0 |
negfinit | negfinit | 0 | POSSNaN | 1 | 0 | 1 | 0 | 0 | 0 |
Daten A | Daten B | Vorzeichenbit | Ergebnis | Überlauf | Unterlauf | SNaN | QNaN | PINF | NINF |
QNaN/SNaN | x | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
x | QNaN/SNaN | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
null | null | 0 | POSZERO | 0 | 0 | 0 | 0 | 0 | 0 |
null | positivendlich(y) | 1 | negendlich(y) | 0 | 0 | 0 | 0 | 0 | 0 |
null | negendlich(y) | 0 | positivendlich(y) | 0 | 0 | 0 | 0 | 0 | 0 |
null | positunendlich | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
null | negendunendlich | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positivendlich(y) | null | 0 | positivendlich(y) | 0 | 0 | 0 | 0 | 0 | 0 |
positiv | positunendlich | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
positiv | negendunendlich | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
negendlich(y) | null | 1 | negendlich(y) | 0 | 0 | 0 | 0 | 0 | 0 |
negfinit | positunendlich | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
Tisch 2-11. Wahrheitstabelle für die Subtraktion (Fortsetzung) | |||||||||
Daten A | Daten B | Vorzeichenbit | Ergebnis | Überlauf | Unterlauf | SNaN | QNaN | PINF | NINF |
negfinit | negendunendlich | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positunendlich | null | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positunendlich | positiv | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positunendlich | negfinit | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positunendlich | positunendlich | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
positunendlich | negendunendlich | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
negendunendlich | null | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
negendunendlich | positiv | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
negendunendlich | negfinit | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
negendunendlich | positunendlich | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
negendunendlich | negendunendlich | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
positiv | positiv | 0 | positiv | 0 | 0 | 0 | 0 | 0 | 0 |
positiv | positiv | 1 | negfinit | 0 | 0 | 0 | 0 | 0 | 0 |
positiv | positiv | 0 | POSSNaN | 0 | 1 | 1 | 0 | 0 | 0 |
positiv | negfinit | 0 | positiv | 0 | 0 | 0 | 0 | 0 | 0 |
positiv | negfinit | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positiv | negfinit | 0/1 | QNaN | 0 | 0 | 0 | 1 | 0 | 0 |
positiv | negfinit | 0/1 | SNaN | 0 | 0 | 1 | 0 | 0 | 0 |
positiv | negfinit | 0 | POSSNaN | 1 | 0 | 1 | 0 | 0 | 0 |
negfinit | positiv | 1 | negfinit | 0 | 0 | 0 | 0 | 0 | 0 |
negfinit | positiv | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
negfinit | positiv | 0/1 | QNaN | 0 | 0 | 0 | 1 | 0 | 0 |
negfinit | positiv | 0/1 | SNaN | 0 | 0 | 1 | 0 | 0 | 0 |
negfinit | positiv | 0 | POSSNaN | 1 | 0 | 1 | 0 | 0 | 0 |
negfinit | negfinit | 0 | positiv | 0 | 0 | 0 | 0 | 0 | 0 |
negfinit | negfinit | 1 | negfinit | 0 | 0 | 0 | 0 | 0 | 0 |
negfinit | negfinit | 0 | POSSNaN | 0 | 1 | 1 | 0 | 0 | 0 |
Wichtig:
- Sie bezeichnet in den vorhergehenden Tabellen eine beliebige Zahl.
- Das in den vorhergehenden Tabellen kennzeichnet einen Don't Care-Zustand.
Wahrheitstabelle für die Multiplikation
In der folgenden Wahrheitstabelle sind die Werte für die Multiplikationsoperation aufgeführt.
Tabelle 2-12. Wahrheitstabelle für die Multiplikation
Daten A | Daten B | Vorzeichenbit | Ergebnis | Überlauf | Unterlauf | SNaN | QNaN | PINF | NINF |
QNaN/SNaN | x | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
x | QNaN/SNaN | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
null | null | 0 | POSZERO | 0 | 0 | 0 | 0 | 0 | 0 |
null | positiv | 0 | POSZERO | 0 | 0 | 0 | 0 | 0 | 0 |
null | negfinit | 0 | POSZERO | 0 | 0 | 0 | 0 | 0 | 0 |
null | positunendlich | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
null | negendunendlich | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
Tisch 2-12. Wahrheitstabelle für die Multiplikation (Fortsetzung) | |||||||||
Daten A | Daten B | Vorzeichenbit | Ergebnis | Überlauf | Unterlauf | SNaN | QNaN | PINF | NINF |
positiv | null | 0 | POSZERO | 0 | 0 | 0 | 0 | 0 | 0 |
positiv | positunendlich | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positiv | negendunendlich | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
negfinit | null | 0 | POSZERO | 0 | 0 | 0 | 0 | 0 | 0 |
negfinit | positunendlich | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
negfinit | negendunendlich | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positunendlich | null | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
positunendlich | positiv | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positunendlich | negfinit | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
positunendlich | positunendlich | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positunendlich | negendunendlich | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
negendunendlich | null | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
negendunendlich | positiv | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
negendunendlich | negfinit | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
negendunendlich | positunendlich | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
negendunendlich | negendunendlich | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positiv | positiv | 0 | positiv | 0 | 0 | 0 | 0 | 0 | 0 |
positiv | positiv | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
positiv | positiv | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
positiv | positiv | 0 | POSSNaN | 0 | 0 | 1 | 0 | 0 | 0 |
positiv | positiv | 0 | POSSNaN | 1 | 0 | 1 | 0 | 0 | 0 |
positiv | positiv | 0 | POSSNaN | 0 | 1 | 1 | 0 | 0 | 0 |
positiv | negfinit | 1 | negfinit | 0 | 0 | 0 | 0 | 0 | 0 |
positiv | negfinit | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
positiv | negfinit | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
positiv | negfinit | 0 | POSSNaN | 0 | 0 | 1 | 0 | 0 | 0 |
positiv | negfinit | 0 | POSSNaN | 1 | 0 | 1 | 0 | 0 | 0 |
positiv | negfinit | 0 | POSSNaN | 0 | 1 | 1 | 0 | 0 | 0 |
negfinit | positiv | 1 | negfinit | 0 | 0 | 0 | 0 | 0 | 0 |
negfinit | positiv | 1 | negendunendlich | 0 | 0 | 0 | 0 | 0 | 1 |
negfinit | positiv | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
negfinit | positiv | 0 | POSSNaN | 0 | 0 | 1 | 0 | 0 | 0 |
negfinit | positiv | 0 | POSSNaN | 1 | 0 | 1 | 0 | 0 | 0 |
negfinit | positiv | 0 | POSSNaN | 0 | 1 | 1 | 0 | 0 | 0 |
negfinit | negfinit | 0 | positiv | 0 | 0 | 0 | 0 | 0 | 0 |
negfinit | negfinit | 0 | positunendlich | 0 | 0 | 0 | 0 | 1 | 0 |
negfinit | negfinit | 0 | POSQNaN | 0 | 0 | 0 | 1 | 0 | 0 |
negfinit | negfinit | 0 | POSQNaN | 0 | 0 | 1 | 0 | 0 | 0 |
negfinit | negfinit | 0 | POSQNaN | 1 | 0 | 1 | 0 | 0 | 0 |
negfinit | negfinit | 0 | POSQNaN | 0 | 1 | 1 | 0 | 0 | 0 |
Wichtig:
Das Vorzeichenbit „0“ definiert eine positive Ausgabe und „1“ eine negative Ausgabe.
Das x in der vorhergehenden Tabelle kennzeichnet den Zustand „Don't Care“.
CoreFPU-Parameter und Schnittstellensignale
In diesem Abschnitt werden die Parameter in den CoreFPU-Konfiguratoreinstellungen und E/A-Signalen erläutert.
GUI-Konfigurationsparameter
Für die FPU-Einheit gibt es verschiedene konfigurierbare Optionen (siehe folgende Tabelle). Wenn eine andere Konfiguration als die Standardkonfiguration erforderlich ist, können Sie im Konfigurationsdialogfeld die entsprechenden Werte für die konfigurierbare Option auswählen.
Tabelle 3-1. CoreFPU-Konfigurationsparameter der GUI
Parametername | Standard | Beschreibung |
Präzision | Einzel | Wählen Sie die gewünschte Operation aus:
Einfache Genauigkeit |
Konvertierungstyp | Konvertierung von Festkomma zu Gleitkomma | Wählen Sie die gewünschte Operation aus:
|
Eingabebruchbreite1 | 15 | Konfiguriert den Dezimalpunkt in den Eingangssignalen ain und bin
Gültiger Bereich ist 31–1 |
Ausgabefraktionsbreite2 | 15 | Konfiguriert den Nachkommapunkt in den Output aout Signalen
Gültiger Bereich ist 51–1 |
Wichtig:
- Dieser Parameter ist nur während der Konvertierung von Festkomma- in Gleitkommawerte konfigurierbar.
- Dieser Parameter ist nur während der Konvertierung von Gleitkommazahlen in Festkommazahlen konfigurierbar.
Eingangs- und Ausgangssignale (Stellen Sie eine Frage)
In der folgenden Tabelle sind die Eingangs- und Ausgangsportsignale von CoreFPU aufgeführt.
Tabelle 3-2. Port Beschreibung
Signalname | Breite | Typ | Beschreibung |
klick | 1 | Eingang | Hauptsystemuhr |
rstn | 1 | Eingang | Asynchroner Active-Low-Reset |
di_valid | 1 | Eingang | Aktiv-High-Eingang gültig
Dieses Signal zeigt an, dass die auf ain[31:0], ain[63:0] und bin[31:0], bin[63:0] vorhandenen Daten gültig sind. |
ain | 32/64 | Eingang | Ein Eingangsbus (wird für alle Vorgänge verwendet) |
bin1 | 32/64 | Eingang | B Eingangsbus (wird nur für arithmetische Operationen verwendet) |
über2 | 32/64 | Ausgabe | Ausgabewert, wenn Konvertierungsoperationen vom Typ „Festkomma“ in „Gleitkomma“ oder „Gleitkomma in Festkomma“ ausgewählt sind. |
Schmollmund1 | 32/64 | Ausgabe | Ausgabewert, wenn Additions-, Subtraktions- oder Multiplikationsoperationen ausgewählt sind. |
Tisch 3-2. Portbeschreibung (Fortsetzung) | |||
Signalname | Breite | Typ | Beschreibung |
gültig machen | 1 | Ausgabe | Aktiv-High-Signal
Dieses Signal zeigt an, dass die auf dem pout/aout-Datenbus vorhandenen Daten gültig sind. |
ovfl_fg3 | 1 | Ausgabe | Aktiv-High-Signal
Dieses Signal zeigt den Überlauf bei Gleitkommaoperationen an. |
unfl_fg | 1 | Ausgabe | Aktiv-High-Signal
Dieses Signal zeigt den Unterlauf bei Gleitkommaoperationen an. |
qnan_fg3 | 1 | Ausgabe | Aktiv-High-Signal
Dieses Signal zeigt bei Gleitkommaoperationen „Quiet Not a Number“ (QNaN) an. |
snan_fg | 1 | Ausgabe | Aktiv-High-Signal
Dieses Signal zeigt die Signalisierung „Not-a-Number“ (SNaN) während Gleitkommaoperationen an. |
pinf_fg3 | 1 | Ausgabe | Aktiv-High-Signal
Dieses Signal zeigt bei Gleitkommaoperationen die positive Unendlichkeit an. |
ninf_fg | 1 | Ausgabe | Aktiv-High-Signal
Dieses Signal zeigt bei Gleitkommaoperationen die negative Unendlichkeit an. |
Wichtig:
- Dieser Port ist nur für Gleitkomma-Additions-, Subtraktions- oder Multiplikationsoperationen verfügbar.
- Dieser Port ist nur für Konvertierungsvorgänge von Festkomma zu Gleitkomma und von Gleitkomma zu Festkomma verfügbar.
- Dieser Port ist für die Umwandlung von Gleitkommazahlen in Festkommazahlen, Gleitkommaaddition, Gleitkommasubtraktion und Gleitkommamultiplikation verfügbar.
Implementierung von CoreFPU in der Libero Design Suite
Dieser Abschnitt beschreibt die Implementierung von CoreFPU in der Libero Design Suite.
SmartDesign
CoreFPU steht im Libero IP-Katalog zum Download bereit über die web Repository. Sobald der Kern im Katalog aufgeführt ist, wird er mithilfe des SmartDesign-Flows instanziiert. Informationen zur Verwendung von SmartDesign zum Konfigurieren, Verbinden und Generieren von Kernen finden Sie in der Online-Hilfe von Libero SoC.
Nach der Konfiguration und Generierung der Core-Instanz wird die grundlegende Funktionalität mithilfe der mit der CoreFPU mitgelieferten Testbench simuliert. Die Testbench-Parameter passen sich automatisch an die CoreFPU-Konfiguration an. Die CoreFPU wird als Komponente eines größeren Designs instanziiert.
Abbildung 4-1. SmartDesign CoreFPU-Instanz für arithmetische Operationen
Abbildung 4-2. SmartDesign CoreFPU-Instanz für Konvertierungsvorgänge
Konvertierung von Festkomma- in Gleitkommazahlen
Bei der Konvertierung von Festkomma- in Gleitkommazahlen ist die Eingabebruchbreite konfigurierbar. Die Ausgabebreite ist standardmäßig auf 32 Bit für einfache Genauigkeit und 64 Bit für Gleitkommazahlen mit doppelter Genauigkeit eingestellt.
Um von Festkomma in Gleitkomma zu konvertieren, wählen Sie den Konvertierungstyp „Festkomma in Gleitkomma“ aus, wie in der folgenden Abbildung gezeigt.
Gleitkomma zu Festkomma
Bei der Konvertierung von Gleitkommazahlen in Festkommazahlen ist die Ausgabebruchbreite konfigurierbar und die Eingabebreite ist standardmäßig auf 32 Bit für Gleitkommazahlen mit einfacher Genauigkeit und 64 Bit für Gleitkommazahlen mit doppelter Genauigkeit eingestellt.
Um von Gleitkommazahlen in Festkommazahlen zu konvertieren, wählen Sie den Konvertierungstyp „Gleitkommazahlen in Festkommazahlen“ aus, wie in der folgenden Abbildung gezeigt.
Abbildung 4-4. CoreFPU-Konfigurator für Gleitkommazahlen und Festkommazahlen Gleitkomma-Addition/Subtraktion/Multiplikation
Bei Gleitkomma-Additions-, Subtraktions- und Multiplikationsoperationen sind die Eingabebruchbreite und die Ausgabebruchbreite nicht konfigurierbar, da es sich hierbei um Gleitkomma-Arithmetikoperationen handelt und die Eingabe-/Ausgabebreite standardmäßig auf 32 Bit einfache Genauigkeit und 64 Bit für Gleitkommazahlen mit doppelter Genauigkeit eingestellt ist.
Die folgende Abbildung zeigt den CoreFPU-Konfigurator für Gleitkomma-Subtraktionsoperationen.
Abbildung 4-5. CoreFPU-Konfigurator für GleitkommasubtraktionSimulation (Stellen Sie eine Frage)
Um Simulationen auszuführen, wählen Sie im Kernkonfigurationsfenster „Benutzer-Testbench“. Nach der Generierung der CoreFPU wird die Pre-Synthese-Testbench Hardware Description Language (HDL) files sind in Libero installiert.
Simulationswellenformen (Stellen Sie eine Frage)
In diesem Abschnitt werden die Simulationswellenformen für CoreFPU erläutert.
Die folgenden Abbildungen zeigen die Wellenform der Festkomma- in Gleitkomma-Konvertierung für 32-Bit und 64-Bit.
Systemintegration
Die folgende Abbildung zeigt ein example der Verwendung des Kerns. In diesem BeispielampDer Design-UART dient als Kommunikationskanal zwischen dem Design und dem Host-PC. Die Signale ain und bin (jeweils 32-Bit oder 64-Bit breit) dienen als Eingänge des UART. Nachdem die CoreFPU das di_valid-Signal empfangen hat, berechnet sie das Ergebnis. Nach der Berechnung des Ergebnisses wird das do_valid-Signal hochgeschaltet und speichert das Ergebnis (aout/pout-Daten) im Ausgabepuffer. Dasselbe Verfahren gilt für Konvertierungs- und Rechenoperationen. Für Konvertierungsoperationen reicht nur der Eingang ain aus, während für Rechenoperationen sowohl ain- als auch bin-Eingänge benötigt werden. Der Ausgang aout ist für Konvertierungsoperationen und der pout-Port für Rechenoperationen aktiviert.
Abbildung 4-16. Example des CoreFPU-Systems
- Synthese (Stellen Sie eine Frage)
Um die Synthese auf der CoreFPU auszuführen, legen Sie die Design-Root auf die IP-Komponenteninstanz fest und führen Sie das Synthese-Tool im Libero-Design-Flow-Bereich aus.
Ort und Route (Stellen Sie eine Frage)
Nachdem das Design synthetisiert wurde, führen Sie das Place-and-Route-Tool aus. CoreFPU erfordert keine speziellen Place-and-Route-Einstellungen. - Benutzer-Testbench (Stellen Sie eine Frage)
Mit der CoreFPU IP-Version wird eine Benutzertestumgebung bereitgestellt. Mit dieser Testumgebung können Sie das Funktionsverhalten von CoreFPU überprüfen.
Ein vereinfachtes Blockdiagramm der Benutzer-Testumgebung ist in der folgenden Abbildung dargestellt. Die Benutzer-Testumgebung instanziiert das konfigurierte CoreFPU-Design (UUT) und umfasst einen Verhaltenstestdatengenerator sowie die erforderlichen Takt- und Reset-Signale.
Abbildung 4-17. CoreFPU-Benutzertestbench
Wichtig: Sie müssen die Ausgangssignale im ModelSim-Simulator überwachen, siehe Abschnitt Simulation.
Weitere Referenzen (Frage stellen)
Dieser Abschnitt enthält eine Liste mit zusätzlichen Informationen.
Updates und zusätzliche Informationen zu Software, Geräten und Hardware finden Sie unter
Seiten zum geistigen Eigentum der Microchip-FPGAs und PLDs webWebsite.
- Bekannte Probleme und Problemumgehungen (Stellen Sie eine Frage)
Es gibt keine bekannten Probleme und Workarounds für CoreFPU v3.0. - Eingestellte Funktionen und Geräte (Stellen Sie eine Frage)
Es gibt bei dieser IP-Version keine eingestellten Funktionen und Geräte.
Glossar
Nachfolgend finden Sie eine Liste der im Dokument verwendeten Begriffe und Definitionen.
Tabelle 6-1. Begriffe und Definitionen
Begriff | Definition |
FPU | Gleitkommaeinheit |
FP HINZUFÜGEN | Gleitkommaaddition |
FP SUB | Gleitkommasubtraktion |
FP MULT | Gleitkommamultiplikation |
Behobene Probleme
In der folgenden Tabelle sind alle behobenen Probleme für die verschiedenen CoreFPU-Versionen aufgeführt.
Tabelle 7-1. Gelöste Probleme
Freigeben | Beschreibung |
3.0 | Nachfolgend finden Sie eine Liste aller in der Version v3.0 behobenen Probleme:
Fallnummer: 01420387 und 01422128 Die Rundungsschemalogik (auf die nächste gerade Zahl runden) wurde hinzugefügt. |
2.1 | Nachfolgend finden Sie eine Liste aller in der Version v2.1 behobenen Probleme: Beim Entwurf treten Probleme auf, da bei der Instanziierung mehrerer Kerne doppelte Module vorhanden sind. Das Umbenennen der CoreFPU-IP-Instanz führt zu einem „Undefiniertes Modul“-Fehler. |
1.0 | Erstveröffentlichung |
Geräteressourcennutzung und Leistung
Das CoreFPU-Makro ist in den in der folgenden Tabelle aufgeführten Familien implementiert.
Tabelle 8-1. FPU PolarFire-Geräteauslastung für 32-Bit
FPGA-Ressourcen | Verwendung | |||||||
Familie | 4LUT | DFF | Gesamt | Mathe-Block | Gerät | Prozenttage | Leistung | Latenz |
Festkomma zu Gleitkomma | ||||||||
PolarFire® | 260 | 104 | 364 | 0 | MPF300T | 0.12 | 310 MHz | 3 |
Gleitkomma zu Festkomma | ||||||||
PolarFire | 591 | 102 | 693 | 0 | MPF300T | 0.23 | 160 MHz | 3 |
Gleitkommaaddition | ||||||||
PolarFire | 1575 | 1551 | 3126 | 0 | MPF300T | 1.06 | 340 MHz | 16 |
Gleitkommasubtraktion | ||||||||
PolarFire | 1561 | 1549 | 3110 | 0 | MPF300T | 1.04 | 345 MHz | 16 |
Gleitkommamultiplikation | ||||||||
PolarFire | 465 | 847 | 1312 | 4 | MPF300T | 0.44 | 385 MHz | 14 |
FPGA-Ressourcen | Verwendung | |||||||
Familie | 4LUT | DFF | Gesamt | Mathe-Block | Gerät | Prozenttage | Leistung | Latenz |
Festkomma zu Gleitkomma | ||||||||
RTG4™ | 264 | 104 | 368 | 0 | RT4G150 | 0.24 | 160 MHz | 3 |
Gleitkomma zu Festkomma | ||||||||
RTG4 | 439 | 112 | 551 | 0 | RT4G150 | 0.36 | 105 MHz | 3 |
Gleitkommaaddition | ||||||||
RTG4 | 1733 | 1551 | 3284 | 0 | RT4G150 | 1.16 | 195 MHz | 16 |
Gleitkommasubtraktion | ||||||||
RTG4 | 1729 | 1549 | 3258 | 0 | RT4G150 | 1.16 | 190 MHz | 16 |
Gleitkommamultiplikation | ||||||||
RTG4 | 468 | 847 | 1315 | 4 | RT4G150 | 0.87 | 175 MHz | 14 |
FPGA-Ressourcen | Verwendung | |||||||
Familie | 4LUT | DFF | Gesamt | Mathe-Block | Gerät | Prozenttage | Leistung | Latenz |
Festkomma zu Gleitkomma | ||||||||
PolarFire® | 638 | 201 | 849 | 0 | MPF300T | 0.28 | 305 MHz | 3 |
Gleitkomma zu Festkomma | ||||||||
PolarFire | 2442 | 203 | 2645 | 0 | MPF300T | 0.89 | 110 MHz | 3 |
Gleitkommaaddition | ||||||||
PolarFire | 5144 | 4028 | 9172 | 0 | MPF300T | 3.06 | 240 MHz | 16 |
Gleitkommasubtraktion | ||||||||
PolarFire | 5153 | 4026 | 9179 | 0 | MPF300T | 3.06 | 250 MHz | 16 |
Gleitkommamultiplikation | ||||||||
PolarFire | 1161 | 3818 | 4979 | 16 | MPF300T | 1.66 | 340 MHz | 27 |
FPGA-Ressourcen | Verwendung | |||||||
Familie | 4LUT | DFF | Gesamt | Mathe-Block | Gerät | Prozenttage | Leistung | Latenz |
Festkomma zu Gleitkomma | ||||||||
RTG4™ | 621 | 201 | 822 | 0 | RT4G150 | 0.54 | 140 MHz | 3 |
Gleitkomma zu Festkomma | ||||||||
RTG4 | 1114 | 203 | 1215 | 0 | RT4G150 | 0.86 | 75 MHz | 3 |
Gleitkommaaddition | ||||||||
RTG4 | 4941 | 4028 | 8969 | 0 | RT4G150 | 5.9 | 140 MHz | 16 |
Gleitkommasubtraktion | ||||||||
RTG4 | 5190 | 4026 | 9216 | 0 | RT4G150 | 6.07 | 130 MHz | 16 |
Gleitkommamultiplikation | ||||||||
RTG4 | 1165 | 3818 | 4983 | 16 | RT4G150 | 3.28 | 170 MHz | 27 |
Wichtig: Um die Frequenz zu erhöhen, wählen Sie in den Syntheseeinstellungen die Option „Retiming aktivieren“ aus.
Änderungsverlauf
Der Revisionsverlauf beschreibt die Änderungen, die im Dokument vorgenommen wurden. Die Änderungen werden nach Revision aufgelistet, beginnend mit der aktuellsten Veröffentlichung.
Microchip FPGA-Unterstützung
Die Microchip FPGA-Produktgruppe unterstützt ihre Produkte mit verschiedenen Support-Services, darunter Kundendienst, technisches Kunden-Support-Center, a webStandort und weltweite Vertriebsniederlassungen. Kunden wird empfohlen, die Online-Ressourcen von Microchip zu besuchen, bevor sie sich an den Support wenden, da ihre Fragen sehr wahrscheinlich bereits beantwortet wurden.
Wenden Sie sich über das Technical Support Center an webSeite unter www.microchip.com/support. Geben Sie die Teilenummer des FPGA-Geräts an, wählen Sie die entsprechende Gehäusekategorie aus und laden Sie das Design hoch files beim Erstellen eines technischen Support-Falls.
Wenden Sie sich für nicht technischen Produktsupport an den Kundendienst, z. B. Produktpreise, Produkt-Upgrades, Aktualisierungsinformationen, Bestellstatus und Autorisierung.
- Rufen Sie aus Nordamerika die Nummer 800.262.1060 an.
- Aus dem Rest der Welt rufen Sie 650.318.4460 an
- Fax, von überall auf der Welt, 650.318.8044
Mikrochip-Informationen
Handelsmarken
Der Name und das Logo von „Microchip“, das „M“-Logo und andere Namen, Logos und Marken sind eingetragene und nicht eingetragene Marken von Microchip Technology Incorporated oder seinen verbundenen Unternehmen und/oder Tochtergesellschaften in den Vereinigten Staaten und/oder anderen Ländern („Microchip-Marken“). Informationen zu Microchip-Marken finden Sie unter https://www.microchip.com/en-us/about/legal-information/microchip-trademarks
ISBN: 979-8-3371-0947-3
Rechtliche Hinweise
Diese Veröffentlichung und die darin enthaltenen Informationen dürfen nur mit Microchip-Produkten verwendet werden, einschließlich zum Entwerfen, Testen und Integrieren von Microchip-Produkten in Ihre Anwendung. Die Verwendung dieser Informationen auf andere Weise verstößt gegen diese Bedingungen. Informationen zu Geräteanwendungen werden nur zu Ihrer Bequemlichkeit bereitgestellt und können durch Updates ersetzt werden. Es liegt in Ihrer Verantwortung sicherzustellen, dass Ihre Anwendung Ihren Spezifikationen entspricht. Wenden Sie sich an Ihr lokales Microchip-Vertriebsbüro, um weitere Unterstützung zu erhalten, oder erhalten Sie zusätzliche Unterstützung unter www.microchip.com/en-us/support/design-help/client-support-services
DIESE INFORMATIONEN WERDEN VON MICROCHIP „WIE BESEHEN“ BEREITGESTELLT. MICROCHIP GIBT KEINE ZUSICHERUNGEN ODER GARANTIEN JEGLICHER ART, WEDER AUSDRÜCKLICH NOCH STILLSCHWEIGEND, SCHRIFTLICH ODER MÜNDLICH, GESETZLICH ODER ANDERWEITIG, IN BEZUG AUF DIE INFORMATIONEN, EINSCHLIESSLICH, ABER NICHT BESCHRÄNKT AUF STILLSCHWEIGENDE GARANTIEN DER NICHTVERLETZUNG, MARKTGÄNGIGKEIT UND EIGNUNG FÜR EINEN BESTIMMTEN ZWECK ODER GARANTIEN IN BEZUG AUF IHREN ZUSTAND, IHRE QUALITÄT ODER LEISTUNG.
MICROCHIP HAFTET IN KEINEM FALL FÜR INDIREKTE, SPEZIELLE, STRAFENDE, ZUFÄLLIGE ODER FOLGESCHÄDEN, VERLUSTE, SCHÄDEN, KOSTEN ODER AUFWENDUNGEN JEGLICHER ART IM ZUSAMMENHANG MIT DEN INFORMATIONEN ODER IHRER VERWENDUNG, UNGEACHTET DEREN URSACHE, SELBST WENN MICROCHIP AUF DIE MÖGLICHKEIT HINGEWIESEN WURDE ODER DIE SCHÄDEN VORHERSEHBAR SIND. SOWEIT GESETZLICH ZULÄSSIG, ÜBERSTEIGT DIE GESAMTHAFTUNG VON MICROCHIP FÜR ALLE ANSPRÜCHE, DIE IN IRGENDEINER WEISE MIT DEN INFORMATIONEN ODER IHRER VERWENDUNG ZUSAMMENHÄNGEN, NICHT DEN SUMMEN DER GEBÜHREN, DIE SIE GEGEBENENFALLS DIREKT AN MICROCHIP FÜR DIE INFORMATIONEN BEZAHLT HABEN.
Die Verwendung von Microchip-Geräten in lebenserhaltenden und/oder sicherheitsrelevanten Anwendungen erfolgt ausschließlich auf Risiko des Käufers. Der Käufer verpflichtet sich, Microchip von allen Schäden, Ansprüchen, Klagen oder Kosten freizustellen, die sich aus einer solchen Verwendung ergeben. Sofern nicht anders angegeben, werden keine Lizenzen im Rahmen der geistigen Eigentumsrechte von Microchip übertragen, weder implizit noch anderweitig.
Codeschutzfunktion von Microchip Devices
Beachten Sie die folgenden Details zur Codeschutzfunktion bei Microchip-Produkten:
- Mikrochipprodukte erfüllen die in ihrem jeweiligen Mikrochip-Datenblatt enthaltenen Spezifikationen.
- Microchip ist davon überzeugt, dass seine Produktfamilie sicher ist, wenn sie bestimmungsgemäß, innerhalb der Betriebsspezifikationen und unter normalen Bedingungen verwendet wird.
- Microchip schätzt seine geistigen Eigentumsrechte und schützt sie aggressiv. Versuche, die Code-Schutzfunktionen von Microchip-Produkten zu verletzen, sind strengstens untersagt und können einen Verstoß gegen den Digital Millennium Copyright Act darstellen.
- Weder Microchip noch ein anderer Halbleiterhersteller kann die Sicherheit seines Codes garantieren. Codeschutz bedeutet nicht, dass wir garantieren, dass das Produkt „unknackbar“ ist. Der Codeschutz entwickelt sich ständig weiter. Microchip ist bestrebt, die Codeschutzfunktionen unserer Produkte kontinuierlich zu verbessern.
Dokumente / Ressourcen
![]() |
MICROCHIP CoreFPU Core-Gleitkommaeinheit [pdf] Benutzerhandbuch v3.0, v2.1, v2.0, v1.0, CoreFPU Core-Gleitkommaeinheit, Core-Gleitkommaeinheit, Gleitkommaeinheit, Punkteinheit |