แกน IP เลขคณิตจำนวนเต็ม FPGA

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores
อัปเดตสำหรับ Intel® Quartus® Prime Design Suite: 20.3

เวอร์ชันออนไลน์ ส่งคำติชม

ยูจี-01063

ID: 683490 เวอร์ชั่น: 2020.10.05

เนื้อหา
เนื้อหา
1. Intel FPGA Integer Integer Arithmetic IP Cores……………………………………………………………….. 5
2. LPM_COUNTER (ตัวนับ) IP Core……………………………………….. 7 2.1. คุณลักษณะ………………………………………………………………………7 2.2. ต้นแบบ Verilog HDL……………………………………………………………………………….. 8 2.3. การประกาศส่วนประกอบ VHDL……………………………………….8 2.4. การประกาศ VHDL LIBRARY_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 Component Declaration…………………………………….. 13 3.4. การประกาศ VHDL LIBRARY_USE ………………………………………………………………………. 13 3.5. พอร์ต…………………………………………………………………………………………………… 13 3.6. พารามิเตอร์…………………………………………………………………………………………… 14
4. LPM_MULT (ตัวคูณ) IP Core…………………………………………………………………………. 16 4.1. คุณสมบัติ………………………………………………………………………………………………. 16 4.2. ต้นแบบ Verilog HDL……………………………………………………………………………… 17 4.3. VHDL Component Declaration…………………………………….. 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. การวางท่อ……………………………………………………………………………………21
5. LPM_ADD_SUB (ตัวบวก/ตัวลบ)…………………………………………………………………… 22 5.1. คุณสมบัติ………………………………………………………………………………………………. 22 5.2. ต้นแบบ Verilog HDL……………………………………………………………………………… 23 5.3. VHDL Component Declaration…………………………………….. 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 Component Declaration…………………………………….. 27 6.4. การประกาศ VHDL LIBRARY_USE ………………………………………………………………………. 27 6.5. พอร์ต…………………………………………………………………………………………………… 27 6.6. พารามิเตอร์…………………………………………………………………………………………… 28

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 2

ส่งคำติชม

เนื้อหา

7. ALTEC (รหัสแก้ไขข้อผิดพลาด: ตัวเข้ารหัส/ตัวถอดรหัส) IP Core…………………………………… 30
7.1. คุณสมบัติของตัวเข้ารหัส ALTEC…………………………………………..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 Multiply Adder IP Core …………………………………………………………… 36
8.1. คุณสมบัติ………………………………………………………………………………………………. 37 8.1.1. ตัวเสริม………………………………………………………………………………….. 38 8.1.2. Systolic Delay Register………………………………….. 40 8.1.3. ค่าคงที่พรีโหลด………………………………………………………………………… 43 8.1.4. ตัวสะสมคู่……………………………………… 43
8.2. ต้นแบบ Verilog HDL……………………………………………………………………………… 44 8.3. VHDL Component Declaration…………………………………….. 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………………………………………………………………………………. 51 8.6.5. แท็บตัวสะสม………………………………………………………………………….. 53 8.6.6. แท็บ Systolic/Chainout……………………………………………………………………. 55 8.6.7. แท็บท่อ……………………………………………………………………………… 56
9. ALTMEMMULT (ตัวคูณค่าสัมประสิทธิ์คงที่ตามหน่วยความจำ) IP Core…………………… 57
9.1. คุณสมบัติ………………………………………………………………………………………………. 57 9.2. ต้นแบบ Verilog HDL……………………………………………………………………………… 58 9.3. VHDL Component Declaration…………………………………….. 58 9.4. พอร์ต…………………………………………………………………………………………………… 59 9.5. พารามิเตอร์…………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (ทวีคูณ-สะสม) IP Core……………………………………………… 61
10.1. คุณสมบัติ…………………………………………………………………………………………….. 62 10.2. Verilog HDL Prototype………………………………………..62 10.3. การประกาศส่วนประกอบ VHDL…………………………………………………………………… 63 10.4. VHDL LIBRARY_USE ประกาศ………………………………………63 10.5. พอร์ต…………………………………………………………………………………………………. 63 10.6. พารามิเตอร์…………………………………………………………………………………………. 64
11. ALTMULT_ADD (ทวีคูณ-แอดเดอร์) IP คอร์…………………………………………………………..69
11.1. คุณสมบัติ…………………………………………………………………………………………….. 71 11.2. ต้นแบบ Verilog HDL………………………………………..72 11.3. การประกาศส่วนประกอบ VHDL…………………………………………………………………… 72 11.4. การประกาศ VHDL LIBRARY_USE………………………………………72

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 3

เนื้อหา
11.5. พอร์ต…………………………………………………………………………………………………. 72 11.6. พารามิเตอร์…………………………………………………………………………………………. 73
12. ALTMULT_COMPLEX (ตัวคูณเชิงซ้อน) IP Core……………………………………………… 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 (Integer Square Root) IP Core……………………………………………………………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 Core………………………………………………………….. 95 14.1. คุณลักษณะ……………………………………………………………………………………………….95 14.2. Verilog HDL Prototype………………………………………..95 14.3. การประกาศส่วนประกอบ VHDL…………………………………………………………………… 96 14.4. การประกาศ VHDL LIBRARY_USE………………………………………96 14.5. พอร์ต…………………………………………………………………………………………………. 96 14.6. พารามิเตอร์…………………………………………………………………………………………. 97
15. Integer Arithmetic IP Cores User Guide คลังเอกสาร…………………………………… 98
16. ประวัติการแก้ไขเอกสารสำหรับคู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores…. 99

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 4

ส่งคำติชม

683490 | 2020.10.05 ส่งคำติชม

1. คอร์ IP เลขคณิตจำนวนเต็ม Intel FPGA

คุณสามารถใช้แกน IP จำนวนเต็ม Intel® FPGA เพื่อดำเนินการทางคณิตศาสตร์ในการออกแบบของคุณ

ฟังก์ชันเหล่านี้ให้การสังเคราะห์ลอจิกและการใช้งานอุปกรณ์ที่มีประสิทธิภาพมากกว่าการเขียนโค้ดฟังก์ชันของคุณเอง คุณสามารถปรับแต่งคอร์ IP เพื่อรองรับข้อกำหนดการออกแบบของคุณ

แกน IP เลขคณิตจำนวนเต็มของ Intel แบ่งออกเป็นสองประเภทดังต่อไปนี้ · ไลบรารีของแกน IP ของโมดูลพารามิเตอร์ (LPM) · แกน IP เฉพาะของ Intel (ALT)

ตารางต่อไปนี้แสดงแกน IP เลขคณิตจำนวนเต็ม

ตารางที่ 1.

รายชื่อแกน IP

แกน IP

แกน IP ของ LPM

LPM_COUNTER

LPM_DIVIDE

LPM_MULT

LPM_ADD_SUB
LPM_COMPARE
แกน IP เฉพาะของ Intel (ALT) ALTEC

ฟังก์ชันโอเวอร์view ตัวคูณหารเคาน์เตอร์
ตัวบวกหรือลบตัวเปรียบเทียบ
ตัวเข้ารหัส/ตัวถอดรหัส ECC

อุปกรณ์ที่รองรับ
Arria® II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone® IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP,
Intel ไซโคลน 10 GX, MAX® II, MAX V, สูงสุด 10, Stratix® IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, พายุไซโคลน IV E, พายุไซโคลน IV GX,
พายุไซโคลน V, Intel พายุไซโคลน 10 LP, Intel พายุไซโคลน 10 GX, MAX II, MAX V, สูงสุด 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, พายุไซโคลน IV E, พายุไซโคลน IV GX,
พายุไซโคลน V, Intel พายุไซโคลน 10 LP, Intel พายุไซโคลน 10 GX, MAX II, MAX V, สูงสุด 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, สูงสุด 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, สูงสุด 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, พายุไซโคลน IV E, พายุไซโคลน IV GX,
ไซโคลน V,Intel ไซโคลน 10 LP, Intel ไซโคลน 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 Integer เลขคณิต IP Cores 683490 | 2020.10.05

IP Cores Intel FPGA Multiply Adder หรือ ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
ขนาน_เพิ่ม

ฟังก์ชันโอเวอร์view ตัวคูณ-ตัวบวก
ตัวคูณค่าสัมประสิทธิ์คงที่ตามหน่วยความจำ
ตัวคูณ-ตัวสะสม ตัวคูณ-ตัวบวก
ตัวคูณที่ซับซ้อน
จำนวนเต็มสแควร์รูท
แอดเดอร์แบบขนาน

อุปกรณ์ที่รองรับ
Arria V, Stratix V, Cyclone V, Intel Stratix 10, Intel Arria 10, Intel พายุไซโคลน
10 จีเอ็กซ์
Arria II GX, Arria II GZ, Arria V, Intel Arria 10 (Intel Quartus® Prime Standard Edition), ไซโคลน IV E, ไซโคลน IV GX, ไซโคลน V, Intel
ไซโคลน 10 LP, MAX II, MAX V, MAX 10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, พายุไซโคลน IV E, พายุไซโคลน IV GX, Intel พายุไซโคลน 10 LP, สูงสุด 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, พายุไซโคลน IV E, พายุไซโคลน IV GX, Intel Cyclone 10 LP, สูงสุด 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
พายุไซโคลน 10 GX, Intel พายุไซโคลน 10 LP, สูงสุด 10, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, พายุไซโคลน IV E, พายุไซโคลน IV GX,
ไซโคลน V, Intel ไซโคลน 10 LP, Intel ไซโคลน 10 GX, MAX II, MAX V, MAX
10, สตราติกซ์ IV, สตราติกซ์ วี
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, พายุไซโคลน IV E, พายุไซโคลน IV GX,
ไซโคลน V, Intel ไซโคลน 10 LP,Intel ไซโคลน 10 GX, MAX II, MAX V, MAX
10, สตราติกซ์ IV, สตราติกซ์ วี

ข้อมูลที่เกี่ยวข้อง
· บันทึกประจำรุ่น Intel FPGA และอุปกรณ์ที่ตั้งโปรแกรมได้
· รู้เบื้องต้นเกี่ยวกับ Intel FPGA IP Cores ให้ข้อมูลเพิ่มเติมเกี่ยวกับ Intel FPGA IP Cores
· คู่มือผู้ใช้ Floating-Point IP Cores ให้ข้อมูลเพิ่มเติมเกี่ยวกับ Intel FPGA Floating-Point IP cores
· บทนำสู่ Intel FPGA IP Cores ให้ข้อมูลทั่วไปเกี่ยวกับคอร์ Intel FPGA IP ทั้งหมด รวมถึงการกำหนดพารามิเตอร์ การสร้าง การอัพเกรด และการจำลอง IP cores
· การสร้างสคริปต์จำลอง IP ที่ไม่ขึ้นกับเวอร์ชันและ Qsys สร้างสคริปต์จำลองที่ไม่ต้องการการอัปเดตด้วยตนเองสำหรับซอฟต์แวร์หรือการอัปเกรดเวอร์ชัน IP
· แนวทางปฏิบัติที่ดีที่สุดสำหรับการจัดการโครงการเพื่อการจัดการและการเคลื่อนย้ายโครงการและ IP ของคุณอย่างมีประสิทธิภาพ files.
· คลังเก็บเอกสารคู่มือผู้ใช้แกนเลขคณิตจำนวนเต็ม ในหน้า 98 แสดงรายการคู่มือผู้ใช้สำหรับแกน IP เลขคณิตเลขจำนวนเต็มเวอร์ชันก่อนหน้า

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 6

ส่งคำติชม

683490 | 2020.10.05 ส่งคำติชม

2. LPM_COUNTER (ตัวนับ) IP Core

รูปที่ 1.

LPM_COUNTER IP core เป็นตัวนับไบนารีที่สร้างตัวนับขึ้น ตัวนับลง และตัวนับขึ้นหรือลงที่มีเอาต์พุตกว้างถึง 256 บิต

รูปต่อไปนี้แสดงพอร์ตสำหรับแกน IP LPM_COUNTER

LPM_COUNTER พอร์ต

LPM_COUNTER

ssclr sload ข้อมูล sset[]

คิว[]

ขึ้นลง

ศาล

aclr aload สินทรัพย์

clk_en cnt_en ซิน
สถาบัน

2.1. คุณสมบัติ
LPM_COUNTER IP core มีคุณสมบัติดังต่อไปนี้: · สร้างตัวนับขึ้น, ลง และขึ้น/ลง · สร้างประเภทตัวนับต่อไปนี้:
— เลขฐานสองธรรมดา– การเพิ่มตัวนับโดยเริ่มจากศูนย์หรือการลดลงที่เริ่มจาก 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 File (.v) lpm.v ใน ไดเรกทอรี edasynthesis
โมดูล lpm_counter ( q, data, clock, 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_avalue = “ไม่ได้ใช้งาน”; พารามิเตอร์ 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; สินทรัพย์อินพุต, aclr, aload; อินพุต sset, sclr, sload; โมดูลสิ้นสุด
2.3. การประกาศส่วนประกอบ VHDL
การประกาศส่วนประกอบ VHDL อยู่ในการออกแบบ VHDL File (.vhd) LPM_PACK.vhd ใน ไดเร็กทอรีไลบรารี่ vhdllpm
คอมโพเนนต์ LPM_COUNTER ทั่วไป ( LPM_WIDTH : natural; LPM_MODULUS : natural := 0; LPM_DIRECTION : string := “UNUSED”; LPM_AVALUE : string := “UNUSED”; LPM_SVALUE : string := “UNUSED”; LPM_PORT_UPDOWN : string := “PORT_CONNECTIVITY” ; LPM_PVALUE : string := “UNUSED”; LPM_TYPE : string := L_COUNTER; LPM_HINT : string := “UNUSED”); port (DATA : in std_logic_vector(LPM_WIDTH-1 downto 0):= (อื่นๆ =>
'0'); นาฬิกา : ใน std_logic ; CLK_EN : ใน std_logic := '1'; CNT_EN : ใน std_logic := '1'; อัปดาวน์ : ใน 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 : ออก std_logic := '0'; ถาม : ออก std_logic_vector(LPM_WIDTH-1 ลงไปที่ 0); EQ : ออก std_logic_vector(15 ลงเหลือ 0));
ส่วนปลาย;

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 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. พอร์ต

ตารางต่อไปนี้แสดงรายการพอร์ตอินพุตและเอาต์พุตสำหรับคอร์ IP LPM_COUNTER

ตารางที่ 2.

LPM_COUNTER พอร์ตอินพุต

ชื่อพอร์ต

ที่จำเป็น

คำอธิบาย

ข้อมูล[]

เลขที่

การป้อนข้อมูลแบบขนานกับเคาน์เตอร์ ขนาดของพอร์ตอินพุตขึ้นอยู่กับค่าพารามิเตอร์ LPM_WIDTH

นาฬิกา

ใช่

อินพุตนาฬิกาทริกเกอร์ขอบบวก

clk_en

เลขที่

นาฬิกาเปิดใช้งานอินพุตเพื่อเปิดใช้งานกิจกรรมซิงโครนัสทั้งหมด หากละเว้น ค่าเริ่มต้นคือ 1

cnt_th

เลขที่

อินพุตเปิดใช้งานการนับเพื่อปิดใช้งานการนับเมื่อยืนยันต่ำโดยไม่ส่งผลกระทบต่อ sload, sset หรือ sclr หากละเว้น ค่าเริ่มต้นคือ 1

ขึ้นลง

เลขที่

ควบคุมทิศทางของการนับ เมื่อกำหนดให้สูง (1) ทิศทางการนับจะสูงขึ้น และเมื่อกำหนดต่ำ (0) ทิศทางการนับก็จะลดลง หากใช้พารามิเตอร์ LPM_DIRECTION พอร์ตขาขึ้นจะไม่สามารถเชื่อมต่อได้ หากไม่ได้ใช้ LPM_DIRECTION พอร์ตขาขึ้นจะเป็นทางเลือก หากละเว้น ค่าเริ่มต้นจะขึ้น (1)

ซิน

เลขที่

เข้าสู่บิตคำสั่งต่ำ สำหรับตัวนับขึ้น พฤติกรรมของอินพุต cin คือ

เหมือนกับพฤติกรรมของอินพุต cnt_en หากละเว้น ค่าเริ่มต้นคือ 1

(วีซีซี)

บัญชี

เลขที่

อินพุตที่ชัดเจนแบบอะซิงโครนัส หากใช้และยืนยันทั้ง aset และ aclr แล้ว aclr จะแทนที่ aset หากละเว้น ค่าเริ่มต้นคือ 0 (ปิดใช้งาน)

สินทรัพย์

เลขที่

อินพุตชุดอะซิงโครนัส ระบุเอาต์พุต q[] เป็น 1 ทั้งหมด หรือเป็นค่าที่ระบุโดยพารามิเตอร์ LPM_AVALUE หากใช้และยืนยันทั้งพอร์ต aset และ aclr ค่าของพอร์ต aclr จะแทนที่ค่าของพอร์ต aset หากละเว้น ค่าเริ่มต้นคือ 0 ปิดใช้งาน

โหลด

เลขที่

อินพุตโหลดแบบอะซิงโครนัสที่โหลดตัวนับแบบอะซิงโครนัสด้วยค่าบนอินพุตข้อมูล เมื่อใช้พอร์ต aload ต้องเชื่อมต่อพอร์ต data[] หากละเว้น ค่าเริ่มต้นคือ 0 ปิดใช้งาน

สเกล

เลขที่

อินพุตที่ชัดเจนแบบซิงโครนัสที่ล้างตัวนับบนขอบนาฬิกาที่ใช้งานอยู่ถัดไป หากใช้และยืนยันทั้งพอร์ต sset และ sclr ค่าของพอร์ต sclr จะแทนที่ค่าของพอร์ต sset หากละเว้น ค่าเริ่มต้นคือ 0 ปิดใช้งาน

เซ็ต

เลขที่

อินพุตชุดซิงโครนัสที่ตั้งค่าตัวนับบนขอบนาฬิกาที่ใช้งานอยู่ถัดไป ระบุค่าของเอาต์พุต q เป็น 1 ทั้งหมด หรือเป็นค่าที่ระบุโดยพารามิเตอร์ LPM_SVALUE หากใช้และยืนยันทั้งพอร์ต sset และ sclr
ค่าของพอร์ต sclr จะแทนที่ค่าของพอร์ต sset หากละเว้น ค่าเริ่มต้นคือ 0 (ปิดใช้งาน)

โหลด

เลขที่

อินพุตโหลดแบบซิงโครนัสที่โหลดตัวนับพร้อมข้อมูล [] บนขอบนาฬิกาที่ใช้งานอยู่ถัดไป เมื่อใช้พอร์ต sload ต้องเชื่อมต่อพอร์ต data[] หากละเว้น ค่าเริ่มต้นคือ 0 (ปิดใช้งาน)

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 9

2. LPM_COUNTER (ตัวนับ) IP Core 683490 | 2020.10.05

ตารางที่ 3.

LPM_COUNTER พอร์ตเอาต์พุต

ชื่อพอร์ต

ที่จำเป็น

คำอธิบาย

คิว[]

เลขที่

ข้อมูลออกจากเคาน์เตอร์ ขนาดของพอร์ตเอาต์พุตขึ้นอยู่กับ

ค่าพารามิเตอร์ 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 พารามิเตอร์

ตารางต่อไปนี้แสดงรายการพารามิเตอร์สำหรับแกน IP LPM_COUNTER

ตารางที่ 4.

LPM_COUNTER พารามิเตอร์

ชื่อพารามิเตอร์

พิมพ์

LPM_WIDTH

จำนวนเต็ม

LPM_DIRECTION

สตริง

LPM_MODULUS LPM_AVALUE

จำนวนเต็ม
จำนวนเต็ม / สตริง

LPM_SVALUE LPM_HINT

จำนวนเต็ม / สตริง
สตริง

LPM_TYPE

สตริง

จำเป็น ใช่ ไม่ใช่ ไม่ใช่ ไม่ใช่
ไม่ ไม่
เลขที่

คำอธิบาย
ระบุความกว้างของพอร์ต data[] และ q[] หากใช้
ค่ามีขึ้น ลง และไม่ได้ใช้งาน หากใช้พารามิเตอร์ LPM_DIRECTION พอร์ตขาขึ้นจะไม่สามารถเชื่อมต่อได้ เมื่อไม่ได้เชื่อมต่อพอร์ต updown ค่าดีฟอลต์ของพารามิเตอร์ LPM_DIRECTION คือ UP
จำนวนสูงสุดบวกหนึ่ง จำนวนสถานะที่ไม่ซ้ำกันในรอบของตัวนับ ถ้าค่าโหลดมากกว่าพารามิเตอร์ LPM_MODULUS จะไม่มีการระบุลักษณะการทำงานของตัวนับ
ค่าคงที่ที่โหลดเมื่อสินทรัพย์ถูกยืนยันสูง หากค่าที่ระบุมากกว่าหรือเท่ากับ ลักษณะการทำงานของตัวนับเป็นระดับลอจิกที่ไม่ได้กำหนด (X) โดยที่ คือ LPM_MODULUS ถ้ามี หรือ 2 ^ LPM_WIDTH Intel ขอแนะนำให้คุณระบุค่านี้เป็นเลขทศนิยมสำหรับการออกแบบ AHDL
ค่าคงที่ที่โหลดบนขอบที่เพิ่มขึ้นของพอร์ตนาฬิกาเมื่อพอร์ต sset ถูกกำหนดให้สูง Intel ขอแนะนำให้คุณระบุค่านี้เป็นเลขทศนิยมสำหรับการออกแบบ AHDL
เมื่อคุณสร้างอินสแตนซ์ไลบรารีของฟังก์ชันโมดูลพารามิเตอร์ (LPM) ในการออกแบบ VHDL File (.vhd) คุณต้องใช้พารามิเตอร์ LPM_HINT เพื่อระบุพารามิเตอร์เฉพาะของ Intel สำหรับอดีตampไฟล์: LPM_HINT = “CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = YES”
ค่าเริ่มต้นคือไม่ได้ใช้
ระบุไลบรารีของชื่อเอนทิตีโมดูลพารามิเตอร์ (LPM) ในการออกแบบ VHDL files.
ต่อเนื่อง…

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 10

ส่งคำติชม

2. LPM_COUNTER (ตัวนับ) IP Core 683490 | 2020.10.05

ชื่อพารามิเตอร์ INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN

ประเภท สตริง สตริง
สตริง
สตริง

เลขที่ จำเป็น เลขที่
เลขที่
เลขที่

คำอธิบาย
พารามิเตอร์นี้ใช้สำหรับวัตถุประสงค์ในการสร้างแบบจำลองและการจำลองพฤติกรรม พารามิเตอร์นี้ใช้สำหรับวัตถุประสงค์ในการสร้างแบบจำลองและการจำลองพฤติกรรม เอดิเตอร์พารามิเตอร์จะคำนวณค่าสำหรับพารามิเตอร์นี้
พารามิเตอร์เฉพาะของ Intel คุณต้องใช้พารามิเตอร์ LPM_HINT เพื่อระบุพารามิเตอร์ CARRY_CNT_EN ในการออกแบบ VHDL fileส. ค่าคือ SMART, ON, OFF และ UNUSED เปิดใช้งานฟังก์ชัน LPM_COUNTER เพื่อเผยแพร่สัญญาณ cnt_en ผ่านสายสะพาย ในบางกรณี การตั้งค่าพารามิเตอร์ CARRY_CNT_EN อาจส่งผลกระทบต่อความเร็วเล็กน้อย ดังนั้นคุณอาจต้องการปิด ค่าเริ่มต้นคือ SMART ซึ่งให้การแลกเปลี่ยนที่ดีที่สุดระหว่างขนาดและความเร็ว
พารามิเตอร์เฉพาะของ Intel คุณต้องใช้พารามิเตอร์ LPM_HINT เพื่อระบุพารามิเตอร์ LABWIDE_SCLR ในการออกแบบ VHDL fileส. ค่าเป็นเปิด ปิด หรือไม่ได้ใช้งาน ค่าเริ่มต้นคือเปิด ให้คุณปิดการใช้งานคุณสมบัติ LABwide sclr ที่พบในตระกูลอุปกรณ์ที่ล้าสมัย การปิดตัวเลือกนี้จะเพิ่มโอกาสในการใช้ LAB ที่เติมบางส่วนอย่างเต็มที่ และอาจทำให้ความหนาแน่นของลอจิกสูงขึ้นเมื่อ SCLR ไม่ได้ใช้กับ LAB ที่สมบูรณ์ พารามิเตอร์นี้มีให้สำหรับความเข้ากันได้แบบย้อนหลัง และ Intel ไม่แนะนำให้คุณใช้พารามิเตอร์นี้
ระบุการใช้งานของพอร์ตอินพุตขาขึ้น หากละเว้น ค่าเริ่มต้นคือ PORT_CONNECTIVITY เมื่อตั้งค่าพอร์ตเป็น PORT_USED ระบบจะถือว่าพอร์ตนั้นถูกใช้แล้ว เมื่อตั้งค่าพอร์ตเป็น PORT_UNUSED ระบบจะถือว่าพอร์ตนั้นไม่ได้ใช้งาน เมื่อตั้งค่าพอร์ตเป็น PORT_CONNECTIVITY การใช้งานพอร์ตจะถูกกำหนดโดยการตรวจสอบการเชื่อมต่อพอร์ต

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 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

ตัวเลข[] denom[] นาฬิกา

เชาวน์[] คงเหลือ[]

เคล็น aclr

สถาบัน

3.1. คุณสมบัติ
LPM_DIVIDE IP core มีคุณสมบัติดังต่อไปนี้ · สร้างตัวแบ่งที่หารค่าอินพุตตัวเศษด้วยอินพุตตัวส่วน
ค่าเพื่อสร้างผลหารและส่วนที่เหลือ · รองรับความกว้างของข้อมูล 1 บิต · รองรับรูปแบบการแสดงข้อมูลที่ลงนามและไม่ได้ลงนามสำหรับทั้งตัวเศษ
และค่าตัวส่วน · รองรับการเพิ่มประสิทธิภาพพื้นที่หรือความเร็ว · ให้ตัวเลือกเพื่อระบุเอาต์พุตส่วนที่เหลือเป็นบวก · รองรับเวลาแฝงเอาต์พุตที่กำหนดค่าการวางท่อได้ · รองรับพอร์ตเปิดใช้อะซิงโครนัสแบบอะซิงโครนัสที่ชัดเจนและนาฬิกา

3.2. ต้นแบบ Verilog HDL
ต้นแบบ Verilog HDL ต่อไปนี้อยู่ในการออกแบบ Verilog File (.v) lpm.v ใน ไดเรกทอรี edasynthesis
โมดูล lpm_divide ( หาร, เหลือ, ตัวเลข, ค่า, นาฬิกา, clken, aclr); พารามิเตอร์ lpm_type = “lpm_divide”; พารามิเตอร์ lpm_widthn = 1; พารามิเตอร์ lpm_widthd = 1; พารามิเตอร์ lpm_nrepresentation = “ไม่ได้ลงนาม”; พารามิเตอร์ lpm_drepresentation = “ไม่ได้ลงนาม”; พารามิเตอร์ lpm_remainderpositive = “จริง”; พารามิเตอร์ 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] denom; เอาท์พุท [lpm_widthn-1:0] ผลหาร; เอาต์พุต [lpm_widthd-1:0] ยังคงอยู่; โมดูลสิ้นสุด

3.3. การประกาศส่วนประกอบ VHDL
การประกาศส่วนประกอบ VHDL อยู่ในการออกแบบ VHDL File (.vhd) LPM_PACK.vhd ใน ไดเร็กทอรีไลบรารี่ vhdllpm
คอมโพเนนต์ LPM_DIVIDE ทั่วไป (LPM_WIDTHN : ธรรมชาติ; LPM_WIDTHD : ธรรมชาติ;
LPM_NREPRESENTATION : string := “UNSIGNED”; LPM_DREPRESENTATION : string := “ไม่ได้ลงนาม”; LPM_PIPELINE : ธรรมชาติ := 0; LPM_TYPE : สตริง := L_DIVIDE; LPM_HINT : string := “ไม่ได้ใช้งาน”); port (NUMER : in std_logic_vector(LPM_WIDTHN-1 downto 0); DENOM : in std_logic_vector(LPM_WIDTHD-1 downto 0); ACLR : in std_logic := '0'; CLOCK : in std_logic := '0'; CLKEN : in std_logic := '1'; QUOTIENT : out std_logic_vector(LPM_WIDTHN-1 downto 0); REMAIN : out std_logic_vector(LPM_WIDTHD-1 downto 0)); ส่วนปลาย;

3.4. การประกาศ VHDL LIBRARY_USE
การประกาศ VHDL LIBRARY-USE ไม่จำเป็นหากคุณใช้การประกาศส่วนประกอบ VHDL
ห้องสมุด lpm; ใช้lpm.lpm_components.all;

3.5. พอร์ต

ตารางต่อไปนี้แสดงรายการพอร์ตอินพุตและเอาต์พุตสำหรับคอร์ IP LPM_DIVIDE

ตารางที่ 5.

LPM_DIVIDE พอร์ตอินพุต

ชื่อพอร์ต

ที่จำเป็น

หมายเลข[]

ใช่

นิกาย []

ใช่

คำอธิบาย
การป้อนข้อมูลตัวเศษ ขนาดของพอร์ตอินพุตขึ้นอยู่กับค่าพารามิเตอร์ LPM_WIDTHN
การป้อนข้อมูลตัวหาร ขนาดของพอร์ตอินพุตขึ้นอยู่กับค่าพารามิเตอร์ LPM_WIDTHD
ต่อเนื่อง…

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 13

3. LPM_DIVIDE (ตัวแบ่ง) Intel FPGA IP Core 683490 | 2020.10.05

ชื่อพอร์ต นาฬิกา clken
บัญชี

เลขที่ จำเป็น เลขที่
เลขที่

คำอธิบาย
อินพุตนาฬิกาสำหรับการใช้งานไปป์ไลน์ สำหรับค่า LPM_PIPELINE ที่ไม่ใช่ 0 (ค่าเริ่มต้น) จะต้องเปิดใช้งานพอร์ตนาฬิกา
นาฬิกาเปิดใช้งานการใช้งานไปป์ไลน์ เมื่อพอร์ต Clken ถูกกำหนดให้อยู่ในระดับสูง การดำเนินการแบ่งจะเกิดขึ้น เมื่อสัญญาณต่ำ จะไม่มีการดำเนินการใดๆ เกิดขึ้น หากละเว้น ค่าเริ่มต้นคือ 1
พอร์ตล้างแบบอะซิงโครนัสใช้ได้ตลอดเวลาเพื่อรีเซ็ตไปป์ไลน์เป็น '0 ทั้งหมดแบบอะซิงโครนัสกับอินพุตนาฬิกา

ตารางที่ 6.

LPM_DIVIDE พอร์ตเอาต์พุต

ชื่อพอร์ต

ที่จำเป็น

คำอธิบาย

ความฉลาดทาง[]

ใช่

เอาต์พุตข้อมูล ขนาดของพอร์ตเอาต์พุตขึ้นอยู่กับ LPM_WIDTHN

ค่าพารามิเตอร์

ยังคง[]

ใช่

เอาต์พุตข้อมูล ขนาดของพอร์ตเอาต์พุตขึ้นอยู่กับ LPM_WIDTHD

ค่าพารามิเตอร์

3.6 พารามิเตอร์

ตารางต่อไปนี้แสดงรายการพารามิเตอร์สำหรับคอร์ LPM_DIVIDE Intel FPGA IP

ชื่อพารามิเตอร์

พิมพ์

ที่จำเป็น

คำอธิบาย

LPM_WIDTHN

จำนวนเต็ม

ใช่

ระบุความกว้างของตัวเลข [] และ

พอร์ตความฉลาดทาง [] ค่าคือ 1 ถึง 64

LPM_WIDHD

จำนวนเต็ม

ใช่

ระบุความกว้างของ denom[] และ

คงอยู่ [] พอร์ต ค่าคือ 1 ถึง 64

LPM_NREPRESENTATION LPM_DREPRESENTATION

สตริง สตริง

เลขที่

เครื่องหมายแทนการป้อนตัวเศษ

ค่ามีการลงนามและไม่ได้ลงนาม เมื่อเป็นเช่นนี้

ตั้งค่าพารามิเตอร์เป็น SIGNED ตัวแบ่ง

ตีความอินพุต number[] เป็นสองที่ลงนาม

ส่วนเติมเต็ม

เลขที่

เครื่องหมายแทนอินพุตตัวหาร

ค่ามีการลงนามและไม่ได้ลงนาม เมื่อเป็นเช่นนี้

ตั้งค่าพารามิเตอร์เป็น SIGNED ตัวแบ่ง

แปลความหมายอินพุต denom[] เป็นเซ็นชื่อสองตัว

ส่วนเติมเต็ม

LPM_TYPE

สตริง

เลขที่

ระบุไลบรารีของพารามิเตอร์

ชื่อเอนทิตีโมดูล (LPM) ในการออกแบบ VHDL

fileส (.vhd).

LPM_HINT

สตริง

เลขที่

เมื่อคุณสร้างอินสแตนซ์ไลบรารีของ

ฟังก์ชันโมดูลพารามิเตอร์ (LPM) ใน

การออกแบบ VHDL File (.vhd) คุณต้องใช้ไฟล์

พารามิเตอร์ LPM_HINT เพื่อระบุ Intel-

พารามิเตอร์เฉพาะ สำหรับอดีตampไฟล์: LPM_HINT

= “CHAIN_SIZE = 8,

ONE_INPUT_IS_CONSTANT = ใช่”

ค่าเริ่มต้นคือ UNSED

LPM_REMAINDER เป็นบวก

สตริง

เลขที่

พารามิเตอร์เฉพาะของ Intel คุณต้องใช้

พารามิเตอร์ LPM_HINT เพื่อระบุ

LPM_REMAINDERPOSITIVE พารามิเตอร์ใน

การออกแบบ VHDL fileส. ค่าเป็น TRUE หรือ FALSE

หากตั้งค่าพารามิเตอร์นี้เป็น TRUE แสดงว่า

ค่าของพอร์ตที่เหลือ [] จะต้องมากกว่า

ต่อเนื่อง…

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 14

ส่งคำติชม

3. LPM_DIVIDE (ตัวแบ่ง) Intel FPGA IP Core 683490 | 2020.10.05

ชื่อพารามิเตอร์

พิมพ์

MAXIMIZE_SPEED

จำนวนเต็ม

LPM_PIPELINE

จำนวนเต็ม

ตั้งใจ_DEVICE_FAMILY ข้าม_BITS

จำนวนเต็มสตริง

หมายเลขที่จำเป็น
ไม่ ไม่ ไม่

คำอธิบาย
มากกว่าหรือเท่ากับศูนย์ ถ้าพารามิเตอร์นี้ถูกตั้งค่าเป็น TRUE ค่าของพอร์ตที่ยังคงอยู่[] จะเป็นศูนย์หรือค่าที่เป็นเครื่องหมายเดียวกัน บวกหรือลบ เป็นค่าของพอร์ตตัวเลข เพื่อลดพื้นที่และปรับปรุงความเร็ว Intel แนะนำให้ตั้งค่าพารามิเตอร์นี้เป็น TRUE ในการดำเนินการ ซึ่งส่วนที่เหลือต้องเป็นค่าบวกหรือในกรณีที่ส่วนที่เหลือไม่สำคัญ
พารามิเตอร์เฉพาะของ Intel คุณต้องใช้พารามิเตอร์ LPM_HINT เพื่อระบุพารามิเตอร์ MAXIMIZE_SPEED ในการออกแบบ VHDL fileส. ค่าคือ [0..9] หากใช้ ซอฟต์แวร์ Intel Quartus Prime จะพยายามปรับอินสแตนซ์เฉพาะของฟังก์ชัน LPM_DIVIDE ให้เหมาะสมเพื่อให้ได้ความเร็วมากกว่าความสามารถในการกำหนดเส้นทาง และแทนที่การตั้งค่าของตัวเลือกลอจิกของเทคนิคการเพิ่มประสิทธิภาพ หากไม่ได้ใช้ MAXIMIZE_SPEED ค่าของตัวเลือกเทคนิคการเพิ่มประสิทธิภาพจะถูกใช้แทน หากค่าของ MAXIMIZE_SPEED เป็น 6 หรือสูงกว่า คอมไพลเลอร์จะปรับแกน IP LPM_DIVIDE ให้เหมาะสมเพื่อให้ได้ความเร็วที่สูงขึ้นโดยใช้สายโซ่สำหรับพกพา ถ้าค่าเป็น 5 หรือน้อยกว่า คอมไพลเลอร์จะดำเนินการออกแบบโดยไม่มีสายสะพาย
ระบุจำนวนรอบสัญญาณนาฬิกาของเวลาแฝงที่เกี่ยวข้องกับผลหาร[] และผลลัพธ์ที่เหลืออยู่[] ค่าเป็นศูนย์ (0) บ่งชี้ว่าไม่มีเวลาแฝงอยู่ และฟังก์ชันผสมล้วนถูกสร้างอินสแตนซ์ หากละเว้น ค่าเริ่มต้นคือ 0 (ไม่ไปป์ไลน์) คุณไม่สามารถระบุค่าสำหรับพารามิเตอร์ LPM_PIPELINE ที่สูงกว่า LPM_WIDTHN
พารามิเตอร์นี้ใช้สำหรับวัตถุประสงค์ในการสร้างแบบจำลองและการจำลองพฤติกรรม เอดิเตอร์พารามิเตอร์จะคำนวณค่าสำหรับพารามิเตอร์นี้
อนุญาตให้มีการแบ่งบิตเศษส่วนที่มีประสิทธิภาพมากขึ้นเพื่อเพิ่มประสิทธิภาพลอจิกบนบิตนำหน้าโดยระบุจำนวน GND นำหน้าให้กับคอร์ IP LPM_DIVIDE ระบุจำนวนของ GND นำหน้าบนเอาต์พุตผลหารของพารามิเตอร์นี้

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 15

683490 | 2020.10.05 ส่งคำติชม

4. LPM_MULT (ตัวคูณ) IP Core

รูปที่ 3.

LPM_MULT IP core ใช้ตัวคูณเพื่อคูณสองค่าข้อมูลอินพุตเพื่อสร้างผลิตภัณฑ์เป็นเอาต์พุต

รูปต่อไปนี้แสดงพอร์ตสำหรับคอร์ LPM_MULT IP

LPM_หลายพอร์ต

LPM_MULT ข้อมูลนาฬิกาa[] ผลลัพธ์[] datab[] aclr/sclr clken
สถาบัน

คุณสมบัติข้อมูลที่เกี่ยวข้อง ในหน้า 71

4.1. คุณสมบัติ
LPM_MULT IP core มีคุณสมบัติดังต่อไปนี้: · สร้างตัวคูณที่คูณค่าข้อมูลอินพุตสองค่า · รองรับความกว้างของข้อมูล 1 บิต · รองรับรูปแบบการแสดงข้อมูลที่ลงนามและไม่ได้ลงนาม · รองรับการปรับพื้นที่หรือความเร็ว · รองรับการวางท่อด้วยเวลาแฝงเอาต์พุตที่กำหนดค่าได้ · จัดเตรียม ตัวเลือกสำหรับการใช้งานในการประมวลผลสัญญาณดิจิทัลโดยเฉพาะ (DSP)
บล็อกวงจรหรือองค์ประกอบลอจิก (LEs) หมายเหตุ: เมื่อสร้างตัวคูณที่ใหญ่กว่าขนาดที่รองรับตามธรรมชาติ อาจ/
จะเป็นผลกระทบด้านประสิทธิภาพที่เกิดจากการเรียงซ้อนของบล็อก DSP · รองรับพอร์ตอินพุตแบบอะซิงโครนัสที่ชัดเจนและนาฬิกาที่เปิดใช้งาน · รองรับตัวเลือกแบบซิงโครนัสที่ชัดเจนสำหรับอุปกรณ์ Intel Stratix 10, Intel Arria 10 และ Intel Cyclone 10 GX

อินเทล คอร์ปอเรชั่น สงวนลิขสิทธิ์. 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 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 = “ไม่ได้ลงนาม”; พารามิเตอร์ lpm_pipeline = 0; พารามิเตอร์ lpm_hint = “ไม่ได้ใช้งาน”; นาฬิกาอินพุต; อินพุต clken; อินพุต aclr; อินพุต [lpm_widtha-1:0] dataa; อินพุต [lpm_widthb-1:0] datab; อินพุต [lpm_widths-1:0] ผลรวม; ผลลัพธ์ [lpm_widthp-1:0]; โมดูลสิ้นสุด
4.3. การประกาศส่วนประกอบ VHDL
การประกาศส่วนประกอบ VHDL อยู่ในการออกแบบ VHDL File (.vhd) LPM_PACK.vhd ใน ไดเร็กทอรีไลบรารี่ vhdllpm
ส่วนประกอบ LPM_MULT ทั่วไป ( LPM_WIDTHA : ธรรมชาติ; LPM_WIDTHB : ธรรมชาติ; LPM_WIDTHS : ธรรมชาติ := 1; LPM_WIDTHP : ธรรมชาติ;
LPM_REPRESENTATION : string := “ไม่ได้ลงนาม”; LPM_PIPELINE : ธรรมชาติ := 0; LPM_TYPE: สตริง := L_MULT; LPM_HINT : string := “ไม่ได้ใช้งาน”); port ( DATAA : in std_logic_vector(LPM_WIDTHA-1 downto 0); DATAB : in std_logic_vector(LPM_WIDTHB-1 downto 0); ACLR : in std_logic := '0'; CLOCK : in std_logic := '0'; CLKEN : in std_logic := '1'; SUM : in std_logic_vector(LPM_WIDTHS-1 downto 0) := (OTHERS => '0'); RESULT : out std_logic_vector(LPM_WIDTHP-1 downto 0)); ส่วนปลาย;
4.4. การประกาศ VHDL LIBRARY_USE
การประกาศ VHDL LIBRARY-USE ไม่จำเป็นหากคุณใช้การประกาศส่วนประกอบ VHDL
ห้องสมุด lpm; ใช้lpm.lpm_components.all;

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 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 ขนาดของสัญญาณอินพุตจะขึ้นอยู่กับค่าพารามิเตอร์ความกว้างของ Datab

สำหรับอุปกรณ์รุ่นเก่าและ Intel Cyclone 10 LP ขนาดของสัญญาณอินพุตจะขึ้นอยู่กับ

บนค่าพารามิเตอร์ LPM_WIDTHB

นาฬิกา

เลขที่

อินพุตนาฬิกาสำหรับการใช้งานไปป์ไลน์

สำหรับอุปกรณ์รุ่นเก่าและ Intel Cyclone 10 LP ต้องเปิดใช้งานสัญญาณนาฬิกาสำหรับค่า LPM_PIPELINE ที่ไม่ใช่ 0 (ค่าเริ่มต้น)

สำหรับอุปกรณ์ Intel Stratix 10, Intel Arria 10 และ Intel Cyclone 10 GX จะต้องเปิดใช้งานสัญญาณนาฬิกาหากค่าเวลาแฝงเป็นค่าอื่นที่ไม่ใช่ 1 (ค่าเริ่มต้น)

เคล็น

เลขที่

นาฬิกาเปิดใช้งานสำหรับการใช้งานไปป์ไลน์ เมื่อสัญญาณ Clken ถูกยืนยันว่าสูง แสดงว่า

การดำเนินการบวก/ลบจะเกิดขึ้น เมื่อสัญญาณต่ำ ไม่มีการทำงาน

เกิดขึ้น หากละเว้น ค่าเริ่มต้นคือ 1

เอแคลร์ สแคลร์

เลขที่

สัญญาณที่ชัดเจนแบบอะซิงโครนัสใช้ได้ตลอดเวลาเพื่อรีเซ็ตไปป์ไลน์เป็น 0 ทั้งหมด

แบบอะซิงโครนัสกับสัญญาณนาฬิกา ไปป์ไลน์เริ่มต้นเป็น undefined (X)

ระดับตรรกะ ผลลัพธ์มีค่าที่สอดคล้องกันแต่ไม่ใช่ศูนย์

เลขที่

สัญญาณที่ชัดเจนแบบซิงโครนัสใช้ได้ตลอดเวลาเพื่อรีเซ็ตไปป์ไลน์เป็น 0 ทั้งหมด

ซิงโครไนซ์กับสัญญาณนาฬิกา ไปป์ไลน์เริ่มต้นเป็น undefined (X)

ระดับตรรกะ ผลลัพธ์มีค่าที่สอดคล้องกันแต่ไม่ใช่ศูนย์

ตารางที่ 8.

LPM_MULT สัญญาณเอาต์พุต

ชื่อสัญญาณ

ที่จำเป็น

คำอธิบาย

ผลลัพธ์[]

ใช่

เอาท์พุทข้อมูล

สำหรับอุปกรณ์รุ่นเก่าและ Intel Cyclone 10 LP ขนาดของสัญญาณเอาต์พุตจะขึ้นอยู่กับค่าพารามิเตอร์ LPM_WIDTHP ถ้า LPM_WIDTHP < สูงสุด (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) หรือ (LPM_WIDTHA + LPM_WIDTHS) จะมีเฉพาะ LPM_WIDTHP MSB

สำหรับ Intel Stratix 10, Intel Arria 10 และ Intel Cyclone 10 GX ขนาดของสัญญาณเอาต์พุตจะขึ้นอยู่กับพารามิเตอร์ความกว้างของผลลัพธ์

4.6. พารามิเตอร์สำหรับอุปกรณ์ Stratix V, Arria V, Cyclone V และ Intel Cyclone 10 LP

4.6.1. แท็บทั่วไป

ตารางที่ 9.

แท็บทั่วไป

พารามิเตอร์

ค่า

การกำหนดค่าตัวคูณ

คูณอินพุต 'dataa' ด้วยอินพุต 'datab'

ค่าเริ่มต้น

คำอธิบาย

คูณอินพุต 'dataa' ด้วยอินพุต 'datab'

เลือกการกำหนดค่าที่ต้องการสำหรับตัวคูณ
ต่อเนื่อง…

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 18

ส่งคำติชม

4. LPM_MULT (ตัวคูณ) IP Core 683490 | 2020.10.05

พารามิเตอร์
อินพุต 'dataa' ควรกว้างแค่ไหน? อินพุต 'datab' ควรกว้างแค่ไหน? ควรกำหนดความกว้างของเอาต์พุต 'ผลลัพธ์' อย่างไร จำกัดความกว้าง

ค่า
คูณอินพุต 'dataa' ด้วยตัวเอง (การดำเนินการยกกำลังสอง)
1 – 256 บิต

ค่าเริ่มต้น

คำอธิบาย

8 บิต

ระบุความกว้างของพอร์ต dataa[]

1 – 256 บิต

8 บิต

ระบุความกว้างของพอร์ต datab[]

คำนวณความกว้างโดยอัตโนมัติ จำกัดความกว้าง
1 – 512 บิต

y คำนวณความกว้างโดยอัตโนมัติ

เลือกวิธีที่ต้องการเพื่อกำหนดความกว้างของพอร์ตผลลัพธ์ []

16 บิต

ระบุความกว้างของพอร์ตผลลัพธ์ []
ค่านี้จะมีผลก็ต่อเมื่อคุณเลือกจำกัดความกว้างในพารามิเตอร์ Type

4.6.2. ทั่วไป 2 แท็บ

ตารางที่ 10. แท็บทั่วไป 2

พารามิเตอร์

ค่า

อินพุตฐานข้อมูล

บัสอินพุต 'datab' มีค่าคงที่หรือไม่

ไม่ ใช่

ประเภทการคูณ

ประเภทไหน

ไม่ลงนาม

คุณต้องการคูณ? ลงชื่อ

การนำไปปฏิบัติ

ควรใช้ตัวคูณใด

ใช้การใช้งานเริ่มต้น
ใช้วงจรตัวคูณเฉพาะ (ไม่มีให้สำหรับทุกตระกูล)
ใช้องค์ประกอบตรรกะ

ค่าเริ่มต้น

คำอธิบาย

เลขที่

เลือก ใช่ เพื่อระบุค่าคงที่ของ

บัสอินพุต `datab' ถ้ามี

ไม่ลงนาม

ระบุรูปแบบการเป็นตัวแทนสำหรับอินพุต dataa[] และ datab[]

ใช้อิออนการใช้งานเริ่มต้น

เลือกวิธีที่ต้องการเพื่อกำหนดความกว้างของพอร์ตผลลัพธ์ []

4.6.3. แท็บการวางท่อ

ตารางที่ 11. แท็บการวางท่อ

พารามิเตอร์

คุณต้องการไปป์ไลน์หมายเลข

ฟังก์ชัน?

ใช่

ค่า

สร้าง 'aclr'

ล้างพอร์ตแบบอะซิงโครนัส

ค่าเริ่มต้น

คำอธิบาย

เลขที่

เลือก ใช่ เพื่อเปิดใช้งานการลงทะเบียนไปป์ไลน์ไปยัง

เอาต์พุตของตัวคูณและระบุที่ต้องการ

เอาต์พุตแฝงในรอบสัญญาณนาฬิกา การเปิดใช้งาน

การลงทะเบียนไปป์ไลน์เพิ่มเวลาแฝงพิเศษให้กับ

เอาท์พุต

ไม่ได้ตรวจสอบ

เลือกตัวเลือกนี้เพื่อเปิดใช้งานพอร์ต aclr เพื่อใช้ asynchronous clear สำหรับการลงทะเบียนไปป์ไลน์
ต่อเนื่อง…

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 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' ด้วยตัวเอง (การดำเนินการยกกำลังสอง)

คูณอินพุต 'dataa' ด้วยอินพุต 'datab'

เลือกการกำหนดค่าที่ต้องการสำหรับตัวคูณ

ความกว้างของข้อมูล

1 – 256 บิต

8 บิต

ระบุความกว้างของพอร์ต dataa[]

ความกว้างของฐานข้อมูล

1 – 256 บิต

8 บิต

ระบุความกว้างของพอร์ต datab[]

ควรกำหนดความกว้างของเอาต์พุต 'ผลลัพธ์' อย่างไร

พิมพ์

คำนวณความกว้างโดยอัตโนมัติ
จำกัดความกว้าง

y คำนวณความกว้างโดยอัตโนมัติ

เลือกวิธีที่ต้องการเพื่อกำหนดความกว้างของพอร์ตผลลัพธ์ []

ค่า

1 – 512 บิต

16 บิต

ระบุความกว้างของพอร์ตผลลัพธ์ []
ค่านี้จะมีผลก็ต่อเมื่อคุณเลือกจำกัดความกว้างในพารามิเตอร์ Type

ความกว้างของผลลัพธ์

1 – 512 บิต

แสดงความกว้างที่มีประสิทธิภาพของพอร์ต result[]

4.7.2. ทั่วไป 2 แท็บ

ตารางที่ 13. แท็บทั่วไป 2

พารามิเตอร์

อินพุตฐานข้อมูล

บัสอินพุต 'datab' มีค่าคงที่หรือไม่

ไม่ ใช่

ค่า

ค่าเริ่มต้น

คำอธิบาย

เลขที่

เลือก ใช่ เพื่อระบุค่าคงที่ของ

บัสอินพุต `datab' ถ้ามี

ต่อเนื่อง…

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 20

ส่งคำติชม

4. LPM_MULT (ตัวคูณ) IP Core 683490 | 2020.10.05

พารามิเตอร์

ค่า

ค่า

ค่าใดๆ ที่มากกว่า 0

ประเภทการคูณ

ประเภทไหน

ไม่ลงนาม

คุณต้องการคูณ? ลงชื่อ

รูปแบบการดำเนินการ

ควรใช้ตัวคูณใด

ใช้การใช้งานเริ่มต้น
ใช้วงจรตัวคูณเฉพาะ
ใช้องค์ประกอบตรรกะ

ค่าเริ่มต้น

คำอธิบาย

0

ระบุค่าคงที่ของพอร์ต datab[]

ไม่ลงนาม

ระบุรูปแบบการเป็นตัวแทนสำหรับอินพุต dataa[] และ datab[]

ใช้อิออนการใช้งานเริ่มต้น

เลือกวิธีที่ต้องการเพื่อกำหนดความกว้างของพอร์ตผลลัพธ์ []

4.7.3. ท่อส่ง

ตารางที่ 14. แท็บการวางท่อ

พารามิเตอร์

ค่า

คุณต้องการวางฟังก์ชันไปป์ไลน์หรือไม่?

ท่อส่งน้ำ

ไม่ ใช่

ประเภทสัญญาณความหน่วงแฝงที่ชัดเจน

ค่าใดๆ ที่มากกว่า 0
ไม่มี ACLR SCLR

สร้างนาฬิกา 'clken'

เปิดใช้งานนาฬิกา

คุณต้องการเพิ่มประสิทธิภาพประเภทใด

พิมพ์

พื้นที่ความเร็วเริ่มต้น

ค่าเริ่มต้น

คำอธิบาย

ไม่มี 1 ไม่มี

เลือก ใช่ เพื่อเปิดใช้งานการลงทะเบียนไพพ์ไลน์ไปยังเอาต์พุตของตัวคูณ การเปิดใช้งานการลงทะเบียนไปป์ไลน์จะเพิ่มเวลาแฝงให้กับเอาต์พุต
ระบุเวลาแฝงเอาต์พุตที่ต้องการในรอบสัญญาณนาฬิกา
ระบุประเภทของการรีเซ็ตสำหรับการลงทะเบียนไปป์ไลน์ เลือก NONE หากคุณไม่ได้ใช้การลงทะเบียนไปป์ไลน์ใดๆ เลือก ACLR เพื่อใช้ asynchronous clear สำหรับการลงทะเบียนไปป์ไลน์ สิ่งนี้จะสร้างพอร์ต ACLR เลือก SCLR เพื่อใช้ synchronous clear สำหรับการลงทะเบียนไปป์ไลน์ สิ่งนี้จะสร้างพอร์ต SCLR
ระบุเปิดใช้งานนาฬิกาสูงที่ใช้งานอยู่สำหรับพอร์ตนาฬิกาของการลงทะเบียนไปป์ไลน์

ค่าเริ่มต้น

ระบุการเพิ่มประสิทธิภาพที่ต้องการสำหรับคอร์ IP
เลือกค่าเริ่มต้นเพื่อให้ซอฟต์แวร์ Intel Quartus Prime พิจารณาการเพิ่มประสิทธิภาพที่ดีที่สุดสำหรับคอร์ IP

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 21

683490 | 2020.10.05 ส่งคำติชม

5. LPM_ADD_SUB (ตัวบวก/ตัวลบ)

รูปที่ 4.

LPM_ADD_SUB IP core ให้คุณใช้ตัวบวกหรือตัวลบเพื่อเพิ่มหรือลบชุดข้อมูลเพื่อสร้างเอาต์พุตที่มีผลรวมหรือผลต่างของค่าอินพุต

รูปต่อไปนี้แสดงพอร์ตสำหรับคอร์ IP LPM_ADD_SUB

พอร์ต LPM_ADD_SUB

LPM_ADD_SUB add_sub ซิน

ข้อมูล[]

นาฬิกา clken datab[] aclr

ผลลัพธ์ [] ล้นเกิน

สถาบัน

5.1. คุณสมบัติ
LPM_ADD_SUB IP core มีคุณสมบัติดังต่อไปนี้ · สร้างตัวบวก ตัวลบ และตัวบวก/ตัวลบที่กำหนดค่าได้แบบไดนามิก
ฟังก์ชั่น. · รองรับความกว้างของข้อมูล 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 File (.v) lpm.v ใน ไดเรกทอรี edasynthesis
โมดูล lpm_add_sub ( ผลลัพธ์, cout, โอเวอร์โฟลว์, add_sub, cin, dataa, datab, นาฬิกา, 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 ใน ไดเร็กทอรีไลบรารี่ vhdllpm
คอมโพเนนต์ LPM_ADD_SUB ทั่วไป (LPM_WIDTH : ธรรมชาติ;
LPM_DIRECTION : string := “ไม่ได้ใช้”; LPM_REPRESENTATION: string := “ลงนาม”; LPM_PIPELINE : ธรรมชาติ := 0; LPM_TYPE : สตริง := L_ADD_SUB; LPM_HINT : string := “ไม่ได้ใช้งาน”); port (DATAA : in std_logic_vector(LPM_WIDTH-1 downto 0); DATAB : in std_logic_vector(LPM_WIDTH-1 downto 0); ACLR : in std_logic := '0'; CLOCK : in std_logic := '0'; CLKEN : in std_logic := '1'; CIN : ใน std_logic := 'Z'; ADD_SUB : ใน std_logic := '1'; RESULT : out std_logic_vector(LPM_WIDTH-1 downto 0); COUT : out std_logic; OVERFLOW : out std_logic); ส่วนปลาย;
5.4. การประกาศ VHDL LIBRARY_USE
การประกาศ VHDL LIBRARY-USE ไม่จำเป็นหากคุณใช้การประกาศส่วนประกอบ VHDL
ห้องสมุด lpm; ใช้lpm.lpm_components.all;
5.5. พอร์ต
ตารางต่อไปนี้แสดงรายการพอร์ตอินพุตและเอาต์พุตสำหรับคอร์ IP LPM_ADD_SUB

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 23

5. LPM_ADD_SUB (ตัวบวก/ตัวลบ) 683490 | 2020.10.05

ตารางที่ 15. พอร์ตอินพุตหลัก IP LPM_ADD_SUB

ชื่อพอร์ต

ที่จำเป็น

คำอธิบาย

ซิน

เลขที่

เข้าสู่บิตคำสั่งต่ำ สำหรับการดำเนินการเพิ่มเติม ค่าเริ่มต้นคือ 0 สำหรับ

การลบ ค่าเริ่มต้นคือ 1

ข้อมูล[]

ใช่

ป้อนข้อมูล. ขนาดของพอร์ตอินพุตขึ้นอยู่กับค่าพารามิเตอร์ LPM_WIDTH

ฐานข้อมูล[]

ใช่

ป้อนข้อมูล. ขนาดของพอร์ตอินพุตขึ้นอยู่กับค่าพารามิเตอร์ LPM_WIDTH

add_sub

เลขที่

พอร์ตอินพุตเสริมเพื่อเปิดใช้งานการสลับแบบไดนามิกระหว่างตัวบวกและตัวลบ

ฟังก์ชั่น. หากใช้พารามิเตอร์ LPM_DIRECTION จะไม่สามารถใช้ add_sub ได้ ถ้า

ละเว้น ค่าเริ่มต้นคือ ADD Intel ขอแนะนำให้คุณใช้

พารามิเตอร์ LPM_DIRECTION เพื่อระบุการทำงานของฟังก์ชัน LPM_ADD_SUB

แทนที่จะกำหนดค่าคงที่ให้กับพอร์ต add_sub

นาฬิกา

เลขที่

อินพุตสำหรับการใช้งานไปป์ไลน์ พอร์ตนาฬิกาให้อินพุตนาฬิกาสำหรับไปป์ไลน์

การดำเนินการ. สำหรับค่า LPM_PIPELINE ที่ไม่ใช่ 0 (ค่าเริ่มต้น) พอร์ตนาฬิกาต้องเป็น

เปิดใช้งานแล้ว

เคล็น

เลขที่

นาฬิกาเปิดใช้งานสำหรับการใช้งานไปป์ไลน์ เมื่อพอร์ต Clken ถูกยืนยันสูง adder/

การดำเนินการลบเกิดขึ้น เมื่อสัญญาณต่ำ จะไม่มีการดำเนินการใดๆ เกิดขึ้น ถ้า

ละเว้น ค่าเริ่มต้นคือ 1

บัญชี

เลขที่

อะซิงโครนัสชัดเจนสำหรับการใช้งานไปป์ไลน์ ไปป์ไลน์เริ่มต้นเป็น undefined (X)

ระดับตรรกะ สามารถใช้พอร์ต aclr ได้ตลอดเวลาเพื่อรีเซ็ตไปป์ไลน์เป็น 0 ทั้งหมด

แบบอะซิงโครนัสกับสัญญาณนาฬิกา

ตารางที่ 16. พอร์ตเอาต์พุตหลัก IP LPM_ADD_SUB

ชื่อพอร์ต

ที่จำเป็น

คำอธิบาย

ผลลัพธ์[]

ใช่

เอาต์พุตข้อมูล ขนาดของพอร์ตเอาต์พุตขึ้นอยู่กับพารามิเตอร์ LPM_WIDTH

ค่า.

ศาล

เลขที่

ดำเนินการ (ยืมเข้า) ของบิตที่สำคัญที่สุด (MSB) พอร์ตศาลมีทางกายภาพ

การตีความว่าเป็นการดำเนินการ (ยืม) ของ MSB ตรวจพบพอร์ตศาล

ล้นในการดำเนินการที่ไม่ได้ลงนาม พอร์ต cout ทำงานในลักษณะเดียวกันสำหรับ

การดำเนินการที่ลงนามและไม่ได้ลงนาม

ล้น

เลขที่

เอาต์พุตข้อยกเว้นโอเวอร์โฟลว์เสริม พอร์ตล้นมีการตีความทางกายภาพเป็น

XOR ของการนำเข้าสู่ MSB พร้อมกับการนำออกจาก MSB พอร์ตน้ำล้น

ยืนยันเมื่อผลลัพธ์เกินความแม่นยำที่มีอยู่ และใช้เฉพาะเมื่อ

ค่าพารามิเตอร์ LPM_REPRESENTATION เป็นค่า SIGNED

5.6 พารามิเตอร์

ตารางต่อไปนี้แสดงรายการพารามิเตอร์หลักของ IP LPM_ADD_SUB

ตารางที่ 17. พารามิเตอร์หลักของ IP LPM_ADD_SUB

ชื่อพารามิเตอร์ 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 Integer Arithmetic IP Cores 24

ส่งคำติชม

5. LPM_ADD_SUB (ตัวบวก/ตัวลบ) 683490 | 2020.10.05

ชื่อพารามิเตอร์ LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
ตั้งใจ_DEVICE_FAMILY

พิมพ์สตริงจำนวนเต็ม สตริงสตริง สตริงจำนวนเต็ม
สตริง

จำเป็น ไม่ ไม่ ไม่ ไม่ ไม่
เลขที่

คำอธิบาย
ระบุประเภทของการเพิ่มที่ดำเนินการ ค่ามีการลงนามและไม่ได้ลงนาม หากละเว้น ค่าเริ่มต้นคือ SIGNED เมื่อตั้งค่าพารามิเตอร์นี้เป็น SIGNED ตัวบวก/ตัวลบจะตีความข้อมูลที่ป้อนเป็นส่วนประกอบของสองตัวที่มีลายเซ็น
ระบุจำนวนรอบสัญญาณนาฬิกาแฝงที่เกี่ยวข้องกับผลลัพธ์ [] เอาต์พุต ค่าศูนย์ (0) บ่งชี้ว่าไม่มีเวลาแฝงอยู่ และฟังก์ชันผสมล้วนจะถูกสร้างอินสแตนซ์ หากละเว้น ค่าเริ่มต้นคือ 0 (ไม่ใช่ไปป์ไลน์)
ให้คุณระบุพารามิเตอร์เฉพาะของ Intel ในการออกแบบ VHDL fileส (.vhd). ค่าเริ่มต้นคือไม่ได้ใช้
ระบุไลบรารีของชื่อเอนทิตีโมดูลพารามิเตอร์ (LPM) ในการออกแบบ VHDL files.
พารามิเตอร์เฉพาะของ Intel คุณต้องใช้พารามิเตอร์ LPM_HINT เพื่อระบุพารามิเตอร์ ONE_INPUT_IS_CONSTANT ในการออกแบบ VHDL fileส. ค่าคือ ใช่ ไม่ใช่ และไม่ได้ใช้ ให้การปรับให้เหมาะสมยิ่งขึ้นหากอินพุตเดียวคงที่ หากละเว้น ค่าเริ่มต้นคือ NO
พารามิเตอร์เฉพาะของ Intel คุณต้องใช้พารามิเตอร์ LPM_HINT เพื่อระบุพารามิเตอร์ MAXIMIZE_SPEED ในการออกแบบ VHDL fileส. คุณสามารถระบุค่าระหว่าง 0 ถึง 10 หากใช้ ซอฟต์แวร์ Intel Quartus Prime จะพยายามปรับอินสแตนซ์เฉพาะของฟังก์ชัน LPM_ADD_SUB ให้เหมาะสมเพื่อความเร็วแทนที่จะกำหนดเส้นทาง และจะแทนที่การตั้งค่าของตัวเลือกลอจิกของเทคนิคการปรับให้เหมาะสม หากไม่ได้ใช้ MAXIMIZE_SPEED ค่าของตัวเลือกเทคนิคการเพิ่มประสิทธิภาพจะถูกใช้แทน หากการตั้งค่าสำหรับ MAXIMIZE_SPEED เป็น 6 หรือสูงกว่า คอมไพลเลอร์จะปรับแกน IP LPM_ADD_SUB ให้เหมาะสมเพื่อให้ได้ความเร็วที่สูงขึ้นโดยใช้สายโซ่สำหรับพกพา หากการตั้งค่าเป็น 5 หรือน้อยกว่า คอมไพลเลอร์จะดำเนินการออกแบบโดยไม่มีสายสะพาย ต้องระบุพารามิเตอร์นี้สำหรับอุปกรณ์ Cyclone, Stratix และ Stratix GX เมื่อไม่ได้ใช้พอร์ต add_sub เท่านั้น
พารามิเตอร์นี้ใช้สำหรับวัตถุประสงค์ในการสร้างแบบจำลองและการจำลองพฤติกรรม เอดิเตอร์พารามิเตอร์จะคำนวณค่าสำหรับพารามิเตอร์นี้

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 25

683490 | 2020.10.05 ส่งคำติชม

6. LPM_COMPARE (ตัวเปรียบเทียบ)

รูปที่ 5.

LPM_COMPARE IP core เปรียบเทียบค่าของชุดข้อมูลสองชุดเพื่อกำหนดความสัมพันธ์ระหว่างชุดข้อมูลทั้งสองชุด ในรูปแบบที่ง่ายที่สุด คุณสามารถใช้เกตพิเศษ OR เพื่อระบุว่าข้อมูลสองบิตเท่ากันหรือไม่

รูปต่อไปนี้แสดงพอร์ตสำหรับคอร์ IP LPM_COMPARE

LPM_COMPARE พอร์ต

LPM_COMPARE

เคล็น

อัลบ

เออีบี

ข้อมูล[]

เอจีบี

ฐานข้อมูล[]

อายุข

นาฬิกา

เอเนบ

บัญชี

อเลบ

สถาบัน

6.1. คุณสมบัติ
LPM_COMPARE IP core มีคุณสมบัติดังต่อไปนี้ · สร้างฟังก์ชันตัวเปรียบเทียบเพื่อเปรียบเทียบข้อมูลสองชุด · รองรับความกว้างของข้อมูล 1 บิต · รองรับรูปแบบการแสดงข้อมูล เช่น เซ็นชื่อและไม่ได้เซ็น · สร้างประเภทเอาต์พุตต่อไปนี้:
— alb (อินพุต A น้อยกว่าอินพุต B) — aeb (อินพุต A เท่ากับอินพุต B) — agb (อินพุต A มากกว่าอินพุต B) — ageb (อินพุต A มากกว่าหรือเท่ากับอินพุต B) — aneb ( อินพุต A ไม่เท่ากับอินพุต B) — aleb (อินพุต A น้อยกว่าหรือเท่ากับอินพุต B) · รองรับพอร์ตอินพุตที่เลือกได้แบบอะซิงโครนัสที่ชัดเจนและเปิดใช้งานนาฬิกา · กำหนดอินพุต datab[] ให้เป็นค่าคงที่ · รองรับการวางท่อด้วยเวลาแฝงเอาต์พุตที่กำหนดค่าได้

อินเทล คอร์ปอเรชั่น สงวนลิขสิทธิ์. 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 File (.v) lpm.v ใน ไดเรกทอรี edasynthesis
โมดูล lpm_compare ( alb, aeb, agb, aleb, aneb, ageb, dataa, datab, นาฬิกา, clken, aclr ); พารามิเตอร์ lpm_type = “lpm_compare”; พารามิเตอร์ lpm_width = 1; พารามิเตอร์ lpm_representation = “ไม่ได้ลงนาม”; พารามิเตอร์ lpm_pipeline = 0; พารามิเตอร์ lpm_hint = “ไม่ได้ใช้งาน”; อินพุต [lpm_width-1:0] dataa, datab; นาฬิกาอินพุต; อินพุต clken; อินพุต aclr; เอาต์พุต alb, aeb, agb, aleb, aneb, ageb; โมดูลสิ้นสุด
6.3. การประกาศส่วนประกอบ VHDL
การประกาศส่วนประกอบ VHDL อยู่ในการออกแบบ VHDL File (.vhd) LPM_PACK.vhd ใน ไดเร็กทอรีไลบรารี่ vhdllpm
คอมโพเนนต์ LPM_COMPARE ทั่วไป (LPM_WIDTH : ธรรมชาติ;
LPM_REPRESENTATION : string := “ไม่ได้ลงนาม”; LPM_PIPELINE : ธรรมชาติ := 0; LPM_TYPE: สตริง := L_COMPARE; LPM_HINT : string := “ไม่ได้ใช้งาน”); port (DATAA : in std_logic_vector(LPM_WIDTH-1 downto 0); DATAB : in std_logic_vector(LPM_WIDTH-1 downto 0); ACLR : in std_logic := '0'; CLOCK : in std_logic := '0'; CLKEN : in std_logic := '1'; AGB : ออก std_logic; AGEB : ออก std_logic; AEB : ออก std_logic; ANEB : ออก std_logic; ALB : ออก std_logic; ALEB : ออก std_logic); ส่วนปลาย;
6.4. การประกาศ VHDL LIBRARY_USE
การประกาศ VHDL LIBRARY-USE ไม่จำเป็นหากคุณใช้การประกาศส่วนประกอบ VHDL
ห้องสมุด lpm; ใช้lpm.lpm_components.all;
6.5. พอร์ต
ตารางต่อไปนี้แสดงรายการพอร์ตอินพุตและเอาต์พุตสำหรับคอร์ IP LMP_COMPARE

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 27

6. LPM_COMPARE (ตัวเปรียบเทียบ) 683490 | 2020.10.05

ตารางที่ 18. พอร์ตอินพุตหลักของ IP LPM_COMPARE

ชื่อพอร์ต

ที่จำเป็น

คำอธิบาย

ข้อมูล[]

ใช่

ป้อนข้อมูล. ขนาดของพอร์ตอินพุตขึ้นอยู่กับค่าพารามิเตอร์ LPM_WIDTH

ฐานข้อมูล[]

ใช่

ป้อนข้อมูล. ขนาดของพอร์ตอินพุตขึ้นอยู่กับค่าพารามิเตอร์ LPM_WIDTH

นาฬิกา

เลขที่

อินพุตนาฬิกาสำหรับการใช้งานไปป์ไลน์ พอร์ตนาฬิกาให้อินพุตนาฬิกาสำหรับไปป์ไลน์

การดำเนินการ. สำหรับค่า LPM_PIPELINE ที่ไม่ใช่ 0 (ค่าเริ่มต้น) พอร์ตนาฬิกาต้องเป็น

เปิดใช้งานแล้ว

เคล็น

เลขที่

นาฬิกาเปิดใช้งานสำหรับการใช้งานไปป์ไลน์ เมื่อพอร์ต Clken ถูกยืนยันสูง ค่า

การดำเนินการเปรียบเทียบจะเกิดขึ้น เมื่อสัญญาณต่ำ จะไม่มีการดำเนินการใดๆ เกิดขึ้น ถ้า

ละเว้น ค่าเริ่มต้นคือ 1

บัญชี

เลขที่

อะซิงโครนัสชัดเจนสำหรับการใช้งานไปป์ไลน์ ไปป์ไลน์เริ่มต้นเป็นตรรกะที่ไม่ได้กำหนด (X)

ระดับ. สามารถใช้พอร์ต aclr ได้ตลอดเวลาเพื่อรีเซ็ตไปป์ไลน์เป็น 0 ทั้งหมด

แบบอะซิงโครนัสกับสัญญาณนาฬิกา

ตารางที่ 19. พอร์ตเอาต์พุตหลัก LPM_COMPARE IP

ชื่อพอร์ต

ที่จำเป็น

คำอธิบาย

อัลบ

เลขที่

พอร์ตเอาต์พุตสำหรับเครื่องเปรียบเทียบ ยืนยันถ้าอินพุต A น้อยกว่าอินพุต B

เออีบี

เลขที่

พอร์ตเอาต์พุตสำหรับเครื่องเปรียบเทียบ ยืนยันว่าอินพุต A เท่ากับอินพุต B

เอจีบี

เลขที่

พอร์ตเอาต์พุตสำหรับเครื่องเปรียบเทียบ ยืนยันว่าอินพุต A มากกว่าอินพุต B

อายุข

เลขที่

พอร์ตเอาต์พุตสำหรับเครื่องเปรียบเทียบ ยืนยันว่าอินพุต A มากกว่าหรือเท่ากับอินพุต

B.

เอเนบ

เลขที่

พอร์ตเอาต์พุตสำหรับเครื่องเปรียบเทียบ ยืนยันว่าอินพุต A ไม่เท่ากับอินพุต B

อเลบ

เลขที่

พอร์ตเอาต์พุตสำหรับเครื่องเปรียบเทียบ ยืนยันว่าอินพุต A น้อยกว่าหรือเท่ากับอินพุต B

6.6 พารามิเตอร์

ตารางต่อไปนี้แสดงรายการพารามิเตอร์สำหรับคอร์ IP LPM_COMPARE

ตารางที่ 20. พารามิเตอร์หลักของ IP LPM_COMPARE

ชื่อพารามิเตอร์

พิมพ์

ที่จำเป็น

LPM_WIDTH

จำนวนเต็ม ใช่

LPM_REPRESENTATION

สตริง

เลขที่

LPM_PIPELINE

จำนวนเต็ม

LPM_HINT

สตริง

เลขที่

คำอธิบาย
ระบุความกว้างของพอร์ต dataa[] และ datab[]
ระบุประเภทของการเปรียบเทียบที่ดำเนินการ ค่ามีการลงนามและไม่ได้ลงนาม หากละเว้น ค่าเริ่มต้นคือ UNSIGNED เมื่อค่าพารามิเตอร์นี้ถูกตั้งค่าเป็น SIGNED ตัวเปรียบเทียบจะตีความข้อมูลที่ป้อนเข้าเป็นส่วนเติมเต็มของสองรายการที่มีลายเซ็น
ระบุจำนวนรอบสัญญาณนาฬิกาของเวลาแฝงที่เกี่ยวข้องกับเอาต์พุต alb, aeb, agb, ageb, aleb หรือ aneb ค่าศูนย์ (0) บ่งชี้ว่าไม่มีเวลาแฝงอยู่ และฟังก์ชันผสมล้วนจะถูกสร้างอินสแตนซ์ หากละเว้น ค่าเริ่มต้นคือ 0 (ไม่ไปป์ไลน์)
ให้คุณระบุพารามิเตอร์เฉพาะของ Intel ในการออกแบบ VHDL fileส (.vhd). ค่าเริ่มต้นคือไม่ได้ใช้
ต่อเนื่อง…

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 28

ส่งคำติชม

6. LPM_COMPARE (ตัวเปรียบเทียบ) 683490 | 2020.10.05
ชื่อพารามิเตอร์ LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT

ประเภท สตริง สตริง
สตริง

เลขที่ จำเป็น เลขที่
เลขที่

คำอธิบาย
ระบุไลบรารีของชื่อเอนทิตีโมดูลพารามิเตอร์ (LPM) ในการออกแบบ VHDL files.
พารามิเตอร์นี้ใช้สำหรับวัตถุประสงค์ในการสร้างแบบจำลองและการจำลองพฤติกรรม เอดิเตอร์พารามิเตอร์จะคำนวณค่าสำหรับพารามิเตอร์นี้
พารามิเตอร์เฉพาะของ Intel คุณต้องใช้พารามิเตอร์ LPM_HINT เพื่อระบุพารามิเตอร์ ONE_INPUT_IS_CONSTANT ในการออกแบบ VHDL fileส. ค่าคือ ใช่ ไม่ใช่ หรือไม่ได้ใช้ ให้การปรับให้เหมาะสมยิ่งขึ้นหากอินพุตคงที่ หากละเว้น ค่าเริ่มต้นคือ NO

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 29

683490 | 2020.10.05 ส่งคำติชม

7. ALTEC (รหัสแก้ไขข้อผิดพลาด: ตัวเข้ารหัส/ตัวถอดรหัส) IP Core

รูปที่ 6.

Intel จัดเตรียมคอร์ ALTEC IP เพื่อใช้ฟังก์ชัน ECC ECC ตรวจพบข้อมูลที่เสียหายซึ่งเกิดขึ้นที่ฝั่งผู้รับระหว่างการส่งข้อมูล วิธีการแก้ไขข้อผิดพลาดนี้เหมาะที่สุดสำหรับสถานการณ์ที่ข้อผิดพลาดเกิดขึ้นแบบสุ่มแทนที่จะเกิดขึ้นเป็นชุด

ECC ตรวจพบข้อผิดพลาดผ่านกระบวนการเข้ารหัสและถอดรหัสข้อมูล สำหรับอดีตample, เมื่อใช้ ECC ในแอปพลิเคชันการส่งข้อมูลที่อ่านจากแหล่งที่มาจะถูกเข้ารหัสก่อนที่จะส่งไปยังผู้รับ เอาต์พุต (โค้ดเวิร์ด) จากเอ็นโค้ดเดอร์ประกอบด้วยข้อมูลดิบที่ต่อท้ายด้วยจำนวนแพริตีบิต จำนวนพาริตี้บิตที่ต่อท้ายนั้นขึ้นอยู่กับจำนวนบิตในข้อมูลอินพุต คำรหัสที่สร้างขึ้นจะถูกส่งไปยังปลายทาง

ผู้รับได้รับคำรหัสและถอดรหัส ข้อมูลที่ได้รับจากตัวถอดรหัสจะกำหนดว่าตรวจพบข้อผิดพลาดหรือไม่ ตัวถอดรหัสตรวจพบข้อผิดพลาดบิตเดียวและสองบิต แต่สามารถแก้ไขข้อผิดพลาดบิตเดียวในข้อมูลที่เสียหายเท่านั้น ECC ประเภทนี้คือการตรวจจับข้อผิดพลาดสองครั้งในการแก้ไขข้อผิดพลาดเดียว (SECDED)

คุณสามารถกำหนดค่าฟังก์ชันตัวเข้ารหัสและตัวถอดรหัสของแกน ALTEC IP การป้อนข้อมูลไปยังตัวเข้ารหัสจะถูกเข้ารหัสเพื่อสร้างคำรหัสที่เป็นการรวมกันของข้อมูลที่ป้อนเข้าและพาริตีบิตที่สร้างขึ้น คำรหัสที่สร้างขึ้นจะถูกส่งไปยังโมดูลตัวถอดรหัสเพื่อถอดรหัสก่อนถึงบล็อกปลายทาง ตัวถอดรหัสจะสร้างซินโดรมเวกเตอร์เพื่อตรวจสอบว่ามีข้อผิดพลาดใดๆ ในโค้ดเวิร์ดที่ได้รับหรือไม่ ตัวถอดรหัสจะแก้ไขข้อมูลก็ต่อเมื่อข้อผิดพลาดบิตเดียวมาจากบิตข้อมูล ไม่มีสัญญาณใดถูกแฟล็กหากข้อผิดพลาดบิตเดียวมาจากแพริตีบิต ตัวถอดรหัสยังมีสัญญาณแฟล็กเพื่อแสดงสถานะของข้อมูลที่ได้รับและการดำเนินการของตัวถอดรหัส หากมี

รูปต่อไปนี้แสดงพอร์ตสำหรับ ALTEC IP core

พอร์ตตัวเข้ารหัส ALTEC

ALTECC_ENCODER

ข้อมูล[]

คิว[]

นาฬิกา

นาฬิกา

บัญชี

สถาบัน

อินเทล คอร์ปอเรชั่น สงวนลิขสิทธิ์. Intel, โลโก้ Intel และเครื่องหมายอื่นๆ ของ Intel เป็นเครื่องหมายการค้าของ Intel Corporation หรือบริษัทในเครือ Intel รับประกันประสิทธิภาพของ FPGA และผลิตภัณฑ์เซมิคอนดักเตอร์ตามข้อกำหนดปัจจุบันตามการรับประกันมาตรฐานของ Intel แต่ขอสงวนสิทธิ์ในการเปลี่ยนแปลงผลิตภัณฑ์และบริการใดๆ ได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบ Intel จะไม่รับผิดชอบหรือรับผิดใด ๆ ที่เกิดขึ้นจากแอปพลิเคชันหรือการใช้ข้อมูล ผลิตภัณฑ์ หรือบริการใด ๆ ที่อธิบายไว้ในที่นี้ ยกเว้นตามที่ตกลงไว้อย่างชัดแจ้งเป็นลายลักษณ์อักษรโดย Intel ขอแนะนำให้ลูกค้า Intel ขอรับข้อมูลจำเพาะของอุปกรณ์เวอร์ชันล่าสุดก่อนที่จะใช้ข้อมูลที่เผยแพร่และก่อนทำการสั่งซื้อผลิตภัณฑ์หรือบริการ *ชื่อและแบรนด์อื่น ๆ อาจเป็นทรัพย์สินของผู้อื่น

ลงทะเบียน ISO 9001: 2015

7. ALTEC (รหัสแก้ไขข้อผิดพลาด: ตัวเข้ารหัส/ตัวถอดรหัส) IP Core 683490 | 2020.10.05

รูปที่ 7 พอร์ตตัวถอดรหัส ALTEC

ALTEC_DECODER

ข้อมูล[] นาฬิกา สัญญาณนาฬิกา

q[] err_detected err_corrected
ข้อผิดพลาดร้ายแรง

บัญชี

สถาบัน

7.1. คุณสมบัติตัวเข้ารหัส ALTEC

แกน IP ของตัวเข้ารหัส ALTEC มีคุณสมบัติดังต่อไปนี้: · ดำเนินการเข้ารหัสข้อมูลโดยใช้รูปแบบ Hamming Coding · รองรับความกว้างของข้อมูล 2 บิต · รองรับรูปแบบการแสดงข้อมูลที่ลงชื่อและไม่ได้ลงนาม · รองรับการวางท่อที่มีความหน่วงเอาต์พุตหนึ่งหรือสองรอบสัญญาณนาฬิกา · รองรับทางเลือก พอร์ตเปิดใช้งานอะซิงโครนัสที่ชัดเจนและนาฬิกา

แกน IP ของตัวเข้ารหัส ALTEC รับและเข้ารหัสข้อมูลโดยใช้รูปแบบการเข้ารหัสแฮมมิง รูปแบบการเข้ารหัส Hamming ได้รับพาริตีบิตและผนวกเข้ากับข้อมูลต้นฉบับเพื่อสร้างคำรหัสผลลัพธ์ จำนวนพาริตีบิตที่ต่อท้ายขึ้นอยู่กับความกว้างของข้อมูล

ตารางต่อไปนี้แสดงจำนวนพาริตีบิตที่ต่อท้ายสำหรับช่วงความกว้างของข้อมูลต่างๆ คอลัมน์ Total Bits แสดงถึงจำนวนบิตข้อมูลอินพุตทั้งหมดและแพริตีบิตที่ต่อท้าย

ตารางที่ 21.

จำนวน Parity Bits และ Code Word ตามความกว้างของข้อมูล

ความกว้างของข้อมูล

จำนวนพาริตีบิต

บิตทั้งหมด (โค้ดเวิร์ด)

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

ที่มาของ parity bit ใช้การตรวจสอบความเท่าเทียมกัน บิตเพิ่มเติม 1 บิต (แสดงในตารางเป็น +1) ต่อท้ายแพริตีบิตเป็น MSB ของโค้ดเวิร์ด เพื่อให้แน่ใจว่าคำรหัสมีจำนวน 1 เป็นเลขคู่ สำหรับอดีตample ถ้าความกว้างของข้อมูลคือ 4 บิต บิตพาริตี 4 บิตจะถูกต่อท้ายข้อมูลเพื่อให้กลายเป็นโค้ดเวิร์ดที่มีทั้งหมด 8 บิต ถ้า 7 บิตจาก LSB ของโค้ดเวิร์ด 8 บิตมีจำนวน 1 เป็นเลขคี่ บิตที่ 8 (MSB) ของโค้ดเวิร์ดคือ 1 ทำให้จำนวนรวมของ 1 ในโค้ดเวิร์ดเป็นเลขคู่
รูปต่อไปนี้แสดงโค้ดเวิร์ดที่สร้างขึ้นและการจัดเรียงพาริตีบิตและบิตข้อมูลในการป้อนข้อมูล 8 บิต

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 31

7. ALTEC (รหัสแก้ไขข้อผิดพลาด: ตัวเข้ารหัส/ตัวถอดรหัส) IP Core 683490 | 2020.10.05

รูปที่ 8.

การจัดเรียง Parity Bits และ Data Bits ใน Word รหัสที่สร้าง 8 บิต

MSB

แอลเอสบี

4 พาริตีบิต

4 บิตข้อมูล

8

1

คอร์ IP ของตัวเข้ารหัส ALTEC ยอมรับเฉพาะความกว้างอินพุต 2 ถึง 64 บิตต่อครั้ง ความกว้างอินพุต 12 บิต 29 บิต และ 64 บิต ซึ่งเหมาะอย่างยิ่งสำหรับอุปกรณ์ Intel สร้างเอาต์พุต 18 บิต 36 บิต และ 72 บิตตามลำดับ คุณสามารถควบคุมข้อจำกัดการเลือกบิตในตัวแก้ไขพารามิเตอร์

7.2. ต้นแบบ Verilog HDL (ALTECC_ENCODER)
ต้นแบบ Verilog HDL ต่อไปนี้อยู่ในการออกแบบ Verilog File (.v) lpm.v ใน ไดเรกทอรี edasynthesis
โมดูล altecc_encoder #( พารามิเตอร์ dedicated_device_family = “ไม่ได้ใช้”, พารามิเตอร์ lpm_pipeline = 0, พารามิเตอร์ width_codeword = 8, พารามิเตอร์ width_dataword = 8, พารามิเตอร์ lpm_type = “altecc_encoder”, พารามิเตอร์ lpm_hint = “ไม่ได้ใช้”) ( aclr สายอินพุต, นาฬิกาสายอินพุต, อินพุต wire clocken, สายอินพุต [width_dataword-1:0] ข้อมูล, สายเอาต์พุต [width_codeword-1:0] q); โมดูลสิ้นสุด

7.3. ต้นแบบ Verilog HDL (ALTECC_DECODER)
ต้นแบบ Verilog HDL ต่อไปนี้อยู่ในการออกแบบ Verilog File (.v) lpm.v ใน ไดเรกทอรี edasynthesis
โมดูล altecc_decoder #( พารามิเตอร์ dedicated_device_family = “ไม่ได้ใช้”, พารามิเตอร์ lpm_pipeline = 0, พารามิเตอร์ width_codeword = 8, พารามิเตอร์ width_dataword = 8, พารามิเตอร์ lpm_type = “altecc_decoder”, พารามิเตอร์ lpm_hint = “ไม่ได้ใช้”) ( aclr สายอินพุต, นาฬิกาสายอินพุต, อินพุต wire clocken, สายอินพุต [width_codeword-1:0] ข้อมูล, สายเอาต์พุต err_corrected, สายเอาต์พุต err_detected, สายเอาต์พุต err_fatal, สายเอาต์พุต [width_dataword-1:0] q); โมดูลสิ้นสุด

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 32

ส่งคำติชม

7. ALTEC (รหัสแก้ไขข้อผิดพลาด: ตัวเข้ารหัส/ตัวถอดรหัส) IP Core 683490 | 2020.10.05
7.4. การประกาศส่วนประกอบ VHDL (ALTECC_ENCODER)
การประกาศส่วนประกอบ VHDL อยู่ในการออกแบบ VHDL File (.vhd) altera_mf_components.vhd ใน ไดเรกทอรี librariesvhdlaltera_mf
คอมโพเนนต์ altecc_encoder ทั่วไป ( ตั้งใจ_device_family:string := “ไม่ได้ใช้”; lpm_pipeline:ธรรมชาติ := 0; width_codeword:ธรรมชาติ := 8; width_dataword:ธรรมชาติ := 8; lpm_hint:string := “UNUSED”; lpm_type:string := “altecc_encoder ”); พอร์ต ( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_dataword-1 downto 0); q:out std_logic_vector(width_codeword -1 ลงเหลือ 0)); ส่วนปลาย;
7.5. การประกาศส่วนประกอบ VHDL (ALTECC_DECODER)
การประกาศส่วนประกอบ VHDL อยู่ในการออกแบบ VHDL File (.vhd) altera_mf_components.vhd ใน ไดเรกทอรี librariesvhdlaltera_mf
คอมโพเนนต์ altecc_decoder ทั่วไป ( ตั้งใจ_device_family:string := “ไม่ได้ใช้”; lpm_pipeline:ธรรมชาติ := 0; width_codeword:ธรรมชาติ := 8; width_dataword:ธรรมชาติ := 8; lpm_hint:string := “UNUSED”; lpm_type:string := “altecc_decoder ”); พอร์ต ( aclr:in std_logic := '0'; clock:in std_logic := '0'; clocken:in std_logic := '1'; data:in std_logic_vector(width_codeword-1 downto 0); err_corrected : out std_logic; err_detected : out std_logic; q:out std_logic_vector(width_dataword-1 downto 0); syn_e : out std_logic); ส่วนปลาย;
7.6. การประกาศ VHDL LIBRARY_USE
การประกาศ VHDL LIBRARY-USE ไม่จำเป็นหากคุณใช้การประกาศส่วนประกอบ VHDL
ห้องสมุด altera_mf; ใช้ altera_mf.altera_mf_components.all
7.7. พอร์ตตัวเข้ารหัส
ตารางต่อไปนี้แสดงรายการพอร์ตอินพุตและเอาต์พุตสำหรับคอร์ IP ของตัวเข้ารหัส ALTEC

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 33

7. ALTEC (รหัสแก้ไขข้อผิดพลาด: ตัวเข้ารหัส/ตัวถอดรหัส) IP Core 683490 | 2020.10.05

ตารางที่ 22. พอร์ตอินพุตตัวเข้ารหัส ALTEC

ชื่อพอร์ต

ที่จำเป็น

คำอธิบาย

ข้อมูล[]

ใช่

พอร์ตอินพุตข้อมูล ขนาดของพอร์ตอินพุตขึ้นอยู่กับ WIDTH_DATAWORD

ค่าพารามิเตอร์ พอร์ต data[] มีข้อมูลดิบที่จะเข้ารหัส

นาฬิกา

ใช่

พอร์ตอินพุตนาฬิกาที่ให้สัญญาณนาฬิกาเพื่อซิงโครไนซ์การดำเนินการเข้ารหัส

ต้องใช้พอร์ตนาฬิกาเมื่อค่า LPM_PIPELINE มากกว่า 0

นาฬิกา

เลขที่

เปิดใช้งานนาฬิกา หากละเว้น ค่าเริ่มต้นคือ 1

บัญชี

เลขที่

อินพุตที่ชัดเจนแบบอะซิงโครนัส สามารถใช้สัญญาณ aclr สูงที่ใช้งานได้ตลอดเวลาเพื่อ

ล้างการลงทะเบียนแบบอะซิงโครนัส

ตารางที่ 23. พอร์ตเอาต์พุตของตัวเข้ารหัส ALTEC

ชื่อพอร์ต q[]

ต้องใช่

คำอธิบาย
พอร์ตเอาต์พุตข้อมูลที่เข้ารหัส ขนาดของพอร์ตเอาต์พุตขึ้นอยู่กับค่าพารามิเตอร์ WIDTH_CODEWORD

7.8. พอร์ตถอดรหัส

ตารางต่อไปนี้แสดงรายการพอร์ตอินพุตและเอาต์พุตสำหรับคอร์ IP ของตัวถอดรหัส ALTEC

ตารางที่ 24. พอร์ตอินพุตตัวถอดรหัส ALTEC

ชื่อพอร์ต

ที่จำเป็น

คำอธิบาย

ข้อมูล[]

ใช่

พอร์ตอินพุตข้อมูล ขนาดของพอร์ตอินพุตขึ้นอยู่กับค่าพารามิเตอร์ WIDTH_CODEWORD

นาฬิกา

ใช่

พอร์ตอินพุตนาฬิกาที่ให้สัญญาณนาฬิกาเพื่อซิงโครไนซ์การดำเนินการเข้ารหัส ต้องใช้พอร์ตนาฬิกาเมื่อค่า LPM_PIPELINE มากกว่า 0

นาฬิกา

เลขที่

เปิดใช้งานนาฬิกา หากละเว้น ค่าเริ่มต้นคือ 1

บัญชี

เลขที่

อินพุตที่ชัดเจนแบบอะซิงโครนัส สามารถใช้สัญญาณ aclr สูงที่แอ็คทีฟได้ตลอดเวลาเพื่อล้างรีจิสเตอร์แบบอะซิงโครนัส

ตารางที่ 25. พอร์ตเอาต์พุตของตัวถอดรหัส ALTEC

ชื่อพอร์ต q[]

ต้องใช่

คำอธิบาย
พอร์ตเอาต์พุตข้อมูลที่ถอดรหัส ขนาดของพอร์ตเอาต์พุตขึ้นอยู่กับค่าพารามิเตอร์ WIDTH_DATAWORD

err_detected ใช่

สัญญาณแฟล็กเพื่อสะท้อนสถานะของข้อมูลที่ได้รับและระบุข้อผิดพลาดที่พบ

err_correcte ใช่ ง

ธงสัญญาณเพื่อแสดงสถานะของข้อมูลที่ได้รับ หมายถึงข้อผิดพลาดบิตเดียวที่พบและแก้ไข คุณสามารถใช้ข้อมูลได้เนื่องจากได้รับการแก้ไขแล้ว

ข้อผิดพลาดร้ายแรง

ใช่

ธงสัญญาณเพื่อแสดงสถานะของข้อมูลที่ได้รับ หมายถึงพบข้อผิดพลาดสองบิตแต่ไม่ได้แก้ไข คุณต้องไม่ใช้ข้อมูลหากมีการยืนยันสัญญาณนี้

ซิน_อี

เลขที่

สัญญาณเอาต์พุตที่จะสูงเมื่อใดก็ตามที่ตรวจพบข้อผิดพลาดบิตเดียวบนพาริตี

บิต

7.9. พารามิเตอร์ตัวเข้ารหัส
ตารางต่อไปนี้แสดงรายการพารามิเตอร์สำหรับคอร์ IP ของตัวเข้ารหัส ALTEC

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 34

ส่งคำติชม

7. ALTEC (รหัสแก้ไขข้อผิดพลาด: ตัวเข้ารหัส/ตัวถอดรหัส) IP Core 683490 | 2020.10.05

ตารางที่ 26. พารามิเตอร์ตัวเข้ารหัส ALTEC

ชื่อพารามิเตอร์

พิมพ์

ที่จำเป็น

คำอธิบาย

WIDTH_DATAWORD

จำนวนเต็ม ใช่

ระบุความกว้างของข้อมูลดิบ ค่าคือตั้งแต่ 2 ถึง 64 หากละเว้น ค่าเริ่มต้นคือ 8

WIDTH_CODEWORD

จำนวนเต็ม ใช่

ระบุความกว้างของรหัสคำที่เกี่ยวข้อง ค่าที่ถูกต้องคือตั้งแต่ 6 ถึง 72 ไม่รวม 9, 17, 33 และ 65 หากละเว้น ค่าเริ่มต้นคือ 13

LPM_PIPELINE

จำนวนเต็ม

ระบุไปป์ไลน์สำหรับวงจร ค่าอยู่ระหว่าง 0 ถึง 2 ถ้าค่าเป็น 0 แสดงว่าพอร์ตไม่ได้ลงทะเบียน หากค่าเป็น 1 พอร์ตเอาต์พุตจะถูกลงทะเบียน หากค่าเป็น 2 แสดงว่ามีการลงทะเบียนพอร์ตอินพุตและเอาต์พุต หากละเว้น ค่าเริ่มต้นคือ 0

7.10. ถอดรหัสพารามิเตอร์

ตารางต่อไปนี้แสดงรายการพารามิเตอร์หลัก IP ของตัวถอดรหัส ALTEC

ตารางที่ 27. พารามิเตอร์ตัวถอดรหัส ALTEC

ชื่อพารามิเตอร์ 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 Integer Arithmetic IP Cores 35

683490 | 2020.10.05 ส่งคำติชม

8. Intel FPGA ทวีคูณ Adder IP Core

รูปที่ 9.

Intel FPGA Multiply Adder (อุปกรณ์ Intel Stratix 10, Intel Arria 10 และ Intel Cyclone 10 GX) หรือ ALTERA_MULT_ADD (อุปกรณ์ Arria V, Stratix V และ Cyclone V) IP core ช่วยให้คุณติดตั้งตัวคูณเพิ่มได้

รูปต่อไปนี้แสดงพอร์ตสำหรับ Intel FPGA Multiply Adder หรือ ALTERA_MULT_ADD IP core

Intel FPGA Multiply Adder หรือพอร์ต ALTERA_MULT_ADD

Intel FPGA Multiply Adder หรือ 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 ทวีคูณ Adder IP Core 683490 | 2020.10.05
บล็อก DSP ต่างๆ จำนวนมากที่สุดเท่าที่จะเป็นไปได้ เพื่อให้การกำหนดเส้นทางไปยังบล็อกเหล่านี้มีความยืดหยุ่นมากขึ้น ตัวคูณที่น้อยลงต่อบล็อก DSP ทำให้มีตัวเลือกการกำหนดเส้นทางมากขึ้นในบล็อกโดยการลดเส้นทางไปยังส่วนที่เหลือของอุปกรณ์
รีจิสเตอร์และรีจิสเตอร์ไปป์ไลน์เพิ่มเติมสำหรับสัญญาณต่อไปนี้จะอยู่ภายในบล็อก DSP ด้วย: · การป้อนข้อมูล · ตัวเลือกที่ลงนามหรือไม่ได้ลงนาม · เพิ่มหรือลบตัวเลือก · ผลคูณของตัวคูณ
ในกรณีของผลลัพธ์เอาต์พุต รีจิสเตอร์แรกจะอยู่ในบล็อก DSP อย่างไรก็ตาม การลงทะเบียนเวลาแฝงเพิ่มเติมจะอยู่ในองค์ประกอบลอจิกนอกบล็อก อุปกรณ์ต่อพ่วงกับบล็อก DSP รวมถึงอินพุตข้อมูลไปยังตัวคูณ อินพุตสัญญาณควบคุม และเอาต์พุตของ adder ใช้การกำหนดเส้นทางปกติเพื่อสื่อสารกับส่วนที่เหลือของอุปกรณ์ การเชื่อมต่อทั้งหมดในฟังก์ชันใช้การกำหนดเส้นทางเฉพาะภายในบล็อก DSP การกำหนดเส้นทางเฉพาะนี้รวมถึง shift register chain เมื่อคุณเลือกตัวเลือกเพื่อย้ายข้อมูลอินพุตที่ลงทะเบียนของตัวคูณจากตัวคูณหนึ่งไปยังตัวคูณที่อยู่ติดกัน
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการบล็อก DSP ในซีรีส์อุปกรณ์ Stratix V และ Arria V ใดๆ โปรดดูบทบล็อก DSP ของคู่มือที่เกี่ยวข้องในหน้าวรรณกรรมและเอกสารทางเทคนิค
ข้อมูลที่เกี่ยวข้อง AN 306: การใช้ตัวคูณในอุปกรณ์ FPGA
ให้ข้อมูลเพิ่มเติมเกี่ยวกับการใช้ตัวคูณโดยใช้ DSP และบล็อกหน่วยความจำในอุปกรณ์ Intel FPGA
8.1. คุณสมบัติ
Intel FPGA Multiply Adder หรือ ALTERA_MULT_ADD IP core มีคุณสมบัติดังต่อไปนี้ · สร้างตัวคูณเพื่อดำเนินการคูณของสองคอมเพล็กซ์
ตัวเลข หมายเหตุ: เมื่อสร้างตัวคูณที่ใหญ่กว่าขนาดที่รองรับโดยกำเนิด อาจมี/
จะเป็นผลกระทบด้านประสิทธิภาพที่เกิดจากการเรียงซ้อนของบล็อก DSP · รองรับความกว้างของข้อมูล 1 256 บิต · รองรับรูปแบบการแสดงข้อมูลที่ลงนามและไม่ได้ลงนาม · รองรับการวางท่อด้วยเวลาแฝงอินพุตที่กำหนดค่าได้ · มีตัวเลือกในการสลับระหว่างการสนับสนุนข้อมูลที่ลงนามและไม่ได้ลงนามแบบไดนามิก · มีตัวเลือกในการสลับแบบไดนามิกระหว่างการดำเนินการเพิ่มและลบ · รองรับ ทางเลือกอะซิงโครนัสและซิงโครนัสชัดเจนและนาฬิกาเปิดใช้งานพอร์ตอินพุต · รองรับโหมดรีจิสเตอร์ systolic ดีเลย์ · รองรับพรีแอดเดอร์ด้วยค่าสัมประสิทธิ์พรีโหลด 8 ตัวต่อตัวคูณ · รองรับค่าคงที่พรีโหลดเพื่อเสริมความคิดเห็นสะสม

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 37

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

8.1.1. พรีแอดเดอร์
ด้วยตัวบวกล่วงหน้า การบวกหรือการลบจะทำได้ก่อนที่จะป้อนตัวคูณ
มีโหมดตัวบวกล่วงหน้าห้าโหมด: · โหมดอย่างง่าย · โหมดค่าสัมประสิทธิ์ · โหมดป้อนเข้า · โหมดสี่เหลี่ยมจัตุรัส · โหมดค่าคงที่

บันทึก:

เมื่อใช้พรีแอดเดอร์ (ค่าสัมประสิทธิ์พรีแอดเดอร์/อินพุต/โหมดสแควร์) ข้อมูลอินพุตทั้งหมดไปยังตัวคูณจะต้องมีการตั้งค่านาฬิกาเดียวกัน

8.1.1.1. Pre-adder โหมดง่าย

ในโหมดนี้ ตัวถูกดำเนินการทั้งสองจะมาจากพอร์ตอินพุตและตัวบวกล่วงหน้าจะไม่ถูกใช้งานหรือถูกข้าม นี่คือโหมดเริ่มต้น

รูปที่ 10 โหมดอย่างง่ายของ Pre-adder
เอ0บี0

หลาย0

ผลลัพธ์

8.1.1.2. โหมดค่าสัมประสิทธิ์พรีแอดเดอร์
ในโหมดนี้ ตัวดำเนินการตัวคูณหนึ่งตัวได้มาจากส่วนบวกล่วงหน้า และตัวถูกดำเนินการอีกตัวมาจากหน่วยเก็บค่าสัมประสิทธิ์ภายใน การจัดเก็บค่าสัมประสิทธิ์ช่วยให้สามารถตั้งค่าคงที่ล่วงหน้าได้สูงสุด 8 ค่า สัญญาณการเลือกสัมประสิทธิ์คือ coefsel[0..3]
โหมดนี้แสดงในสมการต่อไปนี้

ต่อไปนี้แสดงโหมดค่าสัมประสิทธิ์บวกล่วงหน้าของตัวคูณ

รูปที่ 11 โหมดค่าสัมประสิทธิ์พรีแอดเดอร์

พรีเดอร์

a0

หลาย0

-

ผลลัพธ์

b0

coefsel0 coef

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 38

ส่งคำติชม

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05
8.1.1.3. โหมดอินพุทของ Pre-adder ในโหมดนี้ ตัวดำเนินการตัวคูณหนึ่งตัวได้มาจากตัวถูกบวกล่วงหน้า และตัวถูกดำเนินการอีกตัวหนึ่งมาจากพอร์ตอินพุต datac[] โหมดนี้แสดงในสมการต่อไปนี้

ต่อไปนี้แสดงโหมดอินพุตล่วงหน้าของตัวคูณ

รูปที่ 12 โหมดอินพุตล่วงหน้า
เอ0บี0

หลาย0

-

ผลลัพธ์

c0

8.1.1.4. Pre-adder Square Mode โหมดนี้แสดงในสมการต่อไปนี้

ต่อไปนี้แสดงโหมดสแควร์แอดเดอร์ล่วงหน้าของตัวคูณสองตัว

รูปที่ 13 โหมด Pre-adder Square
เอ0บี0

หลาย0

-

ผลลัพธ์

8.1.1.5. Pre-adder โหมดคงที่
ในโหมดนี้ ตัวดำเนินการตัวคูณหนึ่งตัวได้มาจากพอร์ตอินพุต และตัวถูกดำเนินการอีกตัวหนึ่งได้มาจากหน่วยเก็บค่าสัมประสิทธิ์ภายใน การจัดเก็บค่าสัมประสิทธิ์ช่วยให้สามารถตั้งค่าคงที่ล่วงหน้าได้สูงสุด 8 ค่า สัญญาณการเลือกสัมประสิทธิ์คือ coefsel[0..3]
โหมดนี้แสดงในสมการต่อไปนี้

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 39

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

รูปต่อไปนี้แสดงโหมดค่าคงที่ล่วงหน้าของตัวคูณ

รูปที่ 14 โหมดค่าคงที่ของพรีแอดเดอร์
a0

หลาย0

ผลลัพธ์

ค่า coefsel0
โคฟ
8.1.2. Systolic ดีเลย์ลงทะเบียน
ในสถาปัตยกรรม systolic ข้อมูลอินพุตจะถูกป้อนเข้าในลำดับของรีจิสเตอร์ที่ทำหน้าที่เป็นบัฟเฟอร์ข้อมูล แต่ละรีจิสเตอร์จะส่งข้อมูลเข้าample ถึงตัวคูณซึ่งคูณด้วยค่าสัมประสิทธิ์ที่เกี่ยวข้อง ตัวเพิ่มลูกโซ่เก็บผลลัพธ์ที่รวมกันทีละน้อยจากตัวคูณและผลลัพธ์ที่ลงทะเบียนไว้ก่อนหน้านี้จากพอร์ตอินพุต chainin[] เพื่อสร้างผลลัพธ์สุดท้าย แต่ละองค์ประกอบที่เพิ่มทวีคูณต้องเลื่อนออกไปหนึ่งรอบเพื่อให้ผลลัพธ์ประสานกันอย่างเหมาะสมเมื่อรวมเข้าด้วยกัน การหน่วงเวลาแบบต่อเนื่องแต่ละครั้งจะใช้เพื่อระบุทั้งหน่วยความจำสัมประสิทธิ์และบัฟเฟอร์ข้อมูลขององค์ประกอบที่เพิ่มทวีคูณตามลำดับ สำหรับอดีตample, การหน่วงเวลาเดียวสำหรับองค์ประกอบการบวกแบบทวีคูณครั้งที่สอง, การหน่วงเวลาสองครั้งสำหรับองค์ประกอบการคูณการบวกที่สาม และอื่นๆ
รูปที่ 15. Systolic Registers
Systolic ลงทะเบียน

x(เสื้อ) ค(0)

เอส-1

เอส-1

ค(1)

เอส-1

เอส-1

ค(2)

เอส-1

เอส-1

ค(N-1)

เอส-1

เอส-1

เอส-1

S -1 ปี(เสื้อ)

x(t) แสดงถึงผลลัพธ์จากกระแสอินพุตที่ต่อเนื่องกันampเลส และ y(t)
เป็นผลรวมของชุดอินพุต sampเลส และในเวลา คูณด้วยของพวกเขา
ค่าสัมประสิทธิ์ตามลำดับ ผลลัพธ์ทั้งอินพุตและเอาต์พุตไหลจากซ้ายไปขวา c(0) ถึง c(N-1) หมายถึงค่าสัมประสิทธิ์ รีจิสเตอร์ซิสโตลิกดีเลย์แสดงด้วย S-1 ในขณะที่ 1 แทนค่าดีเลย์สัญญาณนาฬิกาเดียว มีการเพิ่มการลงทะเบียน Systolic delay ที่
อินพุตและเอาต์พุตสำหรับการวางท่อในลักษณะที่รับประกันผลลัพธ์จาก
ตัวดำเนินการตัวคูณและผลรวมที่สะสมอยู่ในซิงค์ องค์ประกอบการประมวลผลนี้
ถูกทำซ้ำเพื่อสร้างวงจรที่คำนวณฟังก์ชันการกรอง ฟังก์ชั่นนี้คือ
แสดงในสมการต่อไปนี้

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 40

ส่งคำติชม

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

N แทนจำนวนรอบของข้อมูลที่ป้อนเข้าไปในตัวสะสม y(t) แทนเอาต์พุตที่เวลา t, A(t) แทนอินพุตที่เวลา t และ B(i) คือค่าสัมประสิทธิ์ t และ i ในสมการสอดคล้องกับช่วงเวลาใดเวลาหนึ่ง ดังนั้นในการคำนวณผลลัพธ์ sample y(t) ที่เวลา t กลุ่มอินพุต sampที่ N จุดในเวลาที่แตกต่างกัน หรือ A(n), A(n-1), A(n-2), … จำเป็นต้องมี A(n-N+1) กลุ่มของ N อินพุต samples คูณด้วยค่าสัมประสิทธิ์ N และรวมเข้าด้วยกันเพื่อสร้างผลลัพธ์สุดท้าย y
สถาปัตยกรรม systolic register ใช้ได้สำหรับโหมดผลรวมของ 2 และผลรวมของ 4 เท่านั้น สำหรับโหมดสถาปัตยกรรมรีจิสเตอร์ systolic ทั้งสอง สัญญาณ chainin แรกจะต้องเชื่อมโยงกับ 0
รูปต่อไปนี้แสดงการใช้งานรีจิสเตอร์ systolic delay ของตัวคูณ 2 ตัว
รูปที่ 16. การดำเนินการ Systolic Delay Register ของตัวคูณ 2 ตัว
ห่วงโซ่

a0

หลาย0

-

b0

a1

หลาย1

-

b1

ผลลัพธ์
ผลรวมของตัวคูณสองตัวแสดงในสมการต่อไปนี้
รูปต่อไปนี้แสดงการใช้งานรีจิสเตอร์ systolic delay ของตัวคูณ 4 ตัว

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 41

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

รูปที่ 17. การดำเนินการ Systolic Delay Register ของตัวคูณ 4 ตัว
ห่วงโซ่

a0

หลาย0

-

b0

a1

หลาย1

-

b1

a2

หลาย2

-

b2

a3

หลาย3

-

b3

ผลลัพธ์
ผลรวมของตัวคูณสี่แสดงในสมการต่อไปนี้ รูปที่ 18 ผลรวมของตัวคูณ 4 ตัว
ต่อไปนี้เป็นรายการ advantages ของการใช้งาน systolic register: · ลดการใช้ทรัพยากร DSP · เปิดใช้งานการแมปอย่างมีประสิทธิภาพในบล็อก DSP โดยใช้โครงสร้างตัวเพิ่มลูกโซ่

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 42

ส่งคำติชม

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

8.1.3. ค่าคงที่โหลดล่วงหน้า
ค่าคงที่พรีโหลดจะควบคุมตัวดำเนินการสะสมและเสริมการตอบสนองของตัวสะสม ช่วง LOADCONST_VALUE ที่ถูกต้องมีค่าตั้งแต่ 0 ค่าคงที่เท่ากับ 64N โดยที่ N = LOADCONST_VALUE เมื่อ LOADCONST_VALUE ตั้งค่าเป็น 2 ค่าคงที่จะเท่ากับ 64 ฟังก์ชันนี้สามารถใช้เป็นการปัดเศษแบบเอนเอียงได้
รูปต่อไปนี้แสดงการใช้งานค่าคงที่ก่อนโหลด
รูปที่ 19 ค่าคงที่พรีโหลด

ความคิดเห็นสะสม

คงที่

a0

หลาย0

-

b0

a1

หลาย1

+/b1

ผลลัพธ์

accum_sload sload_accum

อ้างถึงคอร์ IP ต่อไปนี้สำหรับการใช้งานตัวคูณอื่นๆ: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. ดับเบิ้ลแอคคิวมูเลเตอร์
คุณสมบัติตัวสะสมคู่จะเพิ่มรีจิสเตอร์เพิ่มเติมในเส้นทางข้อเสนอแนะตัวสะสม รีจิสเตอร์สะสมคู่ตามหลังรีจิสเตอร์เอาต์พุต ซึ่งรวมถึงนาฬิกา การเปิดใช้งานนาฬิกา และ aclr รีจิสเตอร์สะสมเพิ่มเติมส่งคืนผลลัพธ์ด้วยการหน่วงเวลาหนึ่งรอบ คุณสมบัตินี้ช่วยให้คุณมีช่องทางสะสมสองช่องทางที่มีจำนวนทรัพยากรเท่ากัน
รูปต่อไปนี้แสดงการใช้งานตัวสะสมสองเท่า

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 43

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

รูปที่ 20. Double Accumulator

ดับเบิล แอคคู มูเลเตอร์ รีจิสเตอร์

ฟีดบา ck ของ Accu มูเลเตอร์

a0

หลาย0

-

b0

a1

หลาย1

+/b1

ผลลัพธ์เอาต์พุต ลงทะเบียนเอาต์พุต

8.2. ต้นแบบ Verilog HDL
คุณสามารถค้นหา Intel FPGA Multiply Adder หรือ ALTERA_MULT_ADD Verilog HDL ต้นแบบ file (altera_mult_add_rtl.v) ใน ไดเร็กทอรีไลบรารี่ megafunctions
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. สัญญาณ

ตารางต่อไปนี้แสดงรายการสัญญาณอินพุตและเอาต์พุตของคอร์ Multiply Adder Intel FPGA IPหรือ 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 Integer Arithmetic IP Cores 44

ส่งคำติชม

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

สัญญาณ datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] นาฬิกา[1:0] aclr[1:0] sclr[1:0] ena [1:0] สัญญาณ
เครื่องหมาย ข
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 สำหรับเลือกพารามิเตอร์โหมดพรีแอดเดอร์เพื่อเปิดใช้งานสัญญาณเหล่านี้ แบบจำลองสำหรับ IP นี้รองรับค่าอินพุตที่ไม่ได้กำหนด (X) ให้กับสัญญาณเหล่านี้ เมื่อคุณระบุค่า X ให้กับสัญญาณเหล่านี้ ค่า X จะถูกเผยแพร่บนสัญญาณเอาต์พุต
พอร์ตอินพุตนาฬิกาไปยังรีจิสเตอร์ที่เกี่ยวข้อง สัญญาณนี้สามารถใช้ได้โดยการลงทะเบียนใด ๆ ในแกน IP แบบจำลองสำหรับ IP นี้รองรับค่าอินพุตที่ไม่ได้กำหนด (X) ให้กับสัญญาณเหล่านี้ เมื่อคุณระบุค่า X ให้กับสัญญาณเหล่านี้ ค่า X จะถูกเผยแพร่บนสัญญาณเอาต์พุต
อินพุตที่ชัดเจนแบบอะซิงโครนัสไปยังรีจิสเตอร์ที่เกี่ยวข้อง แบบจำลองสำหรับ IP นี้รองรับค่าอินพุตที่ไม่ได้กำหนด (X) ให้กับสัญญาณเหล่านี้ เมื่อคุณระบุค่า X ให้กับสัญญาณเหล่านี้ ค่า X จะถูกเผยแพร่บนสัญญาณเอาต์พุต
อินพุตที่ชัดเจนแบบซิงโครนัสไปยังรีจิสเตอร์ที่เกี่ยวข้อง แบบจำลองสำหรับ IP นี้รองรับค่าอินพุต X ที่ไม่ได้กำหนดให้กับสัญญาณเหล่านี้ เมื่อคุณระบุค่า X ให้กับสัญญาณเหล่านี้ ค่า X จะถูกเผยแพร่บนสัญญาณเอาต์พุต
เปิดใช้งานอินพุตสัญญาณไปยังรีจิสเตอร์ที่เกี่ยวข้อง แบบจำลองสำหรับ IP นี้รองรับค่าอินพุตที่ไม่ได้กำหนด (X) ให้กับสัญญาณเหล่านี้ เมื่อคุณระบุค่า X ให้กับสัญญาณเหล่านี้ ค่า X จะถูกเผยแพร่บนสัญญาณเอาต์พุต
ระบุการแสดงตัวเลขของอินพุตตัวคูณ A หากสัญญาณ signa สูง ตัวคูณจะถือว่าสัญญาณอินพุตตัวคูณ A เป็นตัวเลขที่มีเครื่องหมาย หากสัญญาณ signa ต่ำ ตัวคูณจะถือว่าสัญญาณอินพุตตัวคูณ 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 Integer Arithmetic IP Cores 45

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

สัญญาณ sload_accum
เชนอิน[] addnsub1
เพิ่มซับ3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]

หมายเลขที่จำเป็น
ไม่ ไม่
เลขที่
ไม่ไม่ไม่ไม่

คำอธิบาย
แบบจำลองสำหรับ 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. ทวีคูณสัญญาณเอาต์พุต IP ของ Intel FPGA Adder

สัญญาณ

ที่จำเป็น

คำอธิบาย

ผลลัพธ์ []

ใช่

สัญญาณเอาต์พุตตัวคูณ สัญญาณเอาต์พุตกว้าง [WIDTH_RESULT – 1 … 0]

แบบจำลองสำหรับ IP นี้รองรับค่าเอาต์พุตที่ไม่ได้กำหนด (X) เมื่อคุณระบุค่า X เป็นอินพุต ค่า X จะถูกเผยแพร่บนสัญญาณนี้

การสแกน []

เลขที่

เอาท์พุตของเชนสแกน A. สัญญาณเอาท์พุตกว้าง [WIDTH_A – 1..0]

เลือกมากกว่า 2 สำหรับจำนวนตัวคูณ และเลือก Scan chain input สำหรับอินพุต A ของตัวคูณที่เชื่อมต่อกับพารามิเตอร์คืออะไร เพื่อเปิดใช้งานสัญญาณนี้

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 46

ส่งคำติชม

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

8.6 พารามิเตอร์

8.6.1. แท็บทั่วไป

ตารางที่ 30. แท็บทั่วไป

พารามิเตอร์

พารามิเตอร์ที่สร้าง IP

ค่า

จำนวนตัวคูณคืออะไร?

number_of_m 1 – 4 ตัวคูณ

บัสอินพุต A width_a ควรกว้างเท่าใด

1 – 256

บัสอินพุต B width_b ควรกว้างเท่าใด

1 – 256

เอาต์พุตบัส 'ผลลัพธ์' ควรกว้างเท่าใด

width_result

1 – 256

สร้างการเปิดใช้งานนาฬิกาที่เกี่ยวข้องสำหรับแต่ละนาฬิกา

gui_associate เปิด d_clock_enabl ปิด e

8.6.2. แท็บโหมดพิเศษ

ตารางที่ 31. แท็บโหมดพิเศษ

พารามิเตอร์

พารามิเตอร์ที่สร้าง IP

ค่า

การกำหนดค่าเอาต์พุต

รีจิสเตอร์เอาต์พุตของหน่วยแอดเดอร์

gui_output_re เปิด

ลงทะเบียน

ปิด

แหล่งอินพุตนาฬิกาคืออะไร

gui_output_re gister_clock

นาฬิกา0 นาฬิกา1 นาฬิกา2

แหล่งที่มาของอินพุตที่ชัดเจนแบบอะซิงโครนัสคืออะไร

gui_output_re gister_aclr

ไม่มี ACLR0 ACLR1

แหล่งที่มาของอินพุตที่ชัดเจนแบบซิงโครนัสคืออะไร

gui_output_re gister_sclr

ไม่มี SCLR0 SCLR1

การทำงานของแอดเดอร์

ควรดำเนินการอย่างไรกับผลลัพธ์ของตัวคูณคู่แรก

gui_multiplier 1_ทิศทาง

เพิ่ม ย่อย ตัวแปร

ค่าเริ่มต้น 1
16

คำอธิบาย
จำนวนตัวคูณที่จะบวกกัน ค่าคือ 1 ถึง 4 ระบุความกว้างของพอร์ต dataa[]

16

ระบุความกว้างของพอร์ต datab[]

32

ระบุความกว้างของพอร์ตผลลัพธ์ []

ปิด

เลือกตัวเลือกนี้เพื่อสร้างการเปิดใช้งานนาฬิกา

สำหรับนาฬิกาแต่ละเรือน

ค่าเริ่มต้น

คำอธิบาย

ปิดนาฬิกา0
ไม่มีเลย

เลือกตัวเลือกนี้เพื่อเปิดใช้งานรีจิสเตอร์เอาต์พุตของโมดูล adder
เลือก Clock0 , Clock1 หรือ Clock2 เพื่อเปิดใช้งานและระบุแหล่งสัญญาณนาฬิกาสำหรับเอาต์พุตรีจิสเตอร์ คุณต้องเลือกลงทะเบียนเอาต์พุตของหน่วย adder เพื่อเปิดใช้งานพารามิเตอร์นี้
ระบุซอร์สที่ชัดเจนแบบอะซิงโครนัสสำหรับรีจิสเตอร์เอาต์พุต adder คุณต้องเลือกลงทะเบียนเอาต์พุตของหน่วย adder เพื่อเปิดใช้งานพารามิเตอร์นี้
ระบุแหล่งที่ชัดเจนแบบซิงโครนัสสำหรับการลงทะเบียนเอาต์พุต adder คุณต้องเลือกลงทะเบียนเอาต์พุตของหน่วย adder เพื่อเปิดใช้งานพารามิเตอร์นี้

เพิ่ม

เลือกการบวกหรือการลบเพื่อดำเนินการสำหรับผลลัพธ์ระหว่างตัวคูณที่หนึ่งและสอง
· เลือก ADD เพื่อดำเนินการเพิ่มเติม
· เลือก SUB เพื่อดำเนินการลบ
· เลือก VARIABLE เพื่อใช้พอร์ต addnsub1 สำหรับการควบคุมการบวก/ลบแบบไดนามิก
ต่อเนื่อง…

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 47

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

พารามิเตอร์

พารามิเตอร์ที่สร้าง IP

ค่า

ลงทะเบียนอินพุต 'addnsub1'

gui_addnsub_ เปิด multiplier_reg ปิด ister1

แหล่งอินพุตนาฬิกาคืออะไร

gui_addnsub_ ตัวคูณ_reg ister1_clock

นาฬิกา0 นาฬิกา1 นาฬิกา2

แหล่งที่มาของอินพุตที่ชัดเจนแบบอะซิงโครนัสคืออะไร

gui_addnsub_ตัวคูณ_aclr1

ไม่มี ACLR0 ACLR1

แหล่งที่มาของอินพุตที่ชัดเจนแบบซิงโครนัสคืออะไร

gui_addnsub_ตัวคูณ_sclr1

ไม่มี SCLR0 SCLR1

ควรดำเนินการใดกับเอาต์พุตของตัวคูณที่สอง

gui_multiplier 3_ทิศทาง

เพิ่ม ย่อย ตัวแปร

ลงทะเบียนอินพุต 'addnsub3'

gui_addnsub_ เปิด multiplier_reg ปิด ister3

แหล่งอินพุตนาฬิกาคืออะไร

gui_addnsub_ ตัวคูณ_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 Integer Arithmetic IP Cores 48

ส่งคำติชม

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

พารามิเตอร์
แหล่งที่มาของอินพุตที่ชัดเจนแบบอะซิงโครนัสคืออะไร

พารามิเตอร์ที่สร้าง IP

ค่า

gui_addnsub_ตัวคูณ_aclr3

ไม่มี ACLR0 ACLR1

แหล่งที่มาของอินพุตที่ชัดเจนแบบซิงโครนัสคืออะไร

gui_addnsub_ตัวคูณ_sclr3

ไม่มี 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

ไม่มี ACLR0 ACLR1

แหล่งที่มาของอินพุตที่ชัดเจนแบบซิงโครนัสคืออะไร

gui_register_s igna_sclr

ไม่มี SCLR0 SCLR1

อะไรคือ

gui_represent

รูปแบบการเป็นตัวแทน ation_b

สำหรับอินพุตตัวคูณ B?

ลงนาม ไม่ลงนาม ตัวแปร

ลงทะเบียนอินพุต `signb'

gui_register_s เปิด

จุดระเบิด

ปิด

ค่าเริ่มต้น ไม่มี
ไม่มี

คำอธิบาย
ระบุแหล่งที่มาที่ชัดเจนแบบอะซิงโครนัสสำหรับการลงทะเบียน addnsub3 คุณต้องเลือกลงทะเบียนอินพุต 'addnsub3' เพื่อเปิดใช้งานพารามิเตอร์นี้
ระบุแหล่งที่มาที่ชัดเจนแบบซิงโครนัสสำหรับการลงทะเบียน addnsub3 คุณต้องเลือกลงทะเบียนอินพุต 'addnsub3' เพื่อเปิดใช้งานพารามิเตอร์นี้

ปิด

เลือกตัวเลือกนี้เพื่อย้อนกลับฟังก์ชัน

ของพอร์ตอินพุต addnsub

ขับ addnsub ไปที่ high เพื่อการดำเนินการลบ

ขับ addnsub ไปที่ระดับต่ำสำหรับการดำเนินการเพิ่มเติม

ค่าเริ่มต้น

คำอธิบาย

ไม่ได้ลงนาม ระบุรูปแบบการแสดงสำหรับอินพุตตัวคูณ A

ปิด

เลือกตัวเลือกนี้เพื่อเปิดใช้งาน signa

ลงทะเบียน.

คุณต้องเลือกค่า VARIABLE สำหรับรูปแบบการนำเสนอสำหรับอินพุตตัวคูณ A คืออะไร พารามิเตอร์เพื่อเปิดใช้งานตัวเลือกนี้

นาฬิกา0

เลือก Clock0 , Clock1 หรือ Clock2 เพื่อเปิดใช้งานและระบุสัญญาณนาฬิกาอินพุตสำหรับการลงทะเบียน signa
คุณต้องเลือกลงทะเบียนอินพุต `signa' เพื่อเปิดใช้งานพารามิเตอร์นี้

ไม่มี

ระบุแหล่งที่มาที่ชัดเจนแบบอะซิงโครนัสสำหรับการลงทะเบียน signa
คุณต้องเลือกลงทะเบียนอินพุต `signa' เพื่อเปิดใช้งานพารามิเตอร์นี้

ไม่มี

ระบุแหล่งที่มาที่ชัดเจนแบบซิงโครนัสสำหรับการลงทะเบียน signa
คุณต้องเลือกลงทะเบียนอินพุต `signa' เพื่อเปิดใช้งานพารามิเตอร์นี้

ไม่ได้ลงนาม ระบุรูปแบบการแสดงสำหรับอินพุตตัวคูณ B

ปิด

เลือกตัวเลือกนี้เพื่อเปิดใช้งาน signb

ลงทะเบียน.

ต่อเนื่อง…

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 49

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

พารามิเตอร์

พารามิเตอร์ที่สร้าง IP

ค่า

ค่าเริ่มต้น

แหล่งอินพุตนาฬิกาคืออะไร

gui_register_s ignb_clock

นาฬิกา0 นาฬิกา1 นาฬิกา2

นาฬิกา0

แหล่งที่มาของอินพุตที่ชัดเจนแบบอะซิงโครนัสคืออะไร

gui_register_s ignb_aclr

ไม่มี ACLR0 ACLR1

แหล่งที่มาของอินพุตที่ชัดเจนแบบซิงโครนัสคืออะไร

gui_register_s ignb_sclr

ไม่มี SCLR0 SCLR1

การกำหนดค่าอินพุต
ลงทะเบียนอินพุต A ของตัวคูณ
แหล่งอินพุตนาฬิกาคืออะไร

gui_input_reg เปิด

อิสเตอร์_เอ

ปิด

gui_input_reg ister_a_clock

นาฬิกา0 นาฬิกา1 นาฬิกา2

ไม่มีเลย
ปิดนาฬิกา0

แหล่งที่มาของอินพุตที่ชัดเจนแบบอะซิงโครนัสคืออะไร

gui_input_reg ister_a_aclr

ไม่มี ACLR0 ACLR1

แหล่งที่มาของอินพุตที่ชัดเจนแบบซิงโครนัสคืออะไร

gui_input_reg ister_a_sclr

ไม่มี SCLR0 SCLR1

ลงทะเบียนอินพุต B ของตัวคูณ
แหล่งอินพุตนาฬิกาคืออะไร

gui_input_reg เปิด

ister_b

ปิด

gui_input_reg ister_b_clock

นาฬิกา0 นาฬิกา1 นาฬิกา2

ไม่มี ไม่มี ปิดนาฬิกา0

แหล่งที่มาของอินพุตที่ชัดเจนแบบอะซิงโครนัสคืออะไร

gui_input_reg ister_b_aclr

ไม่มี ACLR0 ACLR1

ไม่มี

แหล่งที่มาของอินพุตที่ชัดเจนแบบซิงโครนัสคืออะไร

gui_input_reg ister_b_sclr

ไม่มี SCLR0 SCLR1

ไม่มี

อินพุต A ของตัวคูณเชื่อมต่อกับอะไร

gui_multiplier ตัวคูณอินพุต ตัวคูณ

_a_อินพุต

สแกนอินพุตเชน

คำอธิบาย
คุณต้องเลือกค่า VARIABLE สำหรับรูปแบบการนำเสนอสำหรับอินพุตตัวคูณ B คืออะไร พารามิเตอร์เพื่อเปิดใช้งานตัวเลือกนี้
เลือก Clock0 , Clock1 หรือ Clock2 เพื่อเปิดใช้งานและระบุสัญญาณนาฬิกาอินพุตสำหรับการลงทะเบียน signb คุณต้องเลือกลงทะเบียนอินพุต `signb' เพื่อเปิดใช้งานพารามิเตอร์นี้
ระบุแหล่งที่มาที่ชัดเจนแบบอะซิงโครนัสสำหรับการลงทะเบียน signb คุณต้องเลือกลงทะเบียนอินพุต `signb' เพื่อเปิดใช้งานพารามิเตอร์นี้
ระบุแหล่งที่มาที่ชัดเจนแบบซิงโครนัสสำหรับการลงทะเบียน signb คุณต้องเลือกลงทะเบียนอินพุต `signb' เพื่อเปิดใช้งานพารามิเตอร์นี้
เลือกตัวเลือกนี้เพื่อเปิดใช้งานการลงทะเบียนอินพุตสำหรับ dataa อินพุตบัส
เลือก Clock0 , Clock1 หรือ Clock2 เพื่อเปิดใช้งานและระบุสัญญาณนาฬิกาอินพุตรีจิสเตอร์สำหรับบัสอินพุต dataa คุณต้องเลือกลงทะเบียนอินพุต A ของตัวคูณเพื่อเปิดใช้งานพารามิเตอร์นี้
ระบุรีจิสเตอร์เคลียร์ซอร์สแบบอะซิงโครนัสสำหรับบัสอินพุต dataa คุณต้องเลือกลงทะเบียนอินพุต A ของตัวคูณเพื่อเปิดใช้งานพารามิเตอร์นี้
ระบุรีจิสเตอร์ซิงโครนัสเคลียร์ซอร์สสำหรับ dataa อินพุตบัส คุณต้องเลือกลงทะเบียนอินพุต A ของตัวคูณเพื่อเปิดใช้งานพารามิเตอร์นี้
เลือกตัวเลือกนี้เพื่อเปิดใช้งานการลงทะเบียนอินพุตสำหรับบัสอินพุต datab
เลือก Clock0 , Clock1 หรือ Clock2 เพื่อเปิดใช้งานและระบุสัญญาณนาฬิกาอินพุตรีจิสเตอร์สำหรับบัสอินพุต datab คุณต้องเลือกลงทะเบียนอินพุต B ของตัวคูณเพื่อเปิดใช้งานพารามิเตอร์นี้
ระบุรีจิสเตอร์เคลียร์ซอร์สแบบอะซิงโครนัสสำหรับบัสอินพุต datab คุณต้องเลือกลงทะเบียนอินพุต B ของตัวคูณเพื่อเปิดใช้งานพารามิเตอร์นี้
ระบุรีจิสเตอร์ซิงโครนัสเคลียร์ซอร์สสำหรับบัสอินพุต datab คุณต้องเลือกลงทะเบียนอินพุต B ของตัวคูณเพื่อเปิดใช้งานพารามิเตอร์นี้
เลือกแหล่งอินพุตสำหรับอินพุต A ของตัวคูณ
ต่อเนื่อง…

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 50

ส่งคำติชม

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

พารามิเตอร์

พารามิเตอร์ที่สร้าง IP

ค่า

สแกนการกำหนดค่าการลงทะเบียน

ลงทะเบียนผลลัพธ์ของห่วงโซ่การสแกน

gui_scanouta เปิด

_ลงทะเบียน

ปิด

แหล่งอินพุตนาฬิกาคืออะไร

gui_scanouta _register_cloc k

นาฬิกา0 นาฬิกา1 นาฬิกา2

แหล่งที่มาของอินพุตที่ชัดเจนแบบอะซิงโครนัสคืออะไร

gui_scanouta _register_aclr

ไม่มี ACLR0 ACLR1

แหล่งที่มาของอินพุตที่ชัดเจนแบบซิงโครนัสคืออะไร

gui_scanouta _register_sclr

ไม่มี SCLR0 SCLR1

8.6.4. แท็บ Preadder

ตารางที่ 33. แถบตัวเตรียมล่วงหน้า

พารามิเตอร์

พารามิเตอร์ที่สร้าง IP

ค่า

เลือกโหมดพรีแอดเดอร์

preadder_mo เด

ง่าย, COEF, อินพุต, สแควร์, ค่าคงที่

ค่าเริ่มต้น

คำอธิบาย
เลือกอินพุตตัวคูณเพื่อใช้บัสอินพุต dataa เป็นแหล่งที่มาของตัวคูณ เลือก Scan chain input เพื่อใช้ scanin input bus เป็นแหล่งที่มาของตัวคูณและเปิดใช้งาน scanout output bus พารามิเตอร์นี้ใช้ได้เมื่อคุณเลือก 2, 3 หรือ 4 สำหรับจำนวนตัวคูณคืออะไร พารามิเตอร์.

ปิด นาฬิกา0 ไม่มี ไม่มี

เลือกตัวเลือกนี้เพื่อเปิดใช้งานการลงทะเบียนเอาต์พุตสำหรับบัสเอาต์พุต scanouta
คุณต้องเลือก Scan chain input สำหรับอินพุต A ของตัวคูณที่เชื่อมต่อคืออะไร พารามิเตอร์เพื่อเปิดใช้งานตัวเลือกนี้
เลือก Clock0 , Clock1 หรือ Clock2 เพื่อเปิดใช้งานและระบุสัญญาณนาฬิกาอินพุตรีจิสเตอร์สำหรับบัสเอาต์พุต scanouta
คุณต้องเปิด Register output ของพารามิเตอร์ scan chain เพื่อเปิดใช้งานตัวเลือกนี้
ระบุรีจิสเตอร์เคลียร์ซอร์สแบบอะซิงโครนัสสำหรับบัสเอาต์พุต scanouta
คุณต้องเปิด Register output ของพารามิเตอร์ scan chain เพื่อเปิดใช้งานตัวเลือกนี้
ระบุรีจิสเตอร์ซิงโครนัสเคลียร์ซอร์สสำหรับบัสเอาต์พุต scanouta
คุณต้องเลือกลงทะเบียนเอาต์พุตของพารามิเตอร์ scan chain เพื่อเปิดใช้งานตัวเลือกนี้

ค่าเริ่มต้น
เรียบง่าย

คำอธิบาย
ระบุโหมดการทำงานสำหรับโมดูลพรีแอดเดอร์ ง่าย: โหมดนี้ข้ามตัวเตรียมล่วงหน้า นี่คือโหมดเริ่มต้น COEF: โหมดนี้ใช้เอาต์พุตของพรีแอดเดอร์และบัสอินพุต coefsel เป็นอินพุตไปยังตัวคูณ อินพุต: โหมดนี้ใช้เอาต์พุตของพรีแอดเดอร์และบัสอินพุต datac เป็นอินพุตไปยังตัวคูณ SQUARE: โหมดนี้ใช้เอาต์พุตของพรีแอดเดอร์เป็นทั้งอินพุตไปยังตัวคูณ
ต่อเนื่อง…

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 51

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

พารามิเตอร์

พารามิเตอร์ที่สร้าง IP

ค่า

เลือกทิศทางของพรีแอดเดอร์

gui_preadder เพิ่ม

_ทิศทาง

ซับ

บัสอินพุต C width_c ควรกว้างเท่าใด

1 – 256

การกำหนดค่าการลงทะเบียนอินพุตข้อมูล C

ลงทะเบียนอินพุต datac

gui_datac_inp เปิด

ut_register

ปิด

แหล่งอินพุตนาฬิกาคืออะไร

gui_datac_inp ut_register_cl ล็อก

นาฬิกา0 นาฬิกา1 นาฬิกา2

แหล่งที่มาของอินพุตที่ชัดเจนแบบอะซิงโครนัสคืออะไร

gui_datac_inp ut_register_a clr

ไม่มี ACLR0 ACLR1

แหล่งที่มาของอินพุตที่ชัดเจนแบบซิงโครนัสคืออะไร

gui_datac_inp ut_register_sc lr

ไม่มี SCLR0 SCLR1

ค่าสัมประสิทธิ์
ความกว้าง coef ควรกว้างแค่ไหน?

width_coef

1 – 27

การกำหนดค่าการลงทะเบียน Coef

ลงทะเบียนอินพุต coefsel

gui_coef_regi เปิด

สเตอร์

ปิด

แหล่งอินพุตนาฬิกาคืออะไร

gui_coef_regi ster_clock

นาฬิกา0 นาฬิกา1 นาฬิกา2

ค่าเริ่มต้น
เพิ่ม
16

คำอธิบาย
คงที่: โหมดนี้ใช้บัสอินพุต dataa ที่มีพรีแอดเดอร์บายพาสและบัสอินพุต coefsel เป็นอินพุตไปยังตัวคูณ
ระบุการทำงานของพรีแอดเดอร์ ในการเปิดใช้งานพารามิเตอร์นี้ ให้เลือกตัวเลือกต่อไปนี้สำหรับโหมด Select preadder: · COEF · INPUT · SQUARE หรือ · CONSTANT
ระบุจำนวนบิตสำหรับ C อินพุตบัส คุณต้องเลือก INPUT สำหรับ Select preadder mode เพื่อเปิดใช้งานพารามิเตอร์นี้

บนนาฬิกา0 ไม่มี ไม่มี

เลือกตัวเลือกนี้เพื่อเปิดใช้งานการลงทะเบียนอินพุตสำหรับบัสอินพุต datac คุณต้องตั้งค่า INPUT เป็น Select พารามิเตอร์โหมด preadder เพื่อเปิดใช้งานตัวเลือกนี้
เลือก Clock0 , Clock1 หรือ Clock2 เพื่อระบุสัญญาณนาฬิกาอินพุตสำหรับการลงทะเบียนอินพุต datac คุณต้องเลือกลงทะเบียนอินพุต datac เพื่อเปิดใช้งานพารามิเตอร์นี้
ระบุแหล่งที่มาที่ชัดเจนแบบอะซิงโครนัสสำหรับการลงทะเบียนอินพุต datac คุณต้องเลือกลงทะเบียนอินพุต datac เพื่อเปิดใช้งานพารามิเตอร์นี้
ระบุแหล่งที่มาที่ชัดเจนแบบซิงโครนัสสำหรับการลงทะเบียนอินพุต datac คุณต้องเลือกลงทะเบียนอินพุต datac เพื่อเปิดใช้งานพารามิเตอร์นี้

18

ระบุจำนวนบิตสำหรับ

บัสอินพุต coefsel

คุณต้องเลือก COEF หรือ CONSTANT สำหรับโหมดพรีแอดเดอร์เพื่อเปิดใช้งานพารามิเตอร์นี้

บนนาฬิกา0

เลือกตัวเลือกนี้เพื่อเปิดใช้งานการลงทะเบียนอินพุตสำหรับบัสอินพุต coefsel คุณต้องเลือก COEF หรือ CONSTANT สำหรับโหมดพรีแอดเดอร์เพื่อเปิดใช้งานพารามิเตอร์นี้
เลือก Clock0 , Clock1 หรือ Clock2 เพื่อระบุสัญญาณนาฬิกาอินพุตสำหรับการลงทะเบียนอินพุต coefsel คุณต้องเลือกลงทะเบียนอินพุต coefsel เพื่อเปิดใช้งานพารามิเตอร์นี้
ต่อเนื่อง…

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 52

ส่งคำติชม

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

พารามิเตอร์
แหล่งที่มาของอินพุตที่ชัดเจนแบบอะซิงโครนัสคืออะไร

พารามิเตอร์ที่สร้าง IP

ค่า

gui_coef_regi ster_aclr

ไม่มี ACLR0 ACLR1

แหล่งที่มาของการป้อนข้อมูลที่ชัดเจนแบบซิงโครนัสคืออะไร

gui_coef_regi ster_sclr

ไม่มี SCLR0 SCLR1

ค่าสัมประสิทธิ์_0 การกำหนดค่า

coef0_0 ถึง coef0_7

0x00000 0xFFFFFFFF

ค่าสัมประสิทธิ์_1 การกำหนดค่า

coef1_0 ถึง coef1_7

0x00000 0xFFFFFFFF

ค่าสัมประสิทธิ์_2 การกำหนดค่า

coef2_0 ถึง coef2_7

0x00000 0xFFFFFFFF

ค่าสัมประสิทธิ์_3 การกำหนดค่า

coef3_0 ถึง coef3_7

0x00000 0xFFFFFFFF

8.6.5. แท็บสะสม

ตารางที่ 34. แท็บตัวสะสม

พารามิเตอร์

พารามิเตอร์ที่สร้าง IP

ค่า

เปิดใช้งานตัวสะสม?

ตัวสะสม

ใช่ไม่ใช่

ประเภทการทำงานของแอคคูมูเลเตอร์คืออะไร?

เพิ่ม accum_directi

on

ซับ

ค่าเริ่มต้น ไม่มี
ไม่มี
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0

คำอธิบาย
ระบุซอร์สที่ชัดเจนแบบอะซิงโครนัสสำหรับการลงทะเบียนอินพุต coefsel คุณต้องเลือกลงทะเบียนอินพุต coefsel เพื่อเปิดใช้งานพารามิเตอร์นี้
ระบุแหล่งที่มาที่ชัดเจนแบบซิงโครนัสสำหรับการลงทะเบียนอินพุต coefsel คุณต้องเลือกลงทะเบียนอินพุต coefsel เพื่อเปิดใช้งานพารามิเตอร์นี้
ระบุค่าสัมประสิทธิ์ของตัวคูณแรกนี้ จำนวนบิตต้องเท่ากับที่ระบุใน How width coef width be? พารามิเตอร์. คุณต้องเลือก COEF หรือ CONSTANT สำหรับโหมดพรีแอดเดอร์เพื่อเปิดใช้งานพารามิเตอร์นี้
ระบุค่าสัมประสิทธิ์ของตัวคูณที่สองนี้ จำนวนบิตต้องเท่ากับที่ระบุใน How width coef width be? พารามิเตอร์. คุณต้องเลือก COEF หรือ CONSTANT สำหรับโหมดพรีแอดเดอร์เพื่อเปิดใช้งานพารามิเตอร์นี้
ระบุค่าสัมประสิทธิ์ของตัวคูณที่สามนี้ จำนวนบิตต้องเท่ากับที่ระบุใน How width coef width be? พารามิเตอร์. คุณต้องเลือก COEF หรือ CONSTANT สำหรับโหมดพรีแอดเดอร์เพื่อเปิดใช้งานพารามิเตอร์นี้
ระบุค่าสัมประสิทธิ์ของตัวคูณที่สี่นี้ จำนวนบิตต้องเท่ากับที่ระบุใน How width coef width be? พารามิเตอร์. คุณต้องเลือก COEF หรือ CONSTANT สำหรับโหมดพรีแอดเดอร์เพื่อเปิดใช้งานพารามิเตอร์นี้

ค่าเริ่มต้น NO
เพิ่ม

คำอธิบาย
เลือก ใช่ เพื่อเปิดใช้งานตัวสะสม คุณต้องเลือกบันทึกผลลัพธ์ของหน่วยบวกเมื่อใช้คุณสมบัติตัวสะสม
ระบุการทำงานของตัวสะสม: · ADD สำหรับการดำเนินการเพิ่มเติม · SUB สำหรับการดำเนินการลบ คุณต้องเลือก ใช่ สำหรับ เปิดใช้งานตัวสะสม? พารามิเตอร์เพื่อเปิดใช้งานตัวเลือกนี้
ต่อเนื่อง…

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 53

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

พารามิเตอร์
ค่าคงที่พรีโหลด เปิดใช้งานค่าคงที่พรีโหลด

พารามิเตอร์ที่สร้าง IP

ค่า

gui_ena_prelo เปิด

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

ไม่มี ACLR0 ACLR1

แหล่งที่มาของอินพุตที่ชัดเจนแบบซิงโครนัสคืออะไร

gui_accum_sl oad_register_ sclr

ไม่มี SCLR0 SCLR1

เปิดใช้งานตัวสะสมสองเท่า

gui_double_a เปิด

น้ำเชื้อ

ปิด

ค่าเริ่มต้น

คำอธิบาย

ปิด

เปิดใช้งาน accum_sload หรือ

สัญญาณ sload_accum และรีจิสเตอร์อินพุต

เพื่อเลือกอินพุตไปยังไดนามิก

สะสม

เมื่อ accum_sload ต่ำหรือ sload_accum เอาต์พุตตัวคูณจะถูกป้อนเข้าสู่ตัวสะสม

เมื่อ accum_sload สูงหรือ sload_accum ค่าคงที่พรีโหลดที่ผู้ใช้ระบุจะถูกป้อนเข้าสู่ตัวสะสม

คุณต้องเลือก ใช่ สำหรับ เปิดใช้งานตัวสะสม? พารามิเตอร์เพื่อเปิดใช้งานตัวเลือกนี้

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 Integer Arithmetic IP Cores 54

ส่งคำติชม

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

8.6.6. แท็บ Systolic/Chainout

ตารางที่ 35. แท็บ Adder Systolic/Chainout

พารามิเตอร์ เปิดใช้งานตัวเพิ่ม chainout

พารามิเตอร์ที่สร้าง IP

ค่า

chainout_add ใช่

er

เลขที่

ประเภทการดำเนินการของ chainout adder คืออะไร?

chainout_add เพิ่ม

er_ทิศทาง

ซับ

เปิดใช้งานอินพุต 'negate' สำหรับ chainout adder หรือไม่

พอร์ต_เนเกต

PORT_USED, PORT_UNUSED

ลงทะเบียนอินพุต `ลบล้าง' หรือไม่ negate_regist เอ้อ

ไม่ได้ลงทะเบียน, CLOCK0, CLOCK1, CLOCK2, CLOCK3

แหล่งที่มาของอินพุตที่ชัดเจนแบบอะซิงโครนัสคืออะไร

ลบล้าง_aclr

ไม่มี ACLR0 ACLR1

แหล่งที่มาของอินพุตที่ชัดเจนแบบซิงโครนัสคืออะไร

negate_sclr

ไม่มี SCLR0 SCLR1

Systolic ล่าช้า
เปิดใช้งานการลงทะเบียนการหน่วงเวลา systolic

gui_systolic_d เปิด

ELAY

ปิด

แหล่งอินพุตนาฬิกาคืออะไร

gui_systolic_d CLOCK0,

elay_clock

นาฬิกา 1,

ค่าเริ่มต้น
เลขที่

คำอธิบาย
เลือก ใช่ เพื่อเปิดใช้งานโมดูลตัวเพิ่มเชนเอาต์

เพิ่ม

ระบุการดำเนินการ adder chainout
สำหรับการดำเนินการลบ ต้องเลือก SIGNED สำหรับรูปแบบการแสดงสำหรับอินพุตตัวคูณ A คืออะไร และรูปแบบการแสดงสำหรับอินพุตตัวคูณ B คืออะไร ในแท็บตัวคูณ

PORT_UN ใช้แล้ว

เลือก PORT_USED เพื่อเปิดใช้งานการลบสัญญาณอินพุต
พารามิเตอร์นี้ไม่ถูกต้องเมื่อปิดใช้งาน adder chainout

ยกเลิกการลงทะเบียน ERED

เพื่อเปิดใช้งานอินพุตรีจิสเตอร์สำหรับลบสัญญาณอินพุต และระบุสัญญาณนาฬิกาอินพุตสำหรับรีจิสเตอร์ลบล้าง
เลือก UNREGISTERED หากไม่ต้องการลบการลงทะเบียนอินพุต
พารามิเตอร์นี้ไม่ถูกต้องเมื่อคุณเลือก:
· NO สำหรับเปิดใช้งานตัวเพิ่ม chainout หรือ
· PORT_UNUSED สำหรับเปิดใช้งานอินพุต 'negate' สำหรับ chainout adder หรือไม่ พารามิเตอร์หรือ

ไม่มี

ระบุแหล่งที่มาที่ชัดเจนแบบอะซิงโครนัสสำหรับการลงทะเบียนการปฏิเสธ
พารามิเตอร์นี้ไม่ถูกต้องเมื่อคุณเลือก:
· NO สำหรับเปิดใช้งานตัวเพิ่ม chainout หรือ
· PORT_UNUSED สำหรับเปิดใช้งานอินพุต 'negate' สำหรับ chainout adder หรือไม่ พารามิเตอร์หรือ

ไม่มี

ระบุแหล่งที่มาที่ชัดเจนแบบซิงโครนัสสำหรับการลงทะเบียนการปฏิเสธ
พารามิเตอร์นี้ไม่ถูกต้องเมื่อคุณเลือก:
· NO สำหรับเปิดใช้งานตัวเพิ่ม chainout หรือ
· PORT_UNUSED สำหรับเปิดใช้งานอินพุต 'negate' สำหรับ chainout adder หรือไม่ พารามิเตอร์หรือ

ปิด CLOCK0

เลือกตัวเลือกนี้เพื่อเปิดใช้งานโหมด systolic พารามิเตอร์นี้ใช้ได้เมื่อคุณเลือก 2 หรือ 4 สำหรับจำนวนตัวคูณคืออะไร พารามิเตอร์. คุณต้องเปิดใช้เอาต์พุต Register ของหน่วย adder เพื่อใช้ systolic delay register
ระบุสัญญาณนาฬิกาอินพุตสำหรับรีจิสเตอร์ซิสโตลิกดีเลย์
ต่อเนื่อง…

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 55

8. Intel FPGA ทวีคูณ Adder IP Core 683490 | 2020.10.05

พารามิเตอร์

พารามิเตอร์ที่สร้าง IP

ค่า

นาฬิกา 2,

แหล่งที่มาของอินพุตที่ชัดเจนแบบอะซิงโครนัสคืออะไร

gui_systolic_d elay_aclr

ไม่มี ACLR0 ACLR1

แหล่งที่มาของอินพุตที่ชัดเจนแบบซิงโครนัสคืออะไร

gui_systolic_d elay_sclr

ไม่มี SCLR0 SCLR1

ค่าเริ่มต้น
ไม่มี
ไม่มี

คำอธิบาย
คุณต้องเลือกเปิดใช้งานการลงทะเบียนการหน่วงเวลา systolic เพื่อเปิดใช้งานตัวเลือกนี้
ระบุแหล่งที่มาที่ชัดเจนแบบอะซิงโครนัสสำหรับรีจิสเตอร์ systolic delay คุณต้องเลือกเปิดใช้งานการลงทะเบียนการหน่วงเวลา systolic เพื่อเปิดใช้งานตัวเลือกนี้
ระบุแหล่งที่มาที่ชัดเจนแบบซิงโครนัสสำหรับรีจิสเตอร์ซิสโตลิกดีเลย์ คุณต้องเลือกเปิดใช้งานการลงทะเบียนการหน่วงเวลา systolic เพื่อเปิดใช้งานตัวเลือกนี้

8.6.7. แท็บการวางท่อ

ตารางที่ 36. แท็บการวางท่อ

การกำหนดค่าการวางท่อพารามิเตอร์

พารามิเตอร์ที่สร้าง IP

ค่า

คุณต้องการเพิ่มการลงทะเบียนไปป์ไลน์ให้กับอินพุตหรือไม่?

gui_pipelining ไม่ ใช่

ค่าเริ่มต้น
เลขที่

กรุณาระบุ

ความหน่วงเวลา

จำนวนนาฬิกาแฝง

วงจร

ค่าใดๆ ที่มากกว่า 0 มากกว่า 0

แหล่งอินพุตนาฬิกาคืออะไร

gui_input_late ncy_clock

CLOCK0, CLOCK1, CLOCK2

แหล่งที่มาของอินพุตที่ชัดเจนแบบอะซิงโครนัสคืออะไร

gui_input_late ncy_aclr

ไม่มี ACLR0 ACLR1

แหล่งที่มาของอินพุตที่ชัดเจนแบบซิงโครนัสคืออะไร

gui_input_late ncy_sclr

ไม่มี SCLR0 SCLR1

นาฬิกา 0 ไม่มีไม่มี

คำอธิบาย
เลือก ใช่ เพื่อเปิดใช้งานระดับเพิ่มเติมของการลงทะเบียนไปป์ไลน์กับสัญญาณอินพุต คุณต้องระบุค่าที่มากกว่า 0 สำหรับพารามิเตอร์ โปรดระบุจำนวนของพารามิเตอร์รอบสัญญาณนาฬิกาแฝง
ระบุเวลาแฝงที่ต้องการในรอบสัญญาณนาฬิกา การลงทะเบียนไปป์ไลน์หนึ่งระดับ = 1 เวลาแฝงในรอบสัญญาณนาฬิกา คุณต้องเลือก ใช่ สำหรับ คุณต้องการเพิ่มการลงทะเบียนไปป์ไลน์ไปยังอินพุตหรือไม่ เพื่อเปิดใช้งานตัวเลือกนี้
เลือก Clock0 , Clock1 หรือ Clock2 เพื่อเปิดใช้งานและระบุสัญญาณนาฬิกาอินพุตการลงทะเบียนไปป์ไลน์ คุณต้องเลือก ใช่ สำหรับ คุณต้องการเพิ่มการลงทะเบียนไปป์ไลน์ไปยังอินพุตหรือไม่ เพื่อเปิดใช้งานตัวเลือกนี้
ระบุรีจิสเตอร์อะซิงโครนัสเคลียร์ซอร์สสำหรับการลงทะเบียนไปป์ไลน์เพิ่มเติม คุณต้องเลือก ใช่ สำหรับ คุณต้องการเพิ่มการลงทะเบียนไปป์ไลน์ไปยังอินพุตหรือไม่ เพื่อเปิดใช้งานตัวเลือกนี้
ระบุรีจิสเตอร์ซิงโครนัสเคลียร์ซอร์สสำหรับการลงทะเบียนไปป์ไลน์เพิ่มเติม คุณต้องเลือก ใช่ สำหรับ คุณต้องการเพิ่มการลงทะเบียนไปป์ไลน์ไปยังอินพุตหรือไม่ เพื่อเปิดใช้งานตัวเลือกนี้

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 56

ส่งคำติชม

683490 | 2020.10.05 ส่งคำติชม

9. ALTMEMMULT (ตัวคูณค่าสัมประสิทธิ์คงที่ตามหน่วยความจำ) IP Core

ความสนใจ:

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 core นี้มีประโยชน์หากคุณไม่มีทรัพยากรเพียงพอที่จะใช้ตัวคูณในองค์ประกอบลอจิก (LEs) หรือทรัพยากรตัวคูณเฉพาะ
แกน ALTMEMMULT IP เป็นฟังก์ชันซิงโครนัสที่ต้องใช้นาฬิกา แกน ALTMEMMULT IP ใช้ตัวคูณด้วยทรูพุตและเวลาแฝงที่น้อยที่สุดที่เป็นไปได้สำหรับชุดพารามิเตอร์และข้อมูลจำเพาะที่กำหนด
รูปภาพต่อไปนี้แสดงพอร์ตสำหรับคอร์ ALTMEMMULT IP

รูปที่ 21. พอร์ต ALTMEMMULT

อัลท์เมมมัลท์

data_in[] sload_data coeff_in[]

ผลลัพธ์[] result_valid load_done

sload_coeff

นาฬิกาสเกล
สถาบัน

คุณสมบัติข้อมูลที่เกี่ยวข้อง ในหน้า 71

9.1. คุณสมบัติ
ALTMEMMULT IP core มีคุณสมบัติดังต่อไปนี้ · สร้างเฉพาะตัวคูณตามหน่วยความจำโดยใช้บล็อกหน่วยความจำบนชิปที่พบใน
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 File (.v) altera_mf.v ใน ไดเรกทอรีสังเคราะห์ eda
โมดูล altmemmult #( พารามิเตอร์ coeff_representation = “SIGNED”, ค่าสัมประสิทธิ์พารามิเตอร์ 0 = “UNUSED”, พารามิเตอร์ data_representation = “SIGNED”, พารามิเตอร์ dedicated_device_family = “ไม่ได้ใช้”, พารามิเตอร์ max_clock_cycles_per_result = 1, พารามิเตอร์ number_of_coefficients = 1, พารามิเตอร์ ram_block_type = “AUTO”, พารามิเตอร์ 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, สายเอาต์พุต load_done, สายเอาต์พุต [width_r-1:0] ผลลัพธ์, สายเอาต์พุต result_valid, สายอินพุต sclr, สายอินพุต [width_s-1:0] sel, อินพุต wire sload_coeff, อินพุต wire sload_data)/* การสังเคราะห์ syn_black_box=1 */; โมดูลสิ้นสุด
9.3. การประกาศส่วนประกอบ VHDL
การประกาศส่วนประกอบ VHDL อยู่ในการออกแบบ VHDL File (.vhd) altera_mf_components.vhd ใน ไดเรกทอรี librariesvhdlaltera_mf
ส่วนประกอบ altmemmult ทั่วไป ( coeff_representation:string := “SIGNED”; coefficient0:string := “UNUSED”; data_representation:string := “SIGNED”; dedicated_device_family:string := “unused”; max_clock_cycles_per_result:natural := 1; number_of_coefficients:natural := 1; ram_block_type:string := “AUTO”; total_latency:natural; width_c:natural; width_d:natural; width_r:natural; width_s:natural := 1; lpm_hint:string := “UNUSED”; lpm_type:string := “altmemmult”); port( clock:in std_logic; coeff_in:in std_logic_vector(width_c-1 downto 0) := (others => '0'); data_in:in std_logic_vector(width_d-1 downto 0);

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 58

ส่งคำติชม

9. ALTMEMMULT (ตัวคูณค่าสัมประสิทธิ์คงที่ตามหน่วยความจำ) IP Core 683490 | 2020.10.05

load_done:ออก std_logic; ผลลัพธ์: ออก std_logic_vector (width_r-1 ลงไปที่ 0); result_valid:ออก std_logic; sclr:ใน std_logic := '0'; sel:in std_logic_vector(width_s-1 downto 0) := (อื่นๆ => '0'); sload_coeff:ใน std_logic := '0'; sload_data:ใน std_logic := '0'); ส่วนปลาย;

9.4. พอร์ต

ตารางต่อไปนี้แสดงรายการพอร์ตอินพุตและเอาต์พุตสำหรับคอร์ ALTMEMMULT IP

ตาราง 37. พอร์ตอินพุต ALTMEMMULT

ชื่อพอร์ต

ที่จำเป็น

คำอธิบาย

นาฬิกา

ใช่

อินพุตนาฬิกาไปยังตัวคูณ

ค่า coeff_in[]

เลขที่

พอร์ตอินพุตค่าสัมประสิทธิ์สำหรับตัวคูณ ขนาดของพอร์ตอินพุตขึ้นอยู่กับค่าพารามิเตอร์ WIDTH_C

ข้อมูล_ใน[]

ใช่

พอร์ตป้อนข้อมูลไปยังตัวคูณ ขนาดของพอร์ตอินพุตขึ้นอยู่กับค่าพารามิเตอร์ WIDTH_D

สเกล

เลขที่

อินพุตที่ชัดเจนแบบซิงโครนัส หากไม่ได้ใช้ ค่าเริ่มต้นคือใช้งานสูง

เลือก []

เลขที่

การเลือกค่าสัมประสิทธิ์คงที่ ขนาดของพอร์ตอินพุตขึ้นอยู่กับ 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 จะไม่ใช้พอร์ตเอาต์พุต result_valid

โหลด_เสร็จแล้ว

เลขที่

ระบุเมื่อค่าสัมประสิทธิ์ใหม่เสร็จสิ้นการโหลด สัญญาณ load_done จะยืนยันเมื่อค่าสัมประสิทธิ์ใหม่เสร็จสิ้นการโหลด เว้นแต่ว่าสัญญาณ load_done สูง จะไม่สามารถโหลดค่าสัมประสิทธิ์อื่นๆ ลงในหน่วยความจำได้

9.5 พารามิเตอร์

ตารางต่อไปนี้แสดงรายการพารามิเตอร์สำหรับคอร์ ALTMEMMULT IP

ตารางที่ 39.
WIDTH_D WIDTH_C

ALTMEMMULT พารามิเตอร์
ชื่อพารามิเตอร์

ประเภทที่จำเป็น

คำอธิบาย

จำนวนเต็ม ใช่

ระบุความกว้างของพอร์ต data_in[]

จำนวนเต็ม ใช่

ระบุความกว้างของพอร์ต coeff_in[] ต่อ…

ส่งคำติชม

คู่มือผู้ใช้ Intel FPGA Integer Arithmetic IP Cores 59

9. ALTMEMMULT (ตัวคูณค่าสัมประสิทธิ์คงที่ตามหน่วยความจำ) IP Core 683490 | 2020.10.05

ชื่อพารามิเตอร์ WIDTH_R WIDTH

เอกสาร / แหล่งข้อมูล

Intel FPGA คอร์เลขคณิตจำนวนเต็ม [พีดีเอฟ] คู่มือการใช้งาน
FPGA แกน IP เลขคณิตจำนวนเต็ม, แกน IP เลขคณิตจำนวนเต็ม, แกน IP เลขคณิต, แกน IP

อ้างอิง

ฝากความคิดเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องกรอกข้อมูลมีเครื่องหมาย *