МИКРОЧИП -лого

MICROCHIP CoreFPU јединица за рад са покретним зарезом

MICROCHIP-CoreFPU-Cor-Floating-Poez-Unit-produxt

 

Увод 

  • Једна јединица за бројеве са покретним зарезом (CoreFPU) је дизајнирана за аритметичке операције са покретним зарезом и конверзијске операције, за бројеве са покретним зарезом једноструке и двоструке прецизности. CoreFPU подржава конверзије фиксног зареза у покретни зарез и из покретног зареза у фиксни зарез, као и операције сабирања, одузимања и множења са покретним зарезом. IEEE® стандард за аритметику са покретним зарезом (IEEE 754) је технички стандард за израчунавање бројева са покретним зарезом.
  • Важно: CoreFPU подржава прорачуне само са нормализованим бројевима и подржан је само Verilog језик; VHDL није подржан.

Резиме
Следећа табела даје резиме карактеристика CoreFPU-а.

Табела 1. Карактеристике CoreFPU-а 

Цоре Версион Овај документ се односи на CoreFPU v3.0.
Подржане породице уређаја
  • ПоларФире® СоЦ
  • ПоларФире
  • РТГ4™
Подржани ток алата Захтева Либеро® СоЦ в12.6 или новија издања.
Лиценцирање CoreFPU није закључан лиценцом.
Упутство за инсталацију CoreFPU мора бити аутоматски инсталиран у IP каталог Libero SoC-а путем функције ажурирања IP каталога. Алтернативно, CoreFPU се може ручно преузети из каталога. Када је IP језгро инсталирано

инсталиран, конфигурише се, генерише и инстанцира унутар SmartDesign-а за укључивање у пројекат.

Коришћење и перформансе уређаја Резиме информација о коришћењу и перформансама за CoreFPU наведен је у одељку Коришћење и перформансе ресурса уређаја.

Информације о променама у CoreFPU-у
Овај одељак пружа свеобухватан прегледview новоинкорпорираних функција, почевши од најновијег издања. За више информација о решеним проблемима, погледајте одељак Решени проблеми.

Версион Шта је ново
в3.0 Имплементиране су додатне излазне заставице ради побољшања тачности ИП адресе
в2.1 Додата је функција двоструке прецизности
в2.0 Ажурирани су облици таласа времена
в1.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).
  • Репрезентација броја са покретним зарезом није јединствена. На примерampНа пример, број 55.66 је представљен као 5.566 × 10^1, 0.5566 × 10^2, 0.05566 × 10^3, и тако даље. Разломљени део је нормализован. У нормализованом облику, постоји само једна цифра различита од нуле испред тачке радикса. На примерampнпр. децимални број 123.4567 је нормализован као 1.234567 × 10^2; бинарни број 1010.1011B је нормализован као 1.0101011B × 2^3.
  • Важно је напоменути да бројеви са покретним зарезом пате од губитка прецизности када су представљени фиксним бројем битова (нпр.ampтј. 32-битни или 64-битни). То је зато што постоји бесконачан број реалних бројева (чак и унутар малог опсега од 0.0 до 0.1). С друге стране,
    n-битни бинарни образац представља коначан број од 2^n различитих бројева. Стога, нису представљени сви реални бројеви. Уместо тога се користи најближа апроксимација, што доводи до губитка тачности.

Број са покретним зарезом једноструке прецизности је представљен на следећи начин:

  • Знак бита: 1 бит
  • Ширина експонента: 8 бита
  • Значајна прецизност: 24 бита (23 бита се експлицитно чувају)

Слика 2-1. 32-битни оквир

MICROCHIP-CoreFPU-Cor-јединица са покретним зарезом- (2)Број са покретним зарезом двоструке прецизности је представљен на следећи начин:

  • Знак бита: 1 бит
  • Ширина експонента: 11 бита
  • Значајна прецизност: 53 бита (52 бита се експлицитно чувају)

Слика 2-2. 64-битни оквир MICROCHIP-CoreFPU-Cor-јединица са покретним зарезом- (3)CoreFPU је интеграција највишег нивоа два модула за конверзију (Fixed to Float point и Float to Fixed point) и три аритметичке операције (FP ADD, FP SUB и FP MULT). Корисник може да конфигурише било коју од операција на основу захтева тако да се ресурси користе за изабрану операцију.
Следећа слика приказује блок дијаграм CoreFPU-а највишег нивоа са портовима.

Слика 2-3. Блок дијаграм портова CoreFPU-а

MICROCHIP-CoreFPU-Cor-јединица са покретним зарезом- (4)У следећој табели је наведена ширина улазних и излазних портова. Табела 2-1. Ширина улазних и излазних портова

Сигнал Ширина једне прецизности Двострука прецизна ширина
аин [31:0] [63:0]
бин [31:0] [63:0]
напоље [31:0] [63:0]
дурење [31:0] [63:0]

Конверзија фиксног зареза у покретни зарез (конверзија)

CoreFPU конфигурисан као фиксни у покретни зарез имплицира модул за конверзију фиксног у покретни зарез. Улаз (ain) за CoreFPU је било који број фиксног зареза који садржи цео број и разломљене битове. CoreFPU конфигуратор има опције за избор ширине улазног целог броја и разломка. Улаз је важећи за сигнал di_valid, а излаз је важећи за do_valid. Излаз (aout) операције фиксног у покретни је у формату покретног зареза једноструке или двоструке прецизности.
ExampОперација конверзије фиксног зареза у покретни зарез наведена је у следећој табели.
Табела 2-2. Прample за конверзију фиксне у покретну тачку

Број са фиксном тачком Број са покретним зарезом
аин Интегер Фрацтион напоље Сигн Експонент Мантисса
0x12153524 (32-битни) 00010010000101010 011010100100100 0x4610a9a9 0 10001100 00100001010100110101001
0x0000000000008CCC

(64-битни)

0000000000000000000000000000000000000000000000001 000110011001100 0x3FF199999999999A 0 01111111111 0001100110011001100110011001100110011001100110011010

Конверзија бројева из покретног зареза у бројеве са фиксним зарезом 
CoreFPU конфигурисан као покретни у фиксни зарез имплицира модул за конверзију покретног зареза у фиксни зарез. Улаз (ain) за CoreFPU је било који број са покретним зарезом једноструке или двоструке прецизности и производи излаз (aout) у формату фиксног зареза који садржи целобројне и разломљене битове. Улаз је валидан за сигнал di_valid, а излаз је валидан за do_valid. CoreFPU конфигуратор има опције за избор ширине излаза за цео број и разломак.
ExampОперација конверзије бројева са покретним зарезом у бројеве са фиксним зарезом наведена је у следећој табели.

Табела 2-3. Прample за конверзију бројева из покретног зареза у бројеве са фиксним зарезом

Број са покретним зарезом Број са фиксном тачком
аин Сигн Експонент Мантисса напоље Интегер Фрацтион
0x41bd6783 (32-битни) 0 10000011 01111010110011110000011 0к000бд678 00000000000010111 101011001111000
0x4002094c447c30d3

(64-битни)

0 10000000000 0010000010010100110001000100011111000011000011010011 0к0000000000012095 0000000000000000000000000000000000000000000000010 010000010010101

Сабирање са покретним зарезом (аритметичка операција)
CoreFPU конфигурисан као FP ADD закључује модул за сабирање бројева са покретним зарезом. Он сабира два броја са покретним зарезом (ain и bin) и даје излаз (pout) у формату са покретним зарезом. Улаз и излаз су бројеви са покретним зарезом једноструке или двоструке прецизности. Улаз је валидан на сигнал di_valid, а излаз је валидан на сигнал do_valid. Језгро производи заставице ovfl_fg (прекорачење), qnan_fg (тихо није број), snan_fg (сигнализација није број), pinf_fg (позитивна бесконачност) и ninf_fg (негативна бесконачност) на основу операције сабирања.
ExampДатотеке за операције сабирања са покретним зарезом наведене су у следећим табелама.
Табела 2-4. Прample за операцију сабирања са покретним зарезом (32-битна)

Вредност са покретним зарезом Сигн Експонент Мантисса
Унос са покретним зарезом 1 ain (0x4e989680) 0 10011101 00110001001011010000000
Улаз са покретним зарезом, бинар 2 (0x4f191b40) 0 10011110 00110010001101101000000
Излаз сабирања са покретним зарезом pout (0x4f656680) 0 10011110 11001010110011010000000

Табела 2-5. Прample за операцију сабирања са покретним зарезом (64-битна)

Вредност са покретним зарезом Сигн Експонент Мантисса
Унос са покретним зарезом 1

ain (0x3ff4106ee30caa32)

0 01111111111 0100000100000110111011100011000011001010101000110010
Унос са покретним зарезом 2

bin (0x40020b2a78798e61)

0 10000000000 0010000010110010101001111000011110011000111001100001
Излаз сабирања са покретним зарезом pout (0x400c1361e9ffe37a) 0 10000000000 1100000100110110000111101001111111111110001101111010

Одузимање покретних тачака (аритметичка операција) 
CoreFPU конфигурисан као FP SUB закључује модул за одузимање бројева са покретним зарезом. Он одузима два броја са покретним зарезом (ain и bin) и даје излаз (pout) у формату са покретним зарезом. Улаз и излаз су бројеви са покретним зарезом једноструке или двоструке прецизности. Улаз је валидан на сигнал di_valid, а излаз је валидан на сигнал do_valid. Језгро производи заставице ovfl_fg (прекорачење), unfl_fg (подкорачење), qnan_fg (тихо није број), snan_fg (сигнализација није број), pinf_fg (позитивна бесконачност) и ninf_fg (негативна бесконачност) на основу операције одузимања.
ExampДатотеке за операције одузимања са покретним зарезом наведене су у следећим табелама.
Табела 2-6. Прample за операцију одузимања са покретним зарезом (32-битна)

Вредност са покретним зарезом Сигн Експонент Мантисса
Унос са покретним зарезом 1 ain (0xac85465f) 1 01011001 00001010100011001011111
Улаз са покретним зарезом, бинар 2 (0x2f516779) 0 01011110 10100010110011101111001
Излаз за одузимање покретног зареза pout (0xaf5591ac) 1 01011110 10101011001000110101011
Вредност са покретним зарезом Сигн Експонент Мантисса
Унос са покретним зарезом 1

аин (0x405569764adff823)

0 10000000101 0101011010010111011001001010110111111111100000100011
Унос са покретним зарезом 2

bin (0x4057d04e78dee3fc)

0 10000000101 0111110100000100111001111000110111101110001111111100
Излаз одузимања покретног зареза pout (0xc02336c16ff75ec8) 1 10000000010 0011001101101100000101101111111101110101111011001000

Множење са покретним зарезом (аритметичка операција)
CoreFPU конфигурисан као FP MULT закључује модул за множење са покретним зарезом. Он множи два броја са покретним зарезом (ain и bin) и даје излаз (pout) у формату са покретним зарезом. Улаз и излаз су бројеви са покретним зарезом једноструке или двоструке прецизности. Улаз је валидан на сигнал di_valid, а излаз је валидан на сигнал do_valid. Језгро производи заставице ovfl_fg (прекорачење), unfl_fg (подкорачење), qnan_fg (тихо није број), snan_fg (сигнализација није број), pinf_fg (позитивна бесконачност) и ninf_fg (негативна бесконачност) на основу операције множења.
ExampДатотеке за операције множења са покретним зарезом наведене су у следећим табелама.
Табела 2-8. Прample за операцију множења са покретним зарезом (32-битна)

Вредност са покретним зарезом Сигн Експонент Мантисса
Унос са покретним зарезом 1 ain (0x1ec7a735) 0 00111101 10001111010011100110101
Улаз са покретним зарезом, бинар 2 (0x6ecf15e8) 0 11011101 10011110001010111101000
Излаз множења са покретним зарезом pout (0x4e21814a) 0 10011100 01000011000000101001010
Вредност са покретним зарезом Сигн Експонент Мантисса
Унос са покретним зарезом 1

ain (0x40c1f5a9930be0df)

0 10000001100 0001111101011010100110010011000010111110000011011111
Унос са покретним зарезом 2

bin (0x400a0866c962b501)

0 10000000000 1010000010000110011011001001011000101011010100000001
Излаз множења са покретним зарезом pout (0x40dd38a1c3e2cae9) 0 10000001101 1101001110001010000111000011111000101100101011101001

 Табела истинитости за сабирање и одузимање 
Следеће табеле истинитости наводе вредности за операције сабирања и одузимања. Табела 2-10. Табела истинитости за сабирање

Podaci A Podaci B Сигн Бит Резултат Оверфлов Ундерфлов СНаН QNaN ПИНФ НИНФ
QNaN/SNaN x 0 ПОСQНаН 0 0 0 1 0 0
x QNaN/SNaN 0 ПОСQНаН 0 0 0 1 0 0
нула нула 0 ПОЗЕРО 0 0 0 0 0 0
нула позфинитно(y) 0 позфинитно(y) 0 0 0 0 0 0
нула негфинитно(y) 1 негфинитно(y) 0 0 0 0 0 0
нула позинфинитно 0 позинфинитно 0 0 0 0 1 0
нула нег-бесконачно 1 нег-бесконачно 0 0 0 0 0 1
позфинитно(y) нула 0 позфинитно(y) 0 0 0 0 0 0
позфинит позинфинитно 0 позинфинитно 0 0 0 0 1 0
Табле 2-10. Табела истинитости за сабирање (наставак)
Podaci A Podaci B Сигн Бит Резултат Оверфлов Ундерфлов СНаН QNaN ПИНФ НИНФ
позфинит нег-бесконачно 1 нег-бесконачно 0 0 0 0 0 1
негфинитно(y) нула 1 негфинитно(y) 0 0 0 0 0 0
негфинит позинфинитно 0 позинфинитно 0 0 0 0 1 0
негфинит нег-бесконачно 1 нег-бесконачно 0 0 0 0 0 1
позинфинитно нула 0 позинфинитно 0 0 0 0 1 0
позинфинитно позфинит 0 позинфинитно 0 0 0 0 1 0
позинфинитно негфинит 0 позинфинитно 0 0 0 0 1 0
позинфинитно позинфинитно 0 позинфинитно 0 0 0 0 1 0
позинфинитно нег-бесконачно 0 ПОСQНаН 0 0 0 1 0 0
нег-бесконачно нула 1 нег-бесконачно 0 0 0 0 0 1
нег-бесконачно позфинит 1 нег-бесконачно 0 0 0 0 0 1
нег-бесконачно негфинит 1 нег-бесконачно 0 0 0 0 0 1
нег-бесконачно позинфинитно 0 ПОСQНаН 0 0 0 1 0 0
нег-бесконачно нег-бесконачно 1 нег-бесконачно 0 0 0 0 0 1
позфинит позфинит 0 позфинит 0 0 0 0 0 0
позфинит позфинит 0 позинфинитно 0 0 0 0 1 0
позфинит позфинит 0/1 QNaN 0 0 0 1 0 0
позфинит позфинит 0/1 СНаН 0 0 1 0 0 0
позфинит позфинит 0 POSSNaN 1 0 1 0 0 0
позфинит негфинит 0 позфинит 0 0 0 0 0 0
позфинит негфинит 1 негфинит 0 0 0 0 0 0
позфинит негфинит 0 POSSNaN 0 1 1 0 0 0
негфинит позфинит 0 позфинит 0 0 0 0 0 0
негфинит позфинит 1 негфинит 0 0 0 0 0 0
негфинит позфинит 0 POSSNaN 0 1 1 0 0 0
негфинит негфинит 1 негфинит 0 0 0 0 0 0
негфинит негфинит 1 нег-бесконачно 0 0 0 0 0 1
негфинит негфинит 0/1 QNaN 0 0 0 1 0 0
негфинит негфинит 0/1 СНаН 0 0 1 0 0 0
негфинит негфинит 0 POSSNaN 1 0 1 0 0 0
Podaci A Podaci B Сигн Бит Резултат Оверфлов Ундерфлов СНаН QNaN ПИНФ НИНФ
QNaN/SNaN x 0 ПОСQНаН 0 0 0 1 0 0
x QNaN/SNaN 0 ПОСQНаН 0 0 0 1 0 0
нула нула 0 ПОЗЕРО 0 0 0 0 0 0
нула позфинитно(y) 1 негфинитно(y) 0 0 0 0 0 0
нула негфинитно(y) 0 позфинитно(y) 0 0 0 0 0 0
нула позинфинитно 1 нег-бесконачно 0 0 0 0 0 1
нула нег-бесконачно 0 позинфинитно 0 0 0 0 1 0
позфинитно(y) нула 0 позфинитно(y) 0 0 0 0 0 0
позфинит позинфинитно 1 нег-бесконачно 0 0 0 0 0 1
позфинит нег-бесконачно 0 позинфинитно 0 0 0 0 1 0
негфинитно(y) нула 1 негфинитно(y) 0 0 0 0 0 0
негфинит позинфинитно 1 нег-бесконачно 0 0 0 0 0 1
Табле 2-11. Табела истинитости за одузимање (наставак)
Podaci A Podaci B Сигн Бит Резултат Оверфлов Ундерфлов СНаН QNaN ПИНФ НИНФ
негфинит нег-бесконачно 0 позинфинитно 0 0 0 0 1 0
позинфинитно нула 0 позинфинитно 0 0 0 0 1 0
позинфинитно позфинит 0 позинфинитно 0 0 0 0 1 0
позинфинитно негфинит 0 позинфинитно 0 0 0 0 1 0
позинфинитно позинфинитно 0 ПОСQНаН 0 0 0 1 0 0
позинфинитно нег-бесконачно 0 позинфинитно 0 0 0 0 1 0
нег-бесконачно нула 1 нег-бесконачно 0 0 0 0 0 1
нег-бесконачно позфинит 1 нег-бесконачно 0 0 0 0 0 1
нег-бесконачно негфинит 1 нег-бесконачно 0 0 0 0 0 1
нег-бесконачно позинфинитно 1 нег-бесконачно 0 0 0 0 0 1
нег-бесконачно нег-бесконачно 0 ПОСQНаН 0 0 0 1 0 0
позфинит позфинит 0 позфинит 0 0 0 0 0 0
позфинит позфинит 1 негфинит 0 0 0 0 0 0
позфинит позфинит 0 POSSNaN 0 1 1 0 0 0
позфинит негфинит 0 позфинит 0 0 0 0 0 0
позфинит негфинит 0 позинфинитно 0 0 0 0 1 0
позфинит негфинит 0/1 QNaN 0 0 0 1 0 0
позфинит негфинит 0/1 СНаН 0 0 1 0 0 0
позфинит негфинит 0 POSSNaN 1 0 1 0 0 0
негфинит позфинит 1 негфинит 0 0 0 0 0 0
негфинит позфинит 1 нег-бесконачно 0 0 0 0 0 1
негфинит позфинит 0/1 QNaN 0 0 0 1 0 0
негфинит позфинит 0/1 СНаН 0 0 1 0 0 0
негфинит позфинит 0 POSSNaN 1 0 1 0 0 0
негфинит негфинит 0 позфинит 0 0 0 0 0 0
негфинит негфинит 1 негфинит 0 0 0 0 0 0
негфинит негфинит 0 POSSNaN 0 1 1 0 0 0

Важно:

  • У претходним табелама означавају било који број.
  • У претходним табелама означава стање „није ме брига“.

Табела истинитости за множење 
Следећа табела истинитости наводи вредности за операцију множења.

Табела 2-12. Табела истинитости за множење

Podaci A Podaci B Сигн Бит Резултат Оверфлов Ундерфлов СНаН QNaN ПИНФ НИНФ
QNaN/SNaN x 0 ПОСQНаН 0 0 0 1 0 0
x QNaN/SNaN 0 ПОСQНаН 0 0 0 1 0 0
нула нула 0 ПОЗЕРО 0 0 0 0 0 0
нула позфинит 0 ПОЗЕРО 0 0 0 0 0 0
нула негфинит 0 ПОЗЕРО 0 0 0 0 0 0
нула позинфинитно 0 ПОСQНаН 0 0 0 1 0 0
нула нег-бесконачно 0 ПОСQНаН 0 0 0 1 0 0
Табле 2-12. Табела истинитости за множење (наставак)
Podaci A Podaci B Сигн Бит Резултат Оверфлов Ундерфлов СНаН QNaN ПИНФ НИНФ
позфинит нула 0 ПОЗЕРО 0 0 0 0 0 0
позфинит позинфинитно 0 позинфинитно 0 0 0 0 1 0
позфинит нег-бесконачно 1 нег-бесконачно 0 0 0 0 0 1
негфинит нула 0 ПОЗЕРО 0 0 0 0 0 0
негфинит позинфинитно 1 нег-бесконачно 0 0 0 0 0 1
негфинит нег-бесконачно 0 позинфинитно 0 0 0 0 1 0
позинфинитно нула 0 ПОСQНаН 0 0 0 1 0 0
позинфинитно позфинит 0 позинфинитно 0 0 0 0 1 0
позинфинитно негфинит 1 нег-бесконачно 0 0 0 0 0 1
позинфинитно позинфинитно 0 позинфинитно 0 0 0 0 1 0
позинфинитно нег-бесконачно 1 нег-бесконачно 0 0 0 0 0 1
нег-бесконачно нула 0 ПОСQНаН 0 0 0 1 0 0
нег-бесконачно позфинит 1 нег-бесконачно 0 0 0 0 0 1
нег-бесконачно негфинит 0 позинфинитно 0 0 0 0 1 0
нег-бесконачно позинфинитно 1 нег-бесконачно 0 0 0 0 0 1
нег-бесконачно нег-бесконачно 0 позинфинитно 0 0 0 0 1 0
позфинит позфинит 0 позфинит 0 0 0 0 0 0
позфинит позфинит 0 позинфинитно 0 0 0 0 1 0
позфинит позфинит 0 ПОСQНаН 0 0 0 1 0 0
позфинит позфинит 0 POSSNaN 0 0 1 0 0 0
позфинит позфинит 0 POSSNaN 1 0 1 0 0 0
позфинит позфинит 0 POSSNaN 0 1 1 0 0 0
позфинит негфинит 1 негфинит 0 0 0 0 0 0
позфинит негфинит 1 нег-бесконачно 0 0 0 0 0 1
позфинит негфинит 0 ПОСQНаН 0 0 0 1 0 0
позфинит негфинит 0 POSSNaN 0 0 1 0 0 0
позфинит негфинит 0 POSSNaN 1 0 1 0 0 0
позфинит негфинит 0 POSSNaN 0 1 1 0 0 0
негфинит позфинит 1 негфинит 0 0 0 0 0 0
негфинит позфинит 1 нег-бесконачно 0 0 0 0 0 1
негфинит позфинит 0 ПОСQНаН 0 0 0 1 0 0
негфинит позфинит 0 POSSNaN 0 0 1 0 0 0
негфинит позфинит 0 POSSNaN 1 0 1 0 0 0
негфинит позфинит 0 POSSNaN 0 1 1 0 0 0
негфинит негфинит 0 позфинит 0 0 0 0 0 0
негфинит негфинит 0 позинфинитно 0 0 0 0 1 0
негфинит негфинит 0 ПОСQНаН 0 0 0 1 0 0
негфинит негфинит 0 ПОСQНаН 0 0 1 0 0 0
негфинит негфинит 0 ПОСQНаН 1 0 1 0 0 0
негфинит негфинит 0 ПОСQНаН 0 1 1 0 0 0

Важно:

Знак бита '0' дефинише позитиван излаз, а '1' негативан излаз.
Знак x у претходној табели означава стање „није ме брига“.

Параметри CoreFPU-а и интерфејсни сигнали
Овај одељак разматра параметре у подешавањима CoreFPU конфигуратора и I/O сигнале.

Конфигурациони ГУИ параметри 
Постоји низ конфигурабилних опција које се примењују на FPU јединицу, као што је приказано у следећој табели. Ако је потребна конфигурација која није подразумевана, дијалог за конфигурацију се користи за избор одговарајућих вредности за конфигурабилну опцију.

Табела 3-1. Параметри графичког корисничког интерфејса за конфигурацију CoreFPU-а 

Назив параметра Подразумевано Опис
Прецизност Сингле Изаберите операцију по потреби:

Једнострука прецизност
Двострука прецизност

Тип конверзије Конверзија фиксне у покретну тачку Изаберите операцију по потреби:
  • Конверзија фиксне у покретну тачку
  • Конверзија покретног зареза у фиксни зарез
  • Сабирање са покретним зарезом
  • Одузимање са покретним зарезом
  • Множење са покретним зарезом
Ширина уносног разломка1 15 Конфигурише разломљену тачку у улазним сигналима ain и bin

Важећи распон је 31–1

Ширина излазног разломка2 15 Конфигурише разломак тачке у излазним сигналима

Важећи распон је 51–1

Важно:

  1. Овај параметар се може конфигурисати само током конверзије из фиксне у покретну тачку.
  2. Овај параметар се може конфигурисати само током конверзије из покретног зареза у фиксни зарез.

Улазни и излазни сигнали (Поставите питање)
Следећа табела наводи улазне и излазне портове сигнала CoreFPU-а.

Табела 3-2. Опис порта 

Назив сигнала Ширина Тип Опис
цлк 1 Инпут Главни системски сат
рстн 1 Инпут Активно-ниско асинхроно ресетовање
di_valid 1 Инпут Активни висок улаз важи

Овај сигнал указује да су подаци присутни на ain[31:0], ain[63:0] и bin[31:0], bin[63:0] валидни.

аин 32/64 Инпут Улазна магистрала (користи се за све операције)
бин1 32/64 Инпут Б Улазна магистрала (користи се само за аритметичке операције)
напоље2 32/64 Излаз Излазна вредност када су изабране операције конверзије са фиксним покретним зарезом или са покретним зарезом у фиксни зарез.
дурење1 32/64 Излаз Излазна вредност када су изабране операције сабирања, одузимања или множења.
Табле 3-2. Опис порта (наставак)
Назив сигнала Ширина Тип Опис
валидно 1 Излаз Активни висок сигнал

Овај сигнал указује да су подаци присутни на pout/aout магистрали података валидни.

ovfl_fg3 1 Излаз Активни висок сигнал

Овај сигнал указује на прекорачење током операција са покретним зарезом.

unfl_fg 1 Излаз Активни висок сигнал

Овај сигнал указује на недовољан ток током операција са покретним зарезом.

qnan_fg3 1 Излаз Активни висок сигнал

Овај сигнал указује на стање „Тихо није број“ (QNaN) током операција са покретним зарезом.

снан_фг 1 Излаз Активни висок сигнал

Овај сигнал указује на сигнализацију „није број“ (SNaN) током операција са покретним зарезом.

pinf_fg3 1 Излаз Активни висок сигнал

Овај сигнал указује на позитивну бесконачност током операција са покретним зарезом.

ninf_fg 1 Излаз Активни висок сигнал

Овај сигнал указује на негативну бесконачност током операција са покретним зарезом.

Важно:

  1. Овај порт је доступан само за операције сабирања, одузимања или множења са покретним зарезом.
  2. Овај порт је доступан само за операције конверзије фиксне у покретну улицу и покретне у фиксну улицу.
  3. Овај порт је доступан за претварање покретног зареза у фиксни зарез, сабирање са покретним зарезом, одузимање са покретним зарезом и множење са покретним зарезом.

Имплементација CoreFPU-а у Libero Design Suite-у

Овај одељак описује имплементацију CoreFPU-а у Libero Design Suite-у.

СмартДесигн 

CoreFPU је доступан за преузимање у Libero IP каталогу преко web репозиторијум. Када се наведе у каталогу, језгро се инстанцира помоћу SmartDesign тока. За информације о коришћењу SmartDesign-а за конфигурисање, повезивање и генерисање језгара, погледајте онлајн помоћ за Libero SoC.
Након конфигурисања и генерисања основне инстанце, основна функционалност се симулира помоћу тестног окружења које се испоручује са CoreFPU-ом. Параметри тестног окружења се аутоматски прилагођавају конфигурацији CoreFPU-а. CoreFPU се инстанцира као компонента већег дизајна.
Слика 4-1. Инстанца SmartDesign CoreFPU-а за аритметичке операције

MICROCHIP-CoreFPU-Cor-јединица са покретним зарезом- (5)Слика 4-2. Инстанца SmartDesign CoreFPU-а за операцију конверзије MICROCHIP-CoreFPU-Cor-јединица са покретним зарезом- (6)

 

Конверзија фиксне у покретну тачку
Током конверзије фиксног зареза у покретни зарез, ширина улазног разломка је подесива. Ширина излаза је подразумевано подешена на 32 бита за покретни зарез једноструке прецизности и 64 бита за покретни зарез двоструке прецизности.
Да бисте конвертовали из фиксне у покретну тачку, изаберите тип конверзије Фиксна у покретну тачку, као што је приказано на следећој слици.

MICROCHIP-CoreFPU-Cor-јединица са покретним зарезом- (7)Покретни зарез у фиксни зарез 
Током конверзије из покретног зареза у фиксни зарез, излазна фракциона ширина је подесива, а улазна ширина је подразумевано подешена на 32-битна за покретни зарез једноструке прецизности и 64-битна за покретни зарез двоструке прецизности.
Да бисте конвертовали из покретног зареза у фиксни зарез, изаберите тип конверзије Покретни зарез у фиксни, као што је приказано на следећој слици.
Слика 4-4. CoreFPU конфигуратор за покретни зарез у фиксни MICROCHIP-CoreFPU-Cor-јединица са покретним зарезом- (8)Сабирање/одузимање/множење са покретним зарезом
Током операција сабирања, одузимања и множења са покретним зарезом, ширина улазног разломка и ширина излазног разломка нису подесиве јер су то аритметичке операције са покретним зарезом, а ширина улаза/излаза је подразумевано подешена на 32-битну једноструку прецизност и 64-битну за операције са покретним зарезом двоструке прецизности.
Следећа слика приказује CoreFPU конфигуратор за операцију одузимања са покретним зарезом.

Слика 4-5. CoreFPU конфигуратор за одузимање покретних тачакаMICROCHIP-CoreFPU-Cor-јединица са покретним зарезом- (9)Симулација (Поставите питање)
Да бисте покренули симулације, у прозору за конфигурацију језгра, изаберите Кориснички тестни бенч. Након генерисања CoreFPU-а, пресинтетски тестни бенч језик за опис хардвера (HDL). fileс су инсталирани у Либеру.

Симулација таласних облика (Поставите питање)
Овај одељак разматра симулационе таласне облике за CoreFPU.
Следеће слике приказују таласни облик конверзије фиксне у покретну тачку, како за 32-битни, тако и за 64-битни систем.MICROCHIP-CoreFPU-Cor-јединица са покретним зарезом- (10)

MICROCHIP-CoreFPU-Cor-јединица са покретним зарезом- (11) MICROCHIP-CoreFPU-Cor-јединица са покретним зарезом- (12) MICROCHIP-CoreFPU-Cor-јединица са покретним зарезом- (13)

Систем Интегратион
Следећа слика приказује екampкоришћење језгра. У овом примеруampНа пример, UART порт дизајна се користи као комуникациони канал између дизајна и рачунара. Сигнали ain и bin (сваки ширине 32 или 64 бита) су улази у дизајн из UART-а. Након што CoreFPU прими сигнал di_valid, израчунава резултат. Након израчунавања резултата, сигнал do_valid постаје висок и чува резултат (податке aout/pout) у излазном баферу. Иста процедура се примењује и на конверзију и аритметичке операције. За операције конверзије, довољан је само улаз ain, док су за аритметичке операције потребни и улази ain и bin. Излаз aout је омогућен за операције конверзије, а pout порт је омогућен за аритметичке операције.
Слика 4-16. Прample од CoreFPU система

MICROCHIP-CoreFPU-Cor-јединица са покретним зарезом- (14)

 

  1. Синтеза (Поставите питање)
    Да бисте покренули синтезу на CoreFPU-у, поставите корен дизајна на инстанцу IP компоненте и из окна тока дизајна Libero покрените алатку Синтеза.
    Место и рута (Поставите питање)
    Након што је дизајн синтетизован, покрените алатку „Постави и рутирај“. CoreFPU не захтева посебна подешавања за постављање и рутирање.
  2. Кориснички тестни бенч (Поставите питање)
    Кориснички тестни стен је обезбеђен уз издање CoreFPU IP. Користећи овај тестни стен, можете проверити функционално понашање CoreFPU-а.

Поједностављени блок дијаграм корисничког тестног окружења приказан је на следећој слици. Корисничко тестно окружење креира инстанцу конфигурисаног CoreFPU дизајна (UUT) и укључује генератор података за тестирање понашања, неопходни такт и сигнале за ресетовање.
Слика 4-17. CoreFPU кориснички тестни окружење

MICROCHIP-CoreFPU-Cor-јединица са покретним зарезом- (15)Важно: Морате пратити излазне сигнале у симулатору ModelSim, погледајте одељак Симулација.

Додатне референце (Поставите питање)
Овај одељак пружа листу додатних информација.
За ажурирања и додатне информације о софтверу, уређајима и хардверу посетите

Странице интелектуалне својине на Мицроцхип ФПГА и ПЛД-овима webсајту.

  1. Познати проблеми и решења (Поставите питање)
    Нема познатих проблема и решења за CoreFPU v3.0.
  2. Укинуте функције и уређаји (Поставите питање)
    У овом IP издању нема укинутих функција и уређаја.

Глоссари

У наставку је листа термина и дефиниција коришћених у документу.
Табела 6-1. Термини и дефиниције

Термин Дефиниција
ФПУ Јединица са плутајућим зарезом
FP ADD Сабирање са покретним зарезом
ФП СУБ Одузимање покретних тачака
ФП МУЛТ Множење са покретним зарезом

Решена питања 
Следећа табела наводи све решене проблеме за различита издања CoreFPU-а.

Табела 7-1. Решени проблеми

Релеасе Опис
3.0 Следи листа свих решених проблема у издању v3.0:

Број предмета: 01420387 и 01422128

Додата је логика шеме заокруживања (заокруживање на најближи паран број).

2.1 Следи листа свих решених проблема у издању v2.1:
Дизајн наилази на проблеме због присуства дуплих модула када се инстанцира више језгара.
Преименовање CoreFPU IP инстанце доводи до грешке „Недефинисан модул“.
1.0 Првобитно издање

Искоришћење и перформансе ресурса уређаја

Макро CoreFPU је имплементиран у породицама наведеним у следећој табели.
Табела 8-1. Искоришћеност FPU PolarFire јединице за 32-битне системе

FPGA ресурси Коришћење
Породица 4ЛУТ ДФФ Укупно Математички блок Уређај Перценtage Перформансе Латенција
Фиксни зарез у покретни зарез
ПоларФире® 260 104 364 0 МПФ300Т 0.12 310 МХз 3
Покретни зарез у фиксни зарез
ПоларФире 591 102 693 0 МПФ300Т 0.23 160 МХз 3
Сабирање са покретним зарезом
ПоларФире 1575 1551 3126 0 МПФ300Т 1.06 340 МХз 16
Одузимање покретних тачака
ПоларФире 1561 1549 3110 0 МПФ300Т 1.04 345 МХз 16
Множење са покретним зарезом
ПоларФире 465 847 1312 4 МПФ300Т 0.44 385 МХз 14
FPGA ресурси Коришћење
Породица 4ЛУТ ДФФ Укупно Математички блок Уређај Перценtage Перформансе Латенција
Фиксни зарез у покретни зарез
РТГ4™ 264 104 368 0 РТ4Г150 0.24 160 МХз 3
Покретни зарез у фиксни зарез
РТГ4 439 112 551 0 РТ4Г150 0.36 105 МХз 3
Сабирање са покретним зарезом
РТГ4 1733 1551 3284 0 РТ4Г150 1.16 195 МХз 16
Одузимање покретних тачака
РТГ4 1729 1549 3258 0 РТ4Г150 1.16 190 МХз 16
Множење са покретним зарезом
РТГ4 468 847 1315 4 РТ4Г150 0.87 175 МХз 14
FPGA ресурси Коришћење
Породица 4ЛУТ ДФФ Укупно Математички блок Уређај Перценtage Перформансе Латенција
Фиксни зарез у покретни зарез
ПоларФире® 638 201 849 0 МПФ300Т 0.28 305 МХз 3
Покретни зарез у фиксни зарез
ПоларФире 2442 203 2645 0 МПФ300Т 0.89 110 МХз 3
Сабирање са покретним зарезом
ПоларФире 5144 4028 9172 0 МПФ300Т 3.06 240 МХз 16
Одузимање покретних тачака
ПоларФире 5153 4026 9179 0 МПФ300Т 3.06 250 МХз 16
Множење са покретним зарезом
ПоларФире 1161 3818 4979 16 МПФ300Т 1.66 340 МХз 27
FPGA ресурси Коришћење
Породица 4ЛУТ ДФФ Укупно Математички блок Уређај Перценtage Перформансе Латенција
Фиксни зарез у покретни зарез
РТГ4™ 621 201 822 0 РТ4Г150 0.54 140 МХз 3
Покретни зарез у фиксни зарез
РТГ4 1114 203 1215 0 РТ4Г150 0.86 75 МХз 3
Сабирање са покретним зарезом
РТГ4 4941 4028 8969 0 РТ4Г150 5.9 140 МХз 16
Одузимање покретних тачака
РТГ4 5190 4026 9216 0 РТ4Г150 6.07 130 МХз 16
Множење са покретним зарезом
РТГ4 1165 3818 4983 16 РТ4Г150 3.28 170 МХз 27

Важно: Да бисте повећали фреквенцију, изаберите опцију Омогући ревремено подешавање темпа у подешавањима синтезе.

Историја ревизија

Историја ревизија описује промене које су примењене у документу. Промене су наведене по ревизији, почевши од најновије публикације.

MICROCHIP-CoreFPU-Cor-јединица са покретним зарезом- (1)

Мицроцхип ФПГА подршка

Група производа Мицроцхип ФПГА подржава своје производе разним услугама подршке, укључујући корисничку подршку, центар за техничку подршку за кориснике, webсајту и продајним канцеларијама широм света. Клијентима се предлаже да посете Мицроцхип онлајн ресурсе пре него што контактирају подршку јер је врло вероватно да је на њихова питања већ одговорено.
Контактирајте центар за техничку подршку преко webсајт на ввв.мицроцхип.цом/суппорт. Наведите број дела ФПГА уређаја, изаберите одговарајућу категорију кућишта и отпремите дизајн fileс док креирате случај техничке подршке.
Обратите се корисничкој служби за нетехничку подршку за производе, као што су цене производа, надоградње производа, информације о ажурирању, статус поруџбине и овлашћење.

  • Из Северне Америке позовите 800.262.1060
  • Из остатка света позовите 650.318.4460
  • Факс, са било ког места у свету, 650.318.8044

Информације о микрочипу

Традемаркс
Име и логотип „Мицроцхип“, логотип „М“ и други називи, логотипи и брендови су регистровани и нерегистровани жигови компаније Мицроцхип Тецхнологи Инцорпоратед или њених филијала и/или подружница у Сједињеним Државама и/или другим земљама („Мицроцхип жигови”). Информације у вези Мицроцхип заштитних знакова можете пронаћи на https://www.microchip.com/en-us/about/legal-information/microchip-trademarks
ISBN: 979-8-3371-0947-3

Правно обавештење
Ова публикација и информације овде могу се користити само са Мицроцхип производима, укључујући дизајнирање, тестирање и интеграцију Мицроцхип производа у вашу апликацију. Коришћење ових информација на било који други начин крши ове услове. Информације у вези са апликацијама уређаја дате су само за вашу удобност и могу бити замењене ажурирањима. Ваша је одговорност да осигурате да ваша апликација одговара вашим спецификацијама. Обратите се локалној канцеларији за продају компаније Мицроцхип за додатну подршку или потражите додатну подршку на ввв.мицроцхип.цом/ен-ус/суппорт/десигн-хелп/цлиент-суппорт-сервицес

ОВЕ ИНФОРМАЦИЈЕ ОБЕЗБЕЂУЈЕ МИКРОЧИП „КАКО ЈЕСУ“. МИЦРОЦХИП НЕ ДАЈЕ НИКАКВЕ ИЗЈАВЕ ИЛИ ГАРАНЦИЈЕ БИЛО КОЈЕ ИЗРИЧИТЕ ИЛИ ПОДРАЗУМЕВАНЕ, ПИСМЕНЕ ИЛИ УСМЕНЕ, ЗАКОНСКИ ИЛИ НА ДРУГИМ, У ВЕЗИ СА ИНФОРМАЦИЈАМА УКЉУЧУЈУЋИ, АЛИ НЕ ОГРАНИЧАВАЈУЋИ СЕ НА БИЛО КАКВА ИМПЛИЦИТАНА ГАРАНЦИЈА ПРИСТОЈНОСТ ЗА ПРОДАЈУ И ПРИКЛАДНОСТ ЗА ОДРЕЂЕНУ НАМЕНУ, ИЛИ ГАРАНЦИЈЕ У ВЕЗИ СА ЊЕГОВИМ СТАЊЕМ, КВАЛИТЕТОМ ИЛИ ПЕРФОРМАНСЕ.

МИКРОЧИП НЕЋЕ БИТИ ОДГОВОРАН ЗА БИЛО КАКВЕ ИНДИРЕКТНЕ, СПЕЦИЈАЛНЕ, КАЗНЕНЕ, СЛУЧАЈНЕ ИЛИ ПОСЛЕДИЧНЕ ГУБИТАК, ШТЕТУ, ТРОШКОВЕ ИЛИ ТРОШКОВЕ БИЛО КОЈЕ ВРСТЕ БИЛО КОЈИ СЕ ОДНОСЕ НА УВЕРЗНЕ ИНФОРМАЦИЈЕ, БИЛО ДА ЛИ МИЦРОЦХИП ЈЕ ОБАВЕШТЕН О МОГУЋНОСТИ ИЛИ СУ ШТЕТЕ ПРЕДВИЂИВЕ. У НАЈВЕЋОЈ МЕРИ ДОЗВОЉЕНОЈ ЗАКОНОМ, УКУПНА ОДГОВОРНОСТ МИЦРОЦХИП-а ПО СВИМ ПОТРАЖИВАЊУ НА БИЛО КОЈИ НАЧИН У ВЕЗИ СА ИНФОРМАЦИЈАМА ИЛИ ЊИХОВОМ КОРИШЋЕЊЕМ НЕЋЕ ПРЕМАШИТИ ИЗНОС НАКНАДА, АКО ИМА, КОЈИ СТЕ МОРАЛИ ДА ПЛАЋАТЕ.

Коришћење Мицроцхип уређаја у апликацијама за одржавање живота и/или безбедност је у потпуности на ризик купца, а купац је сагласан да брани, обештети и држи Мицроцхип безопасним од било које штете, потраживања, тужби или трошкова који проистичу из такве употребе. Никакве лиценце се не преносе, имплицитно или на други начин, под било којим Мицроцхиповим правима интелектуалне својине осим ако није другачије наведено.

Функција заштите кода Мицроцхип уређаја
Обратите пажњу на следеће детаље функције заштите кода на Мицроцхип производима:

  • Мицроцхип производи испуњавају спецификације садржане у њиховом посебном Мицроцхип Дата Схеет.
  • Мицроцхип верује да је његова породица производа безбедна када се користи на предвиђени начин, у оквиру оперативних спецификација и под нормалним условима.
  • Микрочип вреднује и агресивно штити своја права интелектуалне својине. Покушаји кршења карактеристика заштите кода Мицроцхип производа су строго забрањени и могу представљати кршење Миленијумског закона о ауторским правима у дигиталном облику.
  • Ни Мицроцхип ни било који други произвођач полупроводника не може гарантовати сигурност свог кода. Заштита кодом не значи да гарантујемо да је производ „неломљив“. Заштита кода се стално развија. Мицроцхип је посвећен континуираном побољшању карактеристика заштите кода наших производа.

Документи / Ресурси

MICROCHIP CoreFPU јединица за рад са покретним зарезом [пдф] Упутство за кориснике
v3.0, v2.1, v2.0, v1.0, CoreFPU Једница за покретни зарез, Једница за покретни зарез, Једница за покретни зарез, Једница за тачку

Референце

Оставите коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена *