FPGA მთელი არითმეტიკული IP ბირთვები

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო
განახლებულია Intel® Quartus® Prime Design Suite-სთვის: 20.3

ონლაინ ვერსია გამოხმაურების გაგზავნა

UG-01063წ

ID: 683490 ვერსია: 2020.10.05

შინაარსი
შინაარსი
1. Intel FPGA მთელი არითმეტიკული IP ბირთვები………………………………………………………………….. 5
2. LPM_COUNTER (მრიცხველი) IP ბირთვი……………………………………………………………………………….. 7 2.1. მახასიათებლები……………………………………………………………………………………………………7 2.2. Verilog HDL პროტოტიპი……………………………………………………………………………….. 8 2.3. VHDL კომპონენტის დეკლარაცია………………………………………………………………………….8 2.4. VHDL BIBRARY_USE დეკლარაცია……………………………………………………………………… 9 2.5. პორტები……………………………………………………………………………………………………..9 2.6. პარამეტრები……………………………………………………………………………………………… 10
3. LPM_DIVIDE (გამყოფი) Intel FPGA IP Core……………………………………………………………….. 12 3.1. Მახასიათებლები………………………………………………………………………………………………. 12 3.2. Verilog HDL პროტოტიპი……………………………………………………………………………… 12 3.3. VHDL კომპონენტის დეკლარაცია……………………………………………………………………….. 13 3.4. VHDL LIBRARY_USE დეკლარაცია……………………………………………………………………… 13 3.5. პორტები………………………………………………………………………………………………………… 13 3.6. პარამეტრები……………………………………………………………………………………………… 14
4. LPM_MULT (მულტიპლიკატორი) IP ბირთვი………………………………………………………………………………… 16 4.1. Მახასიათებლები………………………………………………………………………………………………. 16 4.2. Verilog HDL პროტოტიპი……………………………………………………………………………… 17 4.3. VHDL კომპონენტის დეკლარაცია…………………………………………………………………….. 17 4.4. VHDL LIBRARY_USE დეკლარაცია……………………………………………………………………… 17 4.5. სიგნალები………………………………………………………………………………………………… 18 4.6. პარამეტრები Stratix V, Arria V, Cyclone V და Intel Cyclone 10 LP მოწყობილობებისთვის…………… 18 4.6.1. ზოგადი ჩანართი……………………………………………………………………………………18 4.6.2. ზოგადი 2 ჩანართი………………………………………………………………………………… 19 4.6.3. მილსადენის ჩანართი………………………………………………………………………………… 19 4.7. პარამეტრები Intel Stratix 10, Intel Arria 10 და Intel Cyclone 10 GX მოწყობილობებისთვის……….. 20 4.7.1. ზოგადი ჩანართი……………………………………………………………………………………20 4.7.2. ზოგადი 2 ჩანართი………………………………………………………………………………… 20 4.7.3. მილსადენების გაყვანა…………………………………………………………………………………………………………………………………………………
5. LPM_ADD_SUB (შემკრები/გამოკლება)………………………………………………………………………… 22 5.1. Მახასიათებლები………………………………………………………………………………………………. 22 5.2. Verilog HDL პროტოტიპი……………………………………………………………………………… 23 5.3. VHDL კომპონენტის დეკლარაცია…………………………………………………………………….. 23 5.4. VHDL LIBRARY_USE დეკლარაცია……………………………………………………………………… 23 5.5. პორტები………………………………………………………………………………………………………… 23 5.6. პარამეტრები………………………………………………………………………………………………… 24
6. LPM_COMPARE (შედარება)………………………………………………………………………………… 26 6.1. Მახასიათებლები………………………………………………………………………………………………. 26 6.2. Verilog HDL პროტოტიპი……………………………………………………………………………… 27 6.3. VHDL კომპონენტის დეკლარაცია…………………………………………………………………….. 27 6.4. VHDL LIBRARY_USE დეკლარაცია……………………………………………………………………… 27 6.5. პორტები……………………………………………………………………………………………………… 27 6.6. პარამეტრები………………………………………………………………………………………………… 28

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 2

გამოხმაურების გაგზავნა

შინაარსი

7. ALTECC (შეცდომის გამოსწორების კოდი: შიფრატორი/დეკოდერი) IP ბირთვი……………………………………… 30
7.1. ALTECC შიფრატორის მახასიათებლები…………………………………………………………………………..31 7.2. Verilog HDL პროტოტიპი (ALTECC_ENCODER)………………………………………………………. 32 7.3. Verilog HDL პროტოტიპი (ALTECC_DECODER)………………………………………………………. 32 7.4. VHDL კომპონენტის დეკლარაცია (ALTECC_ENCODER)…………………………………………………33 7.5. VHDL კომპონენტის დეკლარაცია (ALTECC_DECODER)…………………………………………………33 7.6. VHDL LIBRARY_USE დეკლარაცია……………………………………………………………………… 33 7.7. შიფრატორის პორტები…………………………………………………………………………………………… 33 7.8. დეკოდერის პორტები………………………………………………………………………………………… 34 7.9. შიფრატორის პარამეტრები……………………………………………………………………………………… 34 7.10. დეკოდერის პარამეტრები …………………………………………………………………………………… 35
8. Intel FPGA გამრავლების დამგროვებლის IP ბირთვი………………………………………………………………………… 36
8.1. Მახასიათებლები………………………………………………………………………………………………. 37 8.1.1. წინასწარი შემკრები…………………………………………………………………………………….. 38 8.1.2. სისტოლური დაგვიანების რეგისტრი………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….. 40 8.1.3. წინასწარ ჩატვირთვა მუდმივი…………………………………………………………………………… 43 8.1.4. ორმაგი აკუმულატორი…………………………………………………………………… 43
8.2. Verilog HDL პროტოტიპი……………………………………………………………………………… 44 8.3. VHDL კომპონენტის დეკლარაცია…………………………………………………………………….. 44 8.4. VHDL LIBRARY_USE დეკლარაცია……………………………………………………………………… 44 8.5. სიგნალები………………………………………………………………………………………………… 44 8.6. პარამეტრები……………………………………………………………………………………………… 47
8.6.1. ზოგადი ჩანართი…………………………………………………………………………………47 8.6.2. დამატებითი რეჟიმების ჩანართი…………………………………………………………………………….. 47 8.6.3. მამრავლების ჩანართი……………………………………………………………………………….. 49 8.6.4. Preadder Tab…………………………………………………………………………………… 51 8.6.5. აკუმულატორის ჩანართი……………………………………………………………………….. 53 8.6.6. სისტოლური/ჯაჭვის ჩანართი………………………………………………………………………… 55 8.6.7. მილსადენის ჩანართი………………………………………………………………………………… 56
9. ALTMEMMULT (მეხსიერებზე დაფუძნებული მუდმივი კოეფიციენტის მულტიპლიკატორი) IP Core……………………… 57
9.1. Მახასიათებლები………………………………………………………………………………………………. 57 9.2. Verilog HDL პროტოტიპი……………………………………………………………………………… 58 9.3. VHDL კომპონენტის დეკლარაცია…………………………………………………………………….. 58 9.4. პორტები……………………………………………………………………………………………………… 59 9.5. პარამეტრები…………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (გამრავლება-დაგროვება) IP ბირთვი………………………………………………… 61
10.1. მახასიათებლები…………………………………………………………………………………………….. 62 10.2. Verilog HDL პროტოტიპი…………………………………………………………………………..62 10.3. VHDL კომპონენტის დეკლარაცია…………………………………………………………………… 63 10.4. VHDL BIBRARY_USE დეკლარაცია…………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………… 63 10.5. პორტები……………………………………………………………………………………………………………. 63 10.6. Პარამეტრები…………………………………………………………………………………………. 64
11. ALTMULT_ADD (Multiply-Adder) IP Core……………………………………………………………..69
11.1. მახასიათებლები…………………………………………………………………………………………….. 71 11.2. Verilog HDL პროტოტიპი…………………………………………………………………………..72 11.3. VHDL კომპონენტის დეკლარაცია…………………………………………………………………… 72 11.4. VHDL LIBRARY_USE დეკლარაცია………………………………………………………………………72

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 3

შინაარსი
11.5. პორტები……………………………………………………………………………………………………………. 72 11.6. Პარამეტრები…………………………………………………………………………………………. 73
12. ALTMULT_COMPLEX (კომპლექსური მულტიპლიკატორი) IP ბირთვი………………………………………………… 86 12.1. კომპლექსური გამრავლება…………………………………………………………………………… 86 12.2. კანონიკური წარმოდგენა…………………………………………………………………………… 87 12.3. ჩვეულებრივი წარმომადგენლობა…………………………………………………………………………. 87 12.4. მახასიათებლები…………………………………………………………………………………………….. 88 12.5. Verilog HDL პროტოტიპი…………………………………………………………………………..88 12.6. VHDL კომპონენტის დეკლარაცია……………………………………………………………………… 89 12.7. VHDL LIBRARY_USE დეკლარაცია…………………………………………………………………89 12.8. სიგნალები……………………………………………………………………………………………………. 89 12.9. Პარამეტრები…………………………………………………………………………………………. 90
13. ALTSQRT (მთლიანი კვადრატული ფესვი) IP ბირთვი………………………………………………………………92 13.1. მახასიათებლები…………………………………………………………………………………………….. 92 13.2. Verilog HDL პროტოტიპი……………………………………………………………………………..92 13.3. VHDL კომპონენტის დეკლარაცია……………………………………………………………………… 93 13.4. VHDL LIBRARY_USE დეკლარაცია……………………………………………………………………93 13.5. პორტები……………………………………………………………………………………………………………. 93 13.6. Პარამეტრები…………………………………………………………………………………………. 94
14. PARALLEL_ADD (პარალელური შემკრები) IP ბირთვი…………………………………………………………………….. 95 14.1. თვისება……………………………………………………………………………………………….95 14.2. Verilog HDL პროტოტიპი…………………………………………………………………………..95 14.3. VHDL კომპონენტის დეკლარაცია……………………………………………………………………… 96 14.4. VHDL LIBRARY_USE დეკლარაცია…………………………………………………………………96 14.5. პორტები……………………………………………………………………………………………………………. 96 14.6. Პარამეტრები…………………………………………………………………………………………. 97
15. მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო დოკუმენტის არქივი…………………………………… 98
16. დოკუმენტის გადასინჯვის ისტორია Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო…. 99

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 4

გამოხმაურების გაგზავნა

683490 | 2020.10.05 გამოხმაურების გაგზავნა

1. Intel FPGA მთელი არითმეტიკული IP ბირთვები

თქვენ შეგიძლიათ გამოიყენოთ Intel® FPGA მთელი რიცხვის IP ბირთვები თქვენს დიზაინში მათემატიკური ოპერაციების შესასრულებლად.

ეს ფუნქციები გთავაზობთ უფრო ეფექტურ ლოგიკურ სინთეზს და მოწყობილობის განხორციელებას, ვიდრე საკუთარი ფუნქციების კოდირება. თქვენ შეგიძლიათ დააკონფიგურიროთ IP ბირთვები თქვენი დიზაინის მოთხოვნების დასაკმაყოფილებლად.

Intel-ის მთელი არითმეტიკული IP ბირთვები იყოფა შემდეგ ორ კატეგორიად: · პარამეტრიზებული მოდულების ბიბლიოთეკა (LPM) IP ბირთვები · Intel-სპეციფიკური (ALT) IP ბირთვები

შემდეგი ცხრილი ჩამოთვლის მთელი რიცხვების არითმეტიკული IP ბირთვებს.

ცხრილი 1.

IP ბირთვების სია

IP ბირთვები

LPM IP ბირთვები

LPM_COUNTER

LPM_DIVIDE

LPM_MULT

LPM_ADD_SUB
LPM_COMPARE
Intel-სპეციფიკური (ALT) IP ბირთვები ALTECC

ფუნქცია დასრულდაview Counter Divider Multiplier
შემკრები ან გამოკლების შედარება
ECC Encoder/Decoder

მხარდაჭერილი მოწყობილობა
Arria® II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone® IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP,
Intel Cyclone 10 GX, MAX® II, MAX V, MAX 10, Stratix® IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, ციკლონი IV E, ციკლონი IV GX, ციკლონი V, Intel Cyclone 10 LP, MAX 10, MAX
II, MAX V, სტრატიქსი IV, სტრატიქსი V
Arria II GX, Arria II GZ, Arria V, ციკლონი IV E, ციკლონი IV GX, ციკლონი V, Intel Cyclone 10 LP, MAX 10, MAX
II, MAX V, სტრატიქსი IV, სტრატიქსი V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V,Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V გაგრძელდა…

ინტელის კორპორაცია. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. *სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.

ISO 9001:2015 რეგისტრირებულია

1. Intel FPGA მთელი არითმეტიკული IP Cores 683490 | 2020.10.05

IP ბირთვები Intel FPGA გამრავლების შემკრები ან ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_ADD

ფუნქცია დასრულდაview გამრავლება-შემკრები
მეხსიერებაზე დაფუძნებული მუდმივი კოეფიციენტის მულტიპლიკატორი
მულტიპლიკატორ-აკუმულატორი მულტიპლიკატორ-დამკრები
კომპლექსური მულტიპლიკატორი
მთელი რიცხვი კვადრატული ფესვი
პარალელური შემკრები

მხარდაჭერილი მოწყობილობა
Arria V, Stratix V, Cyclone V, Intel Stratix 10, Intel Arria 10, Intel Cyclone
10 GX
Arria II GX, Arria II GZ, Arria V, Intel Arria 10 (Intel Quartus® Prime Standard Edition), Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Cyclone 10 LP, MAX II, MAX V, MAX 10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, ციკლონი IV E, ციკლონი IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Intel Arria 10, Arria V, Arria V GZ, ციკლონი IV E, ციკლონი IV GX, ციკლონი V, Intel
Cyclone 10 GX, Intel Cyclone 10 LP, MAX 10, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, სტრატიქსი IV, სტრატიქსი V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone IV E, Cyclone IV GX,
Cyclone V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, სტრატიქსი IV, სტრატიქსი V

დაკავშირებული ინფორმაცია
· Intel FPGA და პროგრამირებადი მოწყობილობების გამოშვების შენიშვნები
· Intel FPGA IP ბირთვების შესავალი გთავაზობთ მეტ ინფორმაციას Intel FPGA IP ბირთვების შესახებ.
· Floating-Point IP Cores მომხმარებლის სახელმძღვანელო გთავაზობთ მეტ ინფორმაციას Intel FPGA Floating-Point IP ბირთვების შესახებ.
· Intel FPGA IP ბირთვების შესავალი გთავაზობთ ზოგად ინფორმაციას Intel FPGA IP ბირთვების შესახებ, IP ბირთვების პარამეტრიზაციის, გენერირების, განახლებასა და სიმულაციის ჩათვლით.
· ვერსიიდან დამოუკიდებელი IP და Qsys სიმულაციური სკრიპტების შექმნა შექმენით სიმულაციური სკრიპტები, რომლებიც არ საჭიროებს ხელით განახლებებს პროგრამული უზრუნველყოფის ან IP ვერსიის განახლებისთვის.
· პროექტის მენეჯმენტის საუკეთესო პრაქტიკის სახელმძღვანელოები თქვენი პროექტის და IP-ის ეფექტური მართვისა და პორტაბელურობისთვის files.
· მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო დოკუმენტის არქივები 98 გვერდზე გთავაზობთ მომხმარებლის სახელმძღვანელოების სიას მთელი არითმეტიკული IP ბირთვების წინა ვერსიებისთვის.

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 6

გამოხმაურების გაგზავნა

683490 | 2020.10.05 გამოხმაურების გაგზავნა

2. LPM_COUNTER (მრიცხველი) IP Core

სურათი 1.

LPM_COUNTER IP ბირთვი არის ორობითი მრიცხველი, რომელიც ქმნის ზევით მრიცხველებს, ქვევით მრიცხველებს და ზევით ან ქვევით მრიცხველებს 256 ბიტიმდე სიგანის გამომავალებით.

შემდეგი სურათი გვიჩვენებს პორტებს LPM_COUNTER IP ბირთვისთვის.

LPM_COUNTER პორტები

LPM_COUNTER

ssclr sload sset მონაცემები[]

q[]

განახლებული

კოუტ

aclr aload aset

clk_en cnt_en cin
ინსტ

2.1. მახასიათებლები
LPM_COUNTER IP ბირთვი გთავაზობთ შემდეგ მახასიათებლებს: · წარმოქმნის მრიცხველებს ზემოთ, ქვემოთ და მაღლა/ქვემოთ.
- ჩვეულებრივი ორობითი - მრიცხველი იზრდება ნულიდან ან მცირდება 255-დან
— მოდული - მრიცხველი იზრდება ან იკლებს მომხმარებლის მიერ მითითებულ მოდულის მნიშვნელობას და მეორდება
· მხარს უჭერს არასავალდებულო სინქრონული გასუფთავების, ჩატვირთვის და დაყენების შეყვანის პორტებს · მხარს უჭერს არჩევით ასინქრონულ გასუფთავებას, ჩატვირთვას და დაყენების შეყვანის პორტებს.

ინტელის კორპორაცია. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. *სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.

ISO 9001:2015 რეგისტრირებულია

2. LPM_COUNTER (მრიცხველი) IP Core
683490 | 2020.10.05
2.2. Verilog HDL პროტოტიპი
შემდეგი Verilog HDL პროტოტიპი მდებარეობს Verilog Design-ში File (.v) lpm.v ში edasynthesis დირექტორია.
მოდული lpm_counter (q, მონაცემები, საათი, cin, cout, clk_en, cnt_en, updown, aset, aclr, aload, sset, sclr, sload, eq); პარამეტრი lpm_type = “lpm_counter”; პარამეტრი lpm_width = 1; პარამეტრი lpm_modulus = 0; პარამეტრი lpm_direction = „გამოუყენებელი“; პარამეტრი lpm_value = „გამოუყენებელი“; პარამეტრი lpm_svalue = „გამოუყენებელი“; პარამეტრი lpm_pvalue = „გამოუყენებელი“; პარამეტრი lpm_port_updown = „PORT_CONNECTIVITY“; პარამეტრი lpm_hint = „გამოუყენებელი“; გამომავალი [lpm_width-1:0] q; გამომავალი კოუტი; გამომავალი [15:0] ეკვ; შეყვანის ცინი; შეყვანა [lpm_width-1:0] მონაცემები; შეყვანის საათი, clk_en, cnt_en, updown; input aset, aclr, aload; შეყვანის sset, sclr, sload; ენდომოდული
2.3. VHDL კომპონენტის დეკლარაცია
VHDL კომპონენტის დეკლარაცია მდებარეობს VHDL დიზაინში File (.vhd) LPM_PACK.vhd ში librariesvhdllpm დირექტორია.
კომპონენტი LPM_COUNTER ზოგადი (LPM_WIDTH: ბუნებრივი; LPM_MODULUS: ბუნებრივი := 0; LPM_DIRECTION: სტრიქონი := „გამოუყენებელი“; LPM_AVALUE: სტრიქონი := „გამოუყენებელი“; LPM_SVALUE: სტრიქონი := „UNUSPORT_UPY“; LPM_PVALUE : სტრიქონი := “გამოუყენებელი”; პორტი (მონაცემები: std_logic_vector-ში (LPM_WIDTH-1 0-მდე):= (OTHERS =>
'0'); საათი: std_logic-ში; CLK_EN : std_logic-ში := '1'; CNT_EN : std_logic-ში := '1'; UPDOWN : std_logic-ში := '1'; SLOAD : std_logic-ში := '0'; SSET : std_logic-ში := '0'; SCLR: std_logic-ში := '0'; ALOAD : std_logic-ში := '0'; ASET : std_logic-ში := '0'; ACLR : std_logic-ში := '0'; CIN: std_logic-ში := '1'; COUT : out std_logic := '0'; Q: out std_logic_vector(LPM_WIDTH-1 0-მდე); EQ : out std_logic_vector(15 down to 0));
ბოლო კომპონენტი;

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 8

გამოხმაურების გაგზავნა

2. LPM_COUNTER (მრიცხველი) IP Core 683490 | 2020.10.05

2.4. VHDL LIBRARY_USE დეკლარაცია
VHDL LIBRARY-USE დეკლარაცია არ არის საჭირო, თუ იყენებთ VHDL კომპონენტის დეკლარაციას.
ბიბლიოთეკა lpm; გამოიყენეთ lpm.lpm_components.all;

2.5. პორტები

შემდეგ ცხრილებში ჩამოთვლილია შეყვანის და გამომავალი პორტები LPM_COUNTER IP ბირთვისთვის.

ცხრილი 2.

LPM_COUNTER შეყვანის პორტები

პორტის სახელი

საჭირო

აღწერა

მონაცემები[]

არა

პარალელური მონაცემების შეყვანა მრიცხველში. შეყვანის პორტის ზომა დამოკიდებულია LPM_WIDTH პარამეტრის მნიშვნელობაზე.

საათი

დიახ

საათის შეყვანა დადებითი კიდეებით.

clk_en

არა

საათის ჩართვა ყველა სინქრონული აქტივობის გასააქტიურებლად. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 1.

cnt_en

არა

Count-ის შეყვანის ჩართვა, რათა გამორთოთ რაოდენობა, როდესაც დაფიქსირდა დაბალი ზემოქმედების გარეშე sload, sset ან sclr. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 1.

განახლებული

არა

აკონტროლებს დათვლის მიმართულებას. მაღალი (1) მითითებისას დათვლის მიმართულება არის ზევით, ხოლო დაბალზე (0) დათვლის მიმართულება ქვევითაა. თუ გამოიყენება LPM_DIRECTION პარამეტრი, ქვემო პორტის დაკავშირება შეუძლებელია. თუ LPM_DIRECTION არ არის გამოყენებული, ზემოთ პორტი არჩევითია. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის (1).

ცინ

არა

გადაიტანეთ დაბალი რიგის ბიტზე. ზემოთ მრიცხველებისთვის, cin შეყვანის ქცევა არის

იდენტურია cnt_en შეყვანის ქცევისა. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 1

(VCC).

აკლრ

არა

ასინქრონული მკაფიო შეყვანა. თუ ორივე aset და aclr გამოიყენება და დამტკიცებულია, aclr უგულებელყოფს აქტივს. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 0 (გამორთულია).

აქტივი

არა

ასინქრონული ნაკრების შეყვანა. განსაზღვრავს q[] გამოსავალს, როგორც ყველა 1-ს, ან LPM_AVALUE პარამეტრით მითითებულ მნიშვნელობას. თუ ორივე aset და aclr პორტები გამოიყენება და დამტკიცებულია, aclr პორტის მნიშვნელობა აჭარბებს aset პორტის მნიშვნელობას. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 0, გამორთულია.

ატვირთვა

არა

ასინქრონული დატვირთვის შეყვანა, რომელიც ასინქრონულად ატვირთავს მრიცხველს მონაცემთა შეყვანის მნიშვნელობით. როდესაც დატვირთვის პორტი გამოიყენება, მონაცემთა[] პორტი უნდა იყოს დაკავშირებული. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 0, გამორთულია.

sclr

არა

სინქრონული მკაფიო შეყვანა, რომელიც ასუფთავებს მრიცხველს საათის შემდეგ აქტიურ კიდეზე. თუ ორივე sset და sclr პორტები გამოიყენება და დამტკიცებულია, sclr პორტის მნიშვნელობა აჭარბებს sset პორტის მნიშვნელობას. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 0, გამორთულია.

სენტი

არა

სინქრონული კომპლექტის შეყვანა, რომელიც აყენებს მრიცხველს საათის შემდეგ აქტიურ კიდეზე. განსაზღვრავს q გამომავალი მნიშვნელობებს, როგორც ყველა 1-ს, ან LPM_SVALUE პარამეტრით მითითებულ მნიშვნელობას. თუ ორივე sset და sclr პორტები გამოიყენება და დამტკიცებულია,
sclr პორტის მნიშვნელობა აჭარბებს sset პორტის მნიშვნელობას. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 0 (გამორთულია).

გადატვირთვა

არა

სინქრონული დატვირთვის შეყვანა, რომელიც იტვირთება მრიცხველი მონაცემებით[] შემდეგ აქტიურ საათის კიდეზე. როდესაც sload პორტი გამოიყენება, მონაცემთა[] პორტი უნდა იყოს დაკავშირებული. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 0 (გამორთულია).

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 9

2. LPM_COUNTER (მრიცხველი) IP Core 683490 | 2020.10.05

ცხრილი 3.

LPM_COUNTER გამომავალი პორტები

პორტის სახელი

საჭირო

აღწერა

q[]

არა

მონაცემთა გამომავალი მრიცხველიდან. გამომავალი პორტის ზომა დამოკიდებულია

LPM_WIDTH პარამეტრის მნიშვნელობა. ან q[] ან მინიმუმ ერთი eq[15..0] პორტიდან

უნდა იყოს დაკავშირებული.

ეკვ[15..0]

არა

მრიცხველის დეკოდირების გამომავალი. eq[15..0] პორტი მიუწვდომელია პარამეტრების რედაქტორში, რადგან პარამეტრი მხარს უჭერს მხოლოდ AHDL-ს.
ან q[] პორტი ან eq[] პორტი უნდა იყოს დაკავშირებული. შეიძლება გამოყენებულ იქნას მდე c eq პორტები (0 <= c <= 15). გაშიფრულია მხოლოდ 16 ყველაზე დაბალი რაოდენობის მნიშვნელობა. როდესაც დათვლის მნიშვნელობა არის c, eqc გამომავალი მტკიცდება მაღალი (1). მაგample, როდესაც რაოდენობა არის 0, eq0 = 1, როდესაც დათვლა არის 1, eq1 = 1, და როდესაც დათვლა არის 15, eq 15 = 1. დეკოდირებული გამომავალი 16 ან მეტი მნიშვნელობებისთვის საჭიროებს გარე დეკოდირებას. eq[15..0] გამომავალი ასინქრონულია q[] გამოსავალთან.

კოუტ

არა

მრიცხველის MSB ბიტის ჩასატარებელი პორტი. ის შეიძლება გამოყენებულ იქნას სხვა მრიცხველთან დასაკავშირებლად უფრო დიდი მრიცხველის შესაქმნელად.

2.6. პარამეტრები

შემდეგი ცხრილი ჩამოთვლის LPM_COUNTER IP ბირთვის პარამეტრებს.

ცხრილი 4.

LPM_COUNTER პარამეტრები

პარამეტრის სახელი

ტიპი

LPM_WIDTH

მთელი რიცხვი

LPM_DIRECTION

სიმებიანი

LPM_MODULUS LPM_AVALUE

მთელი რიცხვი
მთელი რიცხვი/სტრიქონი

LPM_SVALUE LPM_HINT

მთელი რიცხვი/სტრიქონი
სიმებიანი

LPM_TYPE

სიმებიანი

სავალდებულო დიახ არა არა არა
არა არა
არა

აღწერა
განსაზღვრავს მონაცემთა[] და q[] პორტების სიგანეს, თუ ისინი გამოიყენება.
მნიშვნელობები არის UP, DOWN და გამოუყენებელი. თუ გამოიყენება LPM_DIRECTION პარამეტრი, ქვემო პორტის დაკავშირება შეუძლებელია. როდესაც ზემოთ პორტი არ არის დაკავშირებული, LPM_DIRECTION პარამეტრის ნაგულისხმევი მნიშვნელობა არის UP.
მაქსიმალური რაოდენობა, პლუს ერთი. მრიცხველის ციკლში უნიკალური მდგომარეობების რაოდენობა. თუ დატვირთვის მნიშვნელობა აღემატება LPM_MODULUS პარამეტრს, მრიცხველის ქცევა არ არის მითითებული.
მუდმივი მნიშვნელობა, რომელიც იტვირთება, როდესაც აქტივი მაღალია. თუ მითითებული მნიშვნელობა მეტია ან ტოლია , მრიცხველის ქცევა არის განუსაზღვრელი (X) ლოგიკური დონე, სადაც არის LPM_MODULUS, თუ არსებობს, ან 2 ^ LPM_WIDTH. Intel გირჩევთ, რომ მიუთითოთ ეს მნიშვნელობა, როგორც ათობითი რიცხვი AHDL დიზაინისთვის.
მუდმივი მნიშვნელობა, რომელიც იტვირთება საათის პორტის ამომავალ კიდეზე, როდესაც სეტ პორტი მაღალია. Intel გირჩევთ, რომ მიუთითოთ ეს მნიშვნელობა, როგორც ათობითი რიცხვი AHDL დიზაინისთვის.
როდესაც პარამეტრიზებული მოდულების ბიბლიოთეკა (LPM) ფუნქციონირებს VHDL დიზაინში File (.vhd), თქვენ უნდა გამოიყენოთ LPM_HINT პარამეტრი Intel-ის სპეციფიკური პარამეტრის დასაზუსტებლად. მაგample: LPM_HINT = "CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = YES"
ნაგულისხმევი მნიშვნელობა არის UNUSED.
განსაზღვრავს პარამეტრიზებული მოდულების (LPM) ერთეულის სახელს VHDL დიზაინში files.
განაგრძო…

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 10

გამოხმაურების გაგზავნა

2. LPM_COUNTER (მრიცხველი) IP Core 683490 | 2020.10.05

პარამეტრის სახელი INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN

აკრიფეთ String String
სიმებიანი
სიმებიანი

საჭირო No No
არა
არა

აღწერა
ეს პარამეტრი გამოიყენება მოდელირებისა და ქცევის სიმულაციის მიზნებისთვის. ეს პარამეტრი გამოიყენება მოდელირებისა და ქცევის სიმულაციის მიზნებისთვის. პარამეტრის რედაქტორი ითვლის ამ პარამეტრის მნიშვნელობას.
ინტელის სპეციფიკური პარამეტრი. თქვენ უნდა გამოიყენოთ LPM_HINT პარამეტრი, რათა მიუთითოთ CARRY_CNT_EN პარამეტრი VHDL დიზაინში fileს. მნიშვნელობები არის SMART, ON, OFF და UNUSED. რთავს LPM_COUNTER ფუნქციას cnt_en სიგნალის გავრცელების ტარების ჯაჭვის მეშვეობით. ზოგიერთ შემთხვევაში, CARRY_CNT_EN პარამეტრის პარამეტრმა შეიძლება მცირე გავლენა მოახდინოს სიჩქარეზე, ამიტომ შეიძლება მისი გამორთვა მოგინდეთ. ნაგულისხმევი მნიშვნელობა არის SMART, რომელიც უზრუნველყოფს საუკეთესო კომპრომისს ზომასა და სიჩქარეს შორის.
ინტელის სპეციფიკური პარამეტრი. თქვენ უნდა გამოიყენოთ LPM_HINT პარამეტრი VHDL დიზაინში LABWIDE_SCLR პარამეტრის დასაზუსტებლად fileს. მნიშვნელობები ჩართულია, გამორთულია ან გამოუყენებელი. ნაგულისხმევი მნიშვნელობა არის ON. საშუალებას გაძლევთ გამორთოთ LABwide sclr ფუნქციის გამოყენება მოძველებული მოწყობილობების ოჯახებში. ამ პარამეტრის გამორთვა ზრდის ნაწილობრივ შევსებული LAB-ების სრულად გამოყენების შანსებს და, ამრიგად, შეიძლება დაუშვას უფრო მაღალი ლოგიკური სიმკვრივე, როდესაც SCLR არ ვრცელდება სრულ LAB-ზე. ეს პარამეტრი ხელმისაწვდომია უკანა თავსებადობისთვის და Intel გირჩევთ არ გამოიყენოთ ეს პარამეტრი.
განსაზღვრავს ზემოდან შეყვანის პორტის გამოყენებას. თუ გამოტოვებულია ნაგულისხმევი მნიშვნელობა არის PORT_CONNECTIVITY. როდესაც პორტის მნიშვნელობა დაყენებულია PORT_USED, პორტი განიხილება როგორც გამოყენებული. როდესაც პორტის მნიშვნელობა დაყენებულია PORT_UNUSED, პორტი განიხილება, როგორც გამოუყენებელი. როდესაც პორტის მნიშვნელობა დაყენებულია PORT_CONNECTIVITY, პორტის გამოყენება განისაზღვრება პორტის კავშირის შემოწმებით.

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 11

683490 | 2020.10.05 გამოხმაურების გაგზავნა

3. LPM_DIVIDE (გამყოფი) Intel FPGA IP Core

სურათი 2.

LPM_DIVIDE Intel FPGA IP ბირთვი ახორციელებს გამყოფს მრიცხველის შეყვანის მნიშვნელობის გასაყოფად მნიშვნელის შეყვანის მნიშვნელობაზე, რათა წარმოქმნას კოეფიციენტი და ნაშთი.

შემდეგი სურათი გვიჩვენებს პორტებს LPM_DIVIDE IP ბირთვისთვის.

LPM_DIVIDE პორტები

LPM_DIVIDE

numer[] denom[] საათი

კოეფიციენტი[] რჩება[]

კლკენ აკლრ

ინსტ

3.1. მახასიათებლები
LPM_DIVIDE IP ბირთვი გთავაზობთ შემდეგ ფუნქციებს: · წარმოქმნის გამყოფს, რომელიც ყოფს მრიცხველის შეყვანის მნიშვნელობას მნიშვნელის შეყვანით
მნიშვნელობა, რათა გამოიმუშაოს კოეფიციენტი და ნაშთი. · მხარს უჭერს მონაცემთა სიგანეს 1 ბიტი. · მხარს უჭერს ხელმოწერილ და ხელმოუწერელ მონაცემთა წარმოდგენის ფორმატს ორივე მრიცხველისთვის
და მნიშვნელის მნიშვნელობები. · მხარს უჭერს ფართობის ან სიჩქარის ოპტიმიზაციას. · გთავაზობთ პოზიტიური ნაშთის გამოსავლის მითითების ვარიანტს. · მხარს უჭერს მილსადენის კონფიგურირებადი გამომავალი შეყოვნებას. · მხარს უჭერს სურვილისამებრ ასინქრონულ სუფთა და საათის ჩართვის პორტებს.

3.2. Verilog HDL პროტოტიპი
შემდეგი Verilog HDL პროტოტიპი მდებარეობს Verilog Design-ში File (.v) lpm.v ში edasynthesis დირექტორია.
მოდული lpm_divide ( კოეფიციენტი, რჩება, რიცხვი, დასახელება, საათი, clken, aclr); პარამეტრი lpm_type = “lpm_divide”; პარამეტრი lpm_widthn = 1; პარამეტრი lpm_widthd = 1; პარამეტრი lpm_nrepresentation = „USIGNED“; პარამეტრი lpm_drepresentation = „USIGNED“; პარამეტრი lpm_remainderpositive = „TRUE“; პარამეტრი lpm_pipeline = 0;

ინტელის კორპორაცია. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. *სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.

ISO 9001:2015 რეგისტრირებულია

3. LPM_DIVIDE (გამყოფი) Intel FPGA IP Core 683490 | 2020.10.05

პარამეტრი lpm_hint = „გამოუყენებელი“; შეყვანის საათი; შეყვანა clken; შეყვანის aclr; შეყვანა [lpm_widthn-1:0] რიცხვი; შეყვანა [lpm_widthd-1:0] დასახელება; გამომავალი [lpm_widthn-1:0] კოეფიციენტი; გამომავალი [lpm_widthd-1:0] რჩება; ენდომოდული

3.3. VHDL კომპონენტის დეკლარაცია
VHDL კომპონენტის დეკლარაცია მდებარეობს VHDL დიზაინში File (.vhd) LPM_PACK.vhd ში librariesvhdllpm დირექტორია.
კომპონენტი LPM_DIVIDE ზოგადი (LPM_WIDTHN: ბუნებრივი; LPM_WIDTHD: ბუნებრივი;
LPM_NREPRESENTATION : string := “Usigned”; LPM_DREPRESENTATION : string := “Usigned”; LPM_PIPELINE : ბუნებრივი := 0; LPM_TYPE : string := L_DIVIDE; LPM_HINT : string := „გამოუყენებელი“); პორტი (NUMER: std_logic_vector-ში (LPM_WIDTHN-1 0-მდე); DENOM: std_logic_vector-ში (LPM_WIDTHD-1 0-მდე); ACLR: std_logic-ში:= '0'; CLOCK: std_logic-ში := 'EN_logic'; := '0'; ბოლო კომპონენტი;

3.4. VHDL LIBRARY_USE დეკლარაცია
VHDL LIBRARY-USE დეკლარაცია არ არის საჭირო, თუ იყენებთ VHDL კომპონენტის დეკლარაციას.
ბიბლიოთეკა lpm; გამოიყენეთ lpm.lpm_components.all;

3.5. პორტები

შემდეგ ცხრილებში ჩამოთვლილია შეყვანის და გამომავალი პორტები LPM_DIVIDE IP ბირთვისთვის.

ცხრილი 5.

LPM_DIVIDE შეყვანის პორტები

პორტის სახელი

საჭირო

ნომერი[]

დიახ

დენომი[]

დიახ

აღწერა
მრიცხველის მონაცემების შეყვანა. შეყვანის პორტის ზომა დამოკიდებულია LPM_WIDTHN პარამეტრის მნიშვნელობაზე.
მნიშვნელის მონაცემების შეყვანა. შეყვანის პორტის ზომა დამოკიდებულია LPM_WIDTHD პარამეტრის მნიშვნელობაზე.
განაგრძო…

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 13

3. LPM_DIVIDE (გამყოფი) Intel FPGA IP Core 683490 | 2020.10.05

პორტის სახელის საათი clken
აკლრ

საჭირო No No
არა

აღწერა
საათის შეყვანა მილსადენით გამოყენებისთვის. LPM_PIPELINE 0-ის გარდა (ნაგულისხმევი) მნიშვნელობებისთვის, საათის პორტი უნდა იყოს ჩართული.
საათი ააქტიურებს მილსადენის გამოყენებას. როდესაც კლკენის პორტი მაღალია, ხდება გაყოფის ოპერაცია. როდესაც სიგნალი დაბალია, ოპერაცია არ ხდება. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 1.
ასინქრონული გამჭვირვალე პორტი გამოიყენება ნებისმიერ დროს მილსადენის ყველა '0-ზე გადასატანად საათის შეყვანის ასინქრონულად.

ცხრილი 6.

LPM_DIVIDE გამომავალი პორტები

პორტის სახელი

საჭირო

აღწერა

კოეფიციენტი[]

დიახ

მონაცემთა გამომავალი. გამომავალი პორტის ზომა დამოკიდებულია LPM_WIDTHN-ზე

პარამეტრის მნიშვნელობა.

რჩება[]

დიახ

მონაცემთა გამომავალი. გამომავალი პორტის ზომა დამოკიდებულია LPM_WIDTHD-ზე

პარამეტრის მნიშვნელობა.

3.6. პარამეტრები

შემდეგი ცხრილი ჩამოთვლის LPM_DIVIDE Intel FPGA IP ბირთვის პარამეტრებს.

პარამეტრის სახელი

ტიპი

საჭირო

აღწერა

LPM_WIDTHN

მთელი რიცხვი

დიახ

განსაზღვრავს რიცხვის[] სიგანეებს და

quotient[] პორტები. მნიშვნელობებია 1-დან 64-მდე.

LPM_WIDTHD

მთელი რიცხვი

დიახ

განსაზღვრავს დენომის[] სიგანეებს და

რჩება[] პორტები. მნიშვნელობებია 1-დან 64-მდე.

LPM_NREPRESENTATION LPM_DREPRESENTATION

სიმებიანი სიმებიანი

არა

მრიცხველის შეყვანის ნიშნის წარმოდგენა.

ღირებულებები არის SIGNED და Unsigned. როცა ეს

პარამეტრი დაყენებულია SIGNED, გამყოფი

ახდენს numer[] შეყვანის ინტერპრეტაციას, როგორც ხელმოწერილი ორი

შეავსებს.

არა

მნიშვნელის შეყვანის ნიშნის წარმოდგენა.

ღირებულებები არის SIGNED და Unsigned. როცა ეს

პარამეტრი დაყენებულია SIGNED, გამყოფი

განმარტავს denom[] შეყვანას, როგორც ხელმოწერილი ორი

შეავსებს.

LPM_TYPE

სიმებიანი

არა

განსაზღვრავს პარამეტრირებული ბიბლიოთეკას

მოდულების (LPM) ერთეულის სახელი VHDL დიზაინში

files (.vhd).

LPM_HINT

სიმებიანი

არა

როდესაც თქვენ იყენებთ ბიბლიოთეკას

პარამეტრიზებული მოდულები (LPM) ფუნქციონირებს ა

VHDL დიზაინი File (.vhd), თქვენ უნდა გამოიყენოთ

LPM_HINT პარამეტრი Intel-ის მითითებისთვის

კონკრეტული პარამეტრი. მაგample: LPM_HINT

= „CHAIN_SIZE = 8,

ONE_INPUT_IS_CONSTANT = YES” The

ნაგულისხმევი მნიშვნელობა არის გამოუყენებელი.

LPM_REMAINDERPOSITIVE

სიმებიანი

არა

ინტელის სპეციფიკური პარამეტრი. თქვენ უნდა გამოიყენოთ

LPM_HINT პარამეტრის დასაზუსტებლად

LPM_REMAINDERPOSITIVE პარამეტრი in

VHDL დიზაინი fileს. მნიშვნელობები არის TRUE ან FALSE.

თუ ეს პარამეტრი დაყენებულია TRUE-ზე, მაშინ

დარჩენილი[] პორტის მნიშვნელობა უფრო დიდი უნდა იყოს

განაგრძო…

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 14

გამოხმაურების გაგზავნა

3. LPM_DIVIDE (გამყოფი) Intel FPGA IP Core 683490 | 2020.10.05

პარამეტრის სახელი

ტიპი

MAXIMIZE_SPEED

მთელი რიცხვი

LPM_PIPELINE

მთელი რიცხვი

INTENDED_DEVICE_FAMILY SKIP_BITS

სიმებიანი მთელი რიცხვი

საჭირო No
არა არა არა

აღწერა
ვიდრე ან ტოლია ნულის. თუ ეს პარამეტრი დაყენებულია TRUE-ზე, მაშინ დარჩენილი[] პორტის მნიშვნელობა არის ან ნული, ან მნიშვნელობა არის იგივე ნიშანი, დადებითი ან უარყოფითი, როგორც რიცხვითი პორტის მნიშვნელობა. ფართობის შესამცირებლად და სიჩქარის გასაუმჯობესებლად, Intel რეკომენდაციას უწევს ამ პარამეტრის დაყენებას TRUE-ზე იმ ოპერაციებში, სადაც დარჩენილი ნაწილი დადებითი უნდა იყოს ან სადაც დარჩენილი ნაწილი უმნიშვნელოა.
ინტელის სპეციფიკური პარამეტრი. თქვენ უნდა გამოიყენოთ LPM_HINT პარამეტრი VHDL დიზაინში MAXIMIZE_SPEED პარამეტრის დასაზუსტებლად fileს. მნიშვნელობებია [0..9]. თუ გამოიყენება, Intel Quartus Prime პროგრამული უზრუნველყოფა ცდილობს LPM_DIVIDE ფუნქციის კონკრეტული მაგალითის ოპტიმიზაციას სიჩქარისთვის და არა მარშრუტიზაციისთვის და უგულებელყოფს ოპტიმიზაციის ტექნიკის ლოგიკური ვარიანტის პარამეტრს. თუ MAXIMIZE_SPEED გამოუყენებელია, ამის ნაცვლად გამოიყენება ოპტიმიზაციის ტექნიკის პარამეტრის მნიშვნელობა. თუ MAXIMIZE_SPEED-ის მნიშვნელობა არის 6 ან მეტი, შემდგენელი ოპტიმიზებს LPM_DIVIDE IP ბირთვს უფრო მაღალი სიჩქარისთვის ტარების ჯაჭვების გამოყენებით; თუ მნიშვნელობა არის 5 ან ნაკლები, შემდგენელი ახორციელებს დიზაინს ტარების ჯაჭვების გარეშე.
განსაზღვრავს შეყოვნების საათის ციკლების რაოდენობას, რომლებიც დაკავშირებულია კოეფიციენტთან[] და დარჩენილ[] გამოსავლებთან. ნულოვანი (0) მნიშვნელობა მიუთითებს, რომ არ არსებობს შეყოვნება და რომ წმინდა კომბინაციური ფუნქცია დანერგილია. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 0 (არამილსადენი). თქვენ არ შეგიძლიათ მიუთითოთ LPM_PIPELINE პარამეტრის მნიშვნელობა, რომელიც აღემატება LPM_WIDTHN-ს.
ეს პარამეტრი გამოიყენება მოდელირებისა და ქცევის სიმულაციის მიზნებისთვის. პარამეტრის რედაქტორი ითვლის ამ პარამეტრის მნიშვნელობას.
საშუალებას იძლევა უფრო ეფექტური წილადი ბიტების დაყოფა, რათა მოხდეს ლოგიკის ოპტიმიზაცია წამყვან ბიტებზე, LPM_DIVIDE IP ბირთვზე წამყვანი GND-ის რაოდენობის მიწოდებით. მიუთითეთ წამყვანი GND-ის რაოდენობა ამ პარამეტრზე გამოსავალზე.

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 15

683490 | 2020.10.05 გამოხმაურების გაგზავნა

4. LPM_MULT (მულტიპლიკატორი) IP ბირთვი

სურათი 3.

LPM_MULT IP ბირთვი ახორციელებს მულტიპლიკატორს ორი შეყვანის მონაცემთა მნიშვნელობის გასამრავლებლად, რათა გამოვიდეს პროდუქტი.

შემდეგი სურათი გვიჩვენებს პორტებს LPM_MULT IP ბირთვისთვის.

LPM_Mult პორტები

LPM_MULT საათის მონაცემებია[] შედეგი[] მონაცემთა ბაზა[] aclr/sclr clken
ინსტ

დაკავშირებული ინფორმაციის მახასიათებლები 71 გვერდზე

4.1. მახასიათებლები
LPM_MULT IP ბირთვი გთავაზობთ შემდეგ მახასიათებლებს: · წარმოქმნის მულტიპლიკატორს, რომელიც ამრავლებს შეყვანის მონაცემთა ორ მნიშვნელობას · მხარს უჭერს მონაცემთა სიგანეს 1 ბიტით. განხორციელების ვარიანტი სპეციალურ ციფრულ სიგნალის დამუშავებაში (DSP)
ბლოკის წრე ან ლოგიკური ელემენტები (LEs) შენიშვნა: როდესაც აშენებთ მულტიპლიკატორებს, რომლებიც აღემატება ბუნებრივ მხარდაჭერას, შეიძლება/
იქნება ეფექტურობის გავლენა DSP ბლოკების კასკადის შედეგად. · მხარს უჭერს არასავალდებულო ასინქრონულ გაწმენდას და საათის ჩართვის პორტებს.

ინტელის კორპორაცია. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. *სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.

ISO 9001:2015 რეგისტრირებულია

4. LPM_MULT (მულტიპლიკატორი) IP Core 683490 | 2020.10.05
4.2. Verilog HDL პროტოტიპი
შემდეგი Verilog HDL პროტოტიპი მდებარეობს Verilog Design-ში File (.v) lpm.v ში edasynthesis დირექტორია.
მოდული lpm_mult ( შედეგი, dataa, datab, ჯამი, საათი, clken, aclr ) პარამეტრი lpm_type = “lpm_mult”; პარამეტრი lpm_widtha = 1; პარამეტრი lpm_widthb = 1; პარამეტრი lpm_widths = 1; პარამეტრი lpm_widthp = 1; პარამეტრი lpm_representation = “Usigned”; პარამეტრი lpm_pipeline = 0; პარამეტრი lpm_hint = „გამოუყენებელი“; შეყვანის საათი; შეყვანა clken; შეყვანის aclr; შეყვანა [lpm_widtha-1:0] dataa; შეყვანის [lpm_widthb-1:0] მონაცემთა ბალი; შეყვანა [lpm_widths-1:0] ჯამი; გამომავალი [lpm_widthp-1:0] შედეგი; ენდომოდული
4.3. VHDL კომპონენტის დეკლარაცია
VHDL კომპონენტის დეკლარაცია მდებარეობს VHDL დიზაინში File (.vhd) LPM_PACK.vhd ში librariesvhdllpm დირექტორია.
კომპონენტი LPM_MULT ზოგადი (LPM_WIDTHA: ბუნებრივი; LPM_WIDTHB: ბუნებრივი; LPM_WIDTHS: ბუნებრივი:= 1; LPM_WIDTHP: ბუნებრივი;
LPM_REPRESENTATION : string := “Usigned”; LPM_PIPELINE : ბუნებრივი := 0; LPM_TYPE: სტრიქონი := L_MULT; LPM_HINT : string := „გამოუყენებელი“); პორტი (DATAA: std_logic_vector-ში (LPM_WIDTHA-1 0-მდე); DATAB: std_logic_vector-ში (LPM_WIDTHB-1 0-მდე); ACLR: std_logic-ში:= '0'; CLOCK: std_logic-ში := '0 logic'; := '1'; ბოლო კომპონენტი;
4.4. VHDL LIBRARY_USE დეკლარაცია
VHDL LIBRARY-USE დეკლარაცია არ არის საჭირო, თუ იყენებთ VHDL კომპონენტის დეკლარაციას.
ბიბლიოთეკა lpm; გამოიყენეთ lpm.lpm_components.all;

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 17

4. LPM_MULT (მულტიპლიკატორი) IP Core 683490 | 2020.10.05

4.5. სიგნალები

ცხრილი 7.

LPM_MULT შეყვანის სიგნალები

სიგნალის სახელი

საჭირო

აღწერა

მონაცემები[]

დიახ

მონაცემთა შეყვანა.

Intel Stratix 10, Intel Arria 10 და Intel Cyclone 10 GX მოწყობილობებისთვის, შეყვანის სიგნალის ზომა დამოკიდებულია Dataa სიგანის პარამეტრის მნიშვნელობაზე.

ძველი და Intel Cyclone 10 LP მოწყობილობებისთვის, შეყვანის სიგნალის ზომა დამოკიდებულია LPM_WIDTHA პარამეტრის მნიშვნელობაზე.

მონაცემთა ბაზა[]

დიახ

მონაცემთა შეყვანა.

Intel Stratix 10, Intel Arria 10 და Intel Cyclone 10 GX მოწყობილობებისთვის, შეყვანის სიგნალის ზომა დამოკიდებულია მონაცემთა ბაზის სიგანის პარამეტრის მნიშვნელობაზე.

ძველი და Intel Cyclone 10 LP მოწყობილობებისთვის, შეყვანის სიგნალის ზომა დამოკიდებულია

LPM_WIDTHB პარამეტრის მნიშვნელობაზე.

საათი

არა

საათის შეყვანა მილსადენით გამოყენებისთვის.

ძველი და Intel Cyclone 10 LP მოწყობილობებისთვის, საათის სიგნალი უნდა იყოს ჩართული LPM_PIPELINE მნიშვნელობებისთვის, გარდა 0 (ნაგულისხმევი).

Intel Stratix 10, Intel Arria 10 და Intel Cyclone 10 GX მოწყობილობებისთვის, საათის სიგნალი უნდა იყოს ჩართული, თუ ლატენტური მნიშვნელობა არის 1-ის გარდა (ნაგულისხმევი).

კლკენი

არა

საათის ჩართვა მილსადენით გამოყენებისთვის. როდესაც კლკენის სიგნალი მაღალია,

ხდება შემკრები/გამოკლების ოპერაცია. როდესაც სიგნალი დაბალია, არანაირი ოპერაცია

ხდება. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 1.

aclr sclr

არა

ასინქრონული მკაფიო სიგნალი გამოიყენება ნებისმიერ დროს მილსადენის ყველა 0-ზე გადასატანად,

საათის სიგნალთან ასინქრონულად. მილსადენის ინიციალიზაცია ხდება განუსაზღვრელი (X)

ლოგიკური დონე. გამომავალი არის თანმიმდევრული, მაგრამ არა ნულოვანი მნიშვნელობა.

არა

სინქრონული მკაფიო სიგნალი გამოიყენება ნებისმიერ დროს მილსადენის ყველა 0-ზე გადასატანად,

სინქრონულად საათის სიგნალთან. მილსადენის ინიციალიზაცია ხდება განუსაზღვრელი (X)

ლოგიკური დონე. გამომავალი არის თანმიმდევრული, მაგრამ არა ნულოვანი მნიშვნელობა.

ცხრილი 8.

LPM_MULT გამომავალი სიგნალები

სიგნალის სახელი

საჭირო

აღწერა

შედეგი[]

დიახ

მონაცემთა გამომავალი.

ძველი და Intel Cyclone 10 LP მოწყობილობებისთვის, გამომავალი სიგნალის ზომა დამოკიდებულია LPM_WIDTHP პარამეტრის მნიშვნელობაზე. თუ LPM_WIDTHP < max (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) ან (LPM_WIDTHA + LPM_WIDTHS), მხოლოდ LPM_WIDTHP MSBs არის წარმოდგენილი.

Intel Stratix 10, Intel Arria 10 და Intel Cyclone 10 GX-ისთვის, გამომავალი სიგნალების ზომა დამოკიდებულია Result width პარამეტრზე.

4.6. პარამეტრები Stratix V, Arria V, Cyclone V და Intel Cyclone 10 LP მოწყობილობებისთვის

4.6.1. ზოგადი ჩანართი

ცხრილი 9.

ზოგადი ჩანართი

პარამეტრი

ღირებულება

მულტიპლიკატორის კონფიგურაცია

გაამრავლეთ 'dataa' შეყვანილი 'datab' შეყვანით

ნაგულისხმევი მნიშვნელობა

აღწერა

გაამრავლეთ 'dataa' შეყვანილი 'datab' შეყვანით

აირჩიეთ სასურველი კონფიგურაცია მულტიპლიკატორისთვის.
განაგრძო…

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 18

გამოხმაურების გაგზავნა

4. LPM_MULT (მულტიპლიკატორი) IP Core 683490 | 2020.10.05

პარამეტრი
რამდენად ფართო უნდა იყოს 'მონაცემთა' შეყვანა? რამდენად ფართო უნდა იყოს "მონაცემთა" შეყვანა? როგორ უნდა განისაზღვროს "შედეგის" გამომავალი სიგანე? შეზღუდეთ სიგანე

ღირებულება
„მონაცემების“ შეყვანის თავისთავად გამრავლება (მოეკვეთა ოპერაცია)
1-256 ბიტი

ნაგულისხმევი მნიშვნელობა

აღწერა

8 ბიტი

მიუთითეთ dataa[] პორტის სიგანე.

1-256 ბიტი

8 ბიტი

მიუთითეთ მონაცემთა ბაზის[] პორტის სიგანე.

სიგანის ავტომატურად გამოთვლა. სიგანის შეზღუდვა
1-512 ბიტი

ავტომატურად ითვლის სიგანეს

აირჩიეთ სასურველი მეთოდი შედეგის[] პორტის სიგანის დასადგენად.

16 ბიტი

მიუთითეთ შედეგის[] პორტის სიგანე.
ეს მნიშვნელობა ეფექტური იქნება მხოლოდ იმ შემთხვევაში, თუ აირჩევთ სიგანის შეზღუდვას Type პარამეტრში.

4.6.2. ზოგადი 2 ჩანართი

ცხრილი 10. ზოგადი 2 ტაბ

პარამეტრი

ღირებულება

მონაცემთა ბაზის შეყვანა

აქვს "მონაცემთა" შეყვანის ავტობუსს მუდმივი მნიშვნელობა?

არა დიახ

გამრავლების ტიპი

რომელი ტიპის

ხელმოუწერელი

გამრავლება გინდა? ხელი მოაწერა

განხორციელება

რომელი მულტიპლიკატორის განხორციელება უნდა იყოს გამოყენებული?

გამოიყენეთ ნაგულისხმევი განხორციელება
გამოიყენეთ გამოყოფილი მულტიპლიკატორის წრე (არ არის ხელმისაწვდომი ყველა ოჯახისთვის)
გამოიყენეთ ლოგიკური ელემენტები

ნაგულისხმევი მნიშვნელობა

აღწერა

არა

აირჩიეთ დიახ, რათა მიუთითოთ მუდმივი მნიშვნელობა

"მონაცემთა" შეყვანის ავტობუსი, ასეთის არსებობის შემთხვევაში.

ხელმოუწერელი

მიუთითეთ წარმოდგენის ფორმატი როგორც dataa[], ასევე datab[] შეყვანისთვის.

გამოიყენეთ ნაგულისხმევი იმპლემენტაციის იონი

აირჩიეთ სასურველი მეთოდი შედეგის[] პორტის სიგანის დასადგენად.

4.6.3. მილსადენის ჩანართი

ცხრილი 11. მილსადენის ჩანართი

პარამეტრი

გსურთ მილსადენის No

ფუნქცია?

დიახ

ღირებულება

შექმენით "aclr"

ასინქრონული გამჭვირვალე პორტი

ნაგულისხმევი მნიშვნელობა

აღწერა

არა

აირჩიეთ დიახ, რათა ჩართოთ მილსადენის რეგისტრაცია

მულტიპლიკატორის გამომავალი და მიუთითეთ სასურველი

გამომავალი შეყოვნება საათის ციკლში. ჩართვა

მილსადენის რეესტრი დამატებით შეყოვნებას მატებს

გამომავალი.

მონიშნულია

აირჩიეთ ეს პარამეტრი, რათა ჩართოთ aclr პორტი, გამოიყენოს ასინქრონული გაწმენდა მილსადენის რეესტრისთვის.
განაგრძო…

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 19

4. LPM_MULT (მულტიპლიკატორი) IP Core 683490 | 2020.10.05

პარამეტრი
შექმენით 'clken' საათის ჩართვის საათი
ოპტიმიზაცია
რა ტიპის ოპტიმიზაცია გსურთ?

ღირებულება -
ნაგულისხმევი სიჩქარის ზონა

ნაგულისხმევი მნიშვნელობა

აღწერა

მონიშნულია

განსაზღვრავს აქტიური მაღალი საათის ჩართვას მილსადენის რეგისტრის საათის პორტისთვის

ნაგულისხმევი

მიუთითეთ სასურველი ოპტიმიზაცია IP ბირთვისთვის.
აირჩიეთ ნაგულისხმევი, რათა Intel Quartus Prime პროგრამულ უზრუნველყოფას დაადგინოს საუკეთესო ოპტიმიზაცია IP ბირთვისთვის.

4.7. პარამეტრები Intel Stratix 10, Intel Arria 10 და Intel Cyclone 10 GX მოწყობილობებისთვის

4.7.1. ზოგადი ჩანართი

ცხრილი 12. ზოგადი ჩანართი

პარამეტრი

ღირებულება

ნაგულისხმევი მნიშვნელობა

აღწერა

მულტიპლიკატორის კონფიგურაციის ტიპი
მონაცემთა პორტის სიგანე

გაამრავლეთ 'dataa' შეყვანილი 'datab' შეყვანით
„მონაცემების“ შეყვანის თავისთავად გამრავლება (მოეკვეთა ოპერაცია)

გაამრავლეთ 'dataa' შეყვანილი 'datab' შეყვანით

აირჩიეთ სასურველი კონფიგურაცია მულტიპლიკატორისთვის.

მონაცემთა სიგანე

1-256 ბიტი

8 ბიტი

მიუთითეთ dataa[] პორტის სიგანე.

მონაცემთა ბაზის სიგანე

1-256 ბიტი

8 ბიტი

მიუთითეთ მონაცემთა ბაზის[] პორტის სიგანე.

როგორ უნდა განისაზღვროს "შედეგის" გამომავალი სიგანე?

ტიპი

ავტომატურად გამოთვალეთ სიგანე
შეზღუდეთ სიგანე

ავტომატურად ითვლის სიგანეს

აირჩიეთ სასურველი მეთოდი შედეგის[] პორტის სიგანის დასადგენად.

ღირებულება

1-512 ბიტი

16 ბიტი

მიუთითეთ შედეგის[] პორტის სიგანე.
ეს მნიშვნელობა ეფექტური იქნება მხოლოდ იმ შემთხვევაში, თუ აირჩევთ სიგანის შეზღუდვას Type პარამეტრში.

შედეგის სიგანე

1-512 ბიტი

აჩვენებს შედეგის[] პორტის ეფექტურ სიგანეს.

4.7.2. ზოგადი 2 ჩანართი

ცხრილი 13. ზოგადი 2 ტაბ

პარამეტრი

მონაცემთა ბაზის შეყვანა

აქვს "მონაცემთა" შეყვანის ავტობუსს მუდმივი მნიშვნელობა?

არა დიახ

ღირებულება

ნაგულისხმევი მნიშვნელობა

აღწერა

არა

აირჩიეთ დიახ, რათა მიუთითოთ მუდმივი მნიშვნელობა

"მონაცემთა" შეყვანის ავტობუსი, ასეთის არსებობის შემთხვევაში.

განაგრძო…

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 20

გამოხმაურების გაგზავნა

4. LPM_MULT (მულტიპლიკატორი) IP Core 683490 | 2020.10.05

პარამეტრი

ღირებულება

ღირებულება

ნებისმიერი მნიშვნელობა 0-ზე მეტი

გამრავლების ტიპი

რომელი ტიპის

ხელმოუწერელი

გამრავლება გინდა? ხელი მოაწერა

განხორციელების სტილი

რომელი მულტიპლიკატორის განხორციელება უნდა იყოს გამოყენებული?

გამოიყენეთ ნაგულისხმევი განხორციელება
გამოიყენეთ გამოყოფილი მულტიპლიკატორის წრე
გამოიყენეთ ლოგიკური ელემენტები

ნაგულისხმევი მნიშვნელობა

აღწერა

0

მიუთითეთ datab[] პორტის მუდმივი მნიშვნელობა.

ხელმოუწერელი

მიუთითეთ წარმოდგენის ფორმატი როგორც dataa[], ასევე datab[] შეყვანისთვის.

გამოიყენეთ ნაგულისხმევი იმპლემენტაციის იონი

აირჩიეთ სასურველი მეთოდი შედეგის[] პორტის სიგანის დასადგენად.

4.7.3. მილსადენის გაყვანა

ცხრილი 14. მილსადენის ჩანართი

პარამეტრი

ღირებულება

გსურთ ფუნქციის მილსადენი?

მილსადენი

არა დიახ

შეყოვნების გასუფთავების სიგნალის ტიპი

ნებისმიერი მნიშვნელობა 0-ზე მეტი.
ACLR SCLR

შექმენით "კლკენ" საათი

საათის ჩართვა

რა ტიპის ოპტიმიზაცია გსურთ?

ტიპი

ნაგულისხმევი სიჩქარის ზონა

ნაგულისხმევი მნიშვნელობა

აღწერა

No 1 NONE

აირჩიეთ დიახ, რათა ჩართოთ მილსადენის რეგისტრაცია მულტიპლიკატორის გამოსავალზე. მილსადენის რეესტრის ჩართვა გამომავალს დამატებით შეყოვნებას ამატებს.
მიუთითეთ სასურველი გამომავალი შეყოვნება საათის ციკლში.
მიუთითეთ გადატვირთვის ტიპი მილსადენის რეესტრისთვის. აირჩიეთ NONE, თუ არ იყენებთ მილსადენის რეესტრს. აირჩიეთ ACLR ასინქრონული გაწმენდის გამოსაყენებლად მილსადენის რეესტრისთვის. ეს შექმნის ACLR პორტს. აირჩიეთ SCLR სინქრონული გაწმენდის გამოსაყენებლად მილსადენის რეესტრისთვის. ეს შექმნის SCLR პორტს.
განსაზღვრავს აქტიური მაღალი საათის ჩართვას მილსადენის რეგისტრის საათის პორტისთვის

ნაგულისხმევი

მიუთითეთ სასურველი ოპტიმიზაცია IP ბირთვისთვის.
აირჩიეთ ნაგულისხმევი, რათა Intel Quartus Prime პროგრამულ უზრუნველყოფას დაადგინოს საუკეთესო ოპტიმიზაცია IP ბირთვისთვის.

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 21

683490 | 2020.10.05 გამოხმაურების გაგზავნა

5. LPM_ADD_SUB (შემკრები/გამოკლება)

სურათი 4.

LPM_ADD_SUB IP ბირთვი საშუალებას გაძლევთ განახორციელოთ შემკრები ან გამოკლება მონაცემთა ნაკრების დასამატებლად ან გამოკლების მიზნით, რათა მიიღოთ გამოსავალი, რომელიც შეიცავს შეყვანის მნიშვნელობების ჯამს ან განსხვავებას.

შემდეგი სურათი გვიჩვენებს პორტებს LPM_ADD_SUB IP ბირთვისთვის.

LPM_ADD_SUB პორტები

LPM_ADD_SUB add_sub cin

მონაცემები[]

საათი clken datab[] aclr

შედეგი[] გადინება cout

ინსტ

5.1. მახასიათებლები
LPM_ADD_SUB IP ბირთვი გთავაზობთ შემდეგ მახასიათებლებს: · წარმოქმნის შემგროვებელს, გამოკლებას და დინამიურად კონფიგურირებად შემგროვებელს/გამოკლებას
ფუნქციები. · მხარს უჭერს მონაცემთა სიგანეს 1 ბიტი. · მხარს უჭერს მონაცემთა წარმოდგენის ფორმატს, როგორიცაა ხელმოწერილი და ხელმოუწერელი. · მხარს უჭერს არასავალდებულო შეტანას (გასესხება), ასინქრონულ გარკვევას და საათის ჩართვას
შეყვანის პორტები. · მხარს უჭერს არასავალდებულო განხორციელების (დასესხება) და გადინების გამომავალი პორტებს. · ანიჭებს ერთ-ერთ შეყვანის მონაცემთა ავტობუსს მუდმივზე. · მხარს უჭერს მილსადენს კონფიგურირებადი გამომავალი შეყოვნებით.

ინტელის კორპორაცია. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. *სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.

ISO 9001:2015 რეგისტრირებულია

5. LPM_ADD_SUB (შემკრები/გამოკლება) 683490 | 2020.10.05
5.2. Verilog HDL პროტოტიპი
შემდეგი Verilog HDL პროტოტიპი მდებარეობს Verilog Design-ში File (.v) lpm.v ში edasynthesis დირექტორია.
მოდული lpm_add_sub ( შედეგი, cout, overflow,add_sub, cin, dataa, datab, clock, clken, aclr); პარამეტრი lpm_type = “lpm_add_sub”; პარამეტრი lpm_width = 1; პარამეტრი lpm_direction = „გამოუყენებელი“; პარამეტრი lpm_representation = „ხელმოწერილი“; პარამეტრი lpm_pipeline = 0; პარამეტრი lpm_hint = „გამოუყენებელი“; შეყვანა [lpm_width-1:0] dataa, datab; შეყვანა add_sub, cin; შეყვანის საათი; შეყვანა clken; შეყვანა aclr; გამომავალი [lpm_width-1:0] შედეგი; გამომავალი გამომავალი, გადინება; ენდომოდული
5.3. VHDL კომპონენტის დეკლარაცია
VHDL კომპონენტის დეკლარაცია მდებარეობს VHDL დიზაინში File (.vhd) LPM_PACK.vhd ში librariesvhdllpm დირექტორია.
კომპონენტი LPM_ADD_SUB ზოგადი (LPM_WIDTH : ბუნებრივი;
LPM_DIRECTION : string := „გამოუყენებელი“; LPM_REPRESENTATION: string := „ხელმოწერილი“; LPM_PIPELINE : ბუნებრივი := 0; LPM_TYPE : string := L_ADD_SUB; LPM_HINT : string := „გამოუყენებელი“); პორტი (DATAA: std_logic_vector-ში (LPM_WIDTH-1 0-მდე); DATAB: std_logic_vector-ში (LPM_WIDTH-1 0-მდე); ACLR: std_logic-ში:= '0'; CLOCK: std_logic-ში := '0'; stdK; := 'CIN': std_logic := 'Z'; ბოლო კომპონენტი;
5.4. VHDL LIBRARY_USE დეკლარაცია
VHDL LIBRARY-USE დეკლარაცია არ არის საჭირო, თუ იყენებთ VHDL კომპონენტის დეკლარაციას.
ბიბლიოთეკა lpm; გამოიყენეთ lpm.lpm_components.all;
5.5. პორტები
შემდეგ ცხრილებში ჩამოთვლილია შეყვანის და გამომავალი პორტები LPM_ADD_SUB IP ბირთვისთვის.

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 23

5. LPM_ADD_SUB (შემკრები/გამოკლება) 683490 | 2020.10.05

ცხრილი 15. LPM_ADD_SUB IP Core შეყვანის პორტები

პორტის სახელი

საჭირო

აღწერა

ცინ

არა

გადაიტანეთ დაბალი რიგის ბიტზე. დამატების ოპერაციებისთვის ნაგულისხმევი მნიშვნელობა არის 0. For

გამოკლების ოპერაციები, ნაგულისხმევი მნიშვნელობა არის 1.

მონაცემები[]

დიახ

მონაცემთა შეყვანა. შეყვანის პორტის ზომა დამოკიდებულია LPM_WIDTH პარამეტრის მნიშვნელობაზე.

მონაცემთა ბაზა[]

დიახ

მონაცემთა შეყვანა. შეყვანის პორტის ზომა დამოკიდებულია LPM_WIDTH პარამეტრის მნიშვნელობაზე.

add_sub

არა

არასავალდებულო შეყვანის პორტი შემკრებსა და გამოკლებას შორის დინამიური გადართვის გასააქტიურებლად

ფუნქციები. თუ გამოიყენება LPM_DIRECTION პარამეტრი, add_sub ვერ იქნება გამოყენებული. თუ

გამოტოვებული, ნაგულისხმევი მნიშვნელობა არის ADD. Intel გირჩევთ გამოიყენოთ

LPM_DIRECTION პარამეტრი LPM_ADD_SUB ფუნქციის მუშაობის დასაზუსტებლად,

ვიდრე მუდმივი მივანიჭოთ add_sub პორტს.

საათი

არა

შეყვანა მილსადენით გამოყენებისთვის. საათის პორტი უზრუნველყოფს საათის შეყვანას მილსადენისთვის

ოპერაცია. LPM_PIPELINE 0-ის გარდა (ნაგულისხმევი) მნიშვნელობებისთვის, საათის პორტი უნდა იყოს

ჩართულია.

კლკენი

არა

საათის ჩართვა მილსადენით გამოყენებისთვის. როდესაც კლკენის პორტი დამტკიცებულია მაღალი, შემკრები/

ხდება გამოკლების ოპერაცია. როდესაც სიგნალი დაბალია, ოპერაცია არ ხდება. თუ

გამოტოვებული, ნაგულისხმევი მნიშვნელობა არის 1.

აკლრ

არა

ასინქრონული გამწმენდი მილსადენით გამოყენებისთვის. მილსადენის ინიციალიზაცია ხდება განუსაზღვრელი (X)

ლოგიკური დონე. aclr პორტის გამოყენება შესაძლებელია ნებისმიერ დროს მილსადენის ყველა 0-ზე გადასატანად,

საათის სიგნალთან ასინქრონულად.

ცხრილი 16. LPM_ADD_SUB IP Core გამომავალი პორტები

პორტის სახელი

საჭირო

აღწერა

შედეგი[]

დიახ

მონაცემთა გამომავალი. გამომავალი პორტის ზომა დამოკიდებულია LPM_WIDTH პარამეტრზე

ღირებულება.

კოუტ

არა

ყველაზე მნიშვნელოვანი ბიტის (MSB) შესრულება (სესხება). Cout პორტს აქვს ფიზიკური

ინტერპრეტაცია, როგორც MSB-ის განხორციელების (სესხების მიღება). Cout პორტი ამოიცნობს

გადინება ხელმოუწერელ ოპერაციებში. Cout პორტი მუშაობს იმავე წესით

SIGNED და Unsigned ოპერაციები.

გადინება

არა

სურვილისამებრ გადინება გამონაკლისი. გადინების პორტს აქვს ფიზიკური ინტერპრეტაცია, როგორც

MSB-ში გადასატანის XOR MSB-ის განხორციელებით. გადინების პორტი

ამტკიცებს, როდესაც შედეგები აღემატება ხელმისაწვდომ სიზუსტეს და გამოიყენება მხოლოდ მაშინ, როდესაც

LPM_REPRESENTATION პარამეტრის მნიშვნელობა არის SIGNED.

5.6. პარამეტრები

შემდეგ ცხრილში მოცემულია LPM_ADD_SUB IP ძირითადი პარამეტრები.

ცხრილი 17. LPM_ADD_SUB IP ძირითადი პარამეტრები

პარამეტრის სახელი LPM_WIDTH

აკრიფეთ მთელი რიცხვი

საჭირო დიახ

აღწერა
განსაზღვრავს dataa[], datab[] და result[] პორტების სიგანეებს.

LPM_DIRECTION

სიმებიანი

არა

მნიშვნელობებია ADD, SUB და UNUSED. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის DEFAULT, რომელიც მიმართავს პარამეტრს, რომ მიიღოს მისი მნიშვნელობა add_sub პორტიდან. add_sub პორტის გამოყენება შეუძლებელია, თუ გამოიყენება LPM_DIRECTION. Intel გირჩევთ გამოიყენოთ LPM_DIRECTION პარამეტრი LPM_ADD_SUB ფუნქციის მოქმედების დასაზუსტებლად, ვიდრე add_sub პორტისთვის მუდმივი მინიჭება.
განაგრძო…

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 24

გამოხმაურების გაგზავნა

5. LPM_ADD_SUB (შემკრები/გამოკლება) 683490 | 2020.10.05

პარამეტრის სახელი LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY

ტიპი სტრიქონი მთელი რიცხვი სტრიქონი სტრიქონი სტრიქონი მთელი რიცხვი
სიმებიანი

საჭირო არა არა არა არა არა არა არა
არა

აღწერა
განსაზღვრავს შესრულებული დამატების ტიპს. ღირებულებები არის SIGNED და Unsigned. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის SIGNED. როდესაც ეს პარამეტრი დაყენებულია SIGNED-ზე, შემკრები/გამოკლება ახდენს მონაცემთა შეყვანის ინტერპრეტაციას, როგორც ხელმოწერილი ორის კომპლემენტად.
განსაზღვრავს შეყოვნების საათის ციკლების რაოდენობას, რომლებიც დაკავშირებულია შედეგთან[] გამომავალთან. ნულოვანი (0) მნიშვნელობა მიუთითებს, რომ არ არსებობს შეყოვნება და რომ წმინდა კომბინაციური ფუნქცია იქნება დანერგილი. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 0 (არამილსადენი).
გაძლევთ საშუალებას მიუთითოთ Intel-ის სპეციფიკური პარამეტრები VHDL დიზაინში files (.vhd). ნაგულისხმევი მნიშვნელობა არის UNUSED.
განსაზღვრავს პარამეტრიზებული მოდულების (LPM) ერთეულის სახელს VHDL დიზაინში files.
ინტელის სპეციფიკური პარამეტრი. თქვენ უნდა გამოიყენოთ LPM_HINT პარამეტრი VHDL დიზაინში ONE_INPUT_IS_CONSTANT პარამეტრის დასაზუსტებლად fileს. მნიშვნელობები არის დიახ, არა და გამოუყენებელი. უზრუნველყოფს უფრო დიდ ოპტიმიზაციას, თუ ერთი შეყვანა მუდმივია. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის NO.
ინტელის სპეციფიკური პარამეტრი. თქვენ უნდა გამოიყენოთ LPM_HINT პარამეტრი VHDL დიზაინში MAXIMIZE_SPEED პარამეტრის დასაზუსტებლად fileს. თქვენ შეგიძლიათ მიუთითოთ მნიშვნელობა 0-დან 10-მდე. გამოყენების შემთხვევაში, Intel Quartus Prime პროგრამული უზრუნველყოფა ცდილობს LPM_ADD_SUB ფუნქციის კონკრეტული ინსტანციის ოპტიმიზაციას სიჩქარისთვის და არა მარშრუტიზაციისთვის და უგულებელყოფს ოპტიმიზაციის ტექნიკის ლოგიკური ვარიანტის პარამეტრს. თუ MAXIMIZE_SPEED გამოუყენებელია, ამის ნაცვლად გამოიყენება ოპტიმიზაციის ტექნიკის პარამეტრის მნიშვნელობა. თუ პარამეტრი MAXIMIZE_SPEED არის 6 ან მეტი, შემდგენელი ოპტიმიზებს LPM_ADD_SUB IP ბირთვს უფრო მაღალი სიჩქარისთვის გადასატანი ჯაჭვების გამოყენებით; თუ პარამეტრი არის 5 ან ნაკლები, შემდგენელი ახორციელებს დიზაინს ტარების ჯაჭვების გარეშე. ეს პარამეტრი მითითებული უნდა იყოს Cyclone, Stratix და Stratix GX მოწყობილობებისთვის მხოლოდ მაშინ, როდესაც add_sub პორტი არ არის გამოყენებული.
ეს პარამეტრი გამოიყენება მოდელირებისა და ქცევის სიმულაციის მიზნებისთვის. პარამეტრის რედაქტორი ითვლის ამ პარამეტრის მნიშვნელობას.

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 25

683490 | 2020.10.05 გამოხმაურების გაგზავნა

6. LPM_COMPARE (შედარება)

სურათი 5.

LPM_COMPARE IP ბირთვი ადარებს მონაცემთა ორი ნაკრების მნიშვნელობას მათ შორის ურთიერთობის დასადგენად. მისი უმარტივესი ფორმით, შეგიძლიათ გამოიყენოთ ექსკლუზიური-OR კარიბჭე, რათა დაადგინოთ არის თუ არა მონაცემების ორი ბიტი თანაბარი.

შემდეგი სურათი გვიჩვენებს პორტებს LPM_COMPARE IP ბირთვისთვის.

LPM_COMPARE პორტები

LPM_COMPARE

კლკენი

ალბ

აებ

მონაცემები[]

აგბ

მონაცემთა ბაზა[]

ageb

საათი

ანებ

აკლრ

ალებ

ინსტ

6.1. მახასიათებლები
LPM_COMPARE IP ბირთვი გთავაზობთ შემდეგ მახასიათებლებს: · აწარმოებს შედარების ფუნქციას მონაცემთა ორი ნაკრების შესადარებლად. · მხარს უჭერს მონაცემთა სიგანეს 1 ბიტით. · მხარს უჭერს მონაცემთა წარმოდგენის ფორმატს, როგორიცაა ხელმოწერილი და ხელმოუწერელი · აწარმოებს გამომავალი შემდეგი ტიპებს:
— alb (შეყვანა A ნაკლებია შეყვანილ B-ზე) — aeb (შეყვანა A უდრის შეყვანა B-ს) — agb (შეყვანა A მეტია შეყვანილ B-ზე) — ageb (შეყვანა A მეტია ან ტოლია შეყვანა B-ზე) — aneb ( შეყვანა A არ არის B შეყვანის ტოლი) — aleb (შეყვანა A არის B-ზე ნაკლები ან ტოლი) · მხარს უჭერს არჩევით ასინქრონულ გასუფთავებას და საათის ჩართვის შეყვანის პორტებს · ანიჭებს მონაცემთა ბაზის[] შეყვანას მუდმივზე

ინტელის კორპორაცია. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. *სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.

ISO 9001:2015 რეგისტრირებულია

6. LPM_COMPARE (შესადარებელი) 683490 | 2020.10.05
6.2. Verilog HDL პროტოტიპი
შემდეგი Verilog HDL პროტოტიპი მდებარეობს Verilog Design-ში File (.v) lpm.v ში edasynthesis დირექტორია.
მოდული lpm_compare (alb, aeb, agb, aleb, aneb, ageb, dataa, datab, clock, clken, aclr); პარამეტრი lpm_type = “lpm_compare”; პარამეტრი lpm_width = 1; პარამეტრი lpm_representation = “Usigned”; პარამეტრი lpm_pipeline = 0; პარამეტრი lpm_hint = „გამოუყენებელი“; შეყვანა [lpm_width-1:0] dataa, datab; შეყვანის საათი; შეყვანა clken; შეყვანა aclr; გამომავალი ალბ, აებ, აგბ, ალებ, ანებ, აგებ; ენდომოდული
6.3. VHDL კომპონენტის დეკლარაცია
VHDL კომპონენტის დეკლარაცია მდებარეობს VHDL დიზაინში File (.vhd) LPM_PACK.vhd ში librariesvhdllpm დირექტორია.
კომპონენტი LPM_COMPARE ზოგადი (LPM_WIDTH : ბუნებრივი;
LPM_REPRESENTATION : string := “Usigned”; LPM_PIPELINE : ბუნებრივი := 0; LPM_TYPE: სტრიქონი := L_COMPARE; LPM_HINT : string := „გამოუყენებელი“); პორტი (DATAA: std_logic_vector-ში (LPM_WIDTH-1 0-მდე); DATAB: std_logic_vector-ში (LPM_WIDTH-1 0-მდე); ACLR: std_logic-ში:= '0'; CLOCK: std_logic-ში := '0'; stdK; := 'AGB' : out std_logic : out std_logic ; ბოლო კომპონენტი;
6.4. VHDL LIBRARY_USE დეკლარაცია
VHDL LIBRARY-USE დეკლარაცია არ არის საჭირო, თუ იყენებთ VHDL კომპონენტის დეკლარაციას.
ბიბლიოთეკა lpm; გამოიყენეთ lpm.lpm_components.all;
6.5. პორტები
შემდეგ ცხრილებში ჩამოთვლილია შეყვანის და გამომავალი პორტები LMP_COMPARE IP ბირთვისთვის.

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 27

6. LPM_COMPARE (შესადარებელი) 683490 | 2020.10.05

ცხრილი 18. LPM_COMPARE IP ბირთვის შეყვანის პორტები

პორტის სახელი

საჭირო

აღწერა

მონაცემები[]

დიახ

მონაცემთა შეყვანა. შეყვანის პორტის ზომა დამოკიდებულია LPM_WIDTH პარამეტრის მნიშვნელობაზე.

მონაცემთა ბაზა[]

დიახ

მონაცემთა შეყვანა. შეყვანის პორტის ზომა დამოკიდებულია LPM_WIDTH პარამეტრის მნიშვნელობაზე.

საათი

არა

საათის შეყვანა მილსადენით გამოყენებისთვის. საათის პორტი უზრუნველყოფს საათის შეყვანას მილსადენისთვის

ოპერაცია. LPM_PIPELINE 0-ის გარდა (ნაგულისხმევი) მნიშვნელობებისთვის, საათის პორტი უნდა იყოს

ჩართულია.

კლკენი

არა

საათის ჩართვა მილსადენით გამოყენებისთვის. როდესაც კლკენის პორტი მაღალია,

ტარდება შედარების ოპერაცია. როდესაც სიგნალი დაბალია, ოპერაცია არ ხდება. თუ

გამოტოვებული, ნაგულისხმევი მნიშვნელობა არის 1.

აკლრ

არა

ასინქრონული გამწმენდი მილსადენით გამოყენებისთვის. მილსადენის ინიციალიზაცია ხდება განუსაზღვრელი (X) ლოგიკით

დონე. aclr პორტის გამოყენება შესაძლებელია ნებისმიერ დროს მილსადენის ყველა 0-ზე გადასატანად,

საათის სიგნალთან ასინქრონულად.

ცხრილი 19. LPM_COMPARE IP ბირთვის გამომავალი პორტები

პორტის სახელი

საჭირო

აღწერა

ალბ

არა

გამომავალი პორტი შედარებისთვის. დამტკიცებულია, თუ შეყვანა A ნაკლებია შეყვანილ B-ზე.

აებ

არა

გამომავალი პორტი შედარებისთვის. დამტკიცებულია, თუ შეყვანა A უდრის შეყვანა B-ს.

აგბ

არა

გამომავალი პორტი შედარებისთვის. დამტკიცებულია, თუ შეყვანა A მეტია შეყვანილ B-ზე.

ageb

არა

გამომავალი პორტი შედარებისთვის. დამტკიცებულია, თუ შეყვანა A მეტია ან ტოლია შეყვანის

B.

ანებ

არა

გამომავალი პორტი შედარებისთვის. დამტკიცებულია, თუ შეყვანა A არ არის B შეყვანის ტოლი.

ალებ

არა

გამომავალი პორტი შედარებისთვის. დამტკიცებულია, თუ შეყვანა A არის B-ზე ნაკლები ან ტოლი.

6.6. პარამეტრები

შემდეგი ცხრილი ჩამოთვლის LPM_COMPARE IP ბირთვის პარამეტრებს.

ცხრილი 20. LPM_COMPARE IP ძირითადი პარამეტრები

პარამეტრის სახელი

ტიპი

საჭირო

LPM_WIDTH

მთელი რიცხვი დიახ

LPM_REPRESENTATION

სიმებიანი

არა

LPM_PIPELINE

მთელი რიცხვი No

LPM_HINT

სიმებიანი

არა

აღწერა
განსაზღვრავს dataa[] და datab[] პორტების სიგანეებს.
განსაზღვრავს შესრულებული შედარების ტიპს. ღირებულებები არის SIGNED და Unsigned. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის UNSIGNED. როდესაც ამ პარამეტრის მნიშვნელობა დაყენებულია SIGNED-ზე, შედარება ახდენს მონაცემთა შეყვანის ინტერპრეტაციას, როგორც ხელმოწერილი ორი კომპლემენტის სახით.
განსაზღვრავს შეყოვნების საათის ციკლების რაოდენობას, რომლებიც დაკავშირებულია alb, aeb, agb, ageb, aleb ან aneb გამომავალთან. ნულოვანი (0) მნიშვნელობა მიუთითებს, რომ არ არსებობს შეყოვნება და რომ წმინდა კომბინაციური ფუნქცია იქნება დანერგილი. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 0 (არამილსადენი).
გაძლევთ საშუალებას მიუთითოთ Intel-ის სპეციფიკური პარამეტრები VHDL დიზაინში files (.vhd). ნაგულისხმევი მნიშვნელობა არის UNUSED.
განაგრძო…

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 28

გამოხმაურების გაგზავნა

6. LPM_COMPARE (შესადარებელი) 683490 | 2020.10.05
პარამეტრის სახელი LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT

აკრიფეთ String String
სიმებიანი

საჭირო No No
არა

აღწერა
განსაზღვრავს პარამეტრიზებული მოდულების (LPM) ერთეულის სახელს VHDL დიზაინში files.
ეს პარამეტრი გამოიყენება მოდელირებისა და ქცევის სიმულაციის მიზნებისთვის. პარამეტრის რედაქტორი ითვლის ამ პარამეტრის მნიშვნელობას.
ინტელის სპეციფიკური პარამეტრი. თქვენ უნდა გამოიყენოთ LPM_HINT პარამეტრი VHDL დიზაინში ONE_INPUT_IS_CONSTANT პარამეტრის დასაზუსტებლად fileს. მნიშვნელობები არის დიახ, არა, ან გამოუყენებელი. უზრუნველყოფს უფრო დიდ ოპტიმიზაციას, თუ შეყვანა მუდმივია. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის NO.

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 29

683490 | 2020.10.05 გამოხმაურების გაგზავნა

7. ALTECC (შეცდომის გამოსწორების კოდი: Encoder/Decoder) IP Core

სურათი 6.

Intel უზრუნველყოფს ALTECC IP ბირთვს ECC ფუნქციონირების განსახორციელებლად. ECC აღმოაჩენს დაზიანებულ მონაცემებს, რომლებიც ხდება მიმღების მხარეს მონაცემთა გადაცემის დროს. შეცდომის გამოსწორების ეს მეთოდი საუკეთესოდ შეეფერება სიტუაციებს, როდესაც შეცდომები ხდება შემთხვევით და არა ადიდებულად.

ECC აღმოაჩენს შეცდომებს მონაცემთა კოდირებისა და დეკოდირების პროცესში. მაგampროდესაც ECC გამოიყენება გადაცემის აპლიკაციაში, წყაროდან წაკითხული მონაცემები კოდირდება მიმღებში გაგზავნამდე. გამომავალი (კოდური სიტყვა) კოდირებიდან შედგება ნედლი მონაცემებისგან, რომელსაც თან ერთვის პარიტეტის ბიტების რაოდენობა. დამატებული პარიტეტის ბიტების ზუსტი რაოდენობა დამოკიდებულია შეყვანის მონაცემებში ბიტების რაოდენობაზე. გენერირებული კოდი სიტყვა შემდეგ გადაეცემა დანიშნულების ადგილს.

მიმღები იღებს კოდურ სიტყვას და შიფრავს მას. დეკოდერის მიერ მიღებული ინფორმაცია განსაზღვრავს, არის თუ არა შეცდომა. დეკოდერი აღმოაჩენს ერთბიტიან და ორბიტიან შეცდომებს, მაგრამ შეუძლია მხოლოდ ერთი ბიტიანი შეცდომების გამოსწორება დაზიანებულ მონაცემებში. ამ ტიპის ECC არის ერთჯერადი შეცდომის კორექტირება ორმაგი შეცდომის გამოვლენა (SECDED).

თქვენ შეგიძლიათ დააკონფიგურიროთ ALTECC IP ბირთვის ენკოდერის და დეკოდერის ფუნქციები. ენკოდერში შეყვანილი მონაცემები დაშიფრულია კოდის სიტყვის გენერირებისთვის, რომელიც წარმოადგენს მონაცემთა შეყვანის და გენერირებული პარიტეტის ბიტების კომბინაციას. გენერირებული კოდი სიტყვა გადაეცემა დეკოდერის მოდულს დეკოდირებისთვის დანიშნულების ბლოკამდე მისვლამდე. დეკოდერი ქმნის სინდრომის ვექტორს, რათა დადგინდეს, არის თუ არა რაიმე შეცდომა მიღებულ კოდურ სიტყვაში. დეკოდერი ასწორებს მონაცემებს მხოლოდ იმ შემთხვევაში, თუ ერთი ბიტიანი შეცდომა მონაცემთა ბიტებიდან არის. არცერთი სიგნალი არ არის მონიშნული, თუ ერთი ბიტიანი შეცდომა არის პარიტეტის ბიტებიდან. დეკოდერს ასევე აქვს დროშის სიგნალები, რათა აჩვენოს მიღებული მონაცემების სტატუსი და დეკოდერის მიერ განხორციელებული ქმედება, ასეთის არსებობის შემთხვევაში.

შემდეგი ფიგურები აჩვენებს პორტებს ALTECC IP ბირთვისთვის.

ALTECC Encoder პორტები

ALTECC_ENCODER

მონაცემები[]

q[]

საათი

საათი

აკლრ

ინსტ

ინტელის კორპორაცია. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. *სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.

ISO 9001:2015 რეგისტრირებულია

7. ALTECC (შეცდომის გამოსწორების კოდი: Encoder/Decoder) IP Core 683490 | 2020.10.05

სურათი 7. ALTECC დეკოდერის პორტები

ALTECC_DECODER

data[] საათის საათი

q[] err_detected err_corrected
err_fatal

აკლრ

ინსტ

7.1. ALTECC შიფრატორის მახასიათებლები

ALTECC დაშიფვრის IP ბირთვი გთავაზობთ შემდეგ ფუნქციებს: · ასრულებს მონაცემთა დაშიფვრას Hamming კოდირების სქემის გამოყენებით · მხარს უჭერს მონაცემთა სიგანეს 2 ბიტით · მხარს უჭერს ხელმოწერილ და ხელმოუწერელ მონაცემთა წარმოდგენის ფორმატს · მხარს უჭერს მილსადენს გამომავალი შეყოვნებით ან ერთი ან ორი საათის ციკლით. ასინქრონული გამწმენდი და საათის ჩართვის პორტები

ALTECC კოდირების IP ბირთვი იღებს და დაშიფვრავს მონაცემებს Hamming კოდირების სქემის გამოყენებით. Hamming კოდირების სქემა იღებს პარიტეტის ბიტებს და უმატებს მათ თავდაპირველ მონაცემებს გამომავალი კოდის სიტყვის შესაქმნელად. დამატებული პარიტეტის ბიტების რაოდენობა დამოკიდებულია მონაცემთა სიგანეზე.

შემდეგი ცხრილი ჩამოთვლის პარიტეტის ბიტების რაოდენობას, რომლებიც დართულია მონაცემთა სიგანის სხვადასხვა დიაპაზონისთვის. სვეტი Total Bits წარმოადგენს შეყვანის მონაცემთა ბიტებისა და დამატებული პარიტეტის ბიტების საერთო რაოდენობას.

ცხრილი 21.

პარიტეტის ბიტებისა და კოდის სიტყვის რაოდენობა მონაცემთა სიგანის მიხედვით

მონაცემთა სიგანე

პარიტეტის ბიტების რაოდენობა

სულ ბიტები (კოდი სიტყვა)

2-4 წწ

3+1

6-8 წწ

5-11 წწ

4+1

10-16 წწ

12-26 წწ

5+1

18-32 წწ

27-57 წწ

6+1

34-64 წწ

58-64 წწ

7+1

66-72 წწ

პარიტეტის ბიტის წარმოშობა იყენებს ლუწი პარიტეტის შემოწმებას. დამატებითი 1 ბიტი (ცხრილში ნაჩვენებია როგორც +1) თან ერთვის პარიტეტის ბიტებს, როგორც კოდის სიტყვის MSB. ეს უზრუნველყოფს, რომ კოდურ სიტყვას აქვს 1-ის ლუწი რიცხვი. მაგampთუ მონაცემთა სიგანე 4 ბიტია, 4 პარიტეტული ბიტი ემატება მონაცემებს, რათა გახდეს კოდის სიტყვა, სულ 8 ბიტით. თუ 7-ბიტიანი კოდის სიტყვის LSB-დან 8 ბიტს აქვს კენტი რიცხვი 1-ისა, კოდის სიტყვის მე-8 ბიტი (MSB) არის 1, რაც კოდურ სიტყვაში 1-ის საერთო რაოდენობას ლუწი ხდის.
შემდეგი სურათი გვიჩვენებს გენერირებულ კოდურ სიტყვას და პარიტეტის ბიტებისა და მონაცემთა ბიტების განლაგებას 8-ბიტიან მონაცემთა შეყვანაში.

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 31

7. ALTECC (შეცდომის გამოსწორების კოდი: Encoder/Decoder) IP Core 683490 | 2020.10.05

სურათი 8.

პარიტეტის ბიტები და მონაცემთა ბიტების განლაგება 8-ბიტიან გენერირებულ კოდურ სიტყვაში

MSB

LSB

4 პარიტეტის ბიტი

4 მონაცემთა ბიტი

8

1

ALTECC შიფრატორის IP ბირთვი იღებს მხოლოდ შეყვანის სიგანეს 2-დან 64 ბიტამდე ერთდროულად. შეყვანის სიგანე 12 ბიტი, 29 ბიტი და 64 ბიტი, რომელიც იდეალურად შეეფერება Intel მოწყობილობებს, წარმოქმნის გამოსავალს შესაბამისად 18 ბიტი, 36 ბიტი და 72 ბიტი. თქვენ შეგიძლიათ აკონტროლოთ ბიტის შერჩევის შეზღუდვა პარამეტრების რედაქტორში.

7.2. Verilog HDL პროტოტიპი (ALTECC_ENCODER)
შემდეგი Verilog HDL პროტოტიპი მდებარეობს Verilog Design-ში File (.v) lpm.v ში edasynthesis დირექტორია.
მოდული altecc_encoder #( პარამეტრი syned_device_family = "გამოუყენებელი", პარამეტრი lpm_pipeline = 0, პარამეტრი width_codeword = 8, პარამეტრი width_dataword = 8, პარამეტრი lpm_type = "altecc_encoder", პარამეტრი lpm_hint = "გამოუყენებელი მავთულის შეყვანა, ჩასმული მავთულის ჩასმა aclr") მავთულის საათი, შეყვანის მავთული [სიგანე_მონაცემთა სიტყვა-1:0] მონაცემები, გამომავალი მავთული [სიგანე_კოდისიტყვა-1:0] q); ენდომოდული

7.3. Verilog HDL პროტოტიპი (ALTECC_DECODER)
შემდეგი Verilog HDL პროტოტიპი მდებარეობს Verilog Design-ში File (.v) lpm.v ში edasynthesis დირექტორია.
მოდული altecc_decoder #( პარამეტრი syned_device_family = "გამოუყენებელი", პარამეტრი lpm_pipeline = 0, პარამეტრი width_codeword = 8, პარამეტრი width_dataword = 8, პარამეტრი lpm_type = "altecc_decoder", პარამეტრი lpm_hint = "გამოუყენებელი მავთულის შეყვანა, ჩასმული მავთულის ჩასმა aclr") მავთულის საათი, შეყვანის მავთული [სიგანე_კოდისიტყვა-1:0] მონაცემები, გამომავალი მავთული err_corrected, output wire err_detected, outout wire err_fatal, გამომავალი მავთული [სიგანე_მონაცემთა სიტყვა-1:0] q); ენდომოდული

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 32

გამოხმაურების გაგზავნა

7. ALTECC (შეცდომის გამოსწორების კოდი: Encoder/Decoder) IP Core 683490 | 2020.10.05
7.4. VHDL კომპონენტის დეკლარაცია (ALTECC_ENCODER)
VHDL კომპონენტის დეკლარაცია მდებარეობს VHDL დიზაინში File (.vhd) altera_mf_components.vhd in librariesvhdlaltera_mf დირექტორია.
კომპონენტი altecc_encoder generic (design_device_family:string := “გამოუყენებელი”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “UNUSED”: ccderteing; ”); port(aclr:in std_logic := '0'; clock: in std_logic := '0'; clocken: in std_logic := '1'; data: std_logic_vector (width_dataword-1 ქვემოთ 0); q: out std_logic_vector(width_code -1 0-მდე)); ბოლო კომპონენტი;
7.5. VHDL კომპონენტის დეკლარაცია (ALTECC_DECODER)
VHDL კომპონენტის დეკლარაცია მდებარეობს VHDL დიზაინში File (.vhd) altera_mf_components.vhd in librariesvhdlaltera_mf დირექტორია.
კომპონენტი altecc_decoder generic (design_device_family:string := „გამოუყენებელი“; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := „UNUSED“: ccderteing ”); port(aclr:in std_logic := '0'; clock: in std_logic := '0'; clocken: in std_logic := '1'; data: in std_logic_vector (width_codeword-1 ქვემოთ 0); err_corrected: out std_logic; err_detect : out std_logic; ბოლო კომპონენტი;
7.6. VHDL LIBRARY_USE დეკლარაცია
VHDL LIBRARY-USE დეკლარაცია არ არის საჭირო, თუ იყენებთ VHDL კომპონენტის დეკლარაციას.
ბიბლიოთეკა altera_mf; გამოიყენეთ altera_mf.altera_mf_components.all;
7.7. კოდირების პორტები
შემდეგ ცხრილებში ჩამოთვლილია შეყვანის და გამომავალი პორტები ALTECC კოდირების IP ბირთვისთვის.

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 33

7. ALTECC (შეცდომის გამოსწორების კოდი: Encoder/Decoder) IP Core 683490 | 2020.10.05

ცხრილი 22. ALTECC ენკოდერის შეყვანის პორტები

პორტის სახელი

საჭირო

აღწერა

მონაცემები[]

დიახ

მონაცემთა შეყვანის პორტი. შეყვანის პორტის ზომა დამოკიდებულია WIDTH_DATAWORD-ზე

პარამეტრის მნიშვნელობა. მონაცემთა[] პორტი შეიცავს დაუმუშავებელ მონაცემებს, რომლებიც უნდა იყოს კოდირებული.

საათი

დიახ

საათის შეყვანის პორტი, რომელიც უზრუნველყოფს საათის სიგნალს კოდირების ოპერაციის სინქრონიზაციისთვის.

საათის პორტი საჭიროა, როდესაც LPM_PIPELINE მნიშვნელობა 0-ზე მეტია.

საათი

არა

საათის ჩართვა. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 1.

აკლრ

არა

ასინქრონული მკაფიო შეყვანა. აქტიური მაღალი aclr სიგნალი შეიძლება გამოყენებულ იქნას ნებისმიერ დროს

რეგისტრების ასინქრონულად გასუფთავება.

ცხრილი 23. ALTECC ენკოდერის გამომავალი პორტები

პორტის სახელი q[]

საჭირო დიახ

აღწერა
კოდირებული მონაცემთა გამომავალი პორტი. გამომავალი პორტის ზომა დამოკიდებულია WIDTH_CODEWORD პარამეტრის მნიშვნელობაზე.

7.8. დეკოდერის პორტები

შემდეგ ცხრილებში ჩამოთვლილია შეყვანის და გამომავალი პორტები ALTECC დეკოდერის IP ბირთვისთვის.

ცხრილი 24. ALTECC დეკოდერის შეყვანის პორტები

პორტის სახელი

საჭირო

აღწერა

მონაცემები[]

დიახ

მონაცემთა შეყვანის პორტი. შეყვანის პორტის ზომა დამოკიდებულია WIDTH_CODEWORD პარამეტრის მნიშვნელობაზე.

საათი

დიახ

საათის შეყვანის პორტი, რომელიც უზრუნველყოფს საათის სიგნალს კოდირების ოპერაციის სინქრონიზაციისთვის. საათის პორტი საჭიროა, როდესაც LPM_PIPELINE მნიშვნელობა 0-ზე მეტია.

საათი

არა

საათის ჩართვა. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 1.

აკლრ

არა

ასინქრონული მკაფიო შეყვანა. აქტიური მაღალი aclr სიგნალი შეიძლება გამოყენებულ იქნას ნებისმიერ დროს რეგისტრების ასინქრონულად გასასუფთავებლად.

ცხრილი 25. ALTECC დეკოდერის გამომავალი პორტები

პორტის სახელი q[]

საჭირო დიახ

აღწერა
დეკოდირებული მონაცემთა გამომავალი პორტი. გამომავალი პორტის ზომა დამოკიდებულია WIDTH_DATAWORD პარამეტრის მნიშვნელობაზე.

err_detected დიახ

დროშის სიგნალი, რომელიც ასახავს მიღებული მონაცემების სტატუსს და მიუთითებს აღმოჩენილ შეცდომებზე.

err_correcte დიახ დ

დროშის სიგნალი, რომელიც ასახავს მიღებული მონაცემების სტატუსს. აღნიშნავს აღმოჩენილ და გამოსწორებულ ერთ ბიტიან შეცდომას. თქვენ შეგიძლიათ გამოიყენოთ მონაცემები, რადგან ის უკვე შესწორებულია.

err_fatal

დიახ

დროშის სიგნალი, რომელიც ასახავს მიღებული მონაცემების სტატუსს. აღნიშნავს ორბიტიან შეცდომას, რომელიც ნაპოვნია, მაგრამ არ არის გამოსწორებული. თქვენ არ უნდა გამოიყენოთ მონაცემები, თუ ეს სიგნალი დადასტურებულია.

syn_e

არა

გამომავალი სიგნალი, რომელიც მაღალი იქნება, როდესაც აღმოჩენილია ერთი ბიტიანი შეცდომა პარიტეტზე

ბიტები.

7.9. შიფრატორის პარამეტრები
შემდეგი ცხრილი ჩამოთვლის ALTECC კოდირების IP ბირთვის პარამეტრებს.

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 34

გამოხმაურების გაგზავნა

7. ALTECC (შეცდომის გამოსწორების კოდი: Encoder/Decoder) IP Core 683490 | 2020.10.05

ცხრილი 26. ALTECC შიფრატორის პარამეტრები

პარამეტრის სახელი

ტიპი

საჭირო

აღწერა

WIDTH_DATAWORD

მთელი რიცხვი დიახ

განსაზღვრავს ნედლეული მონაცემების სიგანეს. მნიშვნელობები არის 2-დან 64-მდე. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 8.

WIDTH_CODEWORD

მთელი რიცხვი დიახ

განსაზღვრავს შესაბამისი კოდის სიტყვის სიგანეს. მოქმედი მნიშვნელობებია 6-დან 72-მდე, 9, 17, 33 და 65-ის გამოკლებით. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 13.

LPM_PIPELINE

მთელი რიცხვი No

განსაზღვრავს მილსადენს წრედისთვის. მნიშვნელობები არის 0-დან 2-მდე. თუ მნიშვნელობა არის 0, პორტები არ არის რეგისტრირებული. თუ მნიშვნელობა არის 1, გამომავალი პორტები რეგისტრირებულია. თუ მნიშვნელობა არის 2, შეყვანის და გამომავალი პორტები რეგისტრირებულია. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 0.

7.10. დეკოდერის პარამეტრები

შემდეგ ცხრილში მოცემულია ALTECC დეკოდერის IP ძირითადი პარამეტრები.

ცხრილი 27. ALTECC დეკოდერის პარამეტრები

პარამეტრის სახელი WIDTH_DATAWORD

აკრიფეთ მთელი რიცხვი

საჭირო

აღწერა

დიახ

განსაზღვრავს ნედლეული მონაცემების სიგანეს. მნიშვნელობები არის 2-დან 64-მდე

ნაგულისხმევი მნიშვნელობა არის 8.

WIDTH_CODEWORD

მთელი რიცხვი

დიახ

განსაზღვრავს შესაბამისი კოდის სიტყვის სიგანეს. მნიშვნელობები არის 6

72-მდე, 9, 17, 33 და 65-ის გამოკლებით. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა

არის 13.

LPM_PIPELINE

მთელი რიცხვი

არა

განსაზღვრავს მიკროსქემის რეესტრს. მნიშვნელობები არის 0-დან 2-მდე. თუ

მნიშვნელობა არის 0, რეგისტრი არ არის დანერგილი. თუ მნიშვნელობა არის 1, მაშინ

გამომავალი რეგისტრირებულია. თუ მნიშვნელობა არის 2, ორივე შეყვანა და

გამომავალი რეგისტრირებულია. თუ მნიშვნელობა 2-ზე მეტია, დამატებითი

რეგისტრები დანერგილია გამოსავალზე დამატებითი

შეყოვნება. თუ გამოტოვებულია, ნაგულისხმევი მნიშვნელობა არის 0.

შექმენით 'syn_e' პორტი

მთელი რიცხვი

არა

ჩართეთ ეს პარამეტრი syn_e პორტის შესაქმნელად.

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 35

683490 | 2020.10.05 გამოხმაურების გაგზავნა

8. Intel FPGA Multiply Adder IP Core

სურათი 9.

Intel FPGA გამრავლების შემკრები (Intel Stratix 10, Intel Arria 10 და Intel Cyclone 10 GX მოწყობილობები) ან ALTERA_MULT_ADD (Arria V, Stratix V და Cyclone V მოწყობილობები) IP ბირთვი საშუალებას გაძლევთ განახორციელოთ მულტიპლიკატორი-შემკრები.

შემდეგი სურათი გვიჩვენებს პორტებს Intel FPGA Multiply Adder-ისთვის ან ALTERA_MULT_ADD IP ბირთვისთვის.

Intel FPGA გამრავლების შემკრები ან ALTERA_MULT_ADD პორტები

Intel FPGA გამრავლების შემკრები ან ALTERA_MULT_ADD

dataa[] signa datab[] signb datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] clock0 clock1 clock2 ena0 ena1 ena2 sload_accum
accum_sload ჯაჭვი[]

scanouta[] შედეგი[]

aclr0 aclr1

ინსტ
მულტიპლიკატორი-შემკრები იღებს წყვილებს, ამრავლებს მნიშვნელობებს და შემდეგ ამატებს ან აკლებს ყველა სხვა წყვილის პროდუქტებს.
თუ ყველა შეყვანის მონაცემთა სიგანე 9-ბიტიანია ან უფრო მცირეა, ფუნქცია იყენებს 9 x 9 ბიტიანი შეყვანის მულტიპლიკატორის კონფიგურაციას DSP ბლოკში მოწყობილობებისთვის, რომლებიც მხარს უჭერენ 9 x 9 კონფიგურაციას. თუ არა, DSP ბლოკი იყენებს 18 × 18-ბიტიან შეყვანის მულტიპლიკატორებს მონაცემების დასამუშავებლად, რომელთა სიგანეები 10-დან 18 ბიტამდეა. თუ დიზაინში ჩნდება Intel FPGA Multiply Adder ან ALTERA_MULT_ADD IP ბირთვი, ფუნქციები ნაწილდება შემდეგნაირად.

ინტელის კორპორაცია. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. *სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.

ISO 9001:2015 რეგისტრირებულია

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
რაც შეიძლება ბევრი განსხვავებული DSP ბლოკი, რათა ამ ბლოკებზე მარშრუტიზაცია უფრო მოქნილი იყოს. ნაკლები მულტიპლიკატორი თითო DSP ბლოკზე იძლევა მეტი მარშრუტის არჩევანს ბლოკში დანარჩენ მოწყობილობამდე ბილიკების მინიმიზაციის გზით.
რეგისტრები და დამატებითი მილსადენის რეგისტრები შემდეგი სიგნალებისთვის ასევე განთავსებულია DSP ბლოკის შიგნით: · მონაცემთა შეყვანა · ხელმოწერილი ან ხელმოუწერელი შერჩევა · დამატება ან გამოკლება · მამრავლების პროდუქტები.
გამომავალი შედეგის შემთხვევაში პირველი რეგისტრი მოთავსებულია DSP ბლოკში. თუმცა დამატებითი შეყოვნების რეგისტრები მოთავსებულია ლოგიკურ ელემენტებში ბლოკის გარეთ. DSP ბლოკის პერიფერიული, მათ შორის მონაცემთა შეყვანები მულტიპლიკატორში, საკონტროლო სიგნალის შეყვანა და დამგროვებლის გამომავალი, გამოიყენეთ რეგულარული მარშრუტი დანარჩენ მოწყობილობასთან კომუნიკაციისთვის. ფუნქციის ყველა კავშირი იყენებს სპეციალურ მარშრუტიზაციას DSP ბლოკის შიგნით. ეს გამოყოფილი მარშრუტი მოიცავს ცვლის რეგისტრის ჯაჭვებს, როდესაც ირჩევთ მულტიპლიკატორის რეგისტრირებული შეყვანის მონაცემების ერთი მულტიპლიკატორიდან მიმდებარე მულტიპლიკატორზე გადატანის ვარიანტს.
დამატებითი ინფორმაციისთვის DSP ბლოკების შესახებ ნებისმიერი Stratix V და Arria V მოწყობილობების სერიებში, იხილეთ შესაბამისი სახელმძღვანელოების DSP Blocks თავი ლიტერატურისა და ტექნიკური დოკუმენტაციის გვერდზე.
დაკავშირებული ინფორმაცია AN 306: მულტიპლიკატორების დანერგვა FPGA მოწყობილობებში
გთავაზობთ მეტ ინფორმაციას მულტიპლიკატორების დანერგვის შესახებ DSP და მეხსიერების ბლოკების გამოყენებით Intel FPGA მოწყობილობებში.
8.1. მახასიათებლები
Intel FPGA გამრავლების შემკრები ან ALTERA_MULT_ADD IP ბირთვი გთავაზობთ შემდეგ მახასიათებლებს: · წარმოქმნის მულტიპლიკატორს ორი რთული გამრავლების ოპერაციების შესასრულებლად
რიცხვები შენიშვნა: როდესაც აშენებთ მულტიპლიკატორებს, რომლებიც აღემატება ბუნებრივ მხარდაჭერას, შეიძლება/
იქნება ეფექტურობის გავლენა DSP ბლოკების კასკადის შედეგად. · მხარს უჭერს მონაცემთა სიგანეს 1 256 ბიტით · მხარს უჭერს ხელმოწერილ და ხელმოუწერელ მონაცემთა წარმოდგენის ფორმატს · მხარს უჭერს მილსადენს კონფიგურირებადი შეყვანის შეყოვნებით · უზრუნველყოფს დინამიურად გადართვის ვარიანტს ხელმოწერილ და ხელმოუწერელ მონაცემთა მხარდაჭერას · უზრუნველყოფს დინამიურად გადართვის ვარიანტს დამატებასა და გამოკლებას შორის · მხარს უჭერს არასავალდებულო ასინქრონული და სინქრონული წმინდა და საათის ჩართვის შეყვანის პორტები · მხარს უჭერს სისტოლური დაყოვნების რეგისტრის რეჟიმს · მხარს უჭერს წინასწარ დამმატებელს 8 წინასწარ დატვირთვის კოეფიციენტით თითო მულტიპლიკატორზე · მხარს უჭერს წინასწარ დატვირთვის მუდმივობას აკუმულატორის უკუკავშირის დასამატებლად

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 37

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

8.1.1. წინასწარი შემკრები
წინასწარი შემკრებით, შეკრება ან გამოკლება ხდება მულტიპლიკატორის კვებამდე.
არსებობს ხუთი წინასწარი შემკრების რეჟიმი: · მარტივი რეჟიმი · კოეფიციენტის რეჟიმი · შეყვანის რეჟიმი · კვადრატული რეჟიმი · მუდმივი რეჟიმი

შენიშვნა:

როდესაც გამოიყენება წინასწარი შემგროვებელი (წინასწარი დამამატებელი კოეფიციენტი/შეყვანის/კვადრატის რეჟიმი), ყველა მონაცემის შეყვანა მულტიპლიკატორში უნდა ჰქონდეს საათის იგივე პარამეტრი.

8.1.1.1. წინასწარი დამატების მარტივი რეჟიმი

ამ რეჟიმში, ორივე ოპერანდი გამომდინარეობს შეყვანის პორტებიდან და წინასწარი დამმატებელი არ გამოიყენება ან გვერდის ავლით. ეს არის ნაგულისხმევი რეჟიმი.

სურათი 10. Pre-adder Simple Mode
a0 b0

Mult0

შედეგი

8.1.1.2. წინასწარი დამატების კოეფიციენტის რეჟიმი
ამ რეჟიმში, ერთი მულტიპლიკატორის ოპერანდი წარმოიქმნება წინასწარი შემკრებიდან, ხოლო მეორე ოპერანდი გამოდის შიდა კოეფიციენტის შენახვისგან. კოეფიციენტის შენახვის საშუალებას იძლევა 8-მდე წინასწარ დაყენებული მუდმივი. კოეფიციენტის შერჩევის სიგნალები არის კოეფიცი [0..3].
ეს რეჟიმი გამოიხატება შემდეგ განტოლებაში.

ქვემოთ მოცემულია მულტიპლიკატორის წინასწარი შემკრების კოეფიციენტის რეჟიმი.

ნახაზი 11. წინადამატების კოეფიციენტის რეჟიმი

წინამძღვარი

a0

Mult0

+/-

შედეგი

b0

coefsel0 კოეფიციენტი

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 38

გამოხმაურების გაგზავნა

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1.3. Pre-adder Input Mode ამ რეჟიმში, ერთი მულტიპლიკატორის ოპერანდი წარმოიქმნება წინასწარი შემგროვებლისგან, ხოლო მეორე ოპერანდი გამომდინარეობს datac[] შეყვანის პორტიდან. ეს რეჟიმი გამოიხატება შემდეგ განტოლებაში.

შემდეგი გვიჩვენებს მულტიპლიკატორის წინასწარი შემკრების შეყვანის რეჟიმს.

სურათი 12. წინასწარი დამატების შეყვანის რეჟიმი
a0 b0

Mult0

+/-

შედეგი

c0

8.1.1.4. წინასწარი შემკრების კვადრატული რეჟიმი ეს რეჟიმი გამოიხატება შემდეგი განტოლებით.

ქვემოთ მოცემულია ორი მულტიპლიკატორის წინასწარი შემკრების კვადრატული რეჟიმი.

სურათი 13. წინასწარი დამატების კვადრატული რეჟიმი
a0 b0

Mult0

+/-

შედეგი

8.1.1.5. წინასწარი დამატების მუდმივი რეჟიმი
ამ რეჟიმში, ერთი მულტიპლიკატორის ოპერანდი გამოდის შეყვანის პორტიდან, ხოლო მეორე ოპერანდი გამოდის შიდა კოეფიციენტის საცავიდან. კოეფიციენტის შენახვის საშუალებას იძლევა 8-მდე წინასწარ დაყენებული მუდმივი. კოეფიციენტის შერჩევის სიგნალები არის კოეფიცი [0..3].
ეს რეჟიმი გამოიხატება შემდეგ განტოლებაში.

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 39

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

შემდეგი ფიგურა გვიჩვენებს მულტიპლიკატორის წინასწარი შემკრების მუდმივ რეჟიმში.

სურათი 14. წინასწარი დამატების მუდმივი რეჟიმი
a0

Mult0

შედეგი

coefsel0
კოეფიციენტი
8.1.2. სისტოლური დაგვიანების რეგისტრაცია
სისტოლურ არქიტექტურაში, შეყვანის მონაცემები იკვებება რეგისტრების კასკადში, რომლებიც მოქმედებს როგორც მონაცემთა ბუფერი. თითოეული რეესტრი აწვდის შეყვანის sample მულტიპლიკატორზე, სადაც ის მრავლდება შესაბამის კოეფიციენტზე. ჯაჭვის შემკრები ინახავს თანდათანობით კომბინირებულ შედეგებს მულტიპლიკატორიდან და ადრე რეგისტრირებულ შედეგს chainin[] შეყვანის პორტიდან საბოლოო შედეგის შესაქმნელად. ყოველი გამრავლება-დამატების ელემენტი უნდა გადაიდოს ერთი ციკლით ისე, რომ შედეგები სათანადოდ სინქრონიზდეს, როდესაც ისინი ერთად დაემატება. ყოველი თანმიმდევრული დაყოვნება გამოიყენება როგორც კოეფიციენტური მეხსიერების, ასევე მათი შესაბამისი გამრავლება-დამატების ელემენტების მონაცემთა ბუფერისთვის. მაგample, ერთი დაყოვნება მეორე გამრავლების დამატების ელემენტისთვის, ორი დაყოვნება მესამე გამრავლება-დამატების ელემენტისთვის და ა.შ.
სურათი 15. სისტოლური რეგისტრები
სისტოლური რეგისტრები

x(t) c(0)

S -1

S -1

c(1)

S -1

S -1

c(2)

S -1

S -1

c(N-1)

S -1

S -1

S -1

S -1 y(t)

x(t) წარმოადგენს შედეგებს s შეყვანის უწყვეტი ნაკადიდანamples და y(t)
წარმოადგენს s შეყვანის სიმრავლის ჯამსamples და დროში, გამრავლებული მათზე
შესაბამისი კოეფიციენტები. ორივე შეყვანის და გამომავალი შედეგი მიედინება მარცხნიდან მარჯვნივ. c(0)-დან c(N-1-მდე) აღნიშნავს კოეფიციენტებს. სისტოლური დაყოვნების რეგისტრები აღინიშნება S-1-ით, ხოლო 1 წარმოადგენს ერთი საათის დაყოვნებას. სისტოლური დაყოვნების რეგისტრები დამატებულია
მილსადენების შეყვანა და გამოსავლები ისე, რომ უზრუნველყოს შედეგები
მულტიპლიკატორის ოპერანდი და დაგროვილი ჯამები სინქრონულად რჩება. ეს დამუშავების ელემენტი
იმეორებს წრედს, რომელიც ითვლის ფილტრაციის ფუნქციას. ეს ფუნქცია არის
გამოხატული შემდეგ განტოლებაში.

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 40

გამოხმაურების გაგზავნა

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

N წარმოადგენს მონაცემთა ციკლების რაოდენობას, რომელიც შევიდა აკუმულატორში, y(t) წარმოადგენს გამოსავალს t დროს, A(t) წარმოადგენს შეყვანას t დროს, ხოლო B(i) არის კოეფიციენტები. განტოლებაში t და i შეესაბამება დროის კონკრეტულ მომენტს, ასე რომ გამოვთვალოთ გამომავალი sample y(t) t დროს, შეყვანის ჯგუფი samples N დროის სხვადასხვა წერტილში, ან A(n), A(n-1), A(n-2), … A(n-N+1) საჭიროა. N შეყვანის ჯგუფი samples მრავლდება N კოეფიციენტებით და ჯდება ერთად საბოლოო შედეგის y-ის მისაღებად.
სისტოლური რეგისტრის არქიტექტურა ხელმისაწვდომია მხოლოდ sum-of-2 და sum-of-4 რეჟიმებისთვის. სისტოლური რეგისტრის არქიტექტურის ორივე რეჟიმისთვის, პირველი ჯაჭვის სიგნალი უნდა იყოს მიბმული 0-ზე.
შემდეგი სურათი გვიჩვენებს 2 მულტიპლიკატორის სისტოლური დაყოვნების რეგისტრის განხორციელებას.
სურათი 16. 2 მულტიპლიკატორის სისტოლური დაყოვნების რეგისტრის განხორციელება
ჯაჭვი

a0

Mult0

+/-

b0

a1

Mult1

+/-

b1

შედეგი
ორი მამრავლის ჯამი გამოიხატება შემდეგ განტოლებაში.
შემდეგი სურათი გვიჩვენებს 4 მულტიპლიკატორის სისტოლური დაყოვნების რეგისტრის განხორციელებას.

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 41

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

სურათი 17. 4 მულტიპლიკატორის სისტოლური დაყოვნების რეგისტრის განხორციელება
ჯაჭვი

a0

Mult0

+/-

b0

a1

Mult1

+/-

b1

a2

Mult2

+/-

b2

a3

Mult3

+/-

b3

შედეგი
ოთხი მამრავლის ჯამი გამოიხატება შემდეგ განტოლებაში. სურათი 18. 4 მამრავლის ჯამი
ქვემოთ ჩამოთვლილია ადვანსიtagსისტოლური რეგისტრის განხორციელების არსებები: · ამცირებს DSP რესურსის გამოყენებას · რთავს ეფექტურ რუკს DSP ბლოკში ჯაჭვის შემკრების სტრუქტურის გამოყენებით

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 42

გამოხმაურების გაგზავნა

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

8.1.3. წინასწარ ჩატვირთვა მუდმივი
წინასწარ დატვირთვის მუდმივი აკონტროლებს აკუმულატორის ოპერანდს და ავსებს აკუმულატორის უკუკავშირს. მოქმედი LOADCONST_VALUE მერყეობს 0-დან. მუდმივი მნიშვნელობა უდრის 64N-ს, სადაც N = LOADCONST_VALUE. როდესაც LOADCONST_VALUE დაყენებულია 2-ზე, მუდმივი მნიშვნელობა უდრის 64-ს. ეს ფუნქცია შეიძლება გამოყენებულ იქნას მიკერძოებულ დამრგვალებად.
შემდეგი სურათი გვიჩვენებს წინასწარ დატვირთვის მუდმივ განხორციელებას.
სურათი 19. წინასწარ დატვირთვის მუდმივი

აკუმულატორის გამოხმაურება

მუდმივი

a0

Mult0

+/-

b0

a1

Mult1

+/b1

შედეგი

accum_sload sload_accum

იხილეთ შემდეგი IP ბირთვები სხვა მულტიპლიკატორის განხორციელებისთვის: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. ორმაგი აკუმულატორი
ორმაგი აკუმულატორის ფუნქცია ამატებს დამატებით რეგისტრს აკუმულატორის უკუკავშირის გზაზე. ორმაგი აკუმულატორის რეგისტრი მიჰყვება გამომავალ რეგისტრს, რომელიც მოიცავს საათს, საათის ჩართვას და aclr-ს. დამატებითი აკუმულატორის რეგისტრი აბრუნებს შედეგს ერთი ციკლის დაგვიანებით. ეს ფუნქცია საშუალებას გაძლევთ გქონდეთ ორი აკუმულატორი არხი რესურსების იგივე რაოდენობით.
შემდეგი სურათი გვიჩვენებს ორმაგი აკუმულატორის განხორციელებას.

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 43

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

სურათი 20. ორმაგი აკუმულატორი

Dou ble Accu mulator რეგისტრაცია

Accu mulator feedba ck

a0

Mult0

+/-

b0

a1

Mult1

+/b1

გამომავალი შედეგი გამომავალი რეგისტრაცია

8.2. Verilog HDL პროტოტიპი
შეგიძლიათ იპოვოთ Intel FPGA Multiply Adder ან ALTERA_MULT_ADD Verilog HDL პროტოტიპი file (altera_mult_add_rtl.v) in ბიბლიოთეკებიმეგაფუნქციების დირექტორია.
8.3. VHDL კომპონენტის დეკლარაცია
VHDL კომპონენტის დეკლარაცია მდებარეობს altera_lnsim_components.vhd-ში librariesvhdl altera_lnsim დირექტორია.
8.4. VHDL LIBRARY_USE დეკლარაცია
VHDL LIBRARY-USE დეკლარაცია არ არის საჭირო, თუ იყენებთ VHDL კომპონენტის დეკლარაციას.
ბიბლიოთეკა altera_mf; გამოიყენეთ altera_mf.altera_mf_components.all;

8.5. სიგნალები

შემდეგ ცხრილებში ჩამოთვლილია Intel FPGA IPor ALTERA_MULT_ADD IP ბირთვის შემავალი და გამომავალი სიგნალები.

ცხრილი 28. Intel FPGA IP ან ALTERA_MULT_ADD შეყვანის სიგნალების შემკრების გამრავლება

სიგნალი

საჭირო

აღწერა

dataa_0[]/dataa_1[]/

დიახ

dataa_2[]/dataa_3[]

მონაცემთა შეყვანა მულტიპლიკატორში. შეყვანის პორტი [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] სიგანე
განაგრძო…

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 44

გამოხმაურების გაგზავნა

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

სიგნალის მონაცემებიb_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] clock[1:0] aclr[1:0] sclr[1:0] en. [1:0] ნიშანი
signb
scanina[] accum_sload

სავალდებულო დიახ არა
Არა არა არა არა არა
არა
არა არა

აღწერა
ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალების შეუსაბამებელ მნიშვნელობას (X). როდესაც ამ სიგნალებს ანიჭებთ X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე.
მონაცემთა შეყვანა მულტიპლიკატორში. შეყვანის სიგნალი [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] სიგანე ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალების შეყვანის განუსაზღვრელ მნიშვნელობას (X). როდესაც ამ სიგნალებს ანიჭებთ X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე.
მონაცემთა შეყვანა მულტიპლიკატორში. შეყვანის სიგნალი [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] სიგანით აირჩიეთ INPUT Select preadder რეჟიმის პარამეტრზე, რათა ჩართოთ ეს სიგნალები. ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალების შეუსაბამებელ მნიშვნელობას (X). როდესაც ამ სიგნალებს ანიჭებთ X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე.
საათის შეყვანის პორტი შესაბამის რეესტრში. ამ სიგნალის გამოყენება შესაძლებელია IP ბირთვის ნებისმიერ რეესტრში. ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალების შეუსაბამებელ მნიშვნელობას (X). როდესაც ამ სიგნალებს ანიჭებთ X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე.
ასინქრონული მკაფიო შეყვანა შესაბამის რეესტრში. ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალების შეუსაბამებელ მნიშვნელობას (X). როდესაც ამ სიგნალებს ანიჭებთ X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე.
სინქრონული წმინდა შეყვანა შესაბამის რეესტრში. ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალების X შეყვანის მნიშვნელობას. როდესაც ამ სიგნალებს ანიჭებთ X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე
ჩართეთ სიგნალის შეყვანა შესაბამის რეესტრში. ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალების შეუსაბამებელ მნიშვნელობას (X). როდესაც ამ სიგნალებს ანიჭებთ X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე.
განსაზღვრავს მულტიპლიკატორის შეყვანის A რიცხვით წარმოდგენას. თუ სიგნალის სიგნალი მაღალია, მულტიპლიკატორი განიხილავს მულტიპლიკატორის შეყვანის A სიგნალს, როგორც ხელმოწერილი რიცხვი. თუ სიგნალის სიგნალი დაბალია, მულტიპლიკატორი განიხილავს მულტიპლიკატორის შეყვანის A სიგნალს, როგორც ხელმოუწერელ რიცხვს. აირჩიეთ VARIABLE რა არის წარმოდგენის ფორმატი მულტიპლიკატორებისთვის A შეყვანის პარამეტრი ამ სიგნალის გასააქტიურებლად. ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალის შეყვანის განუსაზღვრელ მნიშვნელობას (X). როდესაც ამ შეყვანას აწვდით X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე.
განსაზღვრავს მულტიპლიკატორის შეყვანის B სიგნალის ციფრულ წარმოდგენას. თუ signb სიგნალი მაღალია, მულტიპლიკატორი განიხილავს მულტიპლიკატორის შეყვანის B სიგნალს, როგორც ხელმოწერილი ორი კომპლემენტის რიცხვს. თუ signb სიგნალი დაბალია, მულტიპლიკატორი განიხილავს მულტიპლიკატორის შეყვანის B სიგნალს, როგორც ხელმოუწერელ რიცხვს. ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალის შეყვანის განუსაზღვრელ მნიშვნელობას (X). როდესაც ამ შეყვანას აწვდით X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე.
შეყვანა სკანირების ჯაჭვისთვის A. შეყვანის სიგნალი [WIDTH_A – 1, … 0] სიგანე. როდესაც INPUT_SOURCE_A პარამეტრს აქვს SCANA მნიშვნელობა, საჭიროა scanina[] სიგნალი.
დინამიურად განსაზღვრავს არის თუ არა აკუმულატორის მნიშვნელობა მუდმივი. თუ accum_sload სიგნალი დაბალია, მაშინ მულტიპლიკატორის გამომავალი ჩაიტვირთება აკუმულატორში. არ გამოიყენოთ accum_sload და sload_accum ერთდროულად.
განაგრძო…

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 45

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

სიგნალი sload_accum
chainin[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]

საჭირო No
არა არა
არა
Არა არა არა არა

აღწერა
ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალის შეყვანის განუსაზღვრელ მნიშვნელობას (X). როდესაც ამ შეყვანას აწვდით X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე.
დინამიურად განსაზღვრავს არის თუ არა აკუმულატორის მნიშვნელობა მუდმივი. თუ sload_accum სიგნალი მაღალია, მაშინ მულტიპლიკატორის გამომავალი ჩაიტვირთება აკუმულატორში. არ გამოიყენოთ accum_sload და sload_accum ერთდროულად. ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალის შეყვანის განუსაზღვრელ მნიშვნელობას (X). როდესაც ამ შეყვანას აწვდით X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე.
შემაერთებელი შედეგის შეყვანის ავტობუსი წინა s-დანtagე. შეყვანის სიგნალი [WIDTH_CHAININ – 1, … 0] სიგანე.
შეასრულეთ მამრავლების პირველი წყვილის გამოსავლების შეკრება ან გამოკლება. შეიტანეთ 1 addnsub1 სიგნალზე, რათა დაამატოთ გამოსავალი მულტიპლიკატორების პირველი წყვილიდან. შეიტანეთ 0 addnsub1 სიგნალზე, რათა გამოაკლოთ გამომავალი მულტიპლიკატორების პირველი წყვილი. ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალის შეყვანის განუსაზღვრელ მნიშვნელობას (X). როდესაც ამ შეყვანას აწვდით X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე.
შეასრულეთ მამრავლების პირველი წყვილის გამოსავლების შეკრება ან გამოკლება. შეიტანეთ 1 addnsub3 სიგნალზე, რათა დაამატოთ გამოსავალი მულტიპლიკატორების მეორე წყვილიდან. შეიტანეთ 0 addnsub3 სიგნალზე, რათა გამოაკლოთ გამომავალი მულტიპლიკატორების პირველი წყვილი. ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალის შეყვანის განუსაზღვრელ მნიშვნელობას (X). როდესაც ამ შეყვანას აწვდით X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე.
კოეფიციენტის შეყვანის სიგნალი[0:3] პირველ მულტიპლიკატორზე. ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალის შეყვანის განუსაზღვრელ მნიშვნელობას (X). როდესაც ამ შეყვანას აწვდით X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე.
კოეფიციენტის შეყვანის სიგნალი[0:3]მეორე მულტიპლიკატორზე. ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალის შეყვანის განუსაზღვრელ მნიშვნელობას (X). როდესაც ამ შეყვანას აწვდით X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე.
კოეფიციენტის შეყვანის სიგნალი[0:3]მესამე მულტიპლიკატორზე. ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალის შეყვანის განუსაზღვრელ მნიშვნელობას (X). როდესაც ამ შეყვანას აწვდით X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე.
კოეფიციენტის შეყვანის სიგნალი [0:3] მეოთხე მულტიპლიკატორამდე. ამ IP-ს სიმულაციური მოდელი მხარს უჭერს ამ სიგნალის შეყვანის განუსაზღვრელ მნიშვნელობას (X). როდესაც ამ შეყვანას აწვდით X მნიშვნელობას, X მნიშვნელობა ვრცელდება გამომავალ სიგნალებზე.

ცხრილი 29. Intel FPGA IP გამომავალი სიგნალების შემკრების გამრავლება

სიგნალი

საჭირო

აღწერა

შედეგი []

დიახ

მულტიპლიკატორის გამომავალი სიგნალი. გამომავალი სიგნალი [WIDTH_RESULT – 1 … 0] სიგანე

ამ IP-ს სიმულაციური მოდელი მხარს უჭერს გამომავალი მნიშვნელობის განუსაზღვრელს (X). როდესაც თქვენ მიუთითებთ X მნიშვნელობას შეყვანის სახით, X მნიშვნელობა ვრცელდება ამ სიგნალზე.

სკანუტა []

არა

სკანირების ჯაჭვის გამომავალი A. გამომავალი სიგნალი [WIDTH_A – 1..0] სიგანე.

აირჩიეთ 2-ზე მეტი მულტიპლიკატორების რიცხვისთვის და აირჩიეთ ჯაჭვის შეყვანის სკანირება რა არის პარამეტრთან დაკავშირებული მულტიპლიკატორის A შეყვანა ამ სიგნალის გასააქტიურებლად.

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 46

გამოხმაურების გაგზავნა

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

8.6. პარამეტრები

8.6.1. ზოგადი ჩანართი

ცხრილი 30. ზოგადი ჩანართი

პარამეტრი

IP გენერირებული პარამეტრი

ღირებულება

რა არის მულტიპლიკატორების რაოდენობა?

რიცხვი_მ 1 – 4 ულტიპლიკატორი

რა ფართო უნდა იყოს A width_a შეყვანის ავტობუსები?

1 – 256

რა ფართო უნდა იყოს B width_b შეყვანის ავტობუსები?

1 – 256

რა ფართო უნდა იყოს "შედეგის" გამომავალი ავტობუსი?

სიგანე_შედეგი

1 – 256

შექმენით ასოცირებული საათის ჩართვა თითოეული საათისთვის

gui_associate On d_clock_enbl გამორთვა ე

8.6.2. დამატებითი რეჟიმის ჩანართი

ცხრილი 31. დამატებითი რეჟიმების ჩანართი

პარამეტრი

IP გენერირებული პარამეტრი

ღირებულება

შედეგების კონფიგურაცია

დაარეგისტრირეთ დამამატებელი ერთეულის გამომავალი

gui_output_re ჩართულია

ჯიშის

გამორთულია

რა არის საათის შეყვანის წყარო?

gui_output_re gister_clock

საათი0 საათი1 საათი2

რა არის ასინქრონული მკაფიო შეყვანის წყარო?

gui_output_re gister_aclr

NONE ACLR0 ACLR1

რა არის სინქრონული სუფთა შეყვანის წყარო?

gui_output_re gister_sclr

NONE SCLR0 SCLR1

დამმატებლის ოპერაცია

რა ოპერაცია უნდა შესრულდეს მულტიპლიკატორების პირველი წყვილის გამოსავალზე?

gui_multiplier 1_direction

ADD, SUB, VARIABLE

ნაგულისხმევი მნიშვნელობა 1
16

აღწერა
მულტიპლიკატორების რაოდენობა, რომლებიც უნდა დაემატოს. მნიშვნელობები არის 1-დან 4-მდე. მიუთითეთ dataa[] პორტის სიგანე.

16

მიუთითეთ მონაცემთა ბაზის[] პორტის სიგანე.

32

მიუთითეთ შედეგის[] პორტის სიგანე.

გამორთულია

აირჩიეთ ეს პარამეტრი საათის ჩართვის შესაქმნელად

თითოეული საათისთვის.

ნაგულისხმევი მნიშვნელობა

აღწერა

გამორთული საათი 0
NONE NONE

აირჩიეთ ეს პარამეტრი, რათა ჩართოთ დამამატებელი მოდულის გამომავალი რეგისტრი.
აირჩიეთ საათი0, საათი1 ან საათი2, რათა ჩართოთ და მიუთითოთ საათის წყარო გამომავალი რეგისტრებისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ დამამატებელი ერთეულის გამომავალი რეგისტრაცია.
განსაზღვრავს ასინქრონულ მკაფიო წყაროს შემკრების გამომავალი რეგისტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ დამამატებელი ერთეულის გამომავალი რეგისტრაცია.
განსაზღვრავს სინქრონულ სუფთა წყაროს დამამატებლის გამომავალი რეგისტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ დამამატებელი ერთეულის გამომავალი რეგისტრაცია.

დამატება

აირჩიეთ შეკრების ან გამოკლების ოპერაცია პირველ და მეორე მამრავლებს შორის გამოსავლების შესასრულებლად.
· აირჩიეთ ADD დამატების ოპერაციის შესასრულებლად.
· აირჩიეთ SUB გამოკლების ოპერაციის შესასრულებლად.
· აირჩიეთ VARIABLE, რათა გამოიყენოთ addnsub1 პორტი დინამიური შეკრების/გამოკლების კონტროლისთვის.
განაგრძო…

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 47

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

პარამეტრი

IP გენერირებული პარამეტრი

ღირებულება

დაარეგისტრირეთ "addnsub1" შეყვანა

gui_addnsub_ On Multiplier_reg Off ister1

რა არის საათის შეყვანის წყარო?

gui_addnsub_ multiplier_reg ister1_clock

საათი0 საათი1 საათი2

რა არის ასინქრონული მკაფიო შეყვანის წყარო?

gui_addnsub_ multiplier_aclr 1

NONE ACLR0 ACLR1

რა არის სინქრონული სუფთა შეყვანის წყარო?

gui_addnsub_ multiplier_sclr 1

NONE SCLR0 SCLR1

რა ოპერაცია უნდა შესრულდეს მამრავლების მეორე წყვილის გამოსავალზე?

gui_multiplier 3_direction

ADD, SUB, VARIABLE

დაარეგისტრირეთ "addnsub3" შეყვანა

gui_addnsub_ On Multiplier_reg Off ister3

რა არის საათის შეყვანის წყარო?

gui_addnsub_ multiplier_reg ister3_clock

საათი0 საათი1 საათი2

ნაგულისხმევი მნიშვნელობა
გამორთული საათი0 არცერთი არცერთი დამატება
გამორთული საათი 0

აღწერა
როდესაც არჩეულია VARIABLE მნიშვნელობა: · გადაიტანეთ addnsub1 სიგნალი მაღალზე
დამატების ოპერაცია. · მიიტანეთ addnsub1 სიგნალი დაბალზე
გამოკლების ოპერაცია. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ ორზე მეტი მულტიპლიკატორი.
აირჩიეთ ეს პარამეტრი, რათა ჩართოთ შეყვანის რეგისტრაცია addnsub1 პორტისთვის. თქვენ უნდა აირჩიოთ VARIABLE, თუ რა ოპერაცია უნდა შესრულდეს მულტიპლიკატორების პირველი წყვილის გამოსავალზე, რომ ჩართოთ ეს პარამეტრი.
აირჩიეთ Clock0 , Clock1 ან Clock2, რათა მიუთითოთ შემავალი საათის სიგნალი addnsub1 რეგისტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ რეგისტრაცია 'addnsub1' შეყვანა.
განსაზღვრავს ასინქრონულ წმინდა წყაროს addnsub1 რეგისტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ რეგისტრაცია 'addnsub1' შეყვანა.
განსაზღვრავს სინქრონულ წმინდა წყაროს addnsub1 რეგისტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ რეგისტრაცია 'addnsub1' შეყვანა.
აირჩიეთ შეკრების ან გამოკლების ოპერაცია მესამე და მეოთხე მულტიპლიკატორებს შორის გამოსავლების შესასრულებლად. · აირჩიეთ ADD დამატების შესასრულებლად
ოპერაცია. · აირჩიეთ SUB გამოკლების შესასრულებლად
ოპერაცია. · აირჩიეთ VARIABLE addnsub1-ის გამოსაყენებლად
პორტი დინამიური შეკრების/გამოკლების კონტროლისთვის. როდესაც არჩეულია VARIABLE მნიშვნელობა: · მიიტანეთ addnsub1 სიგნალი მაღალზე დამატების ოპერაციისთვის. · მიიტანეთ addnsub1 სიგნალი დაბალზე გამოკლების ოპერაციისთვის. თქვენ უნდა აირჩიოთ მნიშვნელობა 4 რა არის მულტიპლიკატორების რაოდენობა? ამ პარამეტრის გასააქტიურებლად.
აირჩიეთ ეს პარამეტრი, რათა ჩართოთ შეყვანის რეგისტრაცია addnsub3 სიგნალისთვის. თქვენ უნდა აირჩიოთ VARIABLE იმისთვის, თუ რა ოპერაცია უნდა შესრულდეს მულტიპლიკატორების მეორე წყვილის გამოსავალზე, რომ ჩართოთ ეს პარამეტრი.
აირჩიეთ Clock0 , Clock1 ან Clock2, რათა მიუთითოთ შემავალი საათის სიგნალი addnsub3 რეგისტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ რეგისტრაცია 'addnsub3' შეყვანა.
განაგრძო…

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 48

გამოხმაურების გაგზავნა

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

პარამეტრი
რა არის ასინქრონული მკაფიო შეყვანის წყარო?

IP გენერირებული პარამეტრი

ღირებულება

gui_addnsub_ multiplier_aclr 3

NONE ACLR0 ACLR1

რა არის სინქრონული სუფთა შეყვანის წყარო?

gui_addnsub_ multiplier_sclr 3

NONE SCLR0 SCLR1

პოლარობის ჩართვა `use_subadd'

gui_use_subn ჩართულია

დაამატეთ

გამორთულია

8.6.3. მამრავლების ჩანართი

ცხრილი 32. მულტიპლიკატორების ჩანარ

პარამეტრი

IP გენერირებული პარამეტრი

ღირებულება

რა არის

gui_represent

წარმოდგენის ფორმატი ation_a

მულტიპლიკატორების A შეყვანისთვის?

ხელმოწერილი, ხელმოუწერელი, ცვლადი

დაარეგისტრირეთ "signa" შეყვანა

gui_register_s ჩართულია

იგნა

გამორთულია

რა არის საათის შეყვანის წყარო?

gui_register_s igna_clock

საათი0 საათი1 საათი2

რა არის ასინქრონული მკაფიო შეყვანის წყარო?

gui_register_s igna_aclr

NONE ACLR0 ACLR1

რა არის სინქრონული სუფთა შეყვანის წყარო?

gui_register_s igna_sclr

NONE SCLR0 SCLR1

რა არის

gui_represent

წარმოდგენის ფორმატი ation_b

მულტიპლიკატორების B შეყვანისთვის?

ხელმოწერილი, ხელმოუწერელი, ცვლადი

"signb" შეყვანის რეგისტრაცია

gui_register_s ჩართულია

ignb

გამორთულია

ნაგულისხმევი მნიშვნელობა NONE
არცერთი

აღწერა
განსაზღვრავს ასინქრონულ წმინდა წყაროს addnsub3 რეგისტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ რეგისტრაცია 'addnsub3' შეყვანა.
განსაზღვრავს სინქრონულ წმინდა წყაროს addnsub3 რეგისტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ რეგისტრაცია 'addnsub3' შეყვანა.

გამორთულია

აირჩიეთ ეს პარამეტრი ფუნქციის შესაცვლელად

addnsub შეყვანის პორტიდან.

გამოკლების ოპერაციისთვის მიიტანეთ addnsub მაღალი.

მიიტანეთ addnsub დაბალზე დამატების ოპერაციისთვის.

ნაგულისხმევი მნიშვნელობა

აღწერა

Unsigned მიუთითეთ წარმოდგენის ფორმატი მულტიპლიკატორის A შეყვანისთვის.

გამორთულია

აირჩიეთ ეს პარამეტრი სიგნალის გასააქტიურებლად

რეგისტრაცია.

თქვენ უნდა აირჩიოთ VARIABLE მნიშვნელობა რა არის წარმოდგენის ფორმატი Multipliers A-სთვის? პარამეტრი ამ პარამეტრის გასააქტიურებლად.

საათი 0

აირჩიეთ Clock0 , Clock1 ან Clock2, რათა ჩართოთ და მიუთითოთ შემავალი საათის სიგნალი სიგნალის რეგისტრისთვის.
ამ პარამეტრის ჩასართავად უნდა აირჩიოთ რეგისტრაცია `signa' შეყვანა.

არცერთი

განსაზღვრავს ასინქრონულ წმინდა წყაროს სიგნალის რეესტრისთვის.
ამ პარამეტრის ჩასართავად უნდა აირჩიოთ რეგისტრაცია `signa' შეყვანა.

არცერთი

განსაზღვრავს სინქრონულ წმინდა წყაროს სიგნალის რეესტრისთვის.
ამ პარამეტრის ჩასართავად უნდა აირჩიოთ რეგისტრაცია `signa' შეყვანა.

Unsigned მიუთითეთ წარმოდგენის ფორმატი მულტიპლიკატორის B შეყვანისთვის.

გამორთულია

აირჩიეთ ეს ვარიანტი signb-ის გასააქტიურებლად

რეგისტრაცია.

განაგრძო…

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 49

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

პარამეტრი

IP გენერირებული პარამეტრი

ღირებულება

ნაგულისხმევი მნიშვნელობა

რა არის საათის შეყვანის წყარო?

gui_register_s ignb_clock

საათი0 საათი1 საათი2

საათი 0

რა არის ასინქრონული მკაფიო შეყვანის წყარო?

gui_register_s ignb_aclr

NONE ACLR0 ACLR1

რა არის სინქრონული სუფთა შეყვანის წყარო?

gui_register_s ignb_sclr

NONE SCLR0 SCLR1

შეყვანის კონფიგურაცია
მულტიპლიკატორის A შეყვანის რეგისტრაცია
რა არის საათის შეყვანის წყარო?

gui_input_reg ჩართულია

ister_a

გამორთულია

gui_input_reg ister_a_clock

საათი0 საათი1 საათი2

NONE NONE
გამორთული საათი 0

რა არის ასინქრონული მკაფიო შეყვანის წყარო?

gui_input_reg ister_a_aclr

NONE ACLR0 ACLR1

რა არის სინქრონული სუფთა შეყვანის წყარო?

gui_input_reg ister_a_sclr

NONE SCLR0 SCLR1

მულტიპლიკატორის B შეყვანის რეგისტრაცია
რა არის საათის შეყვანის წყარო?

gui_input_reg ჩართულია

ister_b

გამორთულია

gui_input_reg ister_b_clock

საათი0 საათი1 საათი2

NONE NONE გამორთული საათი0

რა არის ასინქრონული მკაფიო შეყვანის წყარო?

gui_input_reg ister_b_aclr

NONE ACLR0 ACLR1

არცერთი

რა არის სინქრონული სუფთა შეყვანის წყარო?

gui_input_reg ister_b_sclr

NONE SCLR0 SCLR1

არცერთი

რასთან არის დაკავშირებული მულტიპლიკატორის A შეყვანა?

gui_multiplier მულტიპლიკატორის შეყვანის მულტიპლიკატორი

_a_შეყვანა

ჯაჭვის შეყვანის სკანირება

აღწერა
თქვენ უნდა აირჩიოთ VARIABLE მნიშვნელობა რა არის წარმოდგენის ფორმატი მულტიპლიკატორების B შეყვანისთვის? პარამეტრი ამ პარამეტრის გასააქტიურებლად.
აირჩიეთ Clock0 , Clock1 ან Clock2 ჩასართავად და მიუთითეთ შემავალი საათის სიგნალი signb რეგისტრაციისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ რეგისტრაცია `signb' შეყვანა.
განსაზღვრავს ასინქრონულ წმინდა წყაროს signb რეგისტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ რეგისტრაცია `signb' შეყვანა.
განსაზღვრავს სინქრონულ წმინდა წყაროს signb რეგისტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ რეგისტრაცია `signb' შეყვანა.
აირჩიეთ ეს პარამეტრი მონაცემთა შეყვანის ავტობუსისთვის შეყვანის რეგისტრის გასააქტიურებლად.
აირჩიეთ საათი0, საათი1 ან საათი2 ჩასართავად და მიუთითეთ რეგისტრის შეყვანის საათის სიგნალი მონაცემთა შეყვანის ავტობუსისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ მულტიპლიკატორის შეყვანის რეგისტრაცია.
განსაზღვრავს რეგისტრის ასინქრონულ წმინდა წყაროს მონაცემთა შეყვანის ავტობუსისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ მულტიპლიკატორის შეყვანის რეგისტრაცია.
განსაზღვრავს რეგისტრის სინქრონულ წმინდა წყაროს მონაცემთა შეყვანის ავტობუსისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ მულტიპლიკატორის შეყვანის რეგისტრაცია.
აირჩიეთ ეს პარამეტრი მონაცემთა ბაზის შეყვანის ავტობუსისთვის შეყვანის რეგისტრის გასააქტიურებლად.
აირჩიეთ Clock0 , Clock1 ან Clock2 ჩასართავად და მიუთითეთ რეგისტრის შეყვანის საათის სიგნალი მონაცემთა ბაზის შეყვანის ავტობუსისთვის. ამ პარამეტრის გასააქტიურებლად უნდა აირჩიოთ მულტიპლიკატორის შეყვანის B რეგისტრაცია.
განსაზღვრავს რეგისტრის ასინქრონულ წმინდა წყაროს მონაცემთა ბაზის შეყვანის ავტობუსისთვის. ამ პარამეტრის გასააქტიურებლად უნდა აირჩიოთ მულტიპლიკატორის შეყვანის B რეგისტრაცია.
განსაზღვრავს რეგისტრის სინქრონულ წმინდა წყაროს მონაცემთა ბაზის შეყვანის ავტობუსისთვის. ამ პარამეტრის გასააქტიურებლად უნდა აირჩიოთ მულტიპლიკატორის შეყვანის B რეგისტრაცია.
შეარჩიეთ შეყვანის წყარო მულტიპლიკატორის A შეყვანისთვის.
განაგრძო…

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 50

გამოხმაურების გაგზავნა

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

პარამეტრი

IP გენერირებული პარამეტრი

ღირებულება

Scanout A რეესტრის კონფიგურაცია

დაარეგისტრირეთ სკანირების ჯაჭვის გამომავალი

gui_scanouta On

_ დარეგისტრირდი

გამორთულია

რა არის საათის შეყვანის წყარო?

gui_scanouta _register_cloc k

საათი0 საათი1 საათი2

რა არის ასინქრონული მკაფიო შეყვანის წყარო?

gui_scanouta _register_aclr

NONE ACLR0 ACLR1

რა არის სინქრონული სუფთა შეყვანის წყარო?

gui_scanouta _register_sclr

NONE SCLR0 SCLR1

8.6.4. Preadder Tab

ცხრილი 33. Preadder Tab

პარამეტრი

IP გენერირებული პარამეტრი

ღირებულება

აირჩიეთ preadder რეჟიმი

preadder_mo de

SIMPLE, COEF, INPUT, SQUARE, CONSTANT

ნაგულისხმევი მნიშვნელობა

აღწერა
აირჩიეთ მულტიპლიკატორის შეყვანა, რათა გამოიყენოთ მონაცემთა შეყვანის ავტობუსი მულტიპლიკატორის წყაროდ. აირჩიეთ სკანირების ჯაჭვის შეყვანა, რათა გამოიყენოთ სკანინის შეყვანის ავტობუსი მულტიპლიკატორის წყაროდ და ჩართოთ სკანირების გამომავალი ავტობუსი. ეს პარამეტრი ხელმისაწვდომია, როდესაც ირჩევთ 2, 3 ან 4-ს რა არის მულტიპლიკატორების რაოდენობა? პარამეტრი.

გამორთული საათი0 NONE NONE

აირჩიეთ ეს ვარიანტი, რათა ჩართოთ გამომავალი რეგისტრი scanouta გამომავალი ავტობუსისთვის.
თქვენ უნდა აირჩიოთ სკანირების ჯაჭვის შეყვანა რასთან არის დაკავშირებული მულტიპლიკატორის A შეყვანა? პარამეტრი ამ პარამეტრის გასააქტიურებლად.
აირჩიეთ Clock0 , Clock1 ან Clock2, რათა ჩართოთ და მიუთითოთ რეგისტრის შეყვანის საათის სიგნალი scanouta გამომავალი ავტობუსისთვის.
თქვენ უნდა ჩართოთ სკანირების ჯაჭვის პარამეტრის რეგისტრაცია, რათა ჩართოთ ეს პარამეტრი.
განსაზღვრავს რეგისტრის ასინქრონულ წმინდა წყაროს scanouta გამომავალი ავტობუსისთვის.
თქვენ უნდა ჩართოთ სკანირების ჯაჭვის პარამეტრის რეგისტრაცია, რათა ჩართოთ ეს პარამეტრი.
განსაზღვრავს რეგისტრის სინქრონულ წმინდა წყაროს scanouta გამომავალი ავტობუსისთვის.
ამ პარამეტრის გასააქტიურებლად უნდა აირჩიოთ სკანირების ჯაჭვის პარამეტრის გამომავალი რეგისტრაცია.

ნაგულისხმევი მნიშვნელობა
მარტივი

აღწერა
განსაზღვრავს ოპერაციულ რეჟიმს preadder მოდულისთვის. მარტივი: ეს რეჟიმი გვერდის ავლით პრეადერს. ეს არის ნაგულისხმევი რეჟიმი. COEF: ეს რეჟიმი იყენებს პრეადერის და კოეფსელის შეყვანის ავტობუსის გამოსავალს მულტიპლიკატორში შესატანად. INPUT: ეს რეჟიმი იყენებს preadder-ის და datac შეყვანის ავტობუსის გამომავალს, როგორც შეყვანას მულტიპლიკატორში. SQUARE: ეს რეჟიმი იყენებს პრეადერის გამომავალს, როგორც მულტიპლიკატორის ორივე შეყვანას.
განაგრძო…

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 51

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

პარამეტრი

IP გენერირებული პარამეტრი

ღირებულება

აირჩიეთ პრეადერის მიმართულება

gui_preadder ADD,

_მიმართულება

SUB

რა ფართო უნდა იყოს C width_c შეყვანის ავტობუსები?

1 – 256

მონაცემთა C შეყვანის რეესტრის კონფიგურაცია

დაარეგისტრირეთ მონაცემების შეყვანა

gui_datac_inp ჩართულია

ut_register

გამორთულია

რა არის საათის შეყვანის წყარო?

gui_datac_inp ut_register_cl ock

საათი0 საათი1 საათი2

რა არის ასინქრონული მკაფიო შეყვანის წყარო?

gui_datac_inp ut_register_a clr

NONE ACLR0 ACLR1

რა არის სინქრონული სუფთა შეყვანის წყარო?

gui_datac_inp ut_register_sc lr

NONE SCLR0 SCLR1

კოეფიციენტები
რა ფართო უნდა იყოს კოეფიციენტის სიგანე?

სიგანე_კოეფიციენტი

1 – 27

Coef Register Configuration

დაარეგისტრირეთ კოეფიცელის შეყვანა

gui_coef_regi On

სტერ

გამორთულია

რა არის საათის შეყვანის წყარო?

gui_coef_regi ster_clock

საათი0 საათი1 საათი2

ნაგულისხმევი მნიშვნელობა
დამატება
16

აღწერა
მუდმივი: ეს რეჟიმი იყენებს მონაცემთა შეყვანის ავტობუსს პრეადერის გვერდის ავლით და კოეფსელის შეყვანის ავტობუსით, როგორც მულტიპლიკატორის შეყვანა.
განსაზღვრავს პრეადერის მუშაობას. ამ პარამეტრის ჩასართავად აირჩიეთ შემდეგი პრეადერის რეჟიმისთვის: · COEF · INPUT · SQUARE ან · CONSTANT
განსაზღვრავს ბიტების რაოდენობას C შეყვანის ავტობუსისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ INPUT Select preadder რეჟიმისთვის.

Clock0-ზე NONE NONE

აირჩიეთ ეს პარამეტრი, რათა ჩართოთ შეყვანის რეგისტრაცია datac შეყვანის ავტობუსისთვის. თქვენ უნდა დააყენოთ INPUT აირჩიეთ Preadder რეჟიმის პარამეტრზე, რომ ჩართოთ ეს პარამეტრი.
აირჩიეთ Clock0 , Clock1 ან Clock2, რათა მიუთითოთ შემავალი საათის სიგნალი მონაცემთა შეყვანის რეესტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ Datac-ის შეყვანის რეგისტრაცია.
განსაზღვრავს ასინქრონულ წმინდა წყაროს მონაცემთა შეყვანის რეესტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ Datac-ის შეყვანის რეგისტრაცია.
განსაზღვრავს სინქრონულ წმინდა წყაროს მონაცემთა შეყვანის რეესტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ Datac-ის შეყვანის რეგისტრაცია.

18

განსაზღვრავს ბიტების რაოდენობას ამისთვის

coefsel შეყვანის ავტობუსი.

ამ პარამეტრის ჩასართავად უნდა აირჩიოთ COEF ან CONSTANT პრეადერის რეჟიმისთვის.

საათზე 0

აირჩიეთ ეს პარამეტრი კოეფიცელის შეყვანის ავტობუსისთვის შეყვანის რეგისტრის გასააქტიურებლად. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ COEF ან CONSTANT პრეადერის რეჟიმისთვის.
აირჩიეთ Clock0 , Clock1 ან Clock2, რომ მიუთითოთ შემავალი საათის სიგნალი კოეფიცელის შეყვანის რეგისტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ კოეფსელის შეყვანის რეგისტრაცია.
განაგრძო…

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 52

გამოხმაურების გაგზავნა

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

პარამეტრი
რა არის ასინქრონული მკაფიო შეყვანის წყარო?

IP გენერირებული პარამეტრი

ღირებულება

gui_coef_regi ster_aclr

NONE ACLR0 ACLR1

რა არის სინქრონული მკაფიო შეყვანის წყარო

gui_coef_regi ster_sclr

NONE SCLR0 SCLR1

Coefficient_0 კონფიგურაცია

coef0_0 coef0_7-მდე

0x00000 0xFFFFFFFF

Coefficient_1 კონფიგურაცია

coef1_0 coef1_7-მდე

0x00000 0xFFFFFFFF

Coefficient_2 კონფიგურაცია

coef2_0 coef2_7-მდე

0x00000 0xFFFFFFFF

Coefficient_3 კონფიგურაცია

coef3_0 coef3_7-მდე

0x00000 0xFFFFFFFF

8.6.5. აკუმულატორის ჩანართი

ცხრილი 34. აკუმულატორი ჩანართი

პარამეტრი

IP გენერირებული პარამეტრი

ღირებულება

ჩართოთ აკუმულატორი?

აკუმულატორი

ᲙᲘ ᲐᲠᲐ

როგორია აკუმულატორის მუშაობის ტიპი?

accum_directi დამატება,

on

SUB

ნაგულისხმევი მნიშვნელობა NONE
არცერთი
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0

აღწერა
განსაზღვრავს ასინქრონულ წმინდა წყაროს კოეფსელის შეყვანის რეგისტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ კოეფსელის შეყვანის რეგისტრაცია.
განსაზღვრავს სინქრონულ წმინდა წყაროს კოეფსელის შეყვანის რეგისტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ კოეფსელის შეყვანის რეგისტრაცია.
განსაზღვრავს კოეფიციენტების მნიშვნელობებს ამ პირველი მულტიპლიკატორისთვის. ბიტების რაოდენობა უნდა იყოს იგივე, რაც მითითებულია რამდენად ფართო უნდა იყოს კოეფიციენტის სიგანე? პარამეტრი. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ COEF ან CONSTANT პრეადერის რეჟიმისთვის.
განსაზღვრავს კოეფიციენტების მნიშვნელობებს ამ მეორე მამრავლისთვის. ბიტების რაოდენობა უნდა იყოს იგივე, რაც მითითებულია რამდენად ფართო უნდა იყოს კოეფიციენტის სიგანე? პარამეტრი. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ COEF ან CONSTANT პრეადერის რეჟიმისთვის.
განსაზღვრავს კოეფიციენტების მნიშვნელობებს ამ მესამე მამრავლისთვის. ბიტების რაოდენობა უნდა იყოს იგივე, რაც მითითებულია რამდენად ფართო უნდა იყოს კოეფიციენტის სიგანე? პარამეტრი. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ COEF ან CONSTANT პრეადერის რეჟიმისთვის.
განსაზღვრავს კოეფიციენტების მნიშვნელობებს ამ მეოთხე მამრავლისთვის. ბიტების რაოდენობა უნდა იყოს იგივე, რაც მითითებულია რამდენად ფართო უნდა იყოს კოეფიციენტის სიგანე? პარამეტრი. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ COEF ან CONSTANT პრეადერის რეჟიმისთვის.

ნაგულისხმევი მნიშვნელობა NO
დამატება

აღწერა
აირჩიეთ YES აკუმულატორის გასააქტიურებლად. აკუმულატორის ფუნქციის გამოყენებისას უნდა აირჩიოთ დამამატებელი ერთეულის გამომავალი რეგისტრაცია.
განსაზღვრავს აკუმულატორის მუშაობას: · ADD შეკრების ოპერაციისთვის · SUB გამოკლების ოპერაციისთვის. თქვენ უნდა აირჩიოთ YES აკუმულატორის ჩართვისთვის? პარამეტრი ამ პარამეტრის გასააქტიურებლად.
განაგრძო…

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 53

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

პარამეტრი
წინასწარ ჩატვირთვის მუდმივი ჩართეთ წინასწარ ჩატვირთვის მუდმივი

IP გენერირებული პარამეტრი

ღირებულება

gui_ena_prelo On

ad_const

გამორთულია

რასთან არის დაკავშირებული აკუმულაციის პორტის შეყვანა?

gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM

აირჩიეთ მნიშვნელობა წინასწარ ჩატვირთვისთვის loadconst_val 0 – 64

მუდმივი

ue

რა არის საათის შეყვანის წყარო?

gui_accum_sl oad_register_ საათი

საათი0 საათი1 საათი2

რა არის ასინქრონული მკაფიო შეყვანის წყარო?

gui_accum_sl oad_register_ aclr

NONE ACLR0 ACLR1

რა არის სინქრონული სუფთა შეყვანის წყარო?

gui_accum_sl oad_register_ sclr

NONE SCLR0 SCLR1

ორმაგი აკუმულატორის ჩართვა

gui_double_a ჩართვა

კუმ

გამორთულია

ნაგულისხმევი მნიშვნელობა

აღწერა

გამორთულია

ჩართეთ accum_sload ან

sload_accum სიგნალებს და დაარეგისტრირეთ შეყვანა

რომ დინამიურად შეარჩიოთ შეყვანა

აკუმულატორი.

როდესაც accum_sload დაბალია ან sload_accum, მულტიპლიკატორის გამომავალი ჩაედინება აკუმულატორში.

როდესაც accum_sload მაღალია ან sload_accum, მომხმარებლის მიერ მითითებული წინასწარ ჩატვირთვის მუდმივი იკვებება აკუმულატორში.

აკუმულატორის ჩართვისთვის უნდა აირჩიოთ YES? პარამეტრი ამ პარამეტრის გასააქტიურებლად.

ACCUM_SL OAD

განსაზღვრავს accum_sload/ sload_accum სიგნალის ქცევას.
ACCUM_SLOAD: ამოძრავეთ accum_sload დაბალი, რათა ჩატვირთოთ მულტიპლიკატორის გამომავალი აკუმულატორში.
SLOAD_ACCUM: ამოძრავეთ sload_accum მაღალი, რათა ჩატვირთოთ მულტიპლიკატორის გამომავალი აკუმულატორში.
ამ პარამეტრის ჩასართავად უნდა აირჩიოთ წინასწარ ჩატვირთვის მუდმივი ვარიანტი.

64

მიუთითეთ წინასწარ დაყენებული მუდმივი მნიშვნელობა.

ეს მნიშვნელობა შეიძლება იყოს 2N, სადაც N არის წინასწარ დაყენებული მუდმივი მნიშვნელობა.

როდესაც N=64, ის წარმოადგენს მუდმივ ნულს.

ამ პარამეტრის ჩასართავად უნდა აირჩიოთ წინასწარ ჩატვირთვის მუდმივი ვარიანტი.

საათი 0

აირჩიეთ Clock0 , Clock1 ან Clock2, რათა მიუთითოთ შემავალი საათის სიგნალი accum_sload/sload_accum რეგისტრისთვის.
ამ პარამეტრის ჩასართავად უნდა აირჩიოთ წინასწარ ჩატვირთვის მუდმივი ვარიანტი.

არცერთი

განსაზღვრავს ასინქრონულ წმინდა წყაროს accum_sload/sload_accum რეგისტრისთვის.
ამ პარამეტრის ჩასართავად უნდა აირჩიოთ წინასწარ ჩატვირთვის მუდმივი ვარიანტი.

არცერთი

განსაზღვრავს სინქრონულ წმინდა წყაროს accum_sload/sload_accum რეგისტრისთვის.
ამ პარამეტრის ჩასართავად უნდა აირჩიოთ წინასწარ ჩატვირთვის მუდმივი ვარიანტი.

გამორთულია

რთავს ორმაგ აკუმულატორის რეგისტრს.

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 54

გამოხმაურების გაგზავნა

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

8.6.6. სისტოლური / ჯაჭვის ჩანართი

ცხრილი 35. სისტოლური/ჯაჭვის შემკრები ჩანართი

პარამეტრი ჯაჭვის დამმატებლის ჩართვა

IP გენერირებული პარამეტრი

ღირებულება

chainout_add YES,

er

არა

რა არის ჯაჭვის დამმატებლის ოპერაციის ტიპი?

chainout_add ADD,

er_მიმართულება

SUB

ჩართოთ შეყვანის „უარყოფა“ ჯაჭვის შემკრებისთვის?

პორტი_უარყოფა

PORT_USED, PORT_UUSED

დარეგისტრირდე 'უარყოფით' შენატანი? negate_regist er

დაურეგისტრირებელი, CLOCK0, CLOCK1, CLOCK2, CLOCK3

რა არის ასინქრონული მკაფიო შეყვანის წყარო?

უარყოფა_aclr

NONE ACLR0 ACLR1

რა არის სინქრონული სუფთა შეყვანის წყარო?

negate_sclr

NONE SCLR0 SCLR1

სისტოლური შეფერხება
ჩართეთ სისტოლური დაყოვნების რეგისტრები

gui_systolic_d On

ელაი

გამორთულია

რა არის საათის შეყვანის წყარო?

gui_systolic_d CLOCK0,

elay_clock

საათი 1,

ნაგულისხმევი მნიშვნელობა
არა

აღწერა
აირჩიეთ YES, რათა ჩართოთ ჯაჭვის დამამატებელი მოდული.

დამატება

განსაზღვრავს ჯაჭვის შემკრების ოპერაციას.
გამოკლების ოპერაციისთვის, SIGNED უნდა იყოს არჩეული რა არის წარმოდგენის ფორმატი მულტიპლიკატორების A შეყვანისთვის? და როგორია მულტიპლიკატორების B შეყვანის წარმოდგენის ფორმატი? მულტიპლიკატორების ჩანართში.

PORT_UN გამოიყენება

აირჩიეთ PORT_USED, რათა ჩართოთ ნეგატიური შეყვანის სიგნალი.
ეს პარამეტრი არასწორია, როდესაც ჯაჭვის დამამატებელი გამორთულია.

რეგისტრაციის გაუქმება

შეყვანის რეგისტრის ჩართვა ნეგატიური შეყვანის სიგნალისთვის და განსაზღვრავს შეყვანის საათის სიგნალს ნეგატიური რეგისტრისთვის.
აირჩიეთ დაურეგისტრირებელი, თუ არ არის საჭირო შეყვანის რეგისტრის უარყოფა
ეს პარამეტრი არასწორია, როდესაც აირჩევთ:
· NO ჩართვა chainout adder ან
· PORT_UNUSED ჩართვის "უარყოფა" შეყვანის ჯაჭვის დამმატებლისთვის? პარამეტრი ან

არცერთი

განსაზღვრავს ასინქრონულ წმინდა წყაროს ნეგატიური რეესტრისთვის.
ეს პარამეტრი არასწორია, როდესაც აირჩევთ:
· NO ჩართვა chainout adder ან
· PORT_UNUSED ჩართვის "უარყოფა" შეყვანის ჯაჭვის დამმატებლისთვის? პარამეტრი ან

არცერთი

განსაზღვრავს სინქრონულ წმინდა წყაროს ნეგატიური რეესტრისთვის.
ეს პარამეტრი არასწორია, როდესაც აირჩევთ:
· NO ჩართვა chainout adder ან
· PORT_UNUSED ჩართვის "უარყოფა" შეყვანის ჯაჭვის დამმატებლისთვის? პარამეტრი ან

გამორთული CLOCK0

აირჩიეთ ეს პარამეტრი სისტოლური რეჟიმის გასააქტიურებლად. ეს პარამეტრი ხელმისაწვდომია, როდესაც ირჩევთ 2-ს ან 4-ს რა არის მულტიპლიკატორების რაოდენობა? პარამეტრი. თქვენ უნდა ჩართოთ დამამატებელი ერთეულის რეგისტრის გამომავალი სისტოლური დაყოვნების რეგისტრების გამოსაყენებლად.
განსაზღვრავს შეყვანის საათის სიგნალს სისტოლური დაყოვნების რეგისტრისთვის.
განაგრძო…

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 55

8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05

პარამეტრი

IP გენერირებული პარამეტრი

ღირებულება

საათი 2,

რა არის ასინქრონული მკაფიო შეყვანის წყარო?

gui_systolic_d elay_aclr

NONE ACLR0 ACLR1

რა არის სინქრონული სუფთა შეყვანის წყარო?

gui_systolic_d elay_sclr

NONE SCLR0 SCLR1

ნაგულისხმევი მნიშვნელობა
არცერთი
არცერთი

აღწერა
ამ პარამეტრის ჩასართავად უნდა აირჩიოთ სისტოლური დაყოვნების რეგისტრების ჩართვა.
განსაზღვრავს ასინქრონულ წმინდა წყაროს სისტოლური დაყოვნების რეგისტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ სისტოლური დაყოვნების რეგისტრების ჩართვა.
განსაზღვრავს სინქრონულ წმინდა წყაროს სისტოლური დაყოვნების რეგისტრისთვის. ამ პარამეტრის ჩასართავად უნდა აირჩიოთ სისტოლური დაყოვნების რეგისტრების ჩართვა.

8.6.7. მილსადენის ჩანართი

ცხრილი 36. მილსადენის ჩანართი

პარამეტრი მილსადენის კონფიგურაცია

IP გენერირებული პარამეტრი

ღირებულება

გსურთ მილსადენის რეგისტრის დამატება შეყვანაში?

gui_pipelining არა, დიახ

ნაგულისხმევი მნიშვნელობა
არა

გთხოვთ, მიუთითოთ

შეყოვნება

ლატენტური საათის რაოდენობა

ციკლები

ნებისმიერი მნიშვნელობა 0-ზე მეტი

რა არის საათის შეყვანის წყარო?

gui_input_late ncy_clock

CLOCK0, CLOCK1, CLOCK2

რა არის ასინქრონული მკაფიო შეყვანის წყარო?

gui_input_late ncy_aclr

NONE ACLR0 ACLR1

რა არის სინქრონული სუფთა შეყვანის წყარო?

gui_input_late ncy_sclr

NONE SCLR0 SCLR1

საათი 0 NONE NONE

აღწერა
აირჩიეთ დიახ, რათა ჩართოთ მილსადენის რეგისტრის დამატებითი დონე შეყვანის სიგნალებზე. თქვენ უნდა მიუთითოთ 0-ზე მეტი მნიშვნელობა გთხოვთ მიუთითოთ შეყოვნების საათის ციკლების პარამეტრის რაოდენობა.
განსაზღვრავს სასურველ შეყოვნებას საათის ციკლებში. მილსადენის რეგისტრის ერთი დონე = 1 შეყოვნება საათის ციკლში. თქვენ უნდა აირჩიოთ YES for: გსურთ დაამატოთ მილსადენის რეგისტრი შეყვანისთვის? ამ პარამეტრის გასააქტიურებლად.
აირჩიეთ Clock0 , Clock1 ან Clock2, რათა ჩართოთ და მიუთითოთ მილსადენის რეგისტრაციის შეყვანის საათის სიგნალი. თქვენ უნდა აირჩიოთ YES for: გსურთ დაამატოთ მილსადენის რეგისტრი შეყვანისთვის? ამ პარამეტრის გასააქტიურებლად.
განსაზღვრავს რეგისტრის ასინქრონულ წმინდა წყაროს დამატებითი მილსადენის რეგისტრისთვის. თქვენ უნდა აირჩიოთ YES for: გსურთ დაამატოთ მილსადენის რეგისტრი შეყვანისთვის? ამ პარამეტრის გასააქტიურებლად.
განსაზღვრავს რეგისტრის სინქრონულ წმინდა წყაროს დამატებითი მილსადენის რეგისტრისთვის. თქვენ უნდა აირჩიოთ YES for: გსურთ დაამატოთ მილსადენის რეგისტრი შეყვანისთვის? ამ პარამეტრის გასააქტიურებლად.

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 56

გამოხმაურების გაგზავნა

683490 | 2020.10.05 გამოხმაურების გაგზავნა

9. ALTMEMMULT (მეხსიერების საფუძველზე მუდმივი კოეფიციენტის მულტიპლიკატორი) IP ბირთვი

ყურადღება:

Intel-მა ამოიღო ამ IP-ის მხარდაჭერა Intel Quartus Prime Pro Edition 20.3 ვერსიაში. თუ თქვენი დიზაინის IP ბირთვი მიზნად ისახავს Intel Quartus Prime Pro Edition-ის მოწყობილობებს, შეგიძლიათ შეცვალოთ IP LPM_MULT Intel FPGA IP-ით ან ხელახლა გენერიროთ IP და შეადგინოთ თქვენი დიზაინი Intel Quartus Prime Standard Edition პროგრამული უზრუნველყოფის გამოყენებით.

ALTMEMMULT IP ბირთვი გამოიყენება მეხსიერებაზე დაფუძნებული მულტიპლიკატორების შესაქმნელად Intel FPGA-ებში ნაპოვნი ონჩიპის მეხსიერების ბლოკების გამოყენებით (M512, M4K, M9K და MLAB მეხსიერების ბლოკებით). ეს IP ბირთვი გამოსადეგია, თუ არ გაქვთ საკმარისი რესურსები ლოგიკურ ელემენტებში (LE) ან გამოყოფილი მულტიპლიკატორული რესურსების დასანერგად.
ALTMEMMULT IP ბირთვი არის სინქრონული ფუნქცია, რომელიც მოითხოვს საათს. ALTMEMMULT IP ბირთვი ახორციელებს მულტიპლიკატორს უმცირესი გამტარუნარიანობითა და შეყოვნებით, რაც შესაძლებელია მოცემული პარამეტრებისა და სპეციფიკაციებისთვის.
შემდეგი სურათი გვიჩვენებს პორტებს ALTMEMMULT IP ბირთვისთვის.

სურათი 21. ALTMEMMULT პორტები

ALTMEMMULT

data_in[] sload_data coeff_in[]

შედეგი[] შედეგი_ვალიდი ჩატვირთვა_შესრულებულია

sload_coeff

sclr საათი
ინსტ

დაკავშირებული ინფორმაციის მახასიათებლები 71 გვერდზე

9.1. მახასიათებლები
ALTMEMMULT IP ბირთვი გთავაზობთ შემდეგ ფუნქციებს: · ქმნის მხოლოდ მეხსიერებაზე დაფუძნებულ მულტიპლიკატორებს ჩიპზე არსებული მეხსიერების ბლოკების გამოყენებით.
Intel FPGA-ები · მხარს უჭერს მონაცემთა სიგანეს 1 ბიტიანი.

ინტელის კორპორაცია. Ყველა უფლება დაცულია. Intel, Intel-ის ლოგო და სხვა Intel ნიშნები არის Intel Corporation-ის ან მისი შვილობილი კომპანიების სავაჭრო ნიშნები. Intel იძლევა გარანტიას მისი FPGA და ნახევარგამტარული პროდუქტების შესრულებაზე მიმდინარე სპეციფიკაციების შესაბამისად Intel-ის სტანდარტული გარანტიის შესაბამისად, მაგრამ იტოვებს უფლებას ნებისმიერ დროს შეიტანოს ცვლილებები ნებისმიერ პროდუქტსა და სერვისში შეტყობინების გარეშე. Intel არ იღებს პასუხისმგებლობას ან პასუხისმგებლობას, რომელიც წარმოიქმნება აქ აღწერილი ნებისმიერი ინფორმაციის, პროდუქტის ან სერვისის აპლიკაციის ან გამოყენების შედეგად, გარდა იმ შემთხვევისა, რაც წერილობით არის დათანხმებული Intel-ის მიერ. Intel-ის მომხმარებლებს ურჩევენ, მიიღონ მოწყობილობის სპეციფიკაციების უახლესი ვერსია, სანამ დაეყრდნონ რაიმე გამოქვეყნებულ ინფორმაციას და განათავსონ შეკვეთები პროდუქტებსა და სერვისებზე. *სხვა სახელები და ბრენდები შეიძლება გამოცხადდეს, როგორც სხვისი საკუთრება.

ISO 9001:2015 რეგისტრირებულია

9. ALTMEMMULT (მეხსიერების საფუძველზე მუდმივი კოეფიციენტის მულტიპლიკატორი) IP Core 683490 | 2020.10.05
· ინახავს მრავალჯერადი მუდმივებს შემთხვევითი წვდომის მეხსიერებაში (RAM)
· გთავაზობთ RAM-ის ბლოკის ტიპის არჩევის ვარიანტს
· მხარს უჭერს სურვილისამებრ სინქრონული წმინდა და დატვირთვის კონტროლის შეყვანის პორტებს
9.2. Verilog HDL პროტოტიპი
შემდეგი Verilog HDL პროტოტიპი მდებარეობს Verilog Design-ში File (.v) altera_mf.v ში eda synthesis დირექტორია.
მოდული altmemmult #( პარამეტრი coeff_representation = "SIGNED", პარამეტრი კოეფიციენტი0 = "UUSED", პარამეტრი data_representation = "SIGNED", პარამეტრი syned_device_family = "გამოუყენებელი", პარამეტრი max_clock_cycles_per_result = 1, პარამეტრის ნომერი_of_b, პარამეტრის ნომერი_1_b, ბლოკის ტიპი TOe პარამეტრი. total_latency = 1, პარამეტრი width_c = 1, პარამეტრი width_d = 1, პარამეტრი width_r = 1, პარამეტრი width_s = 1, პარამეტრი lpm_type = "altmemmult", პარამეტრი lpm_hint = "გამოუყენებელი") (შეყვანის მავთულის საათი, შეყვანის მავთული [width_c-1: 0]coeff_in, შეყვანის მავთული [width_d-1:0] data_in, გამომავალი მავთულის დატვირთვა_შესრულებულია, გამომავალი მავთული [width_r-1:0] შედეგი, გამომავალი მავთულის result_valid, შეყვანის მავთული sclr, შეყვანის მავთული [width_s-1:0] sel, შეყვანა მავთულის sload_coeff, შეყვანის მავთულის sload_data)/* synthesis syn_black_box=1 */; ენდომოდული
9.3. VHDL კომპონენტის დეკლარაცია
VHDL კომპონენტის დეკლარაცია მდებარეობს VHDL დიზაინში File (.vhd) altera_mf_components.vhd in librariesvhdlaltera_mf დირექტორია.
კომპონენტი altmemmult generic ( coeff_representation:string := “SIGNED”; კოეფიციენტი0:string := “გამოუყენებელი”; data_representation:string := “SIGNED”; განკუთვნილი_device_family:string := “გამოუყენებელი”; max_clock_culture_cycles: max_clock_ultres_ef_natural_counts: := ram_block:string := "AUTO":Natural; "altmemmult"); port(clock:in std_logic; coeff_in:in std_logic_vector(width_c-1 downto 1) := (სხვა => '1'); data_in:std_logic_vector(width_d-1 downto 0);

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 58

გამოხმაურების გაგზავნა

9. ALTMEMMULT (მეხსიერების საფუძველზე მუდმივი კოეფიციენტის მულტიპლიკატორი) IP Core 683490 | 2020.10.05

load_done: out std_logic; შედეგი: out std_logic_vector(width_r-1 down to 0); result_valid: out std_logic; sclr:in std_logic := '0'; sel:in std_logic_vector(სიგანე_s-1 0-მდე) := (სხვა => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); ბოლო კომპონენტი;

9.4. პორტები

შემდეგ ცხრილებში ჩამოთვლილია შეყვანის და გამომავალი პორტები ALTMEMMULT IP ბირთვისთვის.

ცხრილი 37. ALTMEMMULT შეყვანის პორტები

პორტის სახელი

საჭირო

აღწერა

საათი

დიახ

საათის შეყვანა მულტიპლიკატორში.

კოეფიციენტი[]

არა

კოეფიციენტის შეყვანის პორტი მულტიპლიკატორისთვის. შეყვანის პორტის ზომა დამოკიდებულია WIDTH_C პარამეტრის მნიშვნელობაზე.

მონაცემები_ში[]

დიახ

მონაცემთა შეყვანის პორტი მულტიპლიკატორში. შეყვანის პორტის ზომა დამოკიდებულია WIDTH_D პარამეტრის მნიშვნელობაზე.

sclr

არა

სინქრონული მკაფიო შეყვანა. თუ გამოუყენებელია, ნაგულისხმევი მნიშვნელობა აქტიურია მაღალი.

sel[]

არა

ფიქსირებული კოეფიციენტის შერჩევა. შეყვანის პორტის ზომა დამოკიდებულია WIDTH_S-ზე

პარამეტრის მნიშვნელობა.

sload_coeff

არა

სინქრონული დატვირთვის კოეფიციენტის შეყვანის პორტი. ანაცვლებს მიმდინარე არჩეულ კოეფიციენტის მნიშვნელობას coeff_in-ში მითითებული მნიშვნელობით.

sload_data

არა

სინქრონული დატვირთვის მონაცემთა შეყვანის პორტი. სიგნალი, რომელიც განსაზღვრავს გამრავლების ახალ ოპერაციას და აუქმებს არსებულ გამრავლების ოპერაციას. თუ MAX_CLOCK_CYCLES_PER_RESULT პარამეტრს აქვს 1 მნიშვნელობა, sload_data შეყვანის პორტი იგნორირებულია.

ცხრილი 38. ALTMEMMULT გამომავალი პორტები

პორტის სახელი

საჭირო

აღწერა

შედეგი[]

დიახ

მულტიპლიკატორის გამომავალი პორტი. შეყვანის პორტის ზომა დამოკიდებულია WIDTH_R პარამეტრის მნიშვნელობაზე.

შედეგი_მართებულია

დიახ

მიუთითებს, როდის არის გამომავალი სრული გამრავლების სწორი შედეგი. თუ MAX_CLOCK_CYCLES_PER_RESULT პარამეტრს აქვს 1 მნიშვნელობა, შედეგი_ვალიდ გამომავალი პორტი არ გამოიყენება.

ჩატვირთვა_შესრულებულია

არა

მიუთითებს, როდის დასრულდა ახალი კოეფიციენტის ჩატვირთვა. load_done სიგნალი ამტკიცებს ახალი კოეფიციენტის ჩატვირთვას. თუ load_done სიგნალი არ არის მაღალი, სხვა კოეფიციენტის მნიშვნელობა არ შეიძლება ჩაიტვირთოს მეხსიერებაში.

9.5. პარამეტრები

შემდეგი ცხრილი ჩამოთვლის ALTMEMMULT IP ბირთვის პარამეტრებს.

ცხრილი 39.
WIDTH_D WIDTH_C

ALTMEMMULT პარამეტრები
პარამეტრის სახელი

ტიპი სავალდებულოა

აღწერა

მთელი რიცხვი დიახ

განსაზღვრავს data_in[] პორტის სიგანეს.

მთელი რიცხვი დიახ

განსაზღვრავს coeff_in[] პორტის სიგანეს. განაგრძო…

გამოხმაურების გაგზავნა

Intel FPGA მთელი არითმეტიკული IP ბირთვების მომხმარებლის სახელმძღვანელო 59

9. ALTMEMMULT (მეხსიერების საფუძველზე მუდმივი კოეფიციენტის მულტიპლიკატორი) IP Core 683490 | 2020.10.05

პარამეტრის სახელი WIDTH_R WIDTH

დოკუმენტები / რესურსები

intel FPGA მთელი არითმეტიკული IP ბირთვები [pdf] მომხმარებლის სახელმძღვანელო
FPGA მთელი არითმეტიკული IP ბირთვები, მთელი არითმეტიკული IP ბირთვები, არითმეტიკული IP ბირთვები, IP ბირთვები

ცნობები

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი არ გამოქვეყნდება. მონიშნულია აუცილებელი ველები *