MICROCHIP - និមិត្តសញ្ញា

អង្គភាពចំណុចអណ្តែតស្នូល MICROCHIP CoreFPU

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

 

សេចក្តីផ្តើម 

  • អង្គភាពស្នូលអណ្តែតទឹក (CoreFPU) ត្រូវបានរចនាឡើងសម្រាប់ដំណើរការនព្វន្ធចំណុចអណ្តែតទឹក និងប្រតិបត្តិការបំប្លែង សម្រាប់លេខចំណុចអណ្តែតទឹកដែលមានភាពជាក់លាក់តែមួយ និងពីរដង។ CoreFPU គាំទ្រចំណុចថេរទៅចំណុចអណ្តែត និងចំណុចអណ្តែតទឹក ទៅជាការបំប្លែងចំណុចថេរ និងប្រតិបត្តិការបូក ដក និងគុណ។ ស្តង់ដារ IEEE® សម្រាប់អណ្តែត-ចំណុចនព្វន្ធ (IEEE 754) គឺជាស្តង់ដារបច្ចេកទេសសម្រាប់ការគណនាចំណុចអណ្តែត។
  • សំខាន់៖ CoreFPU គាំទ្រការគណនាជាមួយលេខធម្មតាតែប៉ុណ្ណោះ ហើយមានតែភាសា Verilog ប៉ុណ្ណោះដែលត្រូវបានគាំទ្រ។ VHDL មិនត្រូវបានគាំទ្រទេ។

សង្ខេប
តារាងខាងក្រោមផ្តល់នូវសេចក្តីសង្ខេបនៃលក្ខណៈ CoreFPU ។

តារាង 1. លក្ខណៈ CoreFPU 

កំណែស្នូល ឯកសារនេះអនុវត្តចំពោះ CoreFPU v3.0 ។
គ្រួសារឧបករណ៍ដែលគាំទ្រ
  • PolarFire® SoC
  • PolarFire
  • RTG4™
លំហូរឧបករណ៍ដែលគាំទ្រ ទាមទារ Libero® SoC v12.6 ឬក្រោយការចេញផ្សាយ។
អាជ្ញាប័ណ្ណ CoreFPU មិនត្រូវបានចាក់សោអាជ្ញាប័ណ្ណទេ។
ការណែនាំអំពីការដំឡើង CoreFPU ត្រូវតែត្រូវបានដំឡើងទៅកាន់ IP Catalog នៃ Libero SoC ដោយស្វ័យប្រវត្តិ តាមរយៈមុខងារធ្វើបច្ចុប្បន្នភាព IP Catalog ។ ជាជម្រើស CoreFPU អាចត្រូវបានទាញយកដោយដៃពីកាតាឡុក។ នៅពេលដែលស្នូល IP គឺ

បានដំឡើង វាត្រូវបានកំណត់រចនាសម្ព័ន្ធ បង្កើត និងភ្លាមៗនៅក្នុង SmartDesign សម្រាប់ការដាក់បញ្ចូលក្នុងគម្រោង។

ការប្រើប្រាស់ឧបករណ៍ និងការអនុវត្ត សេចក្តីសង្ខេបនៃការប្រើប្រាស់ និងព័ត៌មានអំពីដំណើរការសម្រាប់ CoreFPU ត្រូវបានរាយបញ្ជីនៅក្នុងការប្រើប្រាស់ធនធានឧបករណ៍ និងការអនុវត្ត។

CoreFPU ផ្លាស់ប្តូរព័ត៌មានកំណត់ហេតុ
ផ្នែកនេះផ្តល់នូវភាពទូលំទូលាយview នៃលក្ខណៈពិសេសដែលបានបញ្ចូលថ្មី ចាប់ផ្តើមជាមួយនឹងការចេញផ្សាយចុងក្រោយបំផុត។ សម្រាប់ព័ត៌មានបន្ថែមអំពីបញ្ហាដែលបានដោះស្រាយ សូមមើលផ្នែកបញ្ហាដែលបានដោះស្រាយ។

កំណែ តើមានអ្វីថ្មី។
v3.0 បានអនុវត្តទង់លទ្ធផលបន្ថែម ដើម្បីបង្កើនភាពត្រឹមត្រូវនៃ IP
v2.1 បានបន្ថែមលក្ខណៈពិសេសភាពជាក់លាក់ទ្វេដង
v2.0 បានធ្វើបច្ចុប្បន្នភាពទម្រង់រលកពេលវេលា
v1.0 ការចេញផ្សាយដំបូងនៃ CoreFPU

1. លក្ខណៈពិសេស

CoreFPU មានមុខងារសំខាន់ៗដូចខាងក្រោមៈ

  • គាំទ្រលេខអណ្តែតភាពជាក់លាក់តែមួយ និងពីរដង តាមស្តង់ដារ IEEE-754
  • គាំទ្រការបំប្លែងដូចដែលបានរាយបញ្ជី៖
    • ចំណុចថេរទៅការបំប្លែងចំណុចអណ្តែត
    • ចំណុចអណ្តែតទៅការបំប្លែងចំណុចថេរ
  • គាំទ្រប្រតិបត្តិការនព្វន្ធដូចដែលបានរាយបញ្ជី៖
    • ការបន្ថែមចំណុចអណ្តែត
    • ដកចំណុចអណ្តែត
    • គុណចំណុចអណ្តែត
  • ផ្តល់គ្រោងការណ៍បង្គត់ (បង្គត់ទៅជិតបំផុត) សម្រាប់តែប្រតិបត្តិការនព្វន្ធប៉ុណ្ណោះ។
  • ផ្តល់ទង់សម្រាប់លំហូរលើស, លំហូរក្រោម, ភាពគ្មានទីបញ្ចប់ (ភាពវិជ្ជមាន ភាពគ្មានទីបញ្ចប់, អចិន្ត្រៃយ៍អវិជ្ជមាន), ស្ងាត់ NaN (QNaN) និងសញ្ញា NaN (SNaN) សម្រាប់លេខចំណុចអណ្តែត។
  • គាំទ្រដល់ការអនុវត្តតាមបំពង់យ៉ាងពេញលេញនៃប្រតិបត្តិការនព្វន្ធ
  • ផ្តល់ការផ្តល់ជូនដើម្បីកំណត់រចនាសម្ព័ន្ធស្នូលសម្រាប់តម្រូវការការរចនា

ការពិពណ៌នាមុខងារ

  • ស្តង់ដារ IEEE សម្រាប់អណ្តែត-ចំណុចនព្វន្ធ (IEEE 754) គឺជាស្តង់ដារបច្ចេកទេសសម្រាប់ការគណនាចំណុចអណ្តែត។ ពាក្យអណ្តែតអណ្តែតសំដៅលើចំណុចរ៉ាឌីកនៃលេខ (ចំណុចទសភាគ ឬចំណុចគោលពីរ) ដែលត្រូវបានដាក់នៅកន្លែងណាមួយដោយគោរពតាមខ្ទង់សំខាន់ៗនៃលេខ។
    លេខចំនុចអណ្តែតត្រូវបានបញ្ជាក់ជាធម្មតានៅក្នុងសញ្ញាណវិទ្យាសាស្រ្តជាមួយនឹងប្រភាគ (F) និងនិទស្សន្ត (E) នៃកាំជាក់លាក់ (r) ក្នុងទម្រង់ F × r^E ។ លេខទសភាគប្រើកាំនៃ 10 (F × 10^E); ខណៈពេលដែលលេខគោលពីរប្រើកាំនៃ 2 (F × 2^E) ។
  • តំណាង​នៃ​លេខ​អណ្តែត​ទឹក​គឺ​មិន​មាន​តែ​មួយ​ទេ។ សម្រាប់អតីតample លេខ 55.66 ត្រូវបានតំណាងជា 5.566 × 10^1, 0.5566 × 10^2, 0.05566 × 10^3 និងបន្តបន្ទាប់ទៀត។ ផ្នែកប្រភាគត្រូវបានធ្វើធម្មតា។ នៅក្នុងទម្រង់ធម្មតា មានតែលេខមួយគត់ដែលមិនមែនជាសូន្យមុនចំនុចរ៉ាឌីក។ សម្រាប់អតីតample, លេខទសភាគ 123.4567 ត្រូវបានធ្វើឱ្យធម្មតាជា 1.234567 × 10^2; លេខគោលពីរ 1010.1011B ត្រូវបានធ្វើឱ្យធម្មតាជា 1.0101011B × 2^3 ។
  • វាជាការសំខាន់ក្នុងការកត់សម្គាល់ថាលេខអណ្តែតទឹកទទួលរងពីការបាត់បង់ភាពជាក់លាក់នៅពេលតំណាងដោយចំនួនប៊ីតថេរ (សម្រាប់ឧ។ample, 32-bit ឬ 64-bit)។ នេះគឺដោយសារតែចំនួនពិតគ្មានកំណត់ (សូម្បីតែក្នុងចន្លោះតូចមួយពី 0.0 ដល់ 0.1)។ ម្យ៉ាងវិញទៀត ក
    លំនាំគោលពីរ n-ប៊ីតតំណាងឱ្យចំនួនកំណត់ 2^n ដាច់ដោយឡែក។ ដូច្នេះ មិនមែនលេខពិតទាំងអស់ត្រូវបានតំណាងទេ។ ការប៉ាន់ស្មានជិតបំផុតត្រូវបានប្រើជំនួសវិញ ដែលនាំឱ្យបាត់បង់ភាពត្រឹមត្រូវ។

លេខអណ្តែតទឹកភាពជាក់លាក់តែមួយត្រូវបានតំណាងដូចខាងក្រោមៈ

  • សញ្ញាប៊ីត៖ ១ ប៊ីត
  • ទទឹងនិទស្សន្ត៖ ៨ ប៊ីត
  • ភាពជាក់លាក់និងភាពជាក់លាក់៖ 24 ប៊ីត (23 ប៊ីតត្រូវបានរក្សាទុកយ៉ាងច្បាស់លាស់)

រូបភាព 2-1 ។ ស៊ុម 32 ប៊ីត

MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (2)លេខចំនុចអណ្តែតទឹកភាពជាក់លាក់ទ្វេត្រូវបានតំណាងដូចខាងក្រោមៈ

  • សញ្ញាប៊ីត៖ ១ ប៊ីត
  • ទទឹងនិទស្សន្ត៖ ៨ ប៊ីត
  • ភាពជាក់លាក់និងភាពជាក់លាក់៖ 53 ប៊ីត (52 ប៊ីតត្រូវបានរក្សាទុកយ៉ាងច្បាស់លាស់)

រូបភាព 2-2 ។ ស៊ុម 64 ប៊ីត MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (3)CoreFPU គឺជាការរួមបញ្ចូលកម្រិតកំពូលនៃម៉ូឌុលបំប្លែងពីរ (ជួសជុលទៅចំណុចអណ្តែត និងអណ្តែតទៅចំណុចថេរ) និងប្រតិបត្តិការនព្វន្ធបី (FP ADD, FP SUB, និង FP MULT) ។ អ្នកប្រើប្រាស់អាចកំណត់រចនាសម្ព័ន្ធប្រតិបត្តិការណាមួយដោយផ្អែកលើតម្រូវការ ដូច្នេះធនធានត្រូវបានប្រើប្រាស់សម្រាប់ប្រតិបត្តិការដែលបានជ្រើសរើស។
តួលេខខាងក្រោមបង្ហាញពីដ្យាក្រាមប្លុក CoreFPU កម្រិតកំពូលជាមួយនឹងច្រក។

រូបភាព 2-3 ។ ដ្យាក្រាមប្លុកច្រក CoreFPU

MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (4)តារាងខាងក្រោមរាយបញ្ជីទទឹងនៃច្រកបញ្ចូល និងទិន្នផល។ តារាង 2-1 ។ ទទឹងច្រកបញ្ចូលនិងទិន្នផល

សញ្ញា ទទឹងភាពជាក់លាក់តែមួយ ទទឹងភាពជាក់លាក់ទ្វេ
អាអ៊ីន [31:0] [63:0]
ធុង [31:0] [63:0]
ចេញ [31:0] [63:0]
pout [31:0] [63:0]

ចំណុចថេរទៅចំណុចអណ្តែត (បំប្លែង)

CoreFPU ដែលបានកំណត់រចនាសម្ព័ន្ធដូចដែលបានជួសជុលទៅចំណុចអណ្តែតទឹក បង្ហាញពីម៉ូឌុលបំប្លែងចំណុចថេរទៅជាចំណុចអណ្តែត។ ការបញ្ចូល (ain) ទៅ CoreFPU គឺជាលេខចំណុចថេរណាមួយដែលមានចំនួនគត់ និងប្រភាគប៊ីត។ ឧបករណ៍កំណត់រចនាសម្ព័ន្ធ CoreFPU មានជម្រើសដើម្បីជ្រើសរើសចំនួនគត់បញ្ចូល និងទទឹងប្រភាគ។ ការបញ្ចូលមានសុពលភាពនៅលើសញ្ញា di_valid ហើយលទ្ធផលគឺត្រឹមត្រូវនៅលើ do_valid ។ លទ្ធផល (aout) នៃប្រតិបត្តិការថេរទៅអណ្តែតគឺនៅក្នុងទម្រង់ចំណុចអណ្តែតជាក់លាក់មួយ ឬពីរដង។
Example សម្រាប់ប្រតិបត្តិការបំប្លែងចំណុចអណ្តែតលើអណ្តែតទឹកត្រូវបានរាយក្នុងតារាងខាងក្រោម។
តារាង 2-2 ។ ឧample សម្រាប់​ការ​បំប្លែង​ចំណុច​ថេរ​ទៅ​ចំណុច​អណ្តែត

លេខចំណុចថេរ លេខចំណុចអណ្តែត
អាអ៊ីន ចំនួនគត់ ប្រភាគ ចេញ សញ្ញា និទស្សន្ត ម៉ាន់ទីសា
0x12153524 (32 ប៊ីត) 00010010000101010 011010100100100 0x4610a9a9 0 10001100 00100001010100110101001
0x0000000000008CCC

(១៦ ប៊ីត)

0000000000000000000000000000000000000000000000001 000110011001100 0x3FF199999999999A 0 01111111111 0001100110011001100110011001100110011001100110011010

ចំណុចអណ្តែតទៅចំណុចថេរ (បំប្លែង) 
CoreFPU ដែលបានកំណត់រចនាសម្ព័ន្ធជាអណ្តែតទៅចំណុចថេរ បង្ហាញម៉ូឌុលបំប្លែងចំណុចអណ្តែតទៅចំណុចថេរ។ ការបញ្ចូល (ain) ទៅ CoreFPU គឺជាចំនួនចំនុចអណ្តែតទឹកជាក់លាក់មួយ ឬពីរដង ហើយបង្កើតលទ្ធផល (aout) ក្នុងទម្រង់ចំណុចថេរដែលមានចំនួនគត់ និងប្រភាគប៊ីត។ ការបញ្ចូលមានសុពលភាពនៅលើសញ្ញា di_valid ហើយលទ្ធផលគឺត្រឹមត្រូវនៅលើ do_valid ។ ឧបករណ៍កំណត់រចនាសម្ព័ន្ធ CoreFPU មានជម្រើសដើម្បីជ្រើសរើសចំនួនគត់ទិន្នផល និងទទឹងប្រភាគ។
Example សម្រាប់ប្រតិបត្តិការបំប្លែងចំណុចអណ្តែតទឹកទៅជាចំណុចថេរត្រូវបានរាយក្នុងតារាងខាងក្រោម។

តារាង 2-3 ។ ឧample សម្រាប់ Floating-Point ទៅជា Fixed-Point Conversion

លេខចំណុចអណ្តែត លេខចំណុចថេរ
អាអ៊ីន សញ្ញា និទស្សន្ត ម៉ាន់ទីសា ចេញ ចំនួនគត់ ប្រភាគ
0x41bd6783 (32 ប៊ីត) 0 10000011 01111010110011110000011 0x000bd678 00000000000010111 101011001111000
0x4002094c447c30d3

(១៦ ប៊ីត)

0 10000000000 0010000010010100110001000100011111000011000011010011 0x0000000000012095 0000000000000000000000000000000000000000000000010 010000010010101

ការបន្ថែមចំណុចអណ្តែត (ប្រតិបត្តិការនព្វន្ធ)
CoreFPU បានកំណត់រចនាសម្ព័ន្ធជា FP ADD បង្ហាញពីម៉ូឌុលបន្ថែមចំណុចអណ្តែត។ វាបន្ថែមលេខចំនុចអណ្តែតទឹកពីរ (ain និង bin) ហើយផ្តល់នូវលទ្ធផល (pout) ជាទម្រង់អណ្តែតទឹក។ ការបញ្ចូល និងលទ្ធផលគឺជាលេខអណ្តែតទឹកជាក់លាក់មួយ ឬពីរដង។ ការបញ្ចូលមានសុពលភាពនៅលើសញ្ញា di_valid ហើយលទ្ធផលគឺត្រឹមត្រូវនៅលើ do_valid ។ ស្នូលផលិត ovfl_fg (Overflow), qnan_fg (ស្ងាត់មិនមែនជាលេខ), snan_fg (សញ្ញាមិនមែនជាលេខ), pinf_fg (វិជ្ជមានគ្មានកំណត់) និងទង់ ninf_fg (អវិជ្ជមានគ្មានកំណត់) ដោយផ្អែកលើប្រតិបត្តិការបន្ថែម។
Examples សម្រាប់ប្រតិបត្តិការបន្ថែមចំណុចអណ្តែតត្រូវបានរាយក្នុងតារាងខាងក្រោម។
តារាង 2-4 ។ ឧample សម្រាប់ប្រតិបត្តិការបន្ថែមចំណុចអណ្តែត (32 ប៊ីត)

តម្លៃ​ចំណុច​អណ្តែត សញ្ញា និទស្សន្ត ម៉ាន់ទីសា
ការបញ្ចូលចំណុចអណ្តែត 1 ain (0x4e989680) 0 10011101 00110001001011010000000
ការបញ្ចូលចំណុចអណ្តែត 2 ប៊ីន (0x4f191b40) 0 10011110 00110010001101101000000
ចំណុចទាញបន្ថែមចំណុចអណ្តែត (0x4f656680) 0 10011110 11001010110011010000000

តារាង 2-5 ។ ឧample សម្រាប់ប្រតិបត្តិការបន្ថែមចំណុចអណ្តែត (64 ប៊ីត)

តម្លៃ​ចំណុច​អណ្តែត សញ្ញា និទស្សន្ត ម៉ាន់ទីសា
ការបញ្ចូលចំណុចអណ្តែត 1

ain (0x3ff4106ee30caa32)

0 01111111111 0100000100000110111011100011000011001010101000110010
ការបញ្ចូលចំណុចអណ្តែត 2

bin (0x40020b2a78798e61)

0 10000000000 0010000010110010101001111000011110011000111001100001
ចំណុចទាញបន្ថែមចំណុចអណ្តែត (0x400c1361e9ffe37a) 0 10000000000 1100000100110110000111101001111111111110001101111010

ការដកចំណុចអណ្តែត (ប្រតិបត្តិការនព្វន្ធ) 
CoreFPU បានកំណត់រចនាសម្ព័ន្ធជា FP SUB បង្ហាញពីម៉ូឌុលដកចំណុចអណ្តែត។ វាដកលេខចំនុចអណ្តែតទឹកពីរ (ain និង bin) ហើយផ្តល់លទ្ធផល (pout) ជាទម្រង់អណ្តែតទឹក។ ការបញ្ចូល និងលទ្ធផលគឺជាលេខអណ្តែតទឹកជាក់លាក់មួយ ឬពីរដង។ ការបញ្ចូលមានសុពលភាពនៅលើសញ្ញា di_valid ហើយលទ្ធផលគឺត្រឹមត្រូវនៅលើ do_valid ។ ស្នូលបង្កើត ovfl_fg (Overflow), unfl_fg (underflow), qnan_fg (ស្ងាត់មិនមែនជាលេខ), snan_fg (Signalling Not a Number), pinf_fg (Positive Infinity) និង ninf_fg (Negative Infinity) ដោយផ្អែកលើប្រតិបត្តិការដក។
Examples សម្រាប់ប្រតិបត្តិការដកចំណុចអណ្តែតត្រូវបានរាយក្នុងតារាងខាងក្រោម។
តារាង 2-6 ។ ឧample សម្រាប់ប្រតិបត្តិការដកចំណុចអណ្តែត (32 ប៊ីត)

តម្លៃ​ចំណុច​អណ្តែត សញ្ញា និទស្សន្ត ម៉ាន់ទីសា
ការបញ្ចូលចំណុចអណ្តែត 1 ain (0xac85465f) 1 01011001 00001010100011001011111
ការបញ្ចូលចំណុចអណ្តែត 2 ប៊ីន (0x2f516779) 0 01011110 10100010110011101111001
លទ្ធផលដកចំណុចអណ្តែត (0xaf5591ac) 1 01011110 10101011001000110101011
តម្លៃ​ចំណុច​អណ្តែត សញ្ញា និទស្សន្ត ម៉ាន់ទីសា
ការបញ្ចូលចំណុចអណ្តែត 1

ain (0x405569764adff823)

0 10000000101 0101011010010111011001001010110111111111100000100011
ការបញ្ចូលចំណុចអណ្តែត 2

bin (0x4057d04e78dee3fc)

0 10000000101 0111110100000100111001111000110111101110001111111100
លទ្ធផលដកចំណុចអណ្តែត (0xc02336c16ff75ec8) 1 10000000010 0011001101101100000101101111111101110101111011001000

គុណចំណុចអណ្តែត (ប្រតិបត្តិការនព្វន្ធ)
CoreFPU កំណត់រចនាសម្ព័ន្ធជា FP MULT បង្ហាញម៉ូឌុលគុណចំណុចអណ្តែត។ វាគុណនឹងលេខចំនុចអណ្តែតទឹកពីរ (ain និង bin) ហើយផ្តល់លទ្ធផល (pout) ជាទម្រង់អណ្តែតទឹក។ ការបញ្ចូល និងលទ្ធផលគឺជាលេខអណ្តែតទឹកជាក់លាក់មួយ ឬពីរដង។ ការបញ្ចូលមានសុពលភាពនៅលើសញ្ញា di_valid ហើយលទ្ធផលគឺត្រឹមត្រូវនៅលើ do_valid ។ ស្នូលបង្កើត ovfl_fg (Overflow), unfl_fg (Underflow), qnan_fg (ស្ងាត់មិនមែនជាលេខ), snan_fg (Signalling Not a Number), pinf_fg (Positive Infinity) និង ninf_fg (Negative Infinity) ដោយផ្អែកលើប្រតិបត្តិការគុណ។
Examples សម្រាប់ប្រតិបត្តិការគុណចំណុចអណ្តែតត្រូវបានរាយក្នុងតារាងខាងក្រោម។
តារាង 2-8 ។ ឧample សម្រាប់ប្រតិបត្តិការគុណចំណុចអណ្តែត (32 ប៊ីត)

តម្លៃ​ចំណុច​អណ្តែត សញ្ញា និទស្សន្ត ម៉ាន់ទីសា
ការបញ្ចូលចំណុចអណ្តែត 1 ain (0x1ec7a735) 0 00111101 10001111010011100110101
ការបញ្ចូលចំណុចអណ្តែត 2 ប៊ីន (0x6ecf15e8) 0 11011101 10011110001010111101000
ទិន្នផលពហុគុណចំណុចអណ្តែត (0x4e21814a) 0 10011100 01000011000000101001010
តម្លៃ​ចំណុច​អណ្តែត សញ្ញា និទស្សន្ត ម៉ាន់ទីសា
ការបញ្ចូលចំណុចអណ្តែត 1

ain (0x40c1f5a9930be0df)

0 10000001100 0001111101011010100110010011000010111110000011011111
ការបញ្ចូលចំណុចអណ្តែត 2

bin (0x400a0866c962b501)

0 10000000000 1010000010000110011011001001011000101011010100000001
លទ្ធផលគុណនឹងចំណុចអណ្តែត (0x40dd38a1c3e2cae9) 0 10000001101 1101001110001010000111000011111000101100101011101001

 តារាងការពិតសម្រាប់ការបូក និងដក 
តារាងការពិតខាងក្រោមរាយបញ្ជីតម្លៃសម្រាប់ប្រតិបត្តិការបូក និងដក។ តារាង 2-10 ។ តារាងការពិតសម្រាប់ការបន្ថែម

ទិន្នន័យ ក ទិន្នន័យ ខ ចុះហត្ថលេខាប៊ីត លទ្ធផល ហូរហៀរ លំហូរក្រោម អេសអិន 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
សូន្យ សូន្យ 0 POSZERO 0 0 0 0 0 0
សូន្យ posfinite(y) 0 posfinite(y) 0 0 0 0 0 0
សូន្យ negfinite(y) 1 negfinite(y) 0 0 0 0 0 0
សូន្យ posinfinite 0 posinfinite 0 0 0 0 1 0
សូន្យ neginfinite 1 neginfinite 0 0 0 0 0 1
posfinite(y) សូន្យ 0 posfinite(y) 0 0 0 0 0 0
posfinite posinfinite 0 posinfinite 0 0 0 0 1 0
តុ ១-៤. តារាងការពិតសម្រាប់ការបន្ថែម (ត)
ទិន្នន័យ ក ទិន្នន័យ ខ ចុះហត្ថលេខាប៊ីត លទ្ធផល ហូរហៀរ លំហូរក្រោម អេសអិន QNaN PINF NINF
posfinite neginfinite 1 neginfinite 0 0 0 0 0 1
negfinite(y) សូន្យ 1 negfinite(y) 0 0 0 0 0 0
មិនកំណត់ posinfinite 0 posinfinite 0 0 0 0 1 0
មិនកំណត់ neginfinite 1 neginfinite 0 0 0 0 0 1
posinfinite សូន្យ 0 posinfinite 0 0 0 0 1 0
posinfinite posfinite 0 posinfinite 0 0 0 0 1 0
posinfinite មិនកំណត់ 0 posinfinite 0 0 0 0 1 0
posinfinite posinfinite 0 posinfinite 0 0 0 0 1 0
posinfinite neginfinite 0 POSQNaN 0 0 0 1 0 0
neginfinite សូន្យ 1 neginfinite 0 0 0 0 0 1
neginfinite posfinite 1 neginfinite 0 0 0 0 0 1
neginfinite មិនកំណត់ 1 neginfinite 0 0 0 0 0 1
neginfinite posinfinite 0 POSQNaN 0 0 0 1 0 0
neginfinite neginfinite 1 neginfinite 0 0 0 0 0 1
posfinite posfinite 0 posfinite 0 0 0 0 0 0
posfinite posfinite 0 posinfinite 0 0 0 0 1 0
posfinite posfinite ៥/៥ QNaN 0 0 0 1 0 0
posfinite posfinite ៥/៥ អេសអិន 0 0 1 0 0 0
posfinite posfinite 0 POSSNaN 1 0 1 0 0 0
posfinite មិនកំណត់ 0 posfinite 0 0 0 0 0 0
posfinite មិនកំណត់ 1 មិនកំណត់ 0 0 0 0 0 0
posfinite មិនកំណត់ 0 POSSNaN 0 1 1 0 0 0
មិនកំណត់ posfinite 0 posfinite 0 0 0 0 0 0
មិនកំណត់ posfinite 1 មិនកំណត់ 0 0 0 0 0 0
មិនកំណត់ posfinite 0 POSSNaN 0 1 1 0 0 0
មិនកំណត់ មិនកំណត់ 1 មិនកំណត់ 0 0 0 0 0 0
មិនកំណត់ មិនកំណត់ 1 neginfinite 0 0 0 0 0 1
មិនកំណត់ មិនកំណត់ ៥/៥ QNaN 0 0 0 1 0 0
មិនកំណត់ មិនកំណត់ ៥/៥ អេសអិន 0 0 1 0 0 0
មិនកំណត់ មិនកំណត់ 0 POSSNaN 1 0 1 0 0 0
ទិន្នន័យ ក ទិន្នន័យ ខ ចុះហត្ថលេខាប៊ីត លទ្ធផល ហូរហៀរ លំហូរក្រោម អេសអិន 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
សូន្យ សូន្យ 0 POSZERO 0 0 0 0 0 0
សូន្យ posfinite(y) 1 negfinite(y) 0 0 0 0 0 0
សូន្យ negfinite(y) 0 posfinite(y) 0 0 0 0 0 0
សូន្យ posinfinite 1 neginfinite 0 0 0 0 0 1
សូន្យ neginfinite 0 posinfinite 0 0 0 0 1 0
posfinite(y) សូន្យ 0 posfinite(y) 0 0 0 0 0 0
posfinite posinfinite 1 neginfinite 0 0 0 0 0 1
posfinite neginfinite 0 posinfinite 0 0 0 0 1 0
negfinite(y) សូន្យ 1 negfinite(y) 0 0 0 0 0 0
មិនកំណត់ posinfinite 1 neginfinite 0 0 0 0 0 1
តុ ១-៤. តារាងការពិតសម្រាប់ការដក (ត)
ទិន្នន័យ ក ទិន្នន័យ ខ ចុះហត្ថលេខាប៊ីត លទ្ធផល ហូរហៀរ លំហូរក្រោម អេសអិន QNaN PINF NINF
មិនកំណត់ neginfinite 0 posinfinite 0 0 0 0 1 0
posinfinite សូន្យ 0 posinfinite 0 0 0 0 1 0
posinfinite posfinite 0 posinfinite 0 0 0 0 1 0
posinfinite មិនកំណត់ 0 posinfinite 0 0 0 0 1 0
posinfinite posinfinite 0 POSQNaN 0 0 0 1 0 0
posinfinite neginfinite 0 posinfinite 0 0 0 0 1 0
neginfinite សូន្យ 1 neginfinite 0 0 0 0 0 1
neginfinite posfinite 1 neginfinite 0 0 0 0 0 1
neginfinite មិនកំណត់ 1 neginfinite 0 0 0 0 0 1
neginfinite posinfinite 1 neginfinite 0 0 0 0 0 1
neginfinite neginfinite 0 POSQNaN 0 0 0 1 0 0
posfinite posfinite 0 posfinite 0 0 0 0 0 0
posfinite posfinite 1 មិនកំណត់ 0 0 0 0 0 0
posfinite posfinite 0 POSSNaN 0 1 1 0 0 0
posfinite មិនកំណត់ 0 posfinite 0 0 0 0 0 0
posfinite មិនកំណត់ 0 posinfinite 0 0 0 0 1 0
posfinite មិនកំណត់ ៥/៥ QNaN 0 0 0 1 0 0
posfinite មិនកំណត់ ៥/៥ អេសអិន 0 0 1 0 0 0
posfinite មិនកំណត់ 0 POSSNaN 1 0 1 0 0 0
មិនកំណត់ posfinite 1 មិនកំណត់ 0 0 0 0 0 0
មិនកំណត់ posfinite 1 neginfinite 0 0 0 0 0 1
មិនកំណត់ posfinite ៥/៥ QNaN 0 0 0 1 0 0
មិនកំណត់ posfinite ៥/៥ អេសអិន 0 0 1 0 0 0
មិនកំណត់ posfinite 0 POSSNaN 1 0 1 0 0 0
មិនកំណត់ មិនកំណត់ 0 posfinite 0 0 0 0 0 0
មិនកំណត់ មិនកំណត់ 1 មិនកំណត់ 0 0 0 0 0 0
មិនកំណត់ មិនកំណត់ 0 POSSNaN 0 1 1 0 0 0

សំខាន់៖

  • ពួកវានៅក្នុងតារាងមុនតំណាងឱ្យលេខណាមួយ។
  • នៅក្នុងតារាងមុនបង្ហាញពីលក្ខខណ្ឌមិនខ្វល់។

តារាងការពិតសម្រាប់គុណ 
តារាងការពិតខាងក្រោមរាយបញ្ជីតម្លៃសម្រាប់ប្រតិបត្តិការគុណ។

តារាង 2-12 ។ តារាងការពិតសម្រាប់គុណ

ទិន្នន័យ ក ទិន្នន័យ ខ ចុះហត្ថលេខាប៊ីត លទ្ធផល ហូរហៀរ លំហូរក្រោម អេសអិន 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
សូន្យ សូន្យ 0 POSZERO 0 0 0 0 0 0
សូន្យ posfinite 0 POSZERO 0 0 0 0 0 0
សូន្យ មិនកំណត់ 0 POSZERO 0 0 0 0 0 0
សូន្យ posinfinite 0 POSQNaN 0 0 0 1 0 0
សូន្យ neginfinite 0 POSQNaN 0 0 0 1 0 0
តុ ១-៤. តារាងការពិតសម្រាប់គុណ (ត)
ទិន្នន័យ ក ទិន្នន័យ ខ ចុះហត្ថលេខាប៊ីត លទ្ធផល ហូរហៀរ លំហូរក្រោម អេសអិន QNaN PINF NINF
posfinite សូន្យ 0 POSZERO 0 0 0 0 0 0
posfinite posinfinite 0 posinfinite 0 0 0 0 1 0
posfinite neginfinite 1 neginfinite 0 0 0 0 0 1
មិនកំណត់ សូន្យ 0 POSZERO 0 0 0 0 0 0
មិនកំណត់ posinfinite 1 neginfinite 0 0 0 0 0 1
មិនកំណត់ neginfinite 0 posinfinite 0 0 0 0 1 0
posinfinite សូន្យ 0 POSQNaN 0 0 0 1 0 0
posinfinite posfinite 0 posinfinite 0 0 0 0 1 0
posinfinite មិនកំណត់ 1 neginfinite 0 0 0 0 0 1
posinfinite posinfinite 0 posinfinite 0 0 0 0 1 0
posinfinite neginfinite 1 neginfinite 0 0 0 0 0 1
neginfinite សូន្យ 0 POSQNaN 0 0 0 1 0 0
neginfinite posfinite 1 neginfinite 0 0 0 0 0 1
neginfinite មិនកំណត់ 0 posinfinite 0 0 0 0 1 0
neginfinite posinfinite 1 neginfinite 0 0 0 0 0 1
neginfinite neginfinite 0 posinfinite 0 0 0 0 1 0
posfinite posfinite 0 posfinite 0 0 0 0 0 0
posfinite posfinite 0 posinfinite 0 0 0 0 1 0
posfinite posfinite 0 POSQNaN 0 0 0 1 0 0
posfinite posfinite 0 POSSNaN 0 0 1 0 0 0
posfinite posfinite 0 POSSNaN 1 0 1 0 0 0
posfinite posfinite 0 POSSNaN 0 1 1 0 0 0
posfinite មិនកំណត់ 1 មិនកំណត់ 0 0 0 0 0 0
posfinite មិនកំណត់ 1 neginfinite 0 0 0 0 0 1
posfinite មិនកំណត់ 0 POSQNaN 0 0 0 1 0 0
posfinite មិនកំណត់ 0 POSSNaN 0 0 1 0 0 0
posfinite មិនកំណត់ 0 POSSNaN 1 0 1 0 0 0
posfinite មិនកំណត់ 0 POSSNaN 0 1 1 0 0 0
មិនកំណត់ posfinite 1 មិនកំណត់ 0 0 0 0 0 0
មិនកំណត់ posfinite 1 neginfinite 0 0 0 0 0 1
មិនកំណត់ posfinite 0 POSQNaN 0 0 0 1 0 0
មិនកំណត់ posfinite 0 POSSNaN 0 0 1 0 0 0
មិនកំណត់ posfinite 0 POSSNaN 1 0 1 0 0 0
មិនកំណត់ posfinite 0 POSSNaN 0 1 1 0 0 0
មិនកំណត់ មិនកំណត់ 0 posfinite 0 0 0 0 0 0
មិនកំណត់ មិនកំណត់ 0 posinfinite 0 0 0 0 1 0
មិនកំណត់ មិនកំណត់ 0 POSQNaN 0 0 0 1 0 0
មិនកំណត់ មិនកំណត់ 0 POSQNaN 0 0 1 0 0 0
មិនកំណត់ មិនកំណត់ 0 POSQNaN 1 0 1 0 0 0
មិនកំណត់ មិនកំណត់ 0 POSQNaN 0 1 1 0 0 0

សំខាន់៖

Sign Bit '0' កំណត់លទ្ធផលវិជ្ជមាន ហើយ '1' កំណត់លទ្ធផលអវិជ្ជមាន។
x ក្នុងតារាងមុនតំណាងឱ្យលក្ខខណ្ឌមិនខ្វល់។

ប៉ារ៉ាម៉ែត្រ CoreFPU និងសញ្ញាចំណុចប្រទាក់
ផ្នែកនេះពិភាក្សាអំពីប៉ារ៉ាម៉ែត្រនៅក្នុងការកំណត់ CoreFPU Configurator និងសញ្ញា I/O ។

ការកំណត់រចនាសម្ព័ន្ធប៉ារ៉ាម៉ែត្រ GUI 
មានជម្រើសកំណត់រចនាសម្ព័ន្ធមួយចំនួនដែលអនុវត្តចំពោះអង្គភាព FPU ដូចបង្ហាញក្នុងតារាងខាងក្រោម។ ប្រសិនបើការកំណត់រចនាសម្ព័ន្ធក្រៅពីលំនាំដើមត្រូវបានទាមទារ ប្រអប់កំណត់រចនាសម្ព័ន្ធត្រូវបានប្រើដើម្បីជ្រើសរើសតម្លៃសមស្របសម្រាប់ជម្រើសដែលអាចកំណត់រចនាសម្ព័ន្ធបាន។

តារាង 3-1 ។ ប៉ារ៉ាម៉ែត្រ GUI កំណត់រចនាសម្ព័ន្ធ CoreFPU 

ឈ្មោះប៉ារ៉ាម៉ែត្រ លំនាំដើម ការពិពណ៌នា
ភាពជាក់លាក់ នៅលីវ ជ្រើសរើសប្រតិបត្តិការតាមតម្រូវការ៖

ភាពជាក់លាក់តែមួយ
ភាពជាក់លាក់ទ្វេដង

ប្រភេទការបម្លែង ចំណុចថេរទៅការបំប្លែងចំណុចអណ្តែត ជ្រើសរើសប្រតិបត្តិការតាមតម្រូវការ៖
  • ចំណុចថេរទៅការបំប្លែងចំណុចអណ្តែត
  • ចំណុចអណ្តែតទៅការបំប្លែងចំណុចថេរ
  • ការបន្ថែមចំណុចអណ្តែត
  • ដកចំណុចអណ្តែត
  • គុណចំណុចអណ្តែត
ទទឹងប្រភាគបញ្ចូល1 15 កំណត់រចនាសម្ព័ន្ធចំណុចប្រភាគនៅក្នុងសញ្ញាបញ្ចូល ain និង bin

ជួរដែលមានសុពលភាពគឺ 31–1

ទទឹងប្រភាគលទ្ធផល2 15 កំណត់រចនាសម្ព័ន្ធចំនុចប្រភាគនៅក្នុងសញ្ញា Output aout

ជួរដែលមានសុពលភាពគឺ 51–1

សំខាន់៖

  1. ប៉ារ៉ាម៉ែត្រនេះអាចកំណត់រចនាសម្ព័ន្ធបានតែក្នុងអំឡុងពេលការបំប្លែងចំណុចថេរទៅជាចំណុចអណ្តែតទឹក។
  2. ប៉ារ៉ាម៉ែត្រនេះអាចកំណត់រចនាសម្ព័ន្ធបានតែក្នុងអំឡុងពេលការបំប្លែងចំណុចអណ្តែតទៅចំណុចថេរប៉ុណ្ណោះ។

សញ្ញាបញ្ចូល និងបញ្ចេញ (សួរសំណួរ)
តារាងខាងក្រោមរាយបញ្ជីសញ្ញាច្រកបញ្ចូល និងទិន្នផលរបស់ CoreFPU ។

តារាង 3-2 ។ ការពិពណ៌នាច្រក 

ឈ្មោះសញ្ញា ទទឹង ប្រភេទ ការពិពណ៌នា
clk 1 បញ្ចូល នាឡិកាប្រព័ន្ធសំខាន់
rstn 1 បញ្ចូល កំណត់ឡើងវិញអសមកាលទាបសកម្ម-ទាប
di_valid 1 បញ្ចូល ការបញ្ចូលសកម្មខ្ពស់ត្រឹមត្រូវ។

សញ្ញានេះបង្ហាញថាទិន្នន័យដែលមាននៅលើ ain[31:0], ain[63:0] និង bin[31:0], bin[63:0] គឺត្រឹមត្រូវ។

អាអ៊ីន ៥/៥ បញ្ចូល ឡានក្រុងបញ្ចូល (វាប្រើសម្រាប់ប្រតិបត្តិការទាំងអស់)
ធុង1 ៥/៥ បញ្ចូល B Input Bus (វា​ត្រូវ​បាន​ប្រើ​សម្រាប់​ប្រតិបត្តិការ​នព្វន្ធ​ប៉ុណ្ណោះ)
ចេញ2 ៥/៥ ទិន្នផល តម្លៃលទ្ធផលនៅពេលជួសជុលទៅចំណុចអណ្តែត ឬអណ្តែតលើប្រតិបត្តិការបម្លែងចំណុចថេរត្រូវបានជ្រើសរើស។
pout1 ៥/៥ ទិន្នផល តម្លៃលទ្ធផលនៅពេលដែលការបូក ដក ឬគុណត្រូវបានជ្រើសរើស។
តុ ១-៤. ការពិពណ៌នាច្រក (ត)
ឈ្មោះសញ្ញា ទទឹង ប្រភេទ ការពិពណ៌នា
do_valid 1 ទិន្នផល សញ្ញាសកម្ម - ខ្ពស់។

សញ្ញានេះបង្ហាញថាទិន្នន័យដែលមាននៅលើ pout/aout data bus គឺត្រឹមត្រូវ។

ovfl_fg3 1 ទិន្នផល សញ្ញាសកម្ម - ខ្ពស់។

សញ្ញានេះបង្ហាញពីការហៀរកំឡុងពេលប្រតិបត្តិការអណ្តែតទឹក។

unfl_fg 1 ទិន្នផល សញ្ញាសកម្ម - ខ្ពស់។

សញ្ញានេះបង្ហាញពីលំហូរក្រោមកំឡុងប្រតិបត្តិការចំណុចអណ្តែត។

qnan_fg3 1 ទិន្នផល សញ្ញាសកម្ម - ខ្ពស់។

សញ្ញានេះបង្ហាញពី Quiet Not a Number (QNaN) កំឡុងពេលប្រតិបត្តិការអណ្តែតទឹក។

snan_fg 1 ទិន្នផល សញ្ញាសកម្ម - ខ្ពស់។

សញ្ញានេះបង្ហាញពី Signaling Not-a-Number (SnaN) កំឡុងពេលប្រតិបត្តិការចំណុចអណ្តែតទឹក។

pinf_fg3 1 ទិន្នផល សញ្ញាសកម្ម - ខ្ពស់។

សញ្ញា​នេះ​បង្ហាញ​ពី​ភាព​គ្មាន​ដែន​កំណត់​វិជ្ជមាន​អំឡុង​ពេល​ប្រតិបត្តិការ​ចំណុច​អណ្តែត​ទឹក។

ninf_fg 1 ទិន្នផល សញ្ញាសកម្ម - ខ្ពស់។

សញ្ញា​នេះ​បង្ហាញ​ពី​ភាព​គ្មាន​ដែន​កំណត់​អវិជ្ជមាន​កំឡុង​ពេល​ប្រតិបត្តិការ​ចំណុច​អណ្តែត​ទឹក។

សំខាន់៖

  1. ច្រកនេះអាចប្រើបានសម្រាប់តែប្រតិបត្តិការបូក ដក ឬគុណ។
  2. ច្រកនេះអាចប្រើបានសម្រាប់តែប្រតិបត្តិការបំប្លែងចំណុចថេរទៅចំណុចអណ្តែតទឹក និងចំណុចអណ្តែតទឹកទៅប្រតិបត្តិការបំប្លែងចំណុចថេរប៉ុណ្ណោះ។
  3. ច្រកនេះអាចប្រើបានសម្រាប់ចំណុចអណ្តែតទៅចំណុចថេរ ការបន្ថែមចំណុចអណ្តែត ការដកចំណុចអណ្តែតទឹក និងការគុណចំណុចអណ្តែត។

ការអនុវត្ត CoreFPU នៅក្នុង Libero Design Suite

ផ្នែកនេះពិពណ៌នាអំពីការអនុវត្ត CoreFPU នៅក្នុង Libero Design Suite ។

SmartDesign 

CoreFPU អាចទាញយកបាននៅក្នុងកាតាឡុក Libero IP តាមរយៈ web ឃ្លាំង។ នៅពេលដែលវាត្រូវបានរាយក្នុងកាតាឡុក ស្នូលត្រូវបានភ្លាមៗដោយប្រើលំហូរ SmartDesign ។ សម្រាប់ព័ត៌មានស្តីពីការប្រើប្រាស់ SmartDesign ដើម្បីកំណត់រចនាសម្ព័ន្ធ ភ្ជាប់ និងបង្កើតស្នូល សូមមើល Libero SoC ជំនួយតាមអ៊ីនធឺណិត។
បន្ទាប់ពីកំណត់រចនាសម្ព័ន្ធ និងបង្កើត core instance មុខងារជាមូលដ្ឋានត្រូវបានក្លែងធ្វើដោយប្រើ testbench ដែលផ្គត់ផ្គង់ជាមួយ CoreFPU ។ ប៉ារ៉ាម៉ែត្រ testbench លៃតម្រូវដោយស្វ័យប្រវត្តិទៅនឹងការកំណត់រចនាសម្ព័ន្ធ CoreFPU ។ CoreFPU ត្រូវបានដាក់ឱ្យដំណើរការភ្លាមៗជាធាតុផ្សំនៃការរចនាធំជាង។
រូបភាពទី 4-1 ។ SmartDesign CoreFPU Instance សម្រាប់ប្រតិបត្តិការនព្វន្ធ

MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (5)រូបភាពទី 4-2 ។ SmartDesign CoreFPU Instance សម្រាប់ប្រតិបត្តិការបំប្លែង MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (6)

 

ការបំប្លែងចំណុចអណ្តែតអណ្តែត
កំឡុងពេលការបំប្លែងចំណុចថេរទៅចំណុចអណ្តែត ទទឹងប្រភាគបញ្ចូលអាចកំណត់រចនាសម្ព័ន្ធបាន។ ទទឹងលទ្ធផលត្រូវបានកំណត់ទៅ 32 ប៊ីតសម្រាប់ភាពជាក់លាក់តែមួយ និង 64 ប៊ីតសម្រាប់ចំណុចអណ្តែតទឹកភាពជាក់លាក់ទ្វេដងតាមលំនាំដើម។
ដើម្បីបំប្លែងពីចំណុចថេរទៅចំណុចអណ្តែតទឹក សូមជ្រើសរើសប្រភេទការបំប្លែងចំណុចថេរទៅអណ្តែតទឹក ដូចបង្ហាញក្នុងរូបខាងក្រោម។

MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (7)ចំណុចអណ្តែតទៅចំណុចថេរ 
កំឡុងពេលការបំប្លែងចំណុចអណ្តែតទឹកទៅជាចំណុចថេរ ទទឹងប្រភាគលទ្ធផលគឺអាចកំណត់រចនាសម្ព័ន្ធបាន ហើយទទឹងបញ្ចូលត្រូវបានកំណត់ទៅ 32 ប៊ីតសម្រាប់ភាពជាក់លាក់តែមួយ និង 64 ប៊ីតសម្រាប់ចំណុចអណ្តែតទឹកភាពជាក់លាក់ទ្វេដងតាមលំនាំដើម។
ដើម្បីបំប្លែងពីចំណុចអណ្តែតទឹកទៅចំណុចថេរ សូមជ្រើសរើសចំណុចអណ្តែតទឹកទៅជាប្រភេទការបំប្លែងថេរ ដូចបង្ហាញក្នុងរូបខាងក្រោម។
រូបភាពទី 4-4 ។ CoreFPU កំណត់រចនាសម្ព័ន្ធសម្រាប់ចំណុចអណ្តែតដើម្បីជួសជុល MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (8)ការបូក/ដក/គុណ-ចំណុចអណ្តែត
កំឡុងពេលប្រតិបត្តិការបូក ដក និងគុណ ទទឹងប្រភាគបញ្ចូល និងទទឹងប្រភាគលទ្ធផលមិនអាចកំណត់រចនាសម្ព័ន្ធបានទេ ដោយសារទាំងនេះជាប្រតិបត្តិការនព្វន្ធចំណុចអណ្តែត ហើយទទឹងបញ្ចូល/ទិន្នផលត្រូវបានកំណត់ទៅជាភាពជាក់លាក់តែមួយ 32 ប៊ីត និង 64 ប៊ីតសម្រាប់ចំណុចអណ្តែតដែលមានភាពជាក់លាក់ពីរដងតាមលំនាំដើម។
តួលេខខាងក្រោមបង្ហាញពីការកំណត់រចនាសម្ព័ន្ធ CoreFPU សម្រាប់ប្រតិបត្តិការដកចំណុចអណ្តែត។

រូបភាពទី 4-5 ។ CoreFPU កំណត់រចនាសម្ព័ន្ធសម្រាប់ការដកចំណុចអណ្តែតMICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (9)ការក្លែងធ្វើ (សួរសំណួរ)
ដើម្បីដំណើរការការក្លែងធ្វើ នៅក្នុងបង្អួចកំណត់រចនាសម្ព័ន្ធស្នូល សូមជ្រើសរើស User Testbench ។ បន្ទាប់ពីបង្កើត CoreFPU រួចហើយ ភាសាការពិពណ៌នាផ្នែករឹង (HDL) testbench មុនសំយោគ files ត្រូវបានដំឡើងនៅក្នុង Libero ។

ទម្រង់រលកក្លែងធ្វើ (សួរសំណួរ)
ផ្នែកនេះពិភាក្សាអំពីទម្រង់រលកក្លែងធ្វើសម្រាប់ CoreFPU ។
តួលេខខាងក្រោមបង្ហាញពីទម្រង់រលកនៃការបំប្លែងចំណុចថេរទៅជាចំណុចអណ្តែតសម្រាប់ទាំង 32 ប៊ីត និង 64 ប៊ីត។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)

ការរួមបញ្ចូលប្រព័ន្ធ
តួលេខខាងក្រោមបង្ហាញពីអតីតample នៃការប្រើប្រាស់ស្នូល។ នៅក្នុងនេះ អតីតampដូច្នេះ ការរចនា UART ត្រូវបានប្រើជាបណ្តាញទំនាក់ទំនងរវាងការរចនា និងម៉ាស៊ីនកុំព្យូទ័រ។ សញ្ញា ain និង bin (នីមួយៗនៃទទឹង 32 ប៊ីត ឬ 64 ប៊ីត) គឺជាការបញ្ចូលទៅក្នុងការរចនាពី UART ។ បន្ទាប់ពី CoreFPU ទទួលបានសញ្ញា di_valid វាគណនាលទ្ធផល។ បន្ទាប់ពីគណនាលទ្ធផល សញ្ញា do_valid ឡើងខ្ពស់ ហើយរក្សាទុកលទ្ធផល (aout/pout data) នៅក្នុង output buffer។ នីតិវិធីដូចគ្នានេះអាចអនុវត្តបានសម្រាប់ប្រតិបត្តិការបំប្លែង និងនព្វន្ធ។ សម្រាប់ប្រតិបត្តិការបំប្លែង មានតែការបញ្ចូល ain គឺគ្រប់គ្រាន់ ចំណែកឯសម្រាប់ប្រតិបត្តិការនព្វន្ធ ទាំងការបញ្ចូល ain និង bin ត្រូវបានទាមទារ។ ទិន្នផល aout ត្រូវបានបើកសម្រាប់ប្រតិបត្តិការបំប្លែង ហើយច្រក pout ត្រូវបានបើកសម្រាប់ប្រតិបត្តិការនព្វន្ធ។
រូបភាព 4-16 ។ ឧampប្រព័ន្ធ CoreFPU

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

 

  1. សំយោគ (សួរសំណួរ)
    ដើម្បីដំណើរការការសំយោគនៅលើ CoreFPU កំណត់ឫសនៃការរចនាទៅឧទាហរណ៍សមាសភាគ IP ហើយពីបន្ទះលំហូរការរចនា Libero ដំណើរការឧបករណ៍សំយោគ។
    ទីកន្លែង និងផ្លូវ (សួរសំណួរ)
    បន្ទាប់ពីការរចនាត្រូវបានសំយោគ សូមដំណើរការឧបករណ៍ Place-and-Route ។ CoreFPU មិនត្រូវការការកំណត់ទីកន្លែង និងផ្លូវពិសេសទេ។
  2. User Testbench (សួរសំណួរ)
    កៅអីសាកល្បងអ្នកប្រើប្រាស់ត្រូវបានផ្តល់ជូនជាមួយនឹងការចេញផ្សាយ IP របស់ CoreFPU ។ ដោយប្រើ testbench នេះ អ្នកអាចផ្ទៀងផ្ទាត់ឥរិយាបថមុខងាររបស់ CoreFPU ។

ដ្យាក្រាមប្លុកសាមញ្ញនៃ testbench អ្នកប្រើប្រាស់ត្រូវបានបង្ហាញក្នុងរូបខាងក្រោម។ កៅអីសាកល្បងអ្នកប្រើប្រាស់ធ្វើឱ្យការរចនា CoreFPU ដែលបានកំណត់រចនាសម្ព័ន្ធភ្លាមៗ (UUT) និងរួមបញ្ចូលឧបករណ៍បង្កើតទិន្នន័យតេស្តអាកប្បកិរិយា នាឡិកាចាំបាច់ និងសញ្ញាកំណត់ឡើងវិញ។
រូបភាពទី 4-17 ។ CoreFPU User Testbench

MICROCHIP-CoreFPU-Cor-Floating-Point-Unit- (15)សំខាន់៖ អ្នកត្រូវតែត្រួតពិនិត្យសញ្ញាទិន្នផលនៅក្នុង ModelSim simulator សូមមើលផ្នែក Simulation ។

ឯកសារយោងបន្ថែម (សួរសំណួរ)
ផ្នែកនេះផ្តល់នូវបញ្ជីសម្រាប់ព័ត៌មានបន្ថែម។
សម្រាប់បច្ចុប្បន្នភាព និងព័ត៌មានបន្ថែមអំពីកម្មវិធី ឧបករណ៍ និងផ្នែករឹង សូមចូលទៅកាន់គេហទំព័រ

ទំព័រកម្មសិទ្ធិបញ្ញានៅលើ Microchip FPGAs និង PLDs webគេហទំព័រ។

  1. បញ្ហាដែលគេស្គាល់ និងដំណោះស្រាយ (សួរសំណួរ)
    មិនមានបញ្ហាដែលគេស្គាល់ និងដំណោះស្រាយសម្រាប់ CoreFPU v3.0.
  2. មុខងារ និងឧបករណ៍ដែលឈប់ប្រើ (សួរសំណួរ)
    មិនមានលក្ខណៈពិសេស និងឧបករណ៍ដែលត្រូវបានបញ្ឈប់ជាមួយនឹងការចេញផ្សាយ IP នេះទេ។

សទ្ទានុក្រម

ខាងក្រោមនេះគឺជាបញ្ជីពាក្យ និងនិយមន័យដែលប្រើក្នុងឯកសារ។
តារាង 6-1 ។ លក្ខខណ្ឌ និងនិយមន័យ

រយៈពេល និយមន័យ
FPU អង្គភាពចំណុចអណ្តែត
FP បន្ថែម ការបន្ថែមចំណុចអណ្តែត
FP SUB ការដកចំណុចអណ្តែត
FP ច្រើន គុណចំណុចអណ្តែត

បញ្ហាដែលបានដោះស្រាយ 
តារាងខាងក្រោមរាយបញ្ជីបញ្ហាដែលបានដោះស្រាយទាំងអស់សម្រាប់ការចេញផ្សាយ CoreFPU ផ្សេងៗ។

តារាង 7-1 ។ បញ្ហាដែលបានដោះស្រាយ

ចេញផ្សាយ ការពិពណ៌នា
3.0 ខាងក្រោមនេះគឺជាបញ្ជីនៃបញ្ហាដែលបានដោះស្រាយទាំងអស់នៅក្នុងការចេញផ្សាយ v3.0៖

លេខសំណុំរឿង៖ 01420387 និង 01422128

បានបន្ថែមតក្កវិជ្ជាគ្រោងការណ៍បង្គត់ (បង្គត់ទៅលេខគូដែលនៅជិតបំផុត)។

2.1 ខាងក្រោមនេះគឺជាបញ្ជីនៃបញ្ហាដែលបានដោះស្រាយទាំងអស់នៅក្នុងការចេញផ្សាយ v2.1៖
ការរចនាជួបប្រទះបញ្ហាដោយសារតែវត្តមាននៃម៉ូឌុលស្ទួននៅពេលដែលស្នូលច្រើនត្រូវបានដំណើរការភ្លាមៗ។
ការផ្លាស់ប្តូរឈ្មោះ CoreFPU IP instance បណ្តាលឱ្យមានកំហុស "ម៉ូឌុលមិនបានកំណត់" ។
1.0 ការចេញផ្សាយដំបូង

ការប្រើប្រាស់ធនធានឧបករណ៍ និងការអនុវត្ត

ម៉ាក្រូ CoreFPU ត្រូវបានអនុវត្តនៅក្នុងគ្រួសារដែលបានរាយក្នុងតារាងខាងក្រោម។
តារាង 8-1 ។ ការប្រើប្រាស់ឧបករណ៍អង្គភាព FPU PolarFire សម្រាប់ 32 ប៊ីត

ធនធាន FPGA ការប្រើប្រាស់
គ្រួសារ 4LUT DFF សរុប ប្លុកគណិតវិទ្យា ឧបករណ៍ ភេនសិនtage ការសម្តែង ភាពយឺតយ៉ាវ
ចំណុចថេរទៅចំណុចអណ្តែត
PolarFire® 260 104 364 0 MPF300T 0.12 310 MHz 3
ចំណុចអណ្តែតទៅចំណុចថេរ
PolarFire 591 102 693 0 MPF300T 0.23 160 MHz 3
ការបន្ថែមចំណុចអណ្តែត
PolarFire 1575 1551 3126 0 MPF300T 1.06 340 MHz 16
ការដកចំណុចអណ្តែត
PolarFire 1561 1549 3110 0 MPF300T 1.04 345 MHz 16
គុណចំណុចអណ្តែត
PolarFire 465 847 1312 4 MPF300T 0.44 385 MHz 14
ធនធាន FPGA ការប្រើប្រាស់
គ្រួសារ 4LUT DFF សរុប ប្លុកគណិតវិទ្យា ឧបករណ៍ ភេនសិនtage ការសម្តែង ភាពយឺតយ៉ាវ
ចំណុចថេរទៅចំណុចអណ្តែត
RTG4™ 264 104 368 0 RT4G150 0.24 160 MHz 3
ចំណុចអណ្តែតទៅចំណុចថេរ
RTG4 439 112 551 0 RT4G150 0.36 105 MHz 3
ការបន្ថែមចំណុចអណ្តែត
RTG4 1733 1551 3284 0 RT4G150 1.16 195 MHz 16
ការដកចំណុចអណ្តែត
RTG4 1729 1549 3258 0 RT4G150 1.16 190 MHz 16
គុណចំណុចអណ្តែត
RTG4 468 847 1315 4 RT4G150 0.87 175 MHz 14
ធនធាន FPGA ការប្រើប្រាស់
គ្រួសារ 4LUT DFF សរុប ប្លុកគណិតវិទ្យា ឧបករណ៍ ភេនសិនtage ការសម្តែង ភាពយឺតយ៉ាវ
ចំណុចថេរទៅចំណុចអណ្តែត
PolarFire® 638 201 849 0 MPF300T 0.28 305 MHz 3
ចំណុចអណ្តែតទៅចំណុចថេរ
PolarFire 2442 203 2645 0 MPF300T 0.89 110 MHz 3
ការបន្ថែមចំណុចអណ្តែត
PolarFire 5144 4028 9172 0 MPF300T 3.06 240 MHz 16
ការដកចំណុចអណ្តែត
PolarFire 5153 4026 9179 0 MPF300T 3.06 250 MHz 16
គុណចំណុចអណ្តែត
PolarFire 1161 3818 4979 16 MPF300T 1.66 340 MHz 27
ធនធាន FPGA ការប្រើប្រាស់
គ្រួសារ 4LUT DFF សរុប ប្លុកគណិតវិទ្យា ឧបករណ៍ ភេនសិនtage ការសម្តែង ភាពយឺតយ៉ាវ
ចំណុចថេរទៅចំណុចអណ្តែត
RTG4™ 621 201 822 0 RT4G150 0.54 140 MHz 3
ចំណុចអណ្តែតទៅចំណុចថេរ
RTG4 1114 203 1215 0 RT4G150 0.86 75 MHz 3
ការបន្ថែមចំណុចអណ្តែត
RTG4 4941 4028 8969 0 RT4G150 5.9 140 MHz 16
ការដកចំណុចអណ្តែត
RTG4 5190 4026 9216 0 RT4G150 6.07 130 MHz 16
គុណចំណុចអណ្តែត
RTG4 1165 3818 4983 16 RT4G150 3.28 170 MHz 27

សំខាន់៖ ដើម្បី​បង្កើន​ប្រេកង់ សូម​ជ្រើស​បើក​ជម្រើស​ការ​ពន្យាពេល​ក្នុង​ការ​កំណត់​ការ​សំយោគ។

ប្រវត្តិកែប្រែ

ប្រវត្តិកែប្រែពិពណ៌នាអំពីការផ្លាស់ប្តូរដែលត្រូវបានអនុវត្តនៅក្នុងឯកសារ។ ការផ្លាស់ប្តូរត្រូវបានរាយបញ្ជីដោយការកែប្រែ ដោយចាប់ផ្តើមជាមួយនឹងការបោះពុម្ពផ្សាយបច្ចុប្បន្នបំផុត។

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

ការគាំទ្រ Microchip FPGA

ក្រុមផលិតផល Microchip FPGA គាំទ្រផលិតផលរបស់ខ្លួនជាមួយនឹងសេវាកម្មគាំទ្រផ្សេងៗ រួមទាំងសេវាអតិថិជន មជ្ឈមណ្ឌលជំនួយបច្ចេកទេសអតិថិជន ក webគេហទំព័រ និងការិយាល័យលក់ទូទាំងពិភពលោក។ អតិថិជនត្រូវបានស្នើឱ្យចូលមើលធនធានលើបណ្តាញ Microchip មុនពេលទាក់ទងផ្នែកជំនួយព្រោះវាទំនងណាស់ដែលសំណួររបស់ពួកគេត្រូវបានឆ្លើយរួចហើយ។
ទាក់ទងមជ្ឈមណ្ឌលគាំទ្របច្ចេកទេសតាមរយៈ webគេហទំព័រនៅ www.microchip.com/support. រៀបរាប់ពីលេខផ្នែកឧបករណ៍ FPGA ជ្រើសរើសប្រភេទករណីដែលសមស្រប និងការរចនាអាប់ឡូត files ខណៈពេលដែលបង្កើតករណីជំនួយបច្ចេកទេស។
ទាក់ទងផ្នែកបម្រើអតិថិជនសម្រាប់ការគាំទ្រផលិតផលដែលមិនមែនជាបច្ចេកទេស ដូចជាតម្លៃផលិតផល ការធ្វើឱ្យប្រសើរផលិតផល ព័ត៌មានបច្ចុប្បន្នភាព ស្ថានភាពការបញ្ជាទិញ និងការអនុញ្ញាត។

  • ពីអាមេរិកខាងជើង ទូរស័ព្ទទៅលេខ 800.262.1060
  • ពីជុំវិញពិភពលោក ទូរស័ព្ទទៅលេខ 650.318.4460
  • ទូរសារ ពីគ្រប់ទិសទីក្នុងពិភពលោក 650.318.8044

ព័ត៌មានមីក្រូឈីប

ពាណិជ្ជសញ្ញា
ឈ្មោះ និងស្លាកសញ្ញា "Microchip" និមិត្តសញ្ញា "M" និងឈ្មោះផ្សេងទៀត និមិត្តសញ្ញា និងម៉ាកនានាត្រូវបានចុះបញ្ជី និងមិនបានចុះបញ្ជីពាណិជ្ជសញ្ញានៃក្រុមហ៊ុន Microchip Technology Incorporated ឬសាខា និង/ឬក្រុមហ៊ុនបុត្រសម្ព័ន្ធរបស់ខ្លួននៅសហរដ្ឋអាមេរិក និង/ឬប្រទេសផ្សេងទៀត ("Microchip ពាណិជ្ជសញ្ញា”)។ ព័ត៌មានទាក់ទងនឹងពាណិជ្ជសញ្ញា Microchip អាចរកបាននៅ https://www.microchip.com/en-us/about/legal-information/microchip-trademarks
ISBN: 979-8-3371-0947-3

សេចក្តីជូនដំណឹងផ្លូវច្បាប់
ការបោះពុម្ពផ្សាយនេះ និងព័ត៌មាននៅទីនេះអាចត្រូវបានប្រើប្រាស់តែជាមួយផលិតផល Microchip ប៉ុណ្ណោះ រួមទាំងការរចនា សាកល្បង និងរួមបញ្ចូលផលិតផល Microchip ជាមួយកម្មវិធីរបស់អ្នក។ ការប្រើប្រាស់ព័ត៌មាននេះក្នុងលក្ខណៈផ្សេងទៀតបំពានលក្ខខណ្ឌទាំងនេះ។ ព័ត៌មានទាក់ទងនឹងកម្មវិធីឧបករណ៍ត្រូវបានផ្តល់ជូនសម្រាប់ភាពងាយស្រួលរបស់អ្នកប៉ុណ្ណោះ ហើយអាចត្រូវបានជំនួសដោយការអាប់ដេត។ វាជាទំនួលខុសត្រូវរបស់អ្នកក្នុងការធានាថាកម្មវិធីរបស់អ្នកត្រូវនឹងលក្ខណៈជាក់លាក់របស់អ្នក។ ទាក់ទងការិយាល័យលក់ Microchip ក្នុងតំបន់របស់អ្នកសម្រាប់ការគាំទ្របន្ថែម ឬ ទទួលបានជំនួយបន្ថែមនៅ www.microchip.com/en-us/support/design-help/client-support-services

ព័ត៌មាននេះត្រូវបានផ្តល់ដោយមីក្រូឈីប “ដូចដែល”។ មីក្រូឈីបមិនតំណាងឱ្យ ឬការធានានៃប្រភេទណាមួយឡើយ ទោះជាបញ្ជាក់ ឬបង្កប់ន័យ សរសេរ ឬផ្ទាល់មាត់ លក្ខន្តិកៈ ឬបើមិនដូច្នេះទេ ពាក់ព័ន្ធនឹងព័ត៌មានដែលរួមបញ្ចូល ប៉ុន្តែមិនកំណត់ចំពោះពេលវេលា ការ​មិន​បំពាន​លើ​ការ​លក់​ដូរ និង​ភាព​សម​ស្រប​សម្រាប់​គោល​បំណង​ពិសេស ឬ​ការ​ធានា​ទាក់​ទង​នឹង​លក្ខខណ្ឌ គុណភាព ឬ​ប្រតិបត្តិការ​របស់​វា។

នៅក្នុងករណីគ្មានមីក្រូឈីបនឹងទទួលខុសត្រូវចំពោះការខូចខាតដោយអចេតនា ពិសេស ការដាក់ទណ្ឌកម្ម ឧប្បត្តិហេតុ ឬជាផលវិបាកនៃការបាត់បង់ ការខូចខាត ថ្លៃដើម ឬការចំណាយនៃប្រភេទណាមួយដែលទាក់ទងនឹងការប្រើប្រាស់ ឬស្ថានភាពប្រែប្រួល មីក្រូឈីបត្រូវបានណែនាំពីលទ្ធភាព ឬការខូចខាតគឺអាចមើលបាន ក្នុងវិសាលភាពពេញលេញបំផុតដែលច្បាប់អនុញ្ញាត ការទទួលខុសត្រូវសរុបរបស់មីក្រូឈីប លើការទាមទារទាំងអស់ តាមរបៀបណាក៏ដោយ ដែលទាក់ទងនឹងព័ត៌មាន ឬការប្រើប្រាស់របស់វា នឹងមិនលើសពីចំនួននៃថ្លៃសេវានោះទេ ប្រសិនបើមាន ដែលអ្នកមាន ព័ត៌មាន។

ការប្រើប្រាស់ឧបករណ៍ Microchip នៅក្នុងកម្មវិធីជំនួយអាយុជីវិត និង/ឬកម្មវិធីសុវត្ថិភាពគឺស្ថិតក្នុងហានិភ័យរបស់អ្នកទិញទាំងស្រុង ហើយអ្នកទិញយល់ព្រមការពារ ទូទាត់សំណង និងកាន់ Microchip ដែលគ្មានគ្រោះថ្នាក់ពីការខូចខាត ការទាមទារ ការប្តឹងផ្តល់ ឬការចំណាយដែលបណ្តាលមកពីការប្រើប្រាស់បែបនេះ។ គ្មានអាជ្ញាប័ណ្ណណាមួយត្រូវបានបញ្ជូនដោយប្រយោល ឬបើមិនដូច្នេះទេ នៅក្រោមកម្មសិទ្ធិបញ្ញារបស់ Microchip ណាមួយ លើកលែងតែមានចែងផ្សេងពីនេះ។

មុខងារការពារលេខកូដឧបករណ៍មីក្រូឈីប
ចំណាំព័ត៌មានលម្អិតខាងក្រោមនៃមុខងារការពារកូដនៅលើផលិតផល Microchip៖

  • ផលិតផល Microchip បំពេញតាមលក្ខណៈជាក់លាក់ដែលមាននៅក្នុងសន្លឹកទិន្នន័យ Microchip ជាក់លាក់របស់ពួកគេ។
  • Microchip ជឿជាក់ថាផលិតផលគ្រួសាររបស់វាមានសុវត្ថិភាពនៅពេលប្រើក្នុងលក្ខណៈដែលបានគ្រោងទុក ក្នុងលក្ខណៈប្រតិបត្តិការ និងក្រោមលក្ខខណ្ឌធម្មតា។
  • Microchip ផ្តល់តម្លៃ និងការពារយ៉ាងចាស់ដៃនូវសិទ្ធិកម្មសិទ្ធិបញ្ញារបស់វា។ ការប៉ុនប៉ងរំលោភលើមុខងារការពារកូដនៃផលិតផល Microchip ត្រូវបានហាមឃាត់យ៉ាងតឹងរ៉ឹង ហើយអាចបំពានច្បាប់រក្សាសិទ្ធិសហស្សវត្សរ៍ឌីជីថល។
  • ទាំង Microchip ឬក្រុមហ៊ុនផលិត semiconductor ផ្សេងទៀតមិនអាចធានាសុវត្ថិភាពនៃកូដរបស់វាបានទេ។ ការការពារលេខកូដមិនមានន័យថាយើងកំពុងធានាថាផលិតផល "មិនអាចបំបែកបាន" នោះទេ។ ការការពារលេខកូដកំពុងវិវត្តឥតឈប់ឈរ។ មីក្រូឈីបបានប្តេជ្ញាចិត្តក្នុងការធ្វើឱ្យប្រសើរឡើងជាបន្តបន្ទាប់នូវមុខងារការពារកូដនៃផលិតផលរបស់យើង។

ឯកសារ/ធនធាន

អង្គភាពចំណុចអណ្តែតស្នូល MICROCHIP CoreFPU [pdf] ការណែនាំអ្នកប្រើប្រាស់
v3.0, v2.1, v2.0, v1.0, អង្គភាពចំណុចអណ្តែតស្នូល CoreFPU, អង្គភាពចំណុចអណ្តែតស្នូល, អង្គភាពចំណុចអណ្តែត, ឯកតាចំណុច

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *