MIKROKIIB-logo

MICROCHIP CoreFPU põhiujukomaga üksus

MICROCHIP-CoreFPU-Cor-ujukoma-ühiku-toode

 

Sissejuhatus 

  • Core Floating Point Unit (CoreFPU) on loodud ujukomaarvutuste ja teisendustehingute jaoks, ühe- ja kahekordse täpsusega ujukomaarvude jaoks. CoreFPU toetab fikskomaarvude teisendamist ujukomaarvudeks ja ujukomaarvude teisendamist fikskomaarvudeks ning ujukomaarvude liitmise, lahutamise ja korrutamise tehteid. IEEE® ujukomaarvutuste standard (IEEE 754) on ujukomaarvutuste tehniline standard.
  • Tähtis: CoreFPU toetab ainult normaliseeritud arvudega arvutusi ja toetatud on ainult Verilogi keel; VHDL-i ei toetata.

Kokkuvõte
Järgmises tabelis on esitatud CoreFPU omaduste kokkuvõte.

Tabel 1. CoreFPU omadused 

Põhiversioon See dokument kehtib CoreFPU v3.0 kohta.
Toetatud seadmepered
  • PolarFire® SoC
  • PolarFire
  • RTG4™
Toetatud tööriistavoog Nõuab Libero® SoC v12.6 või uuemaid versioone.
Litsentsi andmine CoreFPU ei ole litsentsiga lukustatud.
Paigaldusjuhised CoreFPU tuleb Libero SoC IP-kataloogi automaatselt IP-kataloogi uuendamise funktsiooni kaudu installida. Teise võimalusena saab CoreFPU kataloogist käsitsi alla laadida. Kui IP-tuum on installitud...

Pärast installimist konfigureeritakse, genereeritakse ja eksemplari luuakse SmartDesignis projekti lisamiseks.

Seadme kasutamine ja jõudlus CoreFPU kasutus- ja jõudlusteabe kokkuvõte on esitatud jaotises Seadme ressursikasutus ja jõudlus.

CoreFPU muudatuste logi teave
See jaotis annab põhjaliku ülevaateview uute funktsioonide kohta, alustades kõige uuemast versioonist. Lisateavet lahendatud probleemide kohta leiate jaotisest „Lahendatud probleemid”.

Versioon Mis on uut
v3.0 IP täpsuse parandamiseks rakendati täiendavaid väljundlippe
v2.1 Lisatud topelttäpsuse funktsioon
v2.0 Ajastuslainekujud on uuendatud
v1.0 CoreFPU esimene tootmisversioon

1. Omadused

CoreFPU-l on järgmised põhifunktsioonid:

  • Toetab ühe- ja kahekordse täpsusega ujuvaid numbreid vastavalt standardile IEEE-754
  • Toetab konversioone loetletud viisil:
    • Fikseeritud komaarvust ujukomaarvuks teisendamine
    • Ujukomaarvust fikseeritud komaarvuks teisendamine
  • Toetab loetletud aritmeetilisi tehteid:
    • Ujukoma liitmine
    • Ujukoma lahutamine
    • Ujukoma korrutamine
  • Pakub ümardamisskeemi (ümardamine lähima paarisarvuni) ainult aritmeetiliste tehtete jaoks
  • Pakub ujukomaarvude jaoks lippe ületäitumise, alatäitumise, lõpmatuse (positiivne lõpmatus, negatiivne lõpmatus), vaikse NaN-i (QNaN) ja signaalimise NaN-i (SNaN) jaoks.
  • Toetab aritmeetiliste tehteid täielikult torujuhtme abil rakendatavat
  • Pakub võimalust konfigureerida põhikomponente vastavalt disaininõuetele

Funktsionaalne kirjeldus

  • IEEE ujukomaarvutuse standard (IEEE 754) on ujukomaarvutuse tehniline standard. Mõiste "ujukoma" viitab arvu baaskomale (kümnend- või binaarkoma), mis asub arvu oluliste numbrite suhtes suvalises kohas.
    Ujukomaarvu väljendatakse tavaliselt teaduslikus tähistuses teatud radikaali (r) murru (F) ja astendajaga (E) kujul F × r^E. Kümnendarvud kasutavad radikaali 10 (F × 10^E); binaararvud aga radikaali 2 (F × 2^E).
  • Ujukomaarvu esitus ei ole unikaalne. NäiteksampNäiteks arv 55.66 on esitatud kujul 5.566 × 10^1, 0.5566 × 10^2, 0.05566 × 10^3 jne. Murdosa on normaliseeritud. Normaliseeritud kujul on enne radikspunkti ainult üks nullist erinev number. NäiteksampNäiteks kümnendarv 123.4567 on normaliseeritud kujul 1.234567 × 10^2; kahendarv 1010.1011B on normaliseeritud kujul 1.0101011B × 2^3.
  • Oluline on märkida, et ujukomaarvude täpsus väheneb, kui neid esitatakse fikseeritud arvu bittidega (näiteksamp(nt 32-bitine või 64-bitine). See on nii, sest reaalarve on lõpmatu arv (isegi väikeses vahemikus 0.0 kuni 0.1). Teisest küljest
    n-bitine binaarmuster esitab lõplikku 2^n erinevat arvu. Seega ei ole esitatud kõiki reaalarve. Selle asemel kasutatakse lähimat lähendust, mis põhjustab täpsuse kadu.

Ühe täpsusega ujukomaarvu esitatakse järgmiselt:

  • Märgibitt: 1-bitine
  • Eksponendi laius: 8 bitti
  • Olulisus ja täpsus: 24 bitti (23 bitti on selgesõnaliselt salvestatud)

Joonis 2-1. 32-bitine kaader

MICROCHIP-CoreFPU-Cor-ujukoma-üksus- (2)Kahekordse täpsusega ujukomaarvu esitatakse järgmiselt:

  • Märgibitt: 1-bitine
  • Eksponendi laius: 11 bitti
  • Olulisus ja täpsus: 53 bitti (52 bitti on selgesõnaliselt salvestatud)

Joonis 2-2. 64-bitine kaader MICROCHIP-CoreFPU-Cor-ujukoma-üksus- (3)CoreFPU on kahe teisendusmooduli (fikseeritud komaarvuks ja ujukomaarvuks fikseeritud komaarvuks) ja kolme aritmeetilise tehte (FP ADD, FP SUB ja FP MULT) tipptasemel integratsioon. Kasutaja saab konfigureerida ükskõik millise tehte vastavalt vajadusele nii, et ressursse kasutatakse valitud tehte jaoks.
Järgmisel joonisel on kujutatud CoreFPU tipptasemel plokkskeemi koos portidega.

Joonis 2-3. CoreFPU portide plokkskeem

MICROCHIP-CoreFPU-Cor-ujukoma-üksus- (4)Järgmises tabelis on loetletud sisend- ja väljundportide laiused. Tabel 2-1. Sisend- ja väljundportide laius

Signaal Üksiku täpsusega laius Topelttäppislaius
ain [31:0] [63:0]
prügikast [31:0] [63:0]
välja [31:0] [63:0]
mossitama [31:0] [63:0]

Fikseeritud komaarvust ujukomaarvuks (teisendus)

Fikseeritud ujukomaarvuks konfigureeritud CoreFPU järeldab fikseeritud komaarvust ujukomaarvuks teisendamise moodulit. CoreFPU sisendiks (ain) on mis tahes fikseeritud komaarv, mis sisaldab täisarvu ja murdarvu bitte. CoreFPU konfiguraatoril on valikud sisendi täisarvu ja murdarvu laiuse valimiseks. Sisend kehtib di_valid signaali korral ja väljund kehtib do_valid signaali korral. Fikseeritud ujukomaarvuks teisendamise operatsiooni väljund (aout) on ühe- või kahekordse täpsusega ujukomaarvu vormingus.
ExampFikseeritud komaarvu ujukomaarvuks teisendamise fail on loetletud järgmises tabelis.
Tabel 2-2. NtampFikseeritud komaarvu ujukomaarvuks teisendamise fail

Fikseeritud koma number Ujukomaarv
ain Täisarv Murd välja Sign Eksponent Mantissa
0x12153524 (32-bitine) 00010010000101010 011010100100100 0x4610a9a9 0 10001100 00100001010100110101001
0x0000000000008CCC

(64-bitine)

0000000000000000000000000000000000000000000000001 000110011001100 0x3FF199999999999A 0 01111111111 0001100110011001100110011001100110011001100110011010

Ujukomaarvust fikseeritud komaarvuks teisendamine 
Ujukomaarvuna fikseeritud komaarvuks konfigureeritud CoreFPU järeldab ujukomaarvust fikseeritud komaarvuks teisendamise moodulit. CoreFPU sisend (ain) on mis tahes ühe- või kahekordse täpsusega ujukomaarv ja väljund (aout) on fikseeritud koma vormingus, mis sisaldab täis- ja murdarvulisi bitte. Sisend kehtib di_valid signaali korral ja väljund kehtib do_valid signaali korral. CoreFPU konfiguraatoril on valikud väljundi täis- ja murdarvu laiuse valimiseks.
ExampUjukomaarvust fikseeritud komaarvuks teisendamise fail on loetletud järgmises tabelis.

Tabel 2-3. NtampUjukomaarvu fikseeritud komaarvuks teisendamise fail

Ujukomaarv Fikseeritud koma number
ain Sign Eksponent Mantissa välja Täisarv Murd
0x41bd6783 (32-bitine) 0 10000011 01111010110011110000011 0x000bd678 00000000000010111 101011001111000
0x4002094c447c30d3

(64-bitine)

0 10000000000 0010000010010100110001000100011111000011000011010011 0x0000000000012095 0000000000000000000000000000000000000000000000010 010000010010101

Ujukoma liitmine (aritmeetiline tehe)
FP ADD-na konfigureeritud CoreFPU järeldab ujukomaarvude liitmise moodulit. See liidab kaks ujukomaarvu (ain ja bin) ning annab väljundi (pout) ujukomavormingus. Sisend ja väljund on ühe- või kahekordse täpsusega ujukomaarvud. Sisend kehtib signaali di_valid korral ja väljund kehtib signaali do_valid korral. Tuum genereerib liitmisoperatsiooni põhjal lipud ovfl_fg (ületäitumine), qnan_fg (vaikne number), snan_fg (signaali andmine, et number pole), pinf_fg (positiivne lõpmatus) ja ninf_fg (negatiivne lõpmatus).
ExampUjukoma liitmisoperatsioonide failid on loetletud järgmistes tabelites.
Tabel 2-4. NtampUjukoma liitmistehe fail (32-bitine)

Ujukoma väärtus Sign Eksponent Mantissa
Ujukoma sisend 1 ain (0x4e989680) 0 10011101 00110001001011010000000
Ujukoma sisend 2 lahter (0x4f191b40) 0 10011110 00110010001101101000000
Ujukoma liitmise väljund pout (0x4f656680) 0 10011110 11001010110011010000000

Tabel 2-5. NtampUjukoma liitmistehe fail (64-bitine)

Ujukoma väärtus Sign Eksponent Mantissa
Ujukoma sisend 1

ain (0x3ff4106ee30caa32)

0 01111111111 0100000100000110111011100011000011001010101000110010
Ujukoma sisend 2

bin (0x40020b2a78798e61)

0 10000000000 0010000010110010101001111000011110011000111001100001
Ujukoma liitmise väljund pout (0x400c1361e9ffe37a) 0 10000000000 1100000100110110000111101001111111111110001101111010

Ujukoma lahutamine (aritmeetiline tehe) 
FP SUB-ina konfigureeritud CoreFPU järeldab ujukomaarvude lahutamise moodulit. See lahutab kaks ujukomaarvu (ain ja bin) ning annab väljundi (pout) ujukomavormingus. Sisend ja väljund on ühe- või kahekordse täpsusega ujukomaarvud. Sisend kehtib signaali di_valid korral ja väljund kehtib signaali do_valid korral. Tuum genereerib lahutamisoperatsiooni põhjal lipud ovfl_fg (ületäitumine), unfl_fg (alatäitumine), qnan_fg (vaikne number pole), snan_fg (signaali andmine, et number pole), pinf_fg (positiivne lõpmatus) ja ninf_fg (negatiivne lõpmatus).
ExampUjukoma lahutamise tehte failid on loetletud järgmistes tabelites.
Tabel 2-6. NtampUjukoma lahutamise tehte fail (32-bitine)

Ujukoma väärtus Sign Eksponent Mantissa
Ujukoma sisend 1 ain (0xac85465f) 1 01011001 00001010100011001011111
Ujukoma sisend 2 lahter (0x2f516779) 0 01011110 10100010110011101111001
Ujukomaga lahutamise väljund pout (0xaf5591ac) 1 01011110 10101011001000110101011
Ujukoma väärtus Sign Eksponent Mantissa
Ujukoma sisend 1

ain (0x405569764adff823)

0 10000000101 0101011010010111011001001010110111111111100000100011
Ujukoma sisend 2

bin (0x4057d04e78dee3fc)

0 10000000101 0111110100000100111001111000110111101110001111111100
Ujukoma lahutamise väljund pout (0xc02336c16ff75ec8) 1 10000000010 0011001101101100000101101111111101110101111011001000

Ujukoma korrutamine (aritmeetiline tehe)
FP MULT-ina konfigureeritud CoreFPU järeldab ujukomakorrutusmooduli. See korrutab kaks ujukomaarvu (ain ja bin) ning annab väljundi (pout) ujukomavormingus. Sisend ja väljund on ühe- või kahekordse täpsusega ujukomaarvud. Sisend kehtib signaali di_valid korral ja väljund kehtib signaali do_valid korral. Tuum genereerib korrutusoperatsiooni põhjal lipud ovfl_fg (ületäitumine), unfl_fg (alatäitumine), qnan_fg (vaikne number pole), snan_fg (signaali andmine mittenumbrile), pinf_fg (positiivne lõpmatus) ja ninf_fg (negatiivne lõpmatus).
ExampUjukoma korrutustehe failid on loetletud järgmistes tabelites.
Tabel 2-8. NtampUjukoma korrutustehte fail (32-bitine)

Ujukoma väärtus Sign Eksponent Mantissa
Ujukoma sisend 1 ain (0x1ec7a735) 0 00111101 10001111010011100110101
Ujukoma sisend 2 lahter (0x6ecf15e8) 0 11011101 10011110001010111101000
Ujukoma korrutamise väljund pout (0x4e21814a) 0 10011100 01000011000000101001010
Ujukoma väärtus Sign Eksponent Mantissa
Ujukoma sisend 1

ain (0x40c1f5a9930be0df)

0 10000001100 0001111101011010100110010011000010111110000011011111
Ujukoma sisend 2

bin (0x400a0866c962b501)

0 10000000000 1010000010000110011011001001011000101011010100000001
Ujukoma korrutamise väljund pout (0x40dd38a1c3e2cae9) 0 10000001101 1101001110001010000111000011111000101100101011101001

 Tõeväärtustabel liitmiseks ja lahutamiseks 
Järgmistes tõeväärtustabelites on loetletud liitmise ja lahutamise väärtused. Tabel 2-10. Liitmise tõeväärtustabel

Andmed A Andmed B Sign Bit Tulemus Ülevool Alavool 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 POSSZERO 0 0 0 0 0 0
null posfiniitne(y) 0 posfiniitne(y) 0 0 0 0 0 0
null negatiivselt piiratud(y) 1 negatiivselt piiratud(y) 0 0 0 0 0 0
null posinfinite 0 posinfinite 0 0 0 0 1 0
null lõpmatu 1 lõpmatu 0 0 0 0 0 1
posfiniitne(y) null 0 posfiniitne(y) 0 0 0 0 0 0
posfiniitne posinfinite 0 posinfinite 0 0 0 0 1 0
Tabel 2-10. Tõeväärtustabel liitmiseks (jätkub)
Andmed A Andmed B Sign Bit Tulemus Ülevool Alavool SNaN QNaN PINF NINF
posfiniitne lõpmatu 1 lõpmatu 0 0 0 0 0 1
negatiivselt piiratud(y) null 1 negatiivselt piiratud(y) 0 0 0 0 0 0
negatiivselt lõpmatu posinfinite 0 posinfinite 0 0 0 0 1 0
negatiivselt lõpmatu lõpmatu 1 lõpmatu 0 0 0 0 0 1
posinfinite null 0 posinfinite 0 0 0 0 1 0
posinfinite posfiniitne 0 posinfinite 0 0 0 0 1 0
posinfinite negatiivselt lõpmatu 0 posinfinite 0 0 0 0 1 0
posinfinite posinfinite 0 posinfinite 0 0 0 0 1 0
posinfinite lõpmatu 0 POSQNaN 0 0 0 1 0 0
lõpmatu null 1 lõpmatu 0 0 0 0 0 1
lõpmatu posfiniitne 1 lõpmatu 0 0 0 0 0 1
lõpmatu negatiivselt lõpmatu 1 lõpmatu 0 0 0 0 0 1
lõpmatu posinfinite 0 POSQNaN 0 0 0 1 0 0
lõpmatu lõpmatu 1 lõpmatu 0 0 0 0 0 1
posfiniitne posfiniitne 0 posfiniitne 0 0 0 0 0 0
posfiniitne posfiniitne 0 posinfinite 0 0 0 0 1 0
posfiniitne posfiniitne 0/1 QNaN 0 0 0 1 0 0
posfiniitne posfiniitne 0/1 SNaN 0 0 1 0 0 0
posfiniitne posfiniitne 0 POSSNaN 1 0 1 0 0 0
posfiniitne negatiivselt lõpmatu 0 posfiniitne 0 0 0 0 0 0
posfiniitne negatiivselt lõpmatu 1 negatiivselt lõpmatu 0 0 0 0 0 0
posfiniitne negatiivselt lõpmatu 0 POSSNaN 0 1 1 0 0 0
negatiivselt lõpmatu posfiniitne 0 posfiniitne 0 0 0 0 0 0
negatiivselt lõpmatu posfiniitne 1 negatiivselt lõpmatu 0 0 0 0 0 0
negatiivselt lõpmatu posfiniitne 0 POSSNaN 0 1 1 0 0 0
negatiivselt lõpmatu negatiivselt lõpmatu 1 negatiivselt lõpmatu 0 0 0 0 0 0
negatiivselt lõpmatu negatiivselt lõpmatu 1 lõpmatu 0 0 0 0 0 1
negatiivselt lõpmatu negatiivselt lõpmatu 0/1 QNaN 0 0 0 1 0 0
negatiivselt lõpmatu negatiivselt lõpmatu 0/1 SNaN 0 0 1 0 0 0
negatiivselt lõpmatu negatiivselt lõpmatu 0 POSSNaN 1 0 1 0 0 0
Andmed A Andmed B Sign Bit Tulemus Ülevool Alavool 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 POSSZERO 0 0 0 0 0 0
null posfiniitne(y) 1 negatiivselt piiratud(y) 0 0 0 0 0 0
null negatiivselt piiratud(y) 0 posfiniitne(y) 0 0 0 0 0 0
null posinfinite 1 lõpmatu 0 0 0 0 0 1
null lõpmatu 0 posinfinite 0 0 0 0 1 0
posfiniitne(y) null 0 posfiniitne(y) 0 0 0 0 0 0
posfiniitne posinfinite 1 lõpmatu 0 0 0 0 0 1
posfiniitne lõpmatu 0 posinfinite 0 0 0 0 1 0
negatiivselt piiratud(y) null 1 negatiivselt piiratud(y) 0 0 0 0 0 0
negatiivselt lõpmatu posinfinite 1 lõpmatu 0 0 0 0 0 1
Tabel 2-11. Lahutamise tõeväärtustabel (jätkub)
Andmed A Andmed B Sign Bit Tulemus Ülevool Alavool SNaN QNaN PINF NINF
negatiivselt lõpmatu lõpmatu 0 posinfinite 0 0 0 0 1 0
posinfinite null 0 posinfinite 0 0 0 0 1 0
posinfinite posfiniitne 0 posinfinite 0 0 0 0 1 0
posinfinite negatiivselt lõpmatu 0 posinfinite 0 0 0 0 1 0
posinfinite posinfinite 0 POSQNaN 0 0 0 1 0 0
posinfinite lõpmatu 0 posinfinite 0 0 0 0 1 0
lõpmatu null 1 lõpmatu 0 0 0 0 0 1
lõpmatu posfiniitne 1 lõpmatu 0 0 0 0 0 1
lõpmatu negatiivselt lõpmatu 1 lõpmatu 0 0 0 0 0 1
lõpmatu posinfinite 1 lõpmatu 0 0 0 0 0 1
lõpmatu lõpmatu 0 POSQNaN 0 0 0 1 0 0
posfiniitne posfiniitne 0 posfiniitne 0 0 0 0 0 0
posfiniitne posfiniitne 1 negatiivselt lõpmatu 0 0 0 0 0 0
posfiniitne posfiniitne 0 POSSNaN 0 1 1 0 0 0
posfiniitne negatiivselt lõpmatu 0 posfiniitne 0 0 0 0 0 0
posfiniitne negatiivselt lõpmatu 0 posinfinite 0 0 0 0 1 0
posfiniitne negatiivselt lõpmatu 0/1 QNaN 0 0 0 1 0 0
posfiniitne negatiivselt lõpmatu 0/1 SNaN 0 0 1 0 0 0
posfiniitne negatiivselt lõpmatu 0 POSSNaN 1 0 1 0 0 0
negatiivselt lõpmatu posfiniitne 1 negatiivselt lõpmatu 0 0 0 0 0 0
negatiivselt lõpmatu posfiniitne 1 lõpmatu 0 0 0 0 0 1
negatiivselt lõpmatu posfiniitne 0/1 QNaN 0 0 0 1 0 0
negatiivselt lõpmatu posfiniitne 0/1 SNaN 0 0 1 0 0 0
negatiivselt lõpmatu posfiniitne 0 POSSNaN 1 0 1 0 0 0
negatiivselt lõpmatu negatiivselt lõpmatu 0 posfiniitne 0 0 0 0 0 0
negatiivselt lõpmatu negatiivselt lõpmatu 1 negatiivselt lõpmatu 0 0 0 0 0 0
negatiivselt lõpmatu negatiivselt lõpmatu 0 POSSNaN 0 1 1 0 0 0

Tähtis:

  • Eelnevates tabelites tähistab „they” suvalist arvu.
  • Eelnevates tabelites tähistab „ükskõik“ olekut.

Tõeväärtustabel korrutamiseks 
Järgnev tõeväärtustabel loetleb korrutustehte väärtused.

Tabel 2-12. Korrutamise tõeväärtustabel

Andmed A Andmed B Sign Bit Tulemus Ülevool Alavool 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 POSSZERO 0 0 0 0 0 0
null posfiniitne 0 POSSZERO 0 0 0 0 0 0
null negatiivselt lõpmatu 0 POSSZERO 0 0 0 0 0 0
null posinfinite 0 POSQNaN 0 0 0 1 0 0
null lõpmatu 0 POSQNaN 0 0 0 1 0 0
Tabel 2-12. Korrutamise tõeväärtustabel (jätkub)
Andmed A Andmed B Sign Bit Tulemus Ülevool Alavool SNaN QNaN PINF NINF
posfiniitne null 0 POSSZERO 0 0 0 0 0 0
posfiniitne posinfinite 0 posinfinite 0 0 0 0 1 0
posfiniitne lõpmatu 1 lõpmatu 0 0 0 0 0 1
negatiivselt lõpmatu null 0 POSSZERO 0 0 0 0 0 0
negatiivselt lõpmatu posinfinite 1 lõpmatu 0 0 0 0 0 1
negatiivselt lõpmatu lõpmatu 0 posinfinite 0 0 0 0 1 0
posinfinite null 0 POSQNaN 0 0 0 1 0 0
posinfinite posfiniitne 0 posinfinite 0 0 0 0 1 0
posinfinite negatiivselt lõpmatu 1 lõpmatu 0 0 0 0 0 1
posinfinite posinfinite 0 posinfinite 0 0 0 0 1 0
posinfinite lõpmatu 1 lõpmatu 0 0 0 0 0 1
lõpmatu null 0 POSQNaN 0 0 0 1 0 0
lõpmatu posfiniitne 1 lõpmatu 0 0 0 0 0 1
lõpmatu negatiivselt lõpmatu 0 posinfinite 0 0 0 0 1 0
lõpmatu posinfinite 1 lõpmatu 0 0 0 0 0 1
lõpmatu lõpmatu 0 posinfinite 0 0 0 0 1 0
posfiniitne posfiniitne 0 posfiniitne 0 0 0 0 0 0
posfiniitne posfiniitne 0 posinfinite 0 0 0 0 1 0
posfiniitne posfiniitne 0 POSQNaN 0 0 0 1 0 0
posfiniitne posfiniitne 0 POSSNaN 0 0 1 0 0 0
posfiniitne posfiniitne 0 POSSNaN 1 0 1 0 0 0
posfiniitne posfiniitne 0 POSSNaN 0 1 1 0 0 0
posfiniitne negatiivselt lõpmatu 1 negatiivselt lõpmatu 0 0 0 0 0 0
posfiniitne negatiivselt lõpmatu 1 lõpmatu 0 0 0 0 0 1
posfiniitne negatiivselt lõpmatu 0 POSQNaN 0 0 0 1 0 0
posfiniitne negatiivselt lõpmatu 0 POSSNaN 0 0 1 0 0 0
posfiniitne negatiivselt lõpmatu 0 POSSNaN 1 0 1 0 0 0
posfiniitne negatiivselt lõpmatu 0 POSSNaN 0 1 1 0 0 0
negatiivselt lõpmatu posfiniitne 1 negatiivselt lõpmatu 0 0 0 0 0 0
negatiivselt lõpmatu posfiniitne 1 lõpmatu 0 0 0 0 0 1
negatiivselt lõpmatu posfiniitne 0 POSQNaN 0 0 0 1 0 0
negatiivselt lõpmatu posfiniitne 0 POSSNaN 0 0 1 0 0 0
negatiivselt lõpmatu posfiniitne 0 POSSNaN 1 0 1 0 0 0
negatiivselt lõpmatu posfiniitne 0 POSSNaN 0 1 1 0 0 0
negatiivselt lõpmatu negatiivselt lõpmatu 0 posfiniitne 0 0 0 0 0 0
negatiivselt lõpmatu negatiivselt lõpmatu 0 posinfinite 0 0 0 0 1 0
negatiivselt lõpmatu negatiivselt lõpmatu 0 POSQNaN 0 0 0 1 0 0
negatiivselt lõpmatu negatiivselt lõpmatu 0 POSQNaN 0 0 1 0 0 0
negatiivselt lõpmatu negatiivselt lõpmatu 0 POSQNaN 1 0 1 0 0 0
negatiivselt lõpmatu negatiivselt lõpmatu 0 POSQNaN 0 1 1 0 0 0

Tähtis:

Märgibitt '0' määratleb positiivse väljundi ja '1' negatiivse väljundi.
Eelmises tabelis olev x tähistab ükskõiksuse tingimust.

CoreFPU parameetrid ja liidese signaalid
Selles jaotises käsitletakse CoreFPU Configuratori sätete ja I/O-signaalide parameetreid.

Konfiguratsiooni GUI parameetrid 
FPU-seadmele kehtib mitu konfigureeritavat valikut, nagu on näidatud järgmises tabelis. Kui on vaja muud konfiguratsiooni peale vaikesätete, kasutatakse konfigureeritava valiku jaoks sobivate väärtuste valimiseks konfiguratsiooni dialoogiboksi.

Tabel 3-1. CoreFPU konfiguratsiooni GUI parameetrid 

Parameetri nimi Vaikimisi Kirjeldus
Täpsus Vallaline Valige toiming vastavalt vajadusele:

Üksiktäpsus
Topelttäpsus

Konversiooni tüüp Fikseeritud komaarvust ujukomaarvuks teisendamine Valige toiming vastavalt vajadusele:
  • Fikseeritud komaarvust ujukomaarvuks teisendamine
  • Ujukomaarvust fikseeritud komaarvuks teisendamine
  • Ujukoma liitmine
  • Ujukoma lahutamine
  • Ujukoma korrutamine
Sisendmurru laius1 15 Konfigureerib sisendsignaalide ain ja bin murdosa.

Kehtiv vahemik on 31–1

Väljundfraktsiooni laius2 15 Konfigureerib Output aout signaalide murdosa punkti

Kehtiv vahemik on 51–1

Tähtis:

  1. Seda parameetrit saab konfigureerida ainult fikseeritud komaarvult ujukomaarvule teisendamise ajal.
  2. Seda parameetrit saab konfigureerida ainult ujukomaarvult fikseeritud komaarvule teisendamise ajal.

Sisend- ja väljundsignaalid (küsige küsimust)
Järgmises tabelis on loetletud CoreFPU sisend- ja väljundportide signaalid.

Tabel 3-2. Pordi kirjeldus 

Signaali nimi Laius Tüüp Kirjeldus
clk 1 Sisend Peamine süsteemikell
rstn 1 Sisend Aktiivselt madal asünkroonne lähtestamine
kehtiv 1 Sisend Aktiivse kõrge sisendi kehtivus

See signaal näitab, et ain[31:0], ain[63:0] ja bin[31:0], bin[63:0] ruutudes olevad andmed on kehtivad.

ain 32/64 Sisend Sisendsiin (seda kasutatakse kõigi toimingute jaoks)
prügikast1 32/64 Sisend B Sisendsiin (kasutatakse ainult aritmeetilisteks toiminguteks)
välja2 32/64 Väljund Väljundväärtus, kui on valitud fikseeritud ujukomaarvule või ujukomaarvult fikseeritud komaarvuks teisendamise operatsioonid.
mossitama1 32/64 Väljund Väljundväärtus liitmis-, lahutamis- või korrutamistoimingute valimisel.
Tabel 3-2. Pordi kirjeldus (jätkub)
Signaali nimi Laius Tüüp Kirjeldus
do_kehtiv 1 Väljund Aktiivne kõrge signaal

See signaal näitab, et pout/aout andmesiinil olevad andmed on kehtivad.

ovfl_fg3 1 Väljund Aktiivne kõrge signaal

See signaal näitab ujukomaarvude ületäitumist.

unfl_fg 1 Väljund Aktiivne kõrge signaal

See signaal näitab alatäitumist ujukomaarvutuste ajal.

qnan_fg3 1 Väljund Aktiivne kõrge signaal

See signaal näitab ujukomaarvude ajal Quiet Not a Number (QNaN) häiret.

snan_fg 1 Väljund Aktiivne kõrge signaal

See signaal näitab ujukomaoperatsioonide ajal signaali mitte-numbrit (SNaN).

pinf_fg3 1 Väljund Aktiivne kõrge signaal

See signaal näitab positiivset lõpmatust ujukomaarvutustehingute ajal.

ninf_fg 1 Väljund Aktiivne kõrge signaal

See signaal näitab ujukomaarvutuste ajal negatiivset lõpmatust.

Tähtis:

  1. See port on saadaval ainult ujukomaarvude liitmise, lahutamise või korrutamise toimingute jaoks.
  2. See port on saadaval ainult fikseeritud komaarvust ujukomaarvuks ja ujukomaarvust fikseeritud komaarvuks teisendamise toimingute jaoks.
  3. See port on saadaval ujukomaarvust fikskomaarvuks teisendamiseks, ujukomaarvu liitmiseks, ujukomaarvu lahutamiseks ja ujukomaarvu korrutamiseks.

CoreFPU rakendamine Libero Design Suite'is

See osa kirjeldab CoreFPU rakendamist Libero Design Suite'is.

SmartDesign 

CoreFPU on allalaadimiseks saadaval Libero IP kataloogist läbi web hoidla. Kui tuum on kataloogis loetletud, luuakse selle eksemplar SmartDesigni voo abil. Lisateavet SmartDesigni kasutamise kohta tuumade konfigureerimiseks, ühendamiseks ja genereerimiseks leiate Libero SoC veebipõhisest abist.
Pärast põhiinstantsi konfigureerimist ja genereerimist simuleeritakse põhifunktsionaalsust CoreFPU-ga kaasasoleva testpingi abil. Testpingi parameetrid kohanduvad automaatselt CoreFPU konfiguratsiooniga. CoreFPU luuakse suurema disaini komponendina.
Joonis 4-1. SmartDesign CoreFPU eksemplar aritmeetiliste operatsioonide jaoks

MICROCHIP-CoreFPU-Cor-ujukoma-üksus- (5)Joonis 4-2. SmartDesign CoreFPU eksemplar konversioonitoimingu jaoks MICROCHIP-CoreFPU-Cor-ujukoma-üksus- (6)

 

Fikseeritud komaarvu ujukomaarvuks teisendamine
Fikseeritud komaarvult ujukomaarvuks teisendamise ajal on sisendmurru laius konfigureeritav. Vaikimisi on väljundmurru laius ühe täpsusega ujukomaarvu puhul 32-bitine ja kahekordse täpsusega ujukomaarvu puhul 64-bitine.
Fikseeritud komaarvu ujukomaarvuks teisendamiseks valige teisendustüübiks Fikseeritud ujukomaarvuks teisendamine, nagu on näidatud järgmisel joonisel.

MICROCHIP-CoreFPU-Cor-ujukoma-üksus- (7)Ujukoma fikseeritud komaga 
Ujukomaarvu fikseeritud komaarvuks teisendamise ajal on väljundi murdosa laius konfigureeritav ning sisendi laius on vaikimisi seatud 32-bitisele ühe täpsusega ujukomaarvu puhul ja 64-bitisele kahekordse täpsusega ujukomaarvu puhul.
Ujukomaarvu fikseeritud komaarvuks teisendamiseks valige teisendustüübiks Ujukomaarvust fikseeritud komaarvuks teisendamine, nagu on näidatud järgmisel joonisel.
Joonis 4-4. CoreFPU konfiguraator ujukomaarvust fikseeritud arvuni muutmiseks MICROCHIP-CoreFPU-Cor-ujukoma-üksus- (8)Ujukoma liitmine/lahutamine/korrutamine
Ujukomaarvutuse liitmise, lahutamise ja korrutamise ajal ei ole sisendmurru laius ja väljundmurru laius konfigureeritavad, kuna need on ujukomaarvutuse tehted ning sisend-/väljundlaius on vaikimisi seatud 32-bitisele ühekordse täpsusega ja 64-bitisele kahekordse täpsusega ujukomaarvutuse puhul.
Järgmisel joonisel on kujutatud ujukoma lahutamise operatsiooni CoreFPU konfiguraatorit.

Joonis 4-5. CoreFPU konfiguraator ujukoma lahutamiseksMICROCHIP-CoreFPU-Cor-ujukoma-üksus- (9)Simulatsioon (küsige küsimust)
Simulatsioonide käivitamiseks valige põhikonfiguratsiooni aknas Kasutaja testimiskeskkond. Pärast CoreFPU genereerimist käivitatakse eelsünteesi testimiskeskkond Riistvara kirjelduskeel (HDL). files on paigaldatud Liberosse.

Simulatsiooni lainekujud (Esita küsimus)
Selles jaotises käsitletakse CoreFPU simulatsioonilainekujusid.
Järgmistel joonistel on näidatud fikseeritud koma ja ujukoma teisendamise lainekuju nii 32-bitise kui ka 64-bitise süsteemi puhul.MICROCHIP-CoreFPU-Cor-ujukoma-üksus- (10)

MICROCHIP-CoreFPU-Cor-ujukoma-üksus- (11) MICROCHIP-CoreFPU-Cor-ujukoma-üksus- (12) MICROCHIP-CoreFPU-Cor-ujukoma-üksus- (13)

Süsteemi integreerimine
Järgmisel joonisel on näidatud endineampsüdamiku kasutamise näide. Selles näitesampNäiteks kasutatakse disaini UART-i kommunikatsioonikanalina disaini ja hostarvuti vahel. Signaalid ain ja bin (mõlemad 32-bitise või 64-bitise laiusega) on UART-i sisendid disainile. Pärast seda, kui CoreFPU saab di_valid signaali, arvutab see tulemuse. Pärast tulemuse arvutamist läheb do_valid signaal kõrgeks ja salvestab tulemuse (aout/pout andmed) väljundpuhvrisse. Sama protseduur kehtib nii teisenduste kui ka aritmeetiliste toimingute kohta. Teisendustehingute jaoks piisab ainult sisendist ain, samas kui aritmeetiliste toimingute jaoks on vaja nii ain kui ka bin sisendeid. Väljund aout on lubatud teisendustehingute jaoks ja pout-port on lubatud aritmeetiliste toimingute jaoks.
Joonis 4-16. NtampCoreFPU süsteemi osa

MICROCHIP-CoreFPU-Cor-ujukoma-üksus- (14)

 

  1. Süntees (Esita küsimus)
    CoreFPU-s sünteesi käivitamiseks määrake disaini juureks IP-komponendi eksemplar ja käivitage Libero disainivoo paanil sünteesi tööriist.
    Koht ja marsruut (Esita küsimus)
    Pärast disaini sünteesimist käivitage tööriist „Place-and-Route“. CoreFPU ei vaja spetsiaalseid „place-and-route“ seadeid.
  2. Kasutajate testimiskeskkond (Esita küsimus)
    CoreFPU IP-versiooniga on kaasas kasutaja testpink. Selle testpingi abil saate kontrollida CoreFPU funktsionaalset käitumist.

Kasutaja testimiskeskkonna lihtsustatud plokkskeem on näidatud järgmisel joonisel. Kasutaja testimiskeskkond loob konfigureeritud CoreFPU disaini (UUT) ning sisaldab käitumistestide andmegeneraatorit, vajalikku kella ja lähtestamissignaale.
Joonis 4-17. CoreFPU kasutaja testpink

MICROCHIP-CoreFPU-Cor-ujukoma-üksus- (15)Tähtis: ModelSimi simulaatoris tuleb jälgida väljundsignaale, vaata Simulatsiooni osa.

Lisaviited (Esita küsimus)
See jaotis sisaldab lisateabe loendit.
Tarkvara, seadmete ja riistvara kohta värskenduste ja lisateabe saamiseks külastage veebilehte

Intellektuaalomandi lehed Microchip FPGA-de ja PLD-de kohta websaidile.

  1. Teadaolevad probleemid ja lahendused (Esita küsimus)
    CoreFPU v3.0 jaoks pole teadaolevaid probleeme ega lahendusi.
  2. Lõpetatud funktsioonid ja seadmed (esitage küsimus)
    Selle IP-versiooniga ei kaasne ühtegi funktsiooni ega seadet, mis oleks lõpetatud.

Sõnastik

Järgnevalt on loetletud dokumendis kasutatud terminid ja definitsioonid.
Tabel 6-1. Terminid ja definitsioonid

Tähtaeg Definitsioon
FPU Ujukoma ühik
FP ADD Ujukoma liitmine
FP SUB Ujukoma lahutamine
FP MULT Ujukoma korrutamine

Lahendatud probleemid 
Järgmises tabelis on loetletud kõik lahendatud probleemid erinevate CoreFPU versioonide puhul.

Tabel 7-1. Lahendatud probleemid

Vabasta Kirjeldus
3.0 Järgnevalt on loetletud kõik v3.0 väljalaske lahendatud probleemid:

Juhtumi number: 01420387 ja 01422128

Lisatud ümardamisskeemi loogika (ümardamine lähima paarisarvuni).

2.1 Järgnevalt on loetletud kõik v2.1 väljalaske lahendatud probleemid:
Mitme südamiku eksemplari loomisel tekib disainis probleeme dubleeritud moodulite olemasolu tõttu.
CoreFPU IP-eksemplari ümbernimetamine põhjustab vea „Määratlemata moodul”.
1.0 Esialgne väljalase

Seadme ressursikasutus ja jõudlus

CoreFPU makro on rakendatud järgmises tabelis loetletud perekondades.
Tabel 8-1. FPU PolarFire'i seadme kasutus 32-bitisel süsteemil

FPGA ressursid Kasutamine
Perekond 4LUT DFF Kokku Matemaatikaplokk Seade Protsenttage Esitus Latentsus
Fikseeritud komaga muutumisest ujukomaarvuks
PolarFire® 260 104 364 0 MPF300T 0.12 310 MHz 3
Ujukoma fikseeritud komaga
PolarFire 591 102 693 0 MPF300T 0.23 160 MHz 3
Ujukoma liitmine
PolarFire 1575 1551 3126 0 MPF300T 1.06 340 MHz 16
Ujukoma lahutamine
PolarFire 1561 1549 3110 0 MPF300T 1.04 345 MHz 16
Ujukoma korrutamine
PolarFire 465 847 1312 4 MPF300T 0.44 385 MHz 14
FPGA ressursid Kasutamine
Perekond 4LUT DFF Kokku Matemaatikaplokk Seade Protsenttage Esitus Latentsus
Fikseeritud komaga muutumisest ujukomaarvuks
RTG4™ 264 104 368 0 RT4G150 0.24 160 MHz 3
Ujukoma fikseeritud komaga
RTG4 439 112 551 0 RT4G150 0.36 105 MHz 3
Ujukoma liitmine
RTG4 1733 1551 3284 0 RT4G150 1.16 195 MHz 16
Ujukoma lahutamine
RTG4 1729 1549 3258 0 RT4G150 1.16 190 MHz 16
Ujukoma korrutamine
RTG4 468 847 1315 4 RT4G150 0.87 175 MHz 14
FPGA ressursid Kasutamine
Perekond 4LUT DFF Kokku Matemaatikaplokk Seade Protsenttage Esitus Latentsus
Fikseeritud komaga muutumisest ujukomaarvuks
PolarFire® 638 201 849 0 MPF300T 0.28 305 MHz 3
Ujukoma fikseeritud komaga
PolarFire 2442 203 2645 0 MPF300T 0.89 110 MHz 3
Ujukoma liitmine
PolarFire 5144 4028 9172 0 MPF300T 3.06 240 MHz 16
Ujukoma lahutamine
PolarFire 5153 4026 9179 0 MPF300T 3.06 250 MHz 16
Ujukoma korrutamine
PolarFire 1161 3818 4979 16 MPF300T 1.66 340 MHz 27
FPGA ressursid Kasutamine
Perekond 4LUT DFF Kokku Matemaatikaplokk Seade Protsenttage Esitus Latentsus
Fikseeritud komaga muutumisest ujukomaarvuks
RTG4™ 621 201 822 0 RT4G150 0.54 140 MHz 3
Ujukoma fikseeritud komaga
RTG4 1114 203 1215 0 RT4G150 0.86 75 MHz 3
Ujukoma liitmine
RTG4 4941 4028 8969 0 RT4G150 5.9 140 MHz 16
Ujukoma lahutamine
RTG4 5190 4026 9216 0 RT4G150 6.07 130 MHz 16
Ujukoma korrutamine
RTG4 1165 3818 4983 16 RT4G150 3.28 170 MHz 27

Tähtis: Sageduse suurendamiseks valige sünteesi seadetes suvand „Luba ajastamine uuesti”.

Läbivaatamise ajalugu

Redaktsiooniajalugu kirjeldab dokumendis rakendatud muudatusi. Muudatused on loetletud redaktsioonide kaupa, alustades kõige värskemast väljaandest.

MICROCHIP-CoreFPU-Cor-ujukoma-üksus- (1)

Mikrokiibi FPGA tugi

Microchip FPGA tootegrupp toetab oma tooteid erinevate tugiteenustega, sealhulgas klienditeenindus, klienditeenindus, klienditeenindus, a websaidil ja ülemaailmsetes müügiesindustes. Klientidel soovitatakse enne klienditoega ühenduse võtmist külastada Microchipi veebiressursse, kuna on väga tõenäoline, et nende päringutele on juba vastatud.
Võtke ühendust tehnilise toe keskusega läbi websait aadressil www.microchip.com/support. Mainige FPGA seadme osa number, valige sobiv korpuse kategooria ja laadige üles kujundus files tehnilise toe juhtumi loomisel.
Võtke ühendust klienditeenindusega mittetehnilise tootetoe saamiseks, nagu toote hind, tooteuuendused, värskendusteave, tellimuse olek ja autoriseerimine.

  • Põhja-Ameerikast helistage numbril 800.262.1060 XNUMX XNUMX
  • Ülejäänud maailmast helistage numbril 650.318.4460 XNUMX XNUMX
  • Faks kõikjalt maailmast, 650.318.8044 XNUMX XNUMX

Mikrokiibi teave

Kaubamärgid
Mikrokiibi nimi ja logo, M-logo ja muud nimed, logod ja kaubamärgid on ettevõtte Microchip Technology Incorporated või selle sidus- ja/või tütarettevõtete registreeritud ja registreerimata kaubamärgid Ameerika Ühendriikides ja/või teistes riikides (“Microchip” Kaubamärgid”). Teavet mikrokiibi kaubamärkide kohta leiate aadressilt https://www.microchip.com/en-us/about/legal-information/microchip-trademarks
ISBN: 979-8-3371-0947-3

Õiguslik teade
Seda väljaannet ja siin olevat teavet võib kasutada ainult Microchipi toodetega, sealhulgas Microchipi toodete kavandamiseks, testimiseks ja integreerimiseks teie rakendusega. Selle teabe kasutamine muul viisil rikub neid tingimusi. Teave seadme rakenduste kohta on esitatud ainult teie mugavuse huvides ja selle võivad asendada värskendused. Teie vastutate selle eest, et teie rakendus vastaks teie spetsifikatsioonidele. Täiendava toe saamiseks võtke ühendust kohaliku Microchipi müügiesindusega või hankige täiendavat tuge aadressil www.microchip.com/en-us/support/design-help/client-support-services

SELLE TEABE ESITAB MIKROKIIP „NAGU ON”. MICROCHIP EI ANNA MINGI SELGITUSLIKU VÕI KAUDSE, KIRJALIKKU VÕI SUULI, KOHUSTUSLIKULT VÕI MUUL SELGITUSI EGA GARANTIID, MIS SEOTUD TEABEGA, KAASA, KUID MITTE PIIRATUD, KAUDSETE GARANTIIDEGA. SOBIVUS KONKREETSEKS EESMÄRGIKS VÕI SELLE SEISUKORDI, KVALITEEDI VÕI TOIMIVUSEGA SEOTUD GARANTIID.

MICROCHIP EI VASTUTA MISGIGI KAUDSE, ERILISE, KARISTUSLIKU, JUHUSLIKU VÕI JÄRGNIKKU KAOTUSE, KAHJUDE, KULU VÕI MINGI LIIGI KULUD EEST, ÜHTEGI MIS TAHES SEOTUD TEABE VÕI SELLE KASUTAMISEGA, ON TEAVITATUD VÕIMALUSEST VÕI ON KAHJUD ETTEAVATAVAD. SEADUSEGA LUBATUD TÄIELIKULT EI ÜLETA MICROCHIPI KOGUVASTUTUS KÕIGI NÕUETE KOHTA, MIS MILLAL MILLE MÕELIKULT SEOTUD TEABE VÕI SELLE KASUTAMISEGA.

Microchipi seadmete kasutamine elu toetavates ja/või ohutusrakendustes on täielikult ostja vastutusel ning ostja nõustub kaitsma, hüvitama ja kahjutuks hoidma Microchipi sellisest kasutamisest tulenevate kahjude, nõuete, hagide või kulude eest. Mikrokiibi intellektuaalomandi õiguste alusel ei edastata litsentse, ei kaudselt ega muul viisil, kui pole öeldud teisiti.

Mikrokiibi seadmete koodikaitse funktsioon
Pange tähele järgmisi Microchipi toodete koodikaitse funktsiooni üksikasju:

  • Mikrokiibi tooted vastavad nende konkreetsel mikrokiibi andmelehel sisalduvatele spetsifikatsioonidele.
  • Microchip usub, et selle tooteperekond on turvaline, kui seda kasutatakse ettenähtud viisil, tööspetsifikatsioonide piires ja tavatingimustes.
  • Mikrokiip väärtustab ja kaitseb agressiivselt oma intellektuaalomandi õigusi. Katsed rikkuda Microchipi toodete koodikaitse funktsioone on rangelt keelatud ja võivad rikkuda Ameerika Ühendriikide autorikaitse seadust.
  • Ei Microchip ega ükski teine ​​pooljuhtide tootja ei saa garanteerida oma koodi turvalisust. Koodikaitse ei tähenda, et me garanteerime, et toode on purunematu. Koodikaitse areneb pidevalt. Microchip on pühendunud oma toodete koodikaitsefunktsioonide pidevale täiustamisele.

Dokumendid / Ressursid

MICROCHIP CoreFPU põhiujukomaga üksus [pdfKasutusjuhend
v3.0, v2.1, v2.0, v1.0, CoreFPU põhiujukomaühik, põhiujukomaühik, ujukomaühik, punktiühik

Viited

Jäta kommentaar

Teie e-posti aadressi ei avaldata. Kohustuslikud väljad on märgitud *