MICROCHIP -logo

MICROCHIP CoreFPU Core Floating Point Unit

MICROCHIP-CoreFPU-Cor-Floating-Point-Unit-produxt

 

Bubuka 

  • Unit Titik Ngambang Inti (CoreFPU) dirancang pikeun operasi aritmatika sareng konvérsi titik ngambang, pikeun nomer titik ngambang presisi tunggal sareng ganda. CoreFPU ngarojong tetep-titik ka floating-titik na floating-titik pikeun conversions tetep-titik sarta floating-titik tambahan, pangurangan, sarta operasi multiplication. Standar IEEE® pikeun Floating-Point Arithmetic (IEEE 754) mangrupikeun standar téknis pikeun komputasi titik ngambang.
  • penting: CoreFPU ngarojong itungan kalawan jumlah normalized wungkul, sarta ngan basa Verilog dirojong; VHDL henteu dirojong.

Ringkesan
Tabel di handap ieu nyayogikeun kasimpulan karakteristik CoreFPU.

Tabél 1. Ciri CoreFPU 

Vérsi CoreDokumén ieu manglaku ka CoreFPU v3.0.
Kulawarga Alat Dirojong
  • PolarFire® SoC
  • Seuneu Polar
  • RTG4™
Dirojong Aliran AlatMerlukeun Libero® SoC v12.6 atawa release engké.
LisénsiCoreFPU henteu lisénsi dikonci.
Parentah instalasiCoreFPU kudu dipasang kana IP Katalog of Libero SoC otomatis ngaliwatan fungsi update IP Katalog. Alternatipna, CoreFPU tiasa diunduh sacara manual tina katalog. Sakali inti IP nyaeta

dipasang, eta geus ngonpigurasi, dihasilkeun sarta instantiated dina SmartDesign pikeun citakan dina proyék nu.

Garapan Alat jeung PerformanceRingkesan inpormasi pamakean sareng kinerja pikeun CoreFPU didaptarkeun dina Pamakéan Sumberdaya Alat sareng Kinerja.

Émbaran Log Robah CoreFPU
bagian ieu nyadiakeun leuwih komprehensifview fitur nu anyar diasupkeun, dimimitian ku release panganyarna. Kanggo inpo nu langkung lengkep ihwal masalah anu direngsekeun, tingali bagian Masalah Ngarengsekeun.

VérsiAya naon anu énggal
v3.0Dilaksanakeun umbul kaluaran tambahan pikeun ningkatkeun akurasi IP
v2.1Ditambahkeun fitur precision ganda
v2.0Diropéa bentuk gelombang timing
v1.0Pelepasan produksi munggaran CoreFPU

1. Fitur

CoreFPU ngagaduhan fitur konci ieu:

  • Ngarojong Single sarta Double Precision Floating Jumlah sakumaha per IEEE-754 Standar
  • Ngarojong Konversi sakumaha didaptarkeun:
    • Maneuh-titik kana konversi Floating-titik
    • Floating-point kana konvérsi titik Maneuh
  • Ngarojong Operasi Arithmetic sakumaha didaptarkeun:
    • Floating-titik tambahan
    • Pangurangan titik ngambang
    • Floating-titik multiplication
  • Nyadiakeun Skéma Rounding (Bander ka pangcaketna malah) pikeun Operasi Aritmatika wungkul
  • Nyadiakeun Bandéra pikeun Overflow, Underflow, Infinity (Positip Infinity, Negative Infinity), Quiet NaN (QNaN) jeung Signaling NaN (SNaN) pikeun Floating-Point Numbers.
  • Ngarojong palaksanaan pinuh pipelined Operasi Aritmetika
  • Nyadiakeun Pranata pikeun ngonpigurasikeun Inti pikeun Sarat Desain

Pedaran Fungsional

  • Standar IEEE pikeun Floating-Point Arithmetic (IEEE 754) mangrupikeun standar téknis pikeun komputasi titik ngambang. Istilah floating-point nujul kana titik radix tina angka (titik desimal atawa titik binér), nu disimpen di mana waé nu aya kaitannana ka digit signifikan tina jumlah.
    Jumlah floating-point ilaharna dinyatakeun dina notasi ilmiah, kalawan fraksi (F), jeung hiji éksponén (E) tina radix tangtu (r), dina wangun F × r^E. Wilangan désimal ngagunakeun radix 10 (F × 10^E); sedengkeun wilangan binér ngagunakeun radix 2 (F × 2^E).
  • Répréséntasi tina angka floating-point teu unik. Pikeun example, angka 55.66 digambarkeun salaku 5.566 × 10^1, 0.5566 × 10^2, 0.05566 × 10^3, jeung saterusna. Bagian fraksional dinormalisasi. Dina bentuk dinormalisasi, ngan aya hiji angka non-enol saméméh titik radix. Pikeun example, angka desimal 123.4567 dinormalisasi jadi 1.234567 × 10^2; angka binér 1010.1011B dinormalisasi jadi 1.0101011B × 2^3.
  • Kadé dicatet yén angka floating-point kakurangan tina leungitna precision lamun digambarkeun ku jumlah tetep bit (pikeun ex.ample, 32-bit atanapi 64-bit). Ieu kusabab aya hiji angka tanpa wates of wilangan riil (malah dina rentang leutik ti 0.0 nepi ka 0.1). Di sisi séjén, hiji
    Pola binér n-bit ngagambarkeun 2^n angka anu béda. Lantaran kitu, teu sakabéh wilangan riil digambarkeun. Aproksimasi pangcaketna dipaké gantina, nu ngakibatkeun leungitna akurasi.

Nomer floating-point precision tunggal digambarkeun saperti kieu:

  • Tanda bit: 1-bit
  • Lebar éksponén: 8 bit
  • Katepatan signifikan: 24 bit (23 bit disimpen sacara eksplisit)

Gambar 2-1. Pigura 32-bit

MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (2)Jumlah floating-point precision ganda digambarkeun saperti kieu:

  • Tanda bit: 1-bit
  • Lebar éksponén: 11 bit
  • Katepatan signifikan: 53 bit (52 bit disimpen sacara eksplisit)

Gambar 2-2. Pigura 64-bit MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (3)CoreFPU mangrupikeun integrasi tingkat luhur tina dua modul konvérsi (Fixed to Float point and Float to Fixed point) sareng tilu operasi aritmetika (FP ADD, FP SUB, sareng FP MULT). Pamaké tiasa ngonpigurasikeun salah sahiji operasi dumasar kana sarat supados sumber daya tiasa dianggo pikeun operasi anu dipilih.
Gambar di handap ieu nunjukkeun diagram blok CoreFPU tingkat luhur sareng palabuhan.

Gambar 2-3. CoreFPU palabuhan Blok Diagram

MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (4)Tabel di handap ieu daptar lebar Input jeung Output port. Tabél 2-1. Input jeung Output Port Width

SinyalSingle Precision WidthGanda Precision Width
aing[31:0][63:0]
bin[31:0][63:0]
aut[31:0][63:0]
pout[31:0][63:0]

Maneuh-Titik ka Ngambang-Titik (Konversi)

CoreFPU dikonpigurasi sakumaha dibereskeun ka floating-point infers tetep-titik kana modul konversi floating-point. Input (ain) ka CoreFPU mangrupikeun nomer titik tetep anu ngandung integer sareng bit pecahan. Configurator CoreFPU gaduh pilihan pikeun milih integer input sareng lebar fraksi. Input valid dina sinyal di_valid sareng kaluaran valid dina do_valid. Kaluaran (aout) tina operasi tetep ngambang aya dina format floating-point precision tunggal atanapi ganda.
Example pikeun operasi konversi titik tetep ka floating-point didaptarkeun dina tabel di handap ieu.
Tabél 2-2. Misalample pikeun Maneuh-Point ka Konversi Floating-Point

Nomer Titik ManeuhNgambang-Point Jumlah
aingIntegerFraksiautasupÉksponénMantissa
0x12153524 (32-bit)000100100001010100110101001001000x4610a9a901000110000100001010100110101001
0x0000000000008CCC

(64-bit)

00000000000000000000000000000000000000000000000010001100110011000x3FF199999999999A0011111111110001100110011001100110011001100110011001100110011010

Floating-Point ka Fixed-Point (Konversi) 
CoreFPU dikonpigurasi salaku floating ka fixed-point infers floating-point ka modul konversi fixed-point. Input (ain) ka CoreFPU mangrupikeun nomer floating-point precision tunggal atanapi ganda sareng ngahasilkeun kaluaran (aout) dina format titik tetep anu ngandung integer sareng bit fraksional. Input valid dina sinyal di_valid sareng kaluaran valid dina do_valid. Configurator CoreFPU gaduh pilihan pikeun milih integer kaluaran sareng lebar fraksi.
Example pikeun floating-point kana operasi konversi dibereskeun-titik didaptarkeun dina tabel di handap ieu.

Tabél 2-3. Misalample pikeun Floating-Point ka Konversi Maneuh-Point

Ngambang-Point JumlahNomer Titik Maneuh
aingasupÉksponénMantissaautIntegerFraksi
0x41bd6783 (32-bit)010000011011110101100111100000110x000bd67800000000000010111101011001111000
0x4002094c447c30d3

(64-bit)

01000000000000100000100101001100010001000111110000110000110100110x00000000000120950000000000000000000000000000000000000000000000010010000010010101

Panambahan Titik Ngambang (Operasi Aritmatika)
CoreFPU dikonpigurasi salaku FP ADD infers modul tambahan floating-titik. Éta nambihan dua angka floating-point (ain sareng bin) sareng nyayogikeun kaluaran (pout) dina format floating-point. Input sareng kaluaran mangrupikeun angka floating-point precision tunggal atanapi ganda. Input valid dina sinyal di_valid sareng kaluaran valid dina do_valid. Inti ngahasilkeun ovfl_fg (Ngabahekeun), qnan_fg (Tenang Henteu Nomer), snan_fg (Sinyal Henteu Nomer), pinf_fg (Positip Infinity), sareng ninf_fg (Negatif Teu Terhingga) umbul dumasar kana operasi tambahan.
Examples pikeun operasi tambahan floating-point dibéréndélkeun dina tabel di handap ieu.
Tabél 2-4. Misalample pikeun Operasi Tambahan Titik Ngambang (32-bit)

Ngambang-Point NileyasupÉksponénMantissa
Input titik ngambang 1 ain (0x4e989680)01001110100110001001011010000000
Input titik ngambang 2 bin (0x4f191b40)01001111000110010001101101000000
Pout kaluaran tambahan titik ngambang (0x4f656680)01001111011001010110011010000000

Tabél 2-5. Misalample pikeun Operasi Tambahan Titik Ngambang (64-bit)

Ngambang-Point NileyasupÉksponénMantissa
Input titik ngambang 1

ain (0x3ff4106ee30caa32)

0011111111110100000100000110111011100011000011001010101000110010
Input titik ngambang 2

bin (0x40020b2a78798e61)

0100000000000010000010110010101001111000011110011000111001100001
Pout kaluaran tambahan titik ngambang (0x400c1361e9ffe37a)0100000000001100000100110110000111101001111111111110001101111010

Pangurangan Titik Ngambang (Operasi Aritmatika) 
CoreFPU dikonpigurasi salaku FP SUB infers modul pangurangan floating-point. Éta ngirangan dua angka floating-point (ain sareng bin) sareng nyayogikeun kaluaran (pout) dina format floating-point. Input sareng kaluaran mangrupikeun angka floating-point precision tunggal atanapi ganda. Input valid dina sinyal di_valid sareng kaluaran valid dina do_valid. Inti ngahasilkeun ovfl_fg (Ngabahekeun), unfl_fg (underflow), qnan_fg (Tenang Henteu Nomer), snan_fg (Sinyal Henteu Nomer), pinf_fg (Positip Teu Terhingga), sareng ninf_fg (Negatif Teu Terhingga) umbul dumasar kana operasi pangurangan.
Examples pikeun operasi pangurangan floating-point dibéréndélkeun dina tabel di handap ieu.
Tabél 2-6. Misalample pikeun Operasi Pangurangan Titik Ngambang (32-bit)

Ngambang-Point NileyasupÉksponénMantissa
Input titik ngambang 1 ain (0xac85465f)10101100100001010100011001011111
Input titik ngambang 2 bin (0x2f516779)00101111010100010110011101111001
Ngambang-titik pangurangan pout kaluaran (0xaf5591ac)10101111010101011001000110101011
Ngambang-Point NileyasupÉksponénMantissa
Input titik ngambang 1

aing (0x405569764adff823)

0100000001010101011010010111011001001010110111111111100000100011
Input titik ngambang 2

bin (0x4057d04e78dee3fc)

0100000001010111110100000100111001111000110111101110001111111100
Pout kaluaran pangurangan titik ngambang (0xc02336c16ff75ec8)1100000000100011001101101100000101101111111101110101111011001000

Multiplikasi Titik Ngambang (Operasi Aritmatika)
CoreFPU dikonpigurasi salaku FP MULT infers modul multiplication floating-titik. Ieu multiplies dua angka floating-point (ain jeung bin) jeung nyadiakeun kaluaran (pout) dina format floating-point. Input sareng kaluaran mangrupikeun angka floating-point precision tunggal atanapi ganda. Input valid dina sinyal di_valid sareng kaluaran valid dina do_valid. Inti ngahasilkeun ovfl_fg (Ngabahekeun), unfl_fg (Underflow), qnan_fg (Tenang Henteu Nomer), snan_fg (Sinyal Henteu Nomer), pinf_fg (Positip Infinity), sareng ninf_fg (Negatif Teu Terhingga) umbul dumasar kana operasi multiplikasi.
Examples pikeun operasi multiplication floating-point dibéréndélkeun dina tabel di handap ieu.
Tabél 2-8. Misalample pikeun Floating-Point Multiplication Operation (32-bit)

Ngambang-Point NileyasupÉksponénMantissa
Input titik ngambang 1 ain (0x1ec7a735)00011110110001111010011100110101
Input titik ngambang 2 bin (0x6ecf15e8)01101110110011110001010111101000
Ngambang-titik Multiplikasi kaluaran pout (0x4e21814a)01001110001000011000000101001010
Ngambang-Point NileyasupÉksponénMantissa
Input titik ngambang 1

ain (0x40c1f5a9930be0df)

0100000011000001111101011010100110010011000010111110000011011111
Input titik ngambang 2

bin (0x400a0866c962b501)

0100000000001010000010000110011011001001011000101011010100000001
Pout kaluaran multiplikasi titik ngambang (0x40dd38a1c3e2cae9)0100000011011101001110001010000111000011111000101100101011101001

 Méja Kaleresan pikeun Tambihan sareng Pangurangan 
Tabel bebeneran di handap daptar nilai pikeun operasi tambah jeung pangurangan. Méja 2-10. Méja Kaleresan pikeun Tambihan

Data AData BAsup BitHasilnangalemburUnderflowSNaNQNaNPINFNINF
QNaN/SNaNx0POSQNaN000100
xQNaN/SNaN0POSQNaN000100
nolnol0POSZERO000000
noltungtung (y)0tungtung (y)000000
nolnegfinite (y)1negfinite (y)000000
nolposinfinite0posinfinite000010
nolneginfinite1neginfinite000001
tungtung (y)nol0tungtung (y)000000
posfiniteposinfinite0posinfinite000010
Méja 2-10. Méja Kaleresan pikeun Tambihan (sambungan)
Data AData BAsup BitHasilnangalemburUnderflowSNaNQNaNPINFNINF
posfiniteneginfinite1neginfinite000001
negfinite (y)nol1negfinite (y)000000
negfiniteposinfinite0posinfinite000010
negfiniteneginfinite1neginfinite000001
posinfinitenol0posinfinite000010
posinfiniteposfinite0posinfinite000010
posinfinitenegfinite0posinfinite000010
posinfiniteposinfinite0posinfinite000010
posinfiniteneginfinite0POSQNaN000100
neginfinitenol1neginfinite000001
neginfiniteposfinite1neginfinite000001
neginfinitenegfinite1neginfinite000001
neginfiniteposinfinite0POSQNaN000100
neginfiniteneginfinite1neginfinite000001
posfiniteposfinite0posfinite000000
posfiniteposfinite0posinfinite000010
posfiniteposfinite0/1QNaN000100
posfiniteposfinite0/1SNaN001000
posfiniteposfinite0POSSNaN101000
posfinitenegfinite0posfinite000000
posfinitenegfinite1negfinite000000
posfinitenegfinite0POSSNaN011000
negfiniteposfinite0posfinite000000
negfiniteposfinite1negfinite000000
negfiniteposfinite0POSSNaN011000
negfinitenegfinite1negfinite000000
negfinitenegfinite1neginfinite000001
negfinitenegfinite0/1QNaN000100
negfinitenegfinite0/1SNaN001000
negfinitenegfinite0POSSNaN101000
Data AData BAsup BitHasilnangalemburUnderflowSNaNQNaNPINFNINF
QNaN/SNaNx0POSQNaN000100
xQNaN/SNaN0POSQNaN000100
nolnol0POSZERO000000
noltungtung (y)1negfinite (y)000000
nolnegfinite (y)0tungtung (y)000000
nolposinfinite1neginfinite000001
nolneginfinite0posinfinite000010
tungtung (y)nol0tungtung (y)000000
posfiniteposinfinite1neginfinite000001
posfiniteneginfinite0posinfinite000010
negfinite (y)nol1negfinite (y)000000
negfiniteposinfinite1neginfinite000001
Méja 2-11. Méja Kaleresan pikeun Pangurangan (Lanjutan)
Data AData BAsup BitHasilnangalemburUnderflowSNaNQNaNPINFNINF
negfiniteneginfinite0posinfinite000010
posinfinitenol0posinfinite000010
posinfiniteposfinite0posinfinite000010
posinfinitenegfinite0posinfinite000010
posinfiniteposinfinite0POSQNaN000100
posinfiniteneginfinite0posinfinite000010
neginfinitenol1neginfinite000001
neginfiniteposfinite1neginfinite000001
neginfinitenegfinite1neginfinite000001
neginfiniteposinfinite1neginfinite000001
neginfiniteneginfinite0POSQNaN000100
posfiniteposfinite0posfinite000000
posfiniteposfinite1negfinite000000
posfiniteposfinite0POSSNaN011000
posfinitenegfinite0posfinite000000
posfinitenegfinite0posinfinite000010
posfinitenegfinite0/1QNaN000100
posfinitenegfinite0/1SNaN001000
posfinitenegfinite0POSSNaN101000
negfiniteposfinite1negfinite000000
negfiniteposfinite1neginfinite000001
negfiniteposfinite0/1QNaN000100
negfiniteposfinite0/1SNaN001000
negfiniteposfinite0POSSNaN101000
negfinitenegfinite0posfinite000000
negfinitenegfinite1negfinite000000
negfinitenegfinite0POSSNaN011000

penting:

  • Aranjeunna dina tabel sateuacana nunjukkeun nomer naon waé.
  • Dina tabel saméméhna nunjukkeun kaayaan teu paduli.

Méja Kaleresan pikeun Multiplication 
Tabel bebeneran handap mangrupa daptar nilai pikeun operasi multiplication.

Méja 2-12. Méja Kaleresan pikeun Multiplication

Data AData BAsup BitHasilnangalemburUnderflowSNaNQNaNPINFNINF
QNaN/SNaNx0POSQNaN000100
xQNaN/SNaN0POSQNaN000100
nolnol0POSZERO000000
nolposfinite0POSZERO000000
nolnegfinite0POSZERO000000
nolposinfinite0POSQNaN000100
nolneginfinite0POSQNaN000100
Méja 2-12. Méja Kaleresan pikeun Multiplikasi (Lanjutan)
Data AData BAsup BitHasilnangalemburUnderflowSNaNQNaNPINFNINF
posfinitenol0POSZERO000000
posfiniteposinfinite0posinfinite000010
posfiniteneginfinite1neginfinite000001
negfinitenol0POSZERO000000
negfiniteposinfinite1neginfinite000001
negfiniteneginfinite0posinfinite000010
posinfinitenol0POSQNaN000100
posinfiniteposfinite0posinfinite000010
posinfinitenegfinite1neginfinite000001
posinfiniteposinfinite0posinfinite000010
posinfiniteneginfinite1neginfinite000001
neginfinitenol0POSQNaN000100
neginfiniteposfinite1neginfinite000001
neginfinitenegfinite0posinfinite000010
neginfiniteposinfinite1neginfinite000001
neginfiniteneginfinite0posinfinite000010
posfiniteposfinite0posfinite000000
posfiniteposfinite0posinfinite000010
posfiniteposfinite0POSQNaN000100
posfiniteposfinite0POSSNaN001000
posfiniteposfinite0POSSNaN101000
posfiniteposfinite0POSSNaN011000
posfinitenegfinite1negfinite000000
posfinitenegfinite1neginfinite000001
posfinitenegfinite0POSQNaN000100
posfinitenegfinite0POSSNaN001000
posfinitenegfinite0POSSNaN101000
posfinitenegfinite0POSSNaN011000
negfiniteposfinite1negfinite000000
negfiniteposfinite1neginfinite000001
negfiniteposfinite0POSQNaN000100
negfiniteposfinite0POSSNaN001000
negfiniteposfinite0POSSNaN101000
negfiniteposfinite0POSSNaN011000
negfinitenegfinite0posfinite000000
negfinitenegfinite0posinfinite000010
negfinitenegfinite0POSQNaN000100
negfinitenegfinite0POSQNaN001000
negfinitenegfinite0POSQNaN101000
negfinitenegfinite0POSQNaN011000

penting:

Tanda Bit '0' ngahartikeun kaluaran positif sarta '1' ngahartikeun kaluaran négatip.
X dina tabel saméméhna nunjukkeun kaayaan teu paduli.

Parameter CoreFPU sareng Sinyal Antarmuka
Bagian ieu ngabahas parameter dina setélan CoreFPU Configurator jeung sinyal I / O.

Parameter GUI Konfigurasi 
Aya sababaraha pilihan anu tiasa dikonpigurasikeun pikeun unit FPU sapertos anu dipidangkeun dina tabel di handap ieu. Lamun konfigurasi lian ti standar diperlukeun, kotak dialog konfigurasi dipaké pikeun milih nilai luyu pikeun pilihan configurable.

Tabél 3-1. Parameter GUI Konfigurasi CoreFPU 

Ngaran ParameterDefaultKaterangan
PrecisionBujangPilih operasi sakumaha diperlukeun:

Precision Tunggal
Ganda Precision

Tipe KonversiManeuh-titik kana konversi Floating-titikPilih operasi sakumaha diperlukeun:
  • Maneuh-titik kana konversi Floating-titik
  • Floating-point kana konvérsi titik Maneuh
  • Floating-titik tambahan
  • Pangurangan titik ngambang
  • Floating-titik multiplication
Input Fraksi Width115Ngonpigurasikeun titik pecahan dina sinyal Input ain sareng bin

Rentang valid nyaéta 31-1

Kaluaran Fraksi Width215Ngonpigurasikeun titik pecahan dina sinyal Output aout

Rentang valid nyaéta 51-1

penting:

  1. Parameter ieu ngan tiasa dikonfigurasi nalika konvérsi titik tetep ka titik ngambang.
  2. Parameter ieu ngan tiasa dikonfigurasi nalika ngambang-titik kana konvérsi titik tetep.

Sinyal Input sareng Kaluaran (Tanyakeun Patarosan)
Tabel di handap ieu daptar sinyal input sareng kaluaran port CoreFPU.

Tabél 3-2. Port Pedaran 

Ngaran SinyalLebarTipeKaterangan
clk1InputJam sistem utama
mimitina1InputAktip-rendah Asynchronous reset
di_valid1InputInput aktip-luhur valid

Sinyal ieu nunjukkeun yén data anu aya dina ain [31:0], ain [63:0] sareng bin [31:0], bin [63:0] sah.

aing32/64InputBeus Input (Ieu dianggo pikeun sadaya operasi)
bin132/64InputB Input Bus (Ieu dianggo pikeun operasi aritmetika wungkul)
aut232/64KaluaranNilai kaluaran lamun dibereskeun ka floating-point atawa floating ka operasi konversi fixed-point dipilih.
pout132/64KaluaranNilai kaluaran nalika operasi tambah, pangurangan, atanapi multiplikasi dipilih.
Méja 3-2. Katerangan Pelabuhan (Lanjutan)
Ngaran SinyalLebarTipeKaterangan
do_valid1KaluaranSinyal luhur-aktip

Sinyal ieu nunjukkeun yén data anu aya dina beus data pout / aout valid.

ovfl_fg31KaluaranSinyal luhur-aktip

Sinyal ieu nunjukkeun overflow nalika operasi floating-point.

unfl_fg1KaluaranSinyal luhur-aktip

Sinyal ieu nunjukkeun underflow salila operasi floating point.

qnan_fg31KaluaranSinyal luhur-aktip

Sinyal ieu nunjukkeun Quiet Not a Number (QNaN) salami operasi floating-point.

snan_fg1KaluaranSinyal luhur-aktip

Sinyal ieu nunjukkeun Signaling Not-a-Number (SNaN) salami operasi floating point.

pinf_fg31KaluaranSinyal luhur-aktip

Sinyal ieu nunjukkeun takterhingga positip salami operasi floating-point.

ninf_fg1KaluaranSinyal luhur-aktip

Sinyal ieu nunjukkeun takterhingga négatip salami operasi floating-point.

penting:

  1. Port ieu ngan sadia pikeun tambahan floating-point, pangurangan, atawa operasi multiplication.
  2. port ieu ngan sadia pikeun tetep-titik ka floating-titik na floating-titik kana operasi konversi tetep-titik.
  3. Port ieu sadia pikeun floating-point ka fixed-point, tambahan floating-point, pangurangan floating-point, sarta multiplication floating-point.

Palaksanaan CoreFPU di Libero Desain Suite

Bagian ieu ngajelaskeun palaksanaan CoreFPU dina Libero Design Suite.

SmartDesign 

CoreFPU sadia pikeun diundeur dina katalog IP Libero ngaliwatan web gudang. Sakali ieu didaptarkeun dina katalog, inti ieu instantiated ngagunakeun aliran SmartDesign. Kanggo inpo tentang ngagunakeun SmartDesign pikeun ngonpigurasikeun, nyambungkeun, sareng ngahasilkeun inti, tingali pitulung online Libero SoC.
Saatos ngonpigurasikeun sareng ngahasilkeun conto inti, fungsionalitas dasar disimulasi nganggo testbench anu disayogikeun sareng CoreFPU. Parameter testbench otomatis nyaluyukeun kana konfigurasi CoreFPU. CoreFPU ieu instantiated salaku komponén desain nu leuwih gede.
Gambar 4-1. SmartDesign CoreFPU Instance pikeun Operasi Arithmetic

MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (5)Gambar 4-2. SmartDesign CoreFPU Instance pikeun Operasi Konversi MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (6)

 

Maneuh-Point ka Konversi Floating-Point
Salila konvérsi titik tetep ka titik ngambang, Lebar Fraksi Input tiasa dikonfigurasi. Lebar Kaluaran disetel ka 32-bit pikeun precision tunggal sareng 64-bit pikeun floating-point ganda precision sacara standar.
Pikeun ngarobah tina titik tetep ka floating-point, pilih Maneuh kana floating point Tipe Konversi, ditémbongkeun saperti dina gambar di handap ieu.

MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (7)Ngambang-Titik ka Maneuh-Titik 
Salila floating-point kana konvérsi fixed-point, Output Fractional Width tiasa dikonfigurasi, sareng Input Width disetel ka 32-bit pikeun precision tunggal sareng 64-bit pikeun double precision floating-point sacara standar.
Pikeun ngarobah tina floating-point ka fixed-point, pilih Floating point ka fixed Conversion type, ditémbongkeun saperti dina gambar di handap ieu.
Gambar 4-4. CoreFPU Configurator pikeun Floating Point ka Maneuh MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (8)Ngambang-titik panambahan / pangurangan / kalikeun
Salila operasi tambahan, pangurangan, sareng multiplikasi floating-point, Lebar Fraksi Input sareng Lebar Fraksi Kaluaran henteu tiasa dikonfigurasi sabab ieu mangrupikeun operasi aritmetika floating-point, sareng Lebar Input/Output disetel ka 32-bit tunggal precision sareng 64-bit pikeun precision ganda floating-point sacara standar.
Gambar di handap ieu nunjukkeun konfigurator CoreFPU pikeun operasi pangurangan titik ngambang.

Gambar 4-5. CoreFPU Configurator pikeun Floating Point PanguranganMICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (9)Simulasi (Tanyakeun Patarosan)
Pikeun ngajalankeun simulasi, dina jandela konfigurasi inti, pilih Pamaké Testbench. Saatos ngahasilkeun CoreFPU, pra-sintésis testbench Hardware Description Language (HDL) files dipasang di Libero.

Bentuk Gelombang Simulasi (Tanyakeun Patarosan)
Bagian ieu ngabahas bentuk gelombang simulasi pikeun CoreFPU.
Angka-angka di handap ieu nunjukkeun bentuk gelombang konvérsi titik tetep ka titik ngambang pikeun 32-bit sareng 64-bit.MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (10)

MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (11) MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (12) MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (13)

Integrasi Sistim
Angka ieu nunjukkeun mantanample tina ngagunakeun inti. Dina ex ieuample, desain UART dipaké salaku saluran komunikasi antara rarancang jeung PC host. Sinyal ain sareng bin (unggal lebar 32-bit atanapi 64-bit) mangrupikeun input kana desain ti UART. Saatos CoreFPU nampi sinyal di_valid, éta ngitung hasilna. Saatos ngitung hasilna, sinyal do_valid naek sareng nyimpen hasilna (data aout / pout) dina panyangga kaluaran. Prosedur anu sami ieu lumaku pikeun operasi konversi sareng aritmetika. Pikeun operasi konvérsi, ngan ukur input ain anu cekap sedengkeun pikeun operasi aritmatika, input ain sareng bin diperyogikeun. Output aout diaktipkeun pikeun operasi konversi sarta port pout diaktipkeun pikeun operasi arithmetic.
Gambar 4-16. Misalample tina Sistem CoreFPU

MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (14)

 

  1. Sintésis (Tanyakeun Patarosan)
    Pikeun ngajalankeun sintésis dina CoreFPU, setel akar desain kana conto komponén IP sareng tina panel aliran desain Libero, jalankeun alat Synthesis.
    Tempat sareng Rute (Tanyakeun Patarosan)
    Saatos desain disintésis, jalankeun alat Place-and-Route. CoreFPU henteu peryogi setélan tempat sareng jalur khusus.
  2. Pamaké Testbench (Tanyakeun Patarosan)
    A testbench pamaké disadiakeun kalawan release CoreFPU IP. Nganggo testbench ieu, anjeun tiasa pariksa paripolah fungsional CoreFPU.

Diagram blok saderhana tina testbench pangguna dipidangkeun dina gambar di handap ieu. Testbench pamaké instantiates desain CoreFPU Konpigurasikeun (UUT), tur ngawengku generator data test behavioral, jam perlu, sarta sinyal reset.
Gambar 4-17. CoreFPU Pamaké Testbench

MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (15)penting: Anjeun kudu ngawas sinyal kaluaran dina simulator ModelSim, tingali bagian simulasi.

Rujukan Tambahan (Tanyakeun Patarosan)
Bagian ieu nyadiakeun daptar pikeun émbaran tambahan.
Pikeun apdet sareng inpormasi tambahan ngeunaan parangkat lunak, alat, sareng hardware, mangga buka

Kaca Harta Intelektual ngeunaan FPGA sareng PLD Microchip websitus.

  1. Masalah anu Dipikawanoh sareng Solusi (Tanyakeun Patarosan)
    Henteu aya masalah anu dipikanyaho sareng solusi pikeun CoreFPU v3.0.
  2. Fitur sareng Alat Dieureunkeun (Tanyakeun Patarosan)
    Henteu aya fitur sareng alat anu dileungitkeun sareng pelepasan IP ieu.

Glosarium

Di handap ieu daptar istilah sareng definisi anu dianggo dina dokumén.
tabél 6-1. Sarat jeung Harti

istilahHarti
FPUUnit Titik Ngambang
FP TAMBAHANNgambang-Titik Tambahan
FP SUBPangurangan Floating-Point
FP MULTNgambang-titik multiplication

Masalah direngsekeun 
Tabel di handap ieu daptar sadaya masalah anu direngsekeun pikeun sababaraha sékrési CoreFPU.

tabél 7-1. Masalah direngsekeun

LeupaskeunKaterangan
3.0Ieu daptar sadaya masalah anu direngsekeun dina rilis v3.0:

Nomer Pasualan: 01420387 sareng 01422128

Ditambahkeun logika skéma rounding (buleud ka angka genap pangcaketna).

2.1Ieu daptar sadaya masalah anu direngsekeun dina rilis v2.1:
Rarancangna mendakan masalah kusabab ayana modul duplikat nalika sababaraha inti dipasang.
Ngaganti nami conto IP CoreFPU nyababkeun kasalahan "modul anu teu ditangtukeun".
1.0Kaluaran Awal

Garapan Resource Alat jeung Performance

Makro CoreFPU dilaksanakeun dina kulawarga anu didaptarkeun dina tabel di handap ieu.
tabél 8-1. FPU PolarFire Unit Garapan Alat pikeun 32-Bit

Sumberdaya FPGAMangpaat
Kulawarga4LUTDFFTotalBlok MatematikaParantiPersentagePerformanceLatén
Maneuh-Point ka Floating-Point
PolarFire®2601043640MPF300T0.12310 MHz3
Ngambang-Titik ka Maneuh-Titik
Seuneu Polar5911026930MPF300T0.23160 MHz3
Ngambang-Titik Tambahan
Seuneu Polar1575155131260MPF300T1.06340 MHz16
Pangurangan Floating-Point
Seuneu Polar1561154931100MPF300T1.04345 MHz16
Ngambang-titik multiplication
Seuneu Polar46584713124MPF300T0.44385 MHz14
Sumberdaya FPGAMangpaat
Kulawarga4LUTDFFTotalBlok MatematikaParantiPersentagePerformanceLatén
Maneuh-Point ka Floating-Point
RTG4™2641043680RT4G1500.24160 MHz3
Ngambang-Titik ka Maneuh-Titik
RTG44391125510RT4G1500.36105 MHz3
Ngambang-Titik Tambahan
RTG41733155132840RT4G1501.16195 MHz16
Pangurangan Floating-Point
RTG41729154932580RT4G1501.16190 MHz16
Ngambang-titik multiplication
RTG446884713154RT4G1500.87175 MHz14
Sumberdaya FPGAMangpaat
Kulawarga4LUTDFFTotalBlok MatematikaParantiPersentagePerformanceLatén
Maneuh-Point ka Floating-Point
PolarFire®6382018490MPF300T0.28305 MHz3
Ngambang-Titik ka Maneuh-Titik
Seuneu Polar244220326450MPF300T0.89110 MHz3
Ngambang-Titik Tambahan
Seuneu Polar5144402891720MPF300T3.06240 MHz16
Pangurangan Floating-Point
Seuneu Polar5153402691790MPF300T3.06250 MHz16
Ngambang-titik multiplication
Seuneu Polar11613818497916MPF300T1.66340 MHz27
Sumberdaya FPGAMangpaat
Kulawarga4LUTDFFTotalBlok MatematikaParantiPersentagePerformanceLatén
Maneuh-Point ka Floating-Point
RTG4™6212018220RT4G1500.54140 MHz3
Ngambang-Titik ka Maneuh-Titik
RTG4111420312150RT4G1500.8675 MHz3
Ngambang-Titik Tambahan
RTG44941402889690RT4G1505.9140 MHz16
Pangurangan Floating-Point
RTG45190402692160RT4G1506.07130 MHz16
Ngambang-titik multiplication
RTG411653818498316RT4G1503.28170 MHz27

Penting: Pikeun ningkatkeun frékuénsi, pilih Aktipkeun pilihan retiming dina setélan sintésis.

Riwayat révisi

Sajarah révisi ngajelaskeun parobahan anu dilaksanakeun dina dokumén. Parobahan didaptarkeun ku révisi, dimimitian ku publikasi panganyarna.

MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (1)

Rojongan FPGA Microchip

Grup produk Microchip FPGA ngadukung produkna sareng sababaraha jasa dukungan, kalebet Layanan Pelanggan, Pusat Rojongan Téknis Pelanggan, a websitus, sareng kantor penjualan sadunya. Konsumén disarankan pikeun nganjang ka sumber online Microchip sateuacan ngahubungi dukungan sabab kamungkinan pisan patarosan na parantos dijawab.
Kontak Center Rojongan Téknis ngaliwatan websitus di www.microchip.com/support. Sebutkeun nomer Bagian Alat FPGA, pilih kategori kasus anu pas, sareng unggah desain files bari nyieun kasus rojongan teknis.
Kontak Service Palanggan pikeun rojongan produk non-teknis, kayaning harga produk, upgrades produk, update informasi, status pesenan, jeung otorisasina.

  • Ti Amérika Kalér, nelepon 800.262.1060
  • Ti sakuliah dunya, nelepon 650.318.4460
  • Fax, ti mana waé di dunya, 650.318.8044

Émbaran Microchip

mérek dagang
Nami sareng logo "Microchip", logo "M", sareng nami, logo, sareng merek sanés mangrupikeun mérek dagang kadaptar sareng teu kadaptar ti Microchip Technology Incorporated atanapi afiliasi sareng/atawa anak perusahaan di Amérika Serikat sareng/atawa nagara-nagara sanés ("Microchip Mérek dagang"). Inpormasi ngeunaan Microchip Trademark tiasa dipendakan di https://www.microchip.com/en-us/about/legal-information/microchip-trademarks
ISBN: 979-8-3371-0947-3

Bewara Hukum
Publikasi ieu sareng inpormasi di dieu ngan ukur tiasa dianggo sareng produk Microchip, kalebet pikeun ngarancang, nguji, sareng ngahijikeun produk Microchip sareng aplikasi anjeun. Pamakéan inpormasi ieu dina cara anu sanés ngalanggar syarat ieu. Inpormasi ngeunaan aplikasi alat disayogikeun ngan ukur pikeun genah anjeun sareng tiasa diganti ku apdet. Tanggung jawab anjeun pikeun mastikeun yén aplikasi anjeun cocog sareng spésifikasi anjeun. Ngahubungan kantor jualan Microchip lokal Anjeun pikeun rojongan tambahan atawa, ménta rojongan tambahan di www.microchip.com/en-us/support/design-help/client-support-services

Inpormasi ieu disayogikeun ku MICROCHIP "AS IS". MICROCHIP TEU NGAREGEPKEUN REPRESENTASI ATAWA HARANSI NAON NAON BAHA TERNYATA ATAU TERSIRAT, TULIS ATAU LISAN, STATUTORY ATAWA SABAJEUN, PABUAT KA INFORMASI KAAWASAN TAPI TEU DIWATES KA SALAH JENIS HARANSI TERSIRAT, NON-PENDAFTARAN, DAN FIRMAN. TUJUAN, ATAWA HARANSI PABUAT KA KONDISI, KUALITI, ATAWA KINERJANA.

MICROCHIP MOAL MAH TANGGUNG JAWAB KANGGO NU LANGSUNG, KHUSUS, PUNITIF, INCIDENTAL, ATAWA KONSEQUENTIAL RUGI, KARUSAKAN, BIAYA, ATAWA BAYAAN NAON NU SAUNANA NU PABUAT KA INFORMASI ATAWA GUNAANNA, NAON NGABISABUNGKEUN, KALAU KANGGO KANGGO KITU. Kamungkinan ATAWA KARUKSAKAN NU DIHARAPKEUN. Pikeun FULLEST EXTENT diidinan ku hukum, tanggung jawab total Microchip dina sagala klaim dina sagala cara patali jeung informasi atawa pamakéan na moal ngaleuwihan jumlah waragad, lamun aya, nu geus dibayar langsung ka Microchip pikeun informasi.

Pamakéan alat Microchip dina rojongan hirup jeung / atawa aplikasi kaamanan sagemblengna dina resiko meuli urang, sarta meuli satuju pikeun membela, indemnify jeung nahan Microchip bahya tina sagala jeung sagala Karuksakan, klaim, jas, atawa expenses hasilna tina pamakéan sapertos. Taya lisensi anu conveyed, implicitly atawa lamun heunteu, dina sagala hak cipta intelektual Microchip iwal disebutkeun béda.

Fitur Protection Code Alat Microchip
Catet detil di handap ieu ngeunaan fitur panyalindungan kode dina produk Microchip:

  • Produk Microchip nyumponan spésifikasi anu aya dina Lembar Data Microchip khususna.
  • Microchip percaya yén kulawarga produkna aman nalika dianggo dina cara anu dimaksud, dina spésifikasi operasi, sareng dina kaayaan normal.
  • nilai Microchip sarta aggressively ngajaga hak cipta intelektual na. Usaha pikeun ngalanggar fitur panyalindungan kode produk Microchip dilarang pisan sareng tiasa ngalanggar Digital Millennium Copyright Act.
  • Boh Microchip atanapi produsén semikonduktor sanés tiasa ngajamin kaamanan kode na. Perlindungan kode henteu hartosna yén kami ngajamin produkna "teu tiasa dipecahkeun". Perlindungan kode terus mekar. Microchip komitmen pikeun terus ningkatkeun fitur panyalindungan kode produk urang.

Dokumén / Sumberdaya

MICROCHIP CoreFPU Core Floating Point Unit [pdf] Pituduh pamaké
v3.0, v2.1, v2.0, v1.0, CoreFPU Core Floating Point Unit, Core Floating Point Unit, Floating Point Unit, Point Unit

Rujukan

Ninggalkeun komentar

alamat surélék anjeun moal diterbitkeun. Widang diperlukeun ditandaan *