Inti IP Aritmatika Integer FPGA
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA
Diperbarui untuk Intel® Quartus® Prime Design Suite: 20.3
Versi Online Kirim Umpan Balik
UG-01063
ID: 683490 Versi: 2020.10.05
Isi
Isi
1. Inti IP Aritmatika Integer Intel FPGA.................................................................................. 5
2. LPM_COUNTER (Penghitung) IP Inti……………………………………………………………………….. 7 2.1. Fitur……………………………………………………………………………………………7 2.2. Prototipe Verilog HDL……………………………………………………………………………….. 8 2.3. Deklarasi Komponen VHDL……………………………………………………………………….8 2.4. Deklarasi VHDL LIBRARY_USE……………………………………………………………………… 9 2.5. Pelabuhan..................................................................................................................................................9 2.6. Parameter…………………………………………………………………………………………… 10
3. LPM_DIVIDE (Pembagi) Intel FPGA IP Core………………………………………………………….. 12 3.1. Fitur………………………………………………………………………………………………. 12 3.2. Prototipe Verilog HDL……………………………………………………………………………… 12 3.3. Deklarasi Komponen VHDL…………………………………………………………………….. 13 3.4. Deklarasi VHDL LIBRARY_USE……………………………………………………………. 13 3.5. Pelabuhan................................................................................................................................................ 13 3.6. Parameter…………………………………………………………………………………………… 14
4. LPM_MULT (Pengganda) IP Inti……………………………………………………………………. 16 4.1. Fitur………………………………………………………………………………………………. 16 4.2. Prototipe Verilog HDL……………………………………………………………………………… 17 4.3. Deklarasi Komponen VHDL…………………………………………………………………….. 17 4.4. Deklarasi VHDL LIBRARY_USE……………………………………………………………. 17 4.5. Isyarat…………………………………………………………………………………………… 18 4.6. Parameter untuk Perangkat Stratix V, Arria V, Cyclone V, dan Intel Cyclone 10 LP…………… 18 4.6.1. Tab Umum…………………………………………………………………………………18 4.6.2. Umum 2 Tab……………………………………………………………………………… 19 4.6.3. Tab Perpipaan………………………………………………………………………………… 19 4.7. Parameter untuk Perangkat Intel Stratix 10, Intel Arria 10, dan Intel Cyclone 10 GX……….. 20 4.7.1. Tab Umum…………………………………………………………………………………20 4.7.2. Umum 2 Tab……………………………………………………………………………… 20 4.7.3. Perpipaan................................................................................................................................21
5. LPM_ADD_SUB (Penambah/Pengurang)…………………………………………………………………… 22 5.1. Fitur………………………………………………………………………………………………. 22 5.2. Prototipe Verilog HDL……………………………………………………………………………… 23 5.3. Deklarasi Komponen VHDL…………………………………………………………………….. 23 5.4. Deklarasi VHDL LIBRARY_USE……………………………………………………………. 23 5.5. Pelabuhan…………………………………………………………………………………………………… 23 5.6. Parameter…………………………………………………………………………………………… 24
6. LPM_COMPARE (Pembanding)…………………………………………………………………………… 26 6.1. Fitur………………………………………………………………………………………………. 26 6.2. Prototipe Verilog HDL……………………………………………………………………………… 27 6.3. Deklarasi Komponen VHDL…………………………………………………………………….. 27 6.4. Deklarasi VHDL LIBRARY_USE…………………………………………………………………. 27 6.5. Pelabuhan…………………………………………………………………………………………………… 27 6.6. Parameter…………………………………………………………………………………………… 28
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 2
Kirim Masukan
Isi
7. ALTECC (Kode Koreksi Kesalahan: Encoder/Decoder) IP Core…………………………………… 30
7.1. Fitur Encoder ALTECC..................................................................................................................31 7.2. Prototipe Verilog HDL (ALTECC_ENCODER)………………………………………………. 32 7.3. Prototipe Verilog HDL (ALTECC_DECODER)………………………………………………. 32 7.4. Deklarasi Komponen VHDL (ALTECC_ENCODER)………………………………………33 7.5. Deklarasi Komponen VHDL (ALTECC_DECODER)………………………………………33 7.6. Deklarasi VHDL LIBRARY_USE……………………………………………………………. 33 7.7. Port Encoder………………………………………………………………………………………… 33 7.8. Port Dekoder…………………………………………………………………………………………34 7.9. Parameter Pembuat Enkode………………………………………………………………………………… 34 7.10. Parameter Dekoder …………………………………………………………………………… 35
8. Intel FPGA Multiply Adder IP Core……………………………………………………………………. 36
8.1. Fitur………………………………………………………………………………………………. 37 8.1.1. Pra-tambahan………………………………………………………………………………….. 38 8.1.2. Register Keterlambatan Sistolik…………………………………………………………….. 40 8.1.3. Konstanta Pramuat................................................................................................................ 43 8.1.4. Akumulator Ganda……………………………………………………………………… 43
8.2. Prototipe Verilog HDL……………………………………………………………………………… 44 8.3. Deklarasi Komponen VHDL…………………………………………………………………….. 44 8.4. Deklarasi VHDL LIBRARY_USE……………………………………………………………. 44 8.5. Isyarat…………………………………………………………………………………………… 44 8.6. Parameter…………………………………………………………………………………………… 47
8.6.1. Tab Umum…………………………………………………………………………………47 8.6.2. Tab Mode Ekstra.................................................................................................................. 47 8.6.3. Tab Pengganda……………………………………………………………………….. 49 8.6.4. Tab Pembaca………………………………………………………………………………. 51 8.6.5. Tab Akumulator.................................................................................................................. 53 8.6.6. Tab Sistolik/Rantai……………………………………………………………………. 55 8.6.7. Tab Perpipaan................................................................................................................ 56
9. ALTMEMMULT (Pengganda Koefisien Konstan Berbasis Memori) IP Core…………………… 57
9.1. Fitur………………………………………………………………………………………………. 57 9.2. Prototipe Verilog HDL……………………………………………………………………………… 58 9.3. Deklarasi Komponen VHDL…………………………………………………………………….. 58 9.4. Pelabuhan................................................................................................................................................ 59 9.5. Parameter…………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (Kalikan-Akumulasi) Inti IP……………………………………………… 61
10.1. Fitur…………………………………………………………………………………………….. 62 10.2. Prototipe Verilog HDL………………………………………………………………………..62 10.3. Deklarasi Komponen VHDL…………………………………………………………………… 63 10.4. Deklarasi VHDL LIBRARY_USE……………………………………………………………63 10.5. Pelabuhan……………………………………………………………………………………………. 63 10.6. Parameter................................................................................................................................. 64
11. ALTMULT_ADD (Penambah Ganda) Inti IP…………………………………………………………..69
11.1. Fitur…………………………………………………………………………………………….. 71 11.2. Prototipe Verilog HDL………………………………………………………………………..72 11.3. Deklarasi Komponen VHDL…………………………………………………………………… 72 11.4. Deklarasi VHDL LIBRARY_USE……………………………………………………………72
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 3
Isi
11.5. Pelabuhan……………………………………………………………………………………………. 72 11.6. Parameter................................................................................................................................. 73
12. ALTMULT_COMPLEX (Pengganda Kompleks) Inti IP……………………………………………… 86 12.1. Perkalian Kompleks……………………………………………………………………………. 86 12.2. Representasi Kanonik................................................................................................................ 87 12.3. Representasi Konvensional………………………………………………………………………. 87 12.4. Ciri-ciri…………………………………………………………………………………………….. 88 12.5. Prototipe Verilog HDL………………………………………………………………………..88 12.6. Deklarasi Komponen VHDL…………………………………………………………………… 89 12.7. Deklarasi VHDL LIBRARY_USE……………………………………………………………89 12.8. Sinyal.................................................................................................................................. 89 12.9. Parameter................................................................................................................................. 90
13. ALTSQRT (Akar Kuadrat Bulat) Inti IP……………………………………………………………92 13.1. Fitur…………………………………………………………………………………………….. 92 13.2. Prototipe Verilog HDL………………………………………………………………………..92 13.3. Deklarasi Komponen VHDL…………………………………………………………………… 93 13.4. Deklarasi VHDL LIBRARY_USE…………………………………………………………………93 13.5. Pelabuhan………................................................................................................................... 93 13.6. Parameter................................................................................................................................. 94
14. PARALLEL_ADD (Penambah Paralel) Inti IP………………………………………………………….. 95 14.1. Fitur.................................................................................................................................................95 14.2. Prototipe Verilog HDL………………………………………………………………………..95 14.3. Deklarasi Komponen VHDL…………………………………………………………………… 96 14.4. Deklarasi VHDL LIBRARY_USE……………………………………………………………96 14.5. Pelabuhan……………………………………………………………………………………………. 96 14.6. Parameter................................................................................................................................. 97
15. Arsip Dokumen Panduan Pengguna Inti IP Aritmatika Integer………………………………… 98
16. Riwayat Revisi Dokumen untuk Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA…. 99
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 4
Kirim Masukan
683490 | 2020.10.05 Kirim Umpan Balik
1. Inti IP Aritmatika Integer Intel FPGA
Anda dapat menggunakan inti IP integer Intel® FPGA untuk melakukan operasi matematika dalam desain Anda.
Fungsi-fungsi ini menawarkan sintesis logika dan implementasi perangkat yang lebih efisien daripada mengkodekan fungsi Anda sendiri. Anda dapat menyesuaikan inti IP untuk mengakomodasi kebutuhan desain Anda.
Inti IP aritmatika bilangan bulat Intel dibagi menjadi dua kategori berikut: · Inti IP perpustakaan modul berparameter (LPM) · Inti IP khusus Intel (ALT)
Tabel berikut mencantumkan inti IP aritmatika bilangan bulat.
Tabel 1.
Daftar Inti IP
Inti IP
Inti IP LPM
LPM_COUNTER
LPM_DIVIDE
LPM_MULT
LPM_ADD_SUB
LPM_COMPARE
Inti IP khusus Intel (ALT) ALTECC
Fungsi Lebihview Pengganda Pembagi Pembagi
Komparator penambah atau pengurang
Enkoder/Dekoder ECC
Perangkat yang Didukung
Arria® II GX, Arria II GZ, Arria V, Intel Arria 10, Siklon® IV E, Siklon IV GX, Siklon V, Intel Siklon 10 LP,
Intel Cyclone 10 GX, MAX® II, MAX V, MAX 10, Stratix® IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Siklon IV E, Siklon IV GX,
Siklon V, Intel Siklon 10 LP, Intel Siklon 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Siklon IV E, Siklon IV GX,
Siklon V, Intel Siklon 10 LP, Intel Siklon 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Siklon IV E, Siklon IV GX, Siklon V, Intel Siklon 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Siklon IV E, Siklon IV GX, Siklon V, Intel Siklon 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Siklon IV E, Siklon IV GX,
Siklon V,Intel Siklon 10 LP, Intel Siklon 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V lanjutan…
Perusahaan Intel. Seluruh hak cipta. Intel, logo Intel, dan merek Intel lainnya adalah merek dagang dari Intel Corporation atau anak perusahaannya. Intel menjamin kinerja produk FPGA dan semikonduktornya dengan spesifikasi terkini sesuai dengan garansi standar Intel, tetapi berhak untuk membuat perubahan pada produk dan layanan apa pun kapan saja tanpa pemberitahuan. Intel tidak bertanggung jawab atau berkewajiban yang timbul dari aplikasi atau penggunaan informasi, produk, atau layanan apa pun yang dijelaskan di sini kecuali secara tegas disetujui secara tertulis oleh Intel. Pelanggan Intel disarankan untuk mendapatkan spesifikasi perangkat versi terbaru sebelum mengandalkan informasi yang dipublikasikan dan sebelum melakukan pemesanan produk atau layanan. *Nama dan merek lain dapat diklaim sebagai milik orang lain.
ISO 9001: 2015 Terdaftar
1. Inti IP Aritmatika Integer Intel FPGA 683490 | 2020.10.05
IP Core Intel FPGA Multiply Adder atau ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALEL_ADD
Fungsi Lebihview Pengganda-Penambah
Pengganda Koefisien Konstan berbasis memori
Pengganda-Penambah Pengganda Akumulator
Pengganda Kompleks
Akar Kuadrat Bilangan Bulat
Penambah Paralel
Perangkat yang Didukung
Arria V, Stratix V, Siklon V, Intel Stratix 10, Intel Arria 10, Intel Siklon
10 GX
Arria II GX, Arria II GZ, Arria V, Intel Arria 10 (Intel Quartus® Prime Standard Edition), Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Siklon 10 LP, MAX II, MAX V, MAX 10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Siklon IV E, Siklon IV GX, Intel Siklon 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Siklon IV E, Siklon IV GX,Intel Siklon 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Intel Arria 10, Arria V, Arria V GZ, Siklon IV E, Siklon IV GX, Siklon V, Intel
Topan 10 GX, Intel Cyclone 10 LP, MAX 10, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Siklon IV E, Siklon IV GX,
Siklon V, Intel Siklon 10 LP, Intel Siklon 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Siklon IV E, Siklon IV GX,
Siklon V, Intel Siklon 10 LP,Intel Siklon 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Informasi Terkait
· Catatan Rilis Intel FPGA dan Perangkat yang Dapat Diprogram
· Pengantar Intel FPGA IP Cores Memberikan informasi lebih lanjut tentang Intel FPGA IP Cores.
· Panduan Pengguna Inti IP Titik Mengambang Memberikan informasi selengkapnya tentang inti IP Titik Mengambang Intel FPGA.
· Pengantar Intel FPGA IP Cores Memberikan informasi umum tentang semua core IP FPGA Intel, termasuk parameterisasi, pembangkitan, peningkatan, dan simulasi core IP.
· Membuat IP Versi-Independen dan Skrip Simulasi Qsys Membuat skrip simulasi yang tidak memerlukan pembaruan manual untuk perangkat lunak atau peningkatan versi IP.
· Pedoman Praktik Terbaik Manajemen Proyek untuk manajemen yang efisien dan portabilitas proyek dan IP Anda files.
· Inti IP Aritmatika Integer Panduan Pengguna Arsip Dokumen di halaman 98 Menyediakan daftar panduan pengguna untuk inti IP Aritmatika Integer versi sebelumnya.
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 6
Kirim Masukan
683490 | 2020.10.05 Kirim Umpan Balik
2. LPM_COUNTER (Penghitung) Inti IP
Gambar 1.
Inti IP LPM_COUNTER adalah pencacah biner yang membuat pencacah atas, pencacah bawah, dan pencacah atas atau bawah dengan lebar keluaran hingga 256 bit.
Gambar berikut menunjukkan port untuk inti IP LPM_COUNTER.
LPM_COUNTER Pelabuhan
LPM_COUNTER
ssclr memuat data set []
Q[]
naik turun
pengadilan
aclr memuat aset
clk_en cnt_en cin
instan
2.1. Fitur
Inti IP LPM_COUNTER menawarkan fitur-fitur berikut: · Menghasilkan penghitung atas, bawah, dan atas/bawah · Menghasilkan jenis penghitung berikut:
— Biner biasa – kenaikan penghitung mulai dari nol atau penurunan mulai dari 255
— Modulus – penghitung menambah atau mengurangi nilai modulus yang ditentukan oleh pengguna dan berulang
· Mendukung port input yang jelas, memuat, dan mengatur sinkron opsional · Mendukung port input yang jelas, memuat, dan mengatur asinkron opsional · Mendukung port input pengaktifan hitungan dan pengaktifan jam · Mendukung port carry-in dan carry-out opsional
Perusahaan Intel. Seluruh hak cipta. Intel, logo Intel, dan merek Intel lainnya adalah merek dagang dari Intel Corporation atau anak perusahaannya. Intel menjamin kinerja produk FPGA dan semikonduktornya dengan spesifikasi terkini sesuai dengan garansi standar Intel, tetapi berhak untuk membuat perubahan pada produk dan layanan apa pun kapan saja tanpa pemberitahuan. Intel tidak bertanggung jawab atau berkewajiban yang timbul dari aplikasi atau penggunaan informasi, produk, atau layanan apa pun yang dijelaskan di sini kecuali secara tegas disetujui secara tertulis oleh Intel. Pelanggan Intel disarankan untuk mendapatkan spesifikasi perangkat versi terbaru sebelum mengandalkan informasi yang dipublikasikan dan sebelum melakukan pemesanan produk atau layanan. *Nama dan merek lain dapat diklaim sebagai milik orang lain.
ISO 9001: 2015 Terdaftar
2. LPM_COUNTER (Penghitung) Inti IP
683490 | 2020.10.05
2.2. Prototipe Verilog HDL
Prototipe Verilog HDL berikut terletak di Desain Verilog File (.v) lpm.v di direktori edasintesis.
modul lpm_counter ( q, data, jam, cin, cout, clk_en, cnt_en, updown, aset, aclr, aload, sset, sclr, sload, eq ); parameter lpm_type = “lpm_counter”; parameter lpm_width = 1; parameter lpm_modulus = 0; parameter lpm_direction = “TIDAK DIGUNAKAN”; parameter lpm_avalue = “TIDAK DIGUNAKAN”; parameter lpm_svalue = “TIDAK DIGUNAKAN”; parameter lpm_pvalue = “TIDAK DIGUNAKAN”; parameter lpm_port_updown = “PORT_CONNECTIVITY”; parameter lpm_hint = “TIDAK DIGUNAKAN”; keluaran [lpm_width-1:0] q; jumlah keluaran; keluaran [15:0] persamaan; masukan cin; masukan data [lpm_width-1:0]; masukan jam, clk_en, cnt_en, atas bawah; masukan aset, aclr, muat; masukan sset, sclr, sload; modul akhir
2.3. Deklarasi Komponen VHDL
Deklarasi komponen VHDL terletak di Desain VHDL File (.vhd) LPM_PACK.vhd di direktori perpustakaanvhdllpm.
komponen LPM_COUNTER generik ( 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 := “BELUM DIGUNAKAN”; LPM_TYPE : string := LPM_HINT : string := “BELUM DIGUNAKAN”); port (DATA : di std_logic_vector(LPM_WIDTH-1 hingga 0):= (LAINNYA =>
'0'); JAM : di std_logic ; CLK_EN : di std_logic := '1'; CNT_EN : di std_logic := '1'; ATAS: di std_logic := '1'; SLOAD : di std_logic := '0'; SSET : di std_logic := '0'; SCLR : di std_logic := '0'; BEBAN : di std_logic := '0'; ASET : di std_logic := '0'; ACLR : di std_logic := '0'; CIN : di std_logic := '1'; COUT : keluar std_logic := '0'; Q : keluar std_logic_vector(LPM_WIDTH-1 turun ke 0); EQ : keluar std_logic_vector(15 hingga 0));
komponen akhir;
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 8
Kirim Masukan
2. LPM_COUNTER (Penghitung) IP Inti 683490 | 2020.10.05
2.4. Deklarasi VHDL LIBRARY_USE
Deklarasi VHDL LIBRARY-USE tidak diperlukan jika Anda menggunakan Deklarasi Komponen VHDL.
PERPUSTAKAAN lpm; GUNAKAN lpm.lpm_components.all;
2.5. Pelabuhan
Tabel berikut mencantumkan port input dan output untuk inti IP LPM_COUNTER.
Tabel 2.
LPM_COUNTER Port Masukan
Nama Pelabuhan
Diperlukan
Keterangan
data[]
TIDAK
Input data paralel ke counter. Ukuran port input bergantung pada nilai parameter LPM_WIDTH.
jam
Ya
Input jam yang dipicu tepi positif.
clk_en
TIDAK
Jam mengaktifkan input untuk mengaktifkan semua aktivitas sinkron. Jika dihilangkan, nilai defaultnya adalah 1.
cnt_en
TIDAK
Hitungan aktifkan masukan untuk menonaktifkan hitungan saat dinyatakan rendah tanpa memengaruhi sload, sset, atau sclr. Jika dihilangkan, nilai defaultnya adalah 1.
naik turun
TIDAK
Mengontrol arah hitungan. Apabila dinyatakan tinggi (1) maka arah hitungannya naik, dan bila dinyatakan rendah (0) maka arah hitungannya turun. Jika parameter LPM_DIRECTION digunakan, port updown tidak dapat dihubungkan. Jika LPM_DIRECTION tidak digunakan, port updown bersifat opsional. Jika dihilangkan, nilai defaultnya naik (1).
sin
TIDAK
Dibawa ke bit tingkat rendah. Untuk up counter, perilaku input cin adalah
identik dengan perilaku input cnt_en. Jika dihilangkan, nilai defaultnya adalah 1
(VCC).
aclr
TIDAK
Masukan jelas asinkron. Jika aset dan aclr digunakan dan ditegaskan, aclr menggantikan aset. Jika dihilangkan, nilai defaultnya adalah 0 (dinonaktifkan).
sekumpulan
TIDAK
Masukan set asinkron. Menentukan output q[] sebagai semua 1, atau ke nilai yang ditentukan oleh parameter LPM_AVALUE. Jika port aset dan aclr digunakan dan ditegaskan, nilai port aclr menggantikan nilai port aset. Jika dihilangkan, nilai defaultnya adalah 0, dinonaktifkan.
memuat
TIDAK
Input beban asinkron yang memuat penghitung secara asinkron dengan nilai pada input data. Ketika port aload digunakan, port data[] harus terhubung. Jika dihilangkan, nilai defaultnya adalah 0, dinonaktifkan.
scr
TIDAK
Input jelas sinkron yang menghapus penghitung pada tepi jam aktif berikutnya. Jika port sset dan sclr digunakan dan ditegaskan, nilai port sclr akan menggantikan nilai port sset. Jika dihilangkan, nilai defaultnya adalah 0, dinonaktifkan.
set
TIDAK
Input set sinkron yang menyetel penghitung pada tepi jam aktif berikutnya. Menentukan nilai output q yang seluruhnya 1, atau ke nilai yang ditentukan oleh parameter LPM_SVALUE. Jika port sset dan sclr digunakan dan ditegaskan,
nilai port sclr menggantikan nilai port sset. Jika dihilangkan, nilai defaultnya adalah 0 (dinonaktifkan).
beban
TIDAK
Input beban sinkron yang memuat penghitung dengan data[] pada tepi jam aktif berikutnya. Ketika port sload digunakan, port data[] harus terhubung. Jika dihilangkan, nilai defaultnya adalah 0 (dinonaktifkan).
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 9
2. LPM_COUNTER (Penghitung) IP Inti 683490 | 2020.10.05
Tabel 3.
Port Keluaran LPM_COUNTER
Nama Pelabuhan
Diperlukan
Keterangan
Q[]
TIDAK
Keluaran data dari penghitung. Ukuran port keluaran tergantung pada
Nilai parameter LPM_WIDTH. Salah satu dari q[] atau setidaknya salah satu dari port eq[15..0]
harus terhubung.
persamaan[15..0]
TIDAK
Keluaran dekode penghitung. Port eq[15..0] tidak dapat diakses di editor parameter karena parameter hanya mendukung AHDL.
Port q[] atau port eq[] harus terhubung. Hingga port c eq dapat digunakan (0 <= c <= 15). Hanya 16 nilai hitungan terendah yang diterjemahkan. Ketika nilai hitungannya adalah c, output eqc dinyatakan tinggi (1). Misalnyaampmisalnya, ketika hitungannya 0, eq0 = 1, ketika hitungannya 1, eq1 = 1, dan ketika hitungannya 15, eq 15 = 1. Output yang didekodekan untuk nilai hitungan 16 atau lebih memerlukan decoding eksternal. Keluaran eq[15..0] tidak sinkron dengan keluaran q[].
pengadilan
TIDAK
Port pembawa bit MSB penghitung. Ini dapat digunakan untuk terhubung ke counter lain untuk membuat counter yang lebih besar.
2.6. Parameter
Tabel berikut mencantumkan parameter untuk inti IP LPM_COUNTER.
Tabel 4.
Parameter LPM_COUNTER
Nama Parameter
Jenis
LPM_WIDTH
Bilangan bulat
LPM_DIRECTION
Rangkaian
LPM_MODULUS LPM_AVALUE
Bilangan bulat
Bilangan Bulat/ Tali
LPM_SVALUE LPM_HINT
Bilangan Bulat/ Tali
Rangkaian
LPM_TYPE
Rangkaian
Wajib Ya Tidak Tidak Tidak
Tidak Tidak
TIDAK
Keterangan
Menentukan lebar port data[] dan q[], jika digunakan.
Nilainya ATAS, BAWAH, dan TIDAK DIGUNAKAN. Jika parameter LPM_DIRECTION digunakan, port updown tidak dapat dihubungkan. Ketika port updown tidak terhubung, nilai default parameter LPM_DIRECTION adalah UP.
Jumlah maksimum, ditambah satu. Jumlah status unik dalam siklus penghitung. Jika nilai beban lebih besar dari parameter LPM_MODULUS, perilaku penghitung tidak ditentukan.
Nilai konstanta yang dimuat ketika aset dinyatakan tinggi. Jika nilai yang ditentukan lebih besar dari atau sama dengan , perilaku penghitung adalah tingkat logika yang tidak terdefinisi (X), di mana adalah LPM_MODULUS, jika ada, atau 2^LPM_WIDTH. Intel menyarankan Anda menentukan nilai ini sebagai angka desimal untuk desain AHDL.
Nilai konstanta yang dimuat pada tepi naik port jam ketika port sset dinyatakan tinggi. Intel menyarankan Anda menentukan nilai ini sebagai angka desimal untuk desain AHDL.
Saat Anda membuat instance fungsi perpustakaan modul berparameter (LPM) dalam Desain VHDL File (.vhd), Anda harus menggunakan parameter LPM_HINT untuk menentukan parameter khusus Intel. Misalnyaample: LPM_HINT = “CHAIN_SIZE = 8, ONE_INPUT_IS_CONSTANT = YA”
Nilai defaultnya adalah TIDAK DIGUNAKAN.
Mengidentifikasi nama entitas perpustakaan modul berparameter (LPM) dalam desain VHDL files.
lanjutan…
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 10
Kirim Masukan
2. LPM_COUNTER (Penghitung) IP Inti 683490 | 2020.10.05
Nama Parameter INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LABWIDE_SCLR
LPM_PORT_UPDOWN
Ketik String String
Rangkaian
Rangkaian
Diperlukan Tidak Tidak
TIDAK
TIDAK
Keterangan
Parameter ini digunakan untuk tujuan pemodelan dan simulasi perilaku. Parameter ini digunakan untuk tujuan pemodelan dan simulasi perilaku. Editor parameter menghitung nilai untuk parameter ini.
Parameter khusus Intel. Anda harus menggunakan parameter LPM_HINT untuk menentukan parameter CARRY_CNT_EN dalam desain VHDL fileS. Nilainya adalah SMART, ON, OFF, dan TIDAK DIGUNAKAN. Mengaktifkan fungsi LPM_COUNTER untuk menyebarkan sinyal cnt_en melalui rantai pembawa. Dalam beberapa kasus, pengaturan parameter CARRY_CNT_EN mungkin berdampak kecil pada kecepatan, jadi Anda mungkin ingin mematikannya. Nilai defaultnya adalah SMART, yang memberikan trade-off terbaik antara ukuran dan kecepatan.
Parameter khusus Intel. Anda harus menggunakan parameter LPM_HINT untuk menentukan parameter LABWIDE_SCLR dalam desain VHDL fileS. Nilainya AKTIF, MATI, atau TIDAK DIGUNAKAN. Nilai defaultnya adalah AKTIF. Memungkinkan Anda menonaktifkan penggunaan fitur sclr LABwide yang ditemukan di kelompok perangkat yang sudah usang. Mematikan pilihan ini akan meningkatkan kemungkinan penggunaan penuh LAB yang terisi sebagian, dan dengan demikian memungkinkan kepadatan logika yang lebih tinggi ketika SCLR tidak berlaku untuk LAB yang lengkap. Parameter ini tersedia untuk kompatibilitas mundur, dan Intel menyarankan Anda untuk tidak menggunakan parameter ini.
Menentukan penggunaan port input updown. Jika dihilangkan, nilai defaultnya adalah PORT_CONNECTIVITY. Ketika nilai port diatur ke PORT_USED, port tersebut dianggap sudah digunakan. Ketika nilai port diatur ke PORT_UNUSED, port tersebut dianggap tidak digunakan. Ketika nilai port diatur ke PORT_CONNECTIVITY, penggunaan port ditentukan dengan memeriksa konektivitas port.
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 11
683490 | 2020.10.05 Kirim Umpan Balik
3. LPM_DIVIDE (Pembagi) Intel FPGA IP Core
Gambar 2.
Inti IP Intel FPGA LPM_DIVIDE menerapkan pembagi untuk membagi nilai masukan pembilang dengan nilai masukan penyebut untuk menghasilkan hasil bagi dan sisa.
Gambar berikut menunjukkan port untuk inti IP LPM_DIVIDE.
Pelabuhan LPM_DIVIDE
LPM_DIVIDE
angka[] denom[] jam
hasil bagi[] tetap[]
clken aclr
instan
3.1. Fitur
Inti IP LPM_DIVIDE menawarkan fitur-fitur berikut: · Menghasilkan pembagi yang membagi nilai masukan pembilang dengan masukan penyebut
nilai untuk menghasilkan hasil bagi dan sisa. · Mendukung lebar data 1 bit. · Mendukung format representasi data yang ditandatangani dan tidak ditandatangani untuk pembilangnya
dan nilai penyebut. · Mendukung optimasi area atau kecepatan. · Memberikan opsi untuk menentukan output sisa positif. · Mendukung latensi keluaran yang dapat dikonfigurasi pipeline. · Mendukung port pengaktifan asynchronous dan clock opsional.
3.2. Prototipe Verilog HDL
Prototipe Verilog HDL berikut terletak di Desain Verilog File (.v) lpm.v di direktori edasintesis.
modul lpm_divide ( hasil bagi, sisa, bilangan, pecahan, jam, clken, aclr); parameter lpm_type = “lpm_divide”; parameter lpm_widthn = 1; parameter lpm_widthd = 1; parameter lpm_nrepresentation = “TIDAK DITANDATANGANI”; parameter lpm_drepresentation = “TIDAK DITANDATANGANI”; parameter lpm_remainderpositif = “BENAR”; parameter lpm_pipeline = 0;
Perusahaan Intel. Seluruh hak cipta. Intel, logo Intel, dan merek Intel lainnya adalah merek dagang dari Intel Corporation atau anak perusahaannya. Intel menjamin kinerja produk FPGA dan semikonduktornya dengan spesifikasi terkini sesuai dengan garansi standar Intel, tetapi berhak untuk membuat perubahan pada produk dan layanan apa pun kapan saja tanpa pemberitahuan. Intel tidak bertanggung jawab atau berkewajiban yang timbul dari aplikasi atau penggunaan informasi, produk, atau layanan apa pun yang dijelaskan di sini kecuali secara tegas disetujui secara tertulis oleh Intel. Pelanggan Intel disarankan untuk mendapatkan spesifikasi perangkat versi terbaru sebelum mengandalkan informasi yang dipublikasikan dan sebelum melakukan pemesanan produk atau layanan. *Nama dan merek lain dapat diklaim sebagai milik orang lain.
ISO 9001: 2015 Terdaftar
3. LPM_DIVIDE (Pembagi) Intel FPGA IP Core 683490 | 2020.10.05
parameter lpm_hint = “TIDAK DIGUNAKAN”; jam masukan; masukan clken; masukan aclr; masukan angka [lpm_widthn-1:0]; masukan nilai [lpm_widthd-1:0]; keluaran hasil bagi [lpm_widthn-1:0]; keluaran [lpm_widthd-1:0] tetap; modul akhir
3.3. Deklarasi Komponen VHDL
Deklarasi komponen VHDL terletak di Desain VHDL File (.vhd) LPM_PACK.vhd di direktori perpustakaanvhdllpm.
komponen LPM_DIVIDE generik (LPM_WIDTHN : natural; LPM_WIDTHD : natural;
LPM_NREPRESENTATION : string := “TIDAK DITANDATANGANI”; LPM_DREPRESENTATION : string := “TIDAK DITANDATANGANI”; LPM_PIPELINE : alami := 0; LPM_TYPE : tali := L_DIVIDE; LPM_HINT : string := “TIDAK DIGUNAKAN”); port (NUMER : dalam std_logic_vector(LPM_WIDTHN-1 hingga 0); DENOM : dalam std_logic_vector(LPM_WIDTHD-1 hingga 0); ACLR : dalam std_logic := '0'; CLOCK : dalam std_logic := '0'; CLKEN : dalam std_logic := '1'; TETAP : keluar std_logic_vector(LPM_WIDTHN-1 turun ke 0); komponen akhir;
3.4. Deklarasi VHDL LIBRARY_USE
Deklarasi VHDL LIBRARY-USE tidak diperlukan jika Anda menggunakan Deklarasi Komponen VHDL.
PERPUSTAKAAN lpm; GUNAKAN lpm.lpm_components.all;
3.5. Pelabuhan
Tabel berikut mencantumkan port input dan output untuk inti IP LPM_DIVIDE.
Tabel 5.
Port Masukan LPM_DIVIDE
Nama Pelabuhan
Diperlukan
angka[]
Ya
denom[]
Ya
Keterangan
Masukan data pembilang. Ukuran port input bergantung pada nilai parameter LPM_WIDTHN.
Masukan data penyebut. Besar kecilnya port input bergantung pada nilai parameter LPM_WIDTHD.
lanjutan…
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 13
3. LPM_DIVIDE (Pembagi) Intel FPGA IP Core 683490 | 2020.10.05
Jam Nama Port berbunyi
aclr
Diperlukan Tidak Tidak
TIDAK
Keterangan
Input jam untuk penggunaan pipeline. Untuk nilai LPM_PIPELINE selain 0 (default), port jam harus diaktifkan.
Jam mengaktifkan penggunaan pipeline. Ketika port clken ditetapkan tinggi, operasi pembagian dilakukan. Ketika sinyal rendah, tidak ada operasi yang terjadi. Jika dihilangkan, nilai defaultnya adalah 1.
Port jelas asinkron digunakan kapan saja untuk menyetel ulang pipeline ke semua '0 secara asinkron ke input jam.
Tabel 6.
Port Keluaran LPM_DIVIDE
Nama Pelabuhan
Diperlukan
Keterangan
hasil bagi[]
Ya
Keluaran data. Ukuran port keluaran tergantung pada LPM_WIDTHN
nilai parameter.
tetap[]
Ya
Keluaran data. Besar kecilnya port keluaran bergantung pada LPM_WIDTHD
nilai parameter.
3.6. Parameter
Tabel berikut mencantumkan parameter untuk inti IP Intel FPGA LPM_DIVIDE.
Nama Parameter
Jenis
Diperlukan
Keterangan
LPM_WIDTHN
Bilangan bulat
Ya
Menentukan lebar numer[] dan
hasil bagi[] port. Nilainya adalah 1 hingga 64.
LPM_WIDTHD
Bilangan bulat
Ya
Menentukan lebar denom[] dan
tetap[] port. Nilainya adalah 1 hingga 64.
LPM_NREPRESENTATION LPM_DREPRESENTATION
Tali Tali
TIDAK
Tanda tangani representasi masukan pembilang.
Nilai DITATANDAI dan TIDAK DITATANDAI. Saat ini
parameter diatur ke DITANDATANGANI, pembagi
menafsirkan masukan angka[] sebagai tanda dua
melengkapi.
TIDAK
Tanda tangani representasi masukan penyebut.
Nilai DITATANDAI dan TIDAK DITATANDAI. Saat ini
parameter diatur ke DITANDATANGANI, pembagi
menafsirkan input denom[] sebagai input dua yang ditandatangani
melengkapi.
LPM_TYPE
Rangkaian
TIDAK
Mengidentifikasi perpustakaan yang diparameterisasi
modul (LPM) nama entitas dalam desain VHDL
files (.vhd).
LPM_PETUNJUK
Rangkaian
TIDAK
Saat Anda membuat instance perpustakaan
fungsi modul berparameter (LPM) dalam a
Desain VHDL File (.vhd), Anda harus menggunakan
Parameter LPM_HINT untuk menentukan Intel-
parameter tertentu. Misalnyaampfile: LPM_HINT
= “CHAIN_SIZE = 8,
ONE_INPUT_IS_CONSTANT = YA” Itu
nilai defaultnya TIDAK DIGUNAKAN.
LPM_REMAINDERPOSITIF
Rangkaian
TIDAK
Parameter khusus Intel. Anda harus menggunakan
Parameter LPM_HINT untuk menentukan
Parameter LPM_REMAINDERPOSITIF dalam
desain VHDL fileS. Nilainya BENAR atau SALAH.
Jika parameter ini disetel ke TRUE, maka
nilai port sisa[] harus lebih besar
lanjutan…
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 14
Kirim Masukan
3. LPM_DIVIDE (Pembagi) Intel FPGA IP Core 683490 | 2020.10.05
Nama Parameter
Jenis
MAKSIMAL_KECEPATAN
Bilangan bulat
LPM_PIPELINE
Bilangan bulat
INTENDED_DEVICE_FAMILY SKIP_BITS
String Integer
Diperlukan No
Tidak tidak tidak
Keterangan
dari atau sama dengan nol. Jika parameter ini disetel ke TRUE, maka nilai port sisa[] adalah nol, atau nilainya bertanda sama, positif atau negatif, dengan nilai port angka. Untuk mengurangi area dan meningkatkan kecepatan, Intel merekomendasikan pengaturan parameter ini ke TRUE dalam pengoperasian yang sisanya harus positif atau yang sisanya tidak penting.
Parameter khusus Intel. Anda harus menggunakan parameter LPM_HINT untuk menentukan parameter MAXIMIZE_SPEED dalam desain VHDL fileS. Nilainya adalah [0..9]. Jika digunakan, perangkat lunak Intel Quartus Prime berupaya mengoptimalkan instans spesifik fungsi LPM_DIVIDE untuk kecepatan, bukan untuk routing, dan mengesampingkan pengaturan opsi logika Teknik Optimasi. Jika MAXIMIZE_SPEED tidak digunakan, nilai opsi Teknik Optimasi akan digunakan. Jika nilai MAXIMIZE_SPEED adalah 6 atau lebih tinggi, Kompiler mengoptimalkan inti IP LPM_DIVIDE untuk kecepatan lebih tinggi dengan menggunakan rantai pembawa; jika nilainya 5 atau kurang, kompiler mengimplementasikan desain tanpa rantai pembawa.
Menentukan jumlah siklus jam latensi yang terkait dengan keluaran hasil bagi[] dan sisa[]. Nilai nol (0) menunjukkan bahwa tidak ada latensi, dan fungsi kombinasional murni dipakai. Jika dihilangkan, nilai defaultnya adalah 0 (nonpipelined). Anda tidak dapat menentukan nilai untuk parameter LPM_PIPELINE yang lebih tinggi dari LPM_WIDTHN.
Parameter ini digunakan untuk tujuan pemodelan dan simulasi perilaku. Editor parameter menghitung nilai untuk parameter ini.
Memungkinkan pembagian bit pecahan yang lebih efisien untuk mengoptimalkan logika pada bit terdepan dengan memberikan jumlah GND terdepan ke inti IP LPM_DIVIDE. Tentukan jumlah GND terdepan pada hasil bagi ke parameter ini.
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 15
683490 | 2020.10.05 Kirim Umpan Balik
4. LPM_MULT (Pengganda) Inti IP
Gambar 3.
Inti IP LPM_MULT mengimplementasikan pengali untuk mengalikan dua nilai data masukan untuk menghasilkan produk sebagai keluaran.
Gambar berikut menunjukkan port untuk inti IP LPM_MULT.
LPM_Mult Port
LPM_MULT jam dataa[] hasil[] datab[] aclr/sclr clken
instan
Fitur Informasi Terkait di halaman 71
4.1. Fitur
Inti IP LPM_MULT menawarkan fitur-fitur berikut: · Menghasilkan pengali yang mengalikan dua nilai data masukan · Mendukung lebar data 1 bit · Mendukung format representasi data yang ditandatangani dan tidak ditandatangani · Mendukung optimasi area atau kecepatan · Mendukung pipeline dengan latensi keluaran yang dapat dikonfigurasi · Menyediakan opsi untuk implementasi dalam pemrosesan sinyal digital khusus (DSP)
sirkuit blok atau elemen logika (LE) Catatan: Saat membangun pengali yang lebih besar dari ukuran asli yang didukung mungkin ada/
akan menjadi dampak kinerja yang dihasilkan dari pengurutan blok DSP. · Mendukung port input asynchronous clear dan clock aktifkan opsional · Mendukung synchronous clear opsional untuk perangkat Intel Stratix 10, Intel Arria 10 dan Intel Cyclone 10 GX
Perusahaan Intel. Seluruh hak cipta. Intel, logo Intel, dan merek Intel lainnya adalah merek dagang dari Intel Corporation atau anak perusahaannya. Intel menjamin kinerja produk FPGA dan semikonduktornya dengan spesifikasi terkini sesuai dengan garansi standar Intel, tetapi berhak untuk membuat perubahan pada produk dan layanan apa pun kapan saja tanpa pemberitahuan. Intel tidak bertanggung jawab atau berkewajiban yang timbul dari aplikasi atau penggunaan informasi, produk, atau layanan apa pun yang dijelaskan di sini kecuali secara tegas disetujui secara tertulis oleh Intel. Pelanggan Intel disarankan untuk mendapatkan spesifikasi perangkat versi terbaru sebelum mengandalkan informasi yang dipublikasikan dan sebelum melakukan pemesanan produk atau layanan. *Nama dan merek lain dapat diklaim sebagai milik orang lain.
ISO 9001: 2015 Terdaftar
4. LPM_MULT (Pengganda) IP Inti 683490 | 2020.10.05
4.2. Prototipe Verilog HDL
Prototipe Verilog HDL berikut terletak di Desain Verilog File (.v) lpm.v di direktori edasintesis.
modul lpm_mult ( hasil, dataa, datab, jumlah, jam, clken, aclr ) parameter lpm_type = “lpm_mult”; parameter lpm_widtha = 1; parameter lpm_widthb = 1; parameter lpm_widths = 1; parameter lpm_widthp = 1; parameter lpm_representation = “TIDAK DITANDATANGANI”; parameter lpm_pipeline = 0; parameter lpm_hint = “TIDAK DIGUNAKAN”; jam masuk; masukan clken; masukan aclr; masukan [lpm_widtha-1:0] dataa; masukkan datab [lpm_widthb-1:0]; masukkan jumlah [lpm_widths-1:0]; keluaran hasil [lpm_widthp-1:0]; modul akhir
4.3. Deklarasi Komponen VHDL
Deklarasi komponen VHDL terletak di Desain VHDL File (.vhd) LPM_PACK.vhd di direktori perpustakaanvhdllpm.
komponen LPM_MULT generik ( LPM_WIDTHA : natural; LPM_WIDTHB : natural; LPM_WIDTHS : natural := 1; LPM_WIDTHP : natural;
LPM_REPRESENTATION : string := “TIDAK DITANDATANGANI”; LPM_PIPELINE : alami := 0; LPM_TYPE: tali := L_MULT; LPM_HINT : string := “TIDAK DIGUNAKAN”); port ( DATAA : dalam std_logic_vector(LPM_WIDTHA-1 hingga 0); DATAB : dalam std_logic_vector(LPM_WIDTHB-1 hingga 0); ACLR : dalam std_logic := '0'; CLOCK : dalam std_logic := '0'; CLKEN : dalam std_logic := '1'; SUM : masuk std_logic_vector(LPM_WIDTHS-1 turun ke 0) := (LAINNYA => '0'); HASIL : keluar std_logic_vector(LPM_WIDTHP-1 turun ke 0)); komponen akhir;
4.4. Deklarasi VHDL LIBRARY_USE
Deklarasi VHDL LIBRARY-USE tidak diperlukan jika Anda menggunakan Deklarasi Komponen VHDL.
PERPUSTAKAAN lpm; GUNAKAN lpm.lpm_components.all;
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 17
4. LPM_MULT (Pengganda) IP Inti 683490 | 2020.10.05
4.5. sinyal
Tabel 7.
LPM_MULT Sinyal Masukan
Nama Sinyal
Diperlukan
Keterangan
dataa[]
Ya
masukan data.
Untuk perangkat Intel Stratix 10, Intel Arria 10, dan Intel Cyclone 10 GX, ukuran sinyal input bergantung pada nilai parameter lebar Dataa.
Untuk perangkat yang lebih lama dan Intel Cyclone 10 LP, ukuran sinyal input bergantung pada nilai parameter LPM_WIDTHA.
datab[]
Ya
masukan data.
Untuk perangkat Intel Stratix 10, Intel Arria 10, dan Intel Cyclone 10 GX, ukuran sinyal input bergantung pada nilai parameter lebar Datab.
Untuk perangkat lama dan perangkat Intel Cyclone 10 LP, ukuran sinyal input bergantung
pada nilai parameter LPM_WIDTHB.
jam
TIDAK
Input jam untuk penggunaan pipeline.
Untuk perangkat yang lebih lama dan Intel Cyclone 10 LP, sinyal jam harus diaktifkan untuk nilai LPM_PIPELINE selain 0 (default).
Untuk perangkat Intel Stratix 10, Intel Arria 10, dan Intel Cyclone 10 GX, sinyal jam harus diaktifkan jika nilai Latensi selain 1 (default).
klik
TIDAK
Jam diaktifkan untuk penggunaan pipeline. Ketika sinyal clken dinyatakan tinggi, maka
operasi penambah/pengurang berlangsung. Ketika sinyal rendah, tidak ada operasi
terjadi. Jika dihilangkan, nilai defaultnya adalah 1.
aclr sclr
TIDAK
Sinyal jernih asinkron digunakan kapan saja untuk menyetel ulang pipeline ke semua 0,
secara asinkron terhadap sinyal clock. Pipeline diinisialisasi ke tidak terdefinisi (X)
tingkat logika. Outputnya adalah nilai yang konsisten, tetapi bukan nol.
TIDAK
Sinyal jelas sinkron yang digunakan kapan saja untuk mengatur ulang pipa ke semua 0,
serempak dengan sinyal clock. Pipeline diinisialisasi ke tidak terdefinisi (X)
tingkat logika. Outputnya adalah nilai yang konsisten, tetapi bukan nol.
Tabel 8.
LPM_MULT Sinyal keluaran
Nama sinyal
Diperlukan
Keterangan
hasil[]
Ya
Keluaran data.
Untuk perangkat yang lebih lama dan Intel Cyclone 10 LP, ukuran sinyal output bergantung pada nilai parameter LPM_WIDTHP. Jika LPM_WIDTHP < maks (LPM_WIDTHA + LPM_WIDTHB, LPM_WIDTHS) atau (LPM_WIDTHA + LPM_WIDTHS), hanya LPM_WIDTHP MSB yang ada.
Untuk Intel Stratix 10, Intel Arria 10, dan Intel Cyclone 10 GX, ukuran sinyal output bergantung pada parameter lebar Hasil.
4.6. Parameter untuk Perangkat Stratix V, Arria V, Cyclone V, dan Intel Cyclone 10 LP
4.6.1. Tab Umum
Tabel 9.
Tab Umum
Parameter
Nilai
Konfigurasi Pengganda
Kalikan masukan 'dataa' dengan masukan 'datab'
Nilai Default
Keterangan
Kalikan masukan 'dataa' dengan masukan 'datab'
Pilih konfigurasi pengganda yang diinginkan.
lanjutan…
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 18
Kirim Masukan
4. LPM_MULT (Pengganda) IP Inti 683490 | 2020.10.05
Parameter
Seberapa lebar input 'dataa'? Seberapa lebar seharusnya input 'datab'? Bagaimana cara menentukan lebar keluaran 'hasil'? Batasi lebarnya
Nilai
Kalikan input 'dataa' dengan dirinya sendiri (operasi kuadrat)
1 – 256 bit
Nilai Default
Keterangan
8 bit
Tentukan lebar port dataa[].
1 – 256 bit
8 bit
Tentukan lebar port datab[].
Secara otomatis menghitung lebar Batasi lebarnya
1 – 512 bit
Secara otomatis y menghitung lebarnya
Pilih metode yang diinginkan untuk menentukan lebar port hasil[].
16 bit
Tentukan lebar port hasil[] .
Nilai ini hanya akan efektif jika Anda memilih Batasi lebar di parameter Tipe.
4.6.2. Umum 2 Tab
Tabel 10. Umum 2 Tab
Parameter
Nilai
Masukan Data
Apakah bus masukan 'datab' memiliki nilai konstan?
Tidak Ya
Jenis Perkalian
Tipe yang mana
Tidak ditandatangani
perkalian yang kamu inginkan? Ditandatangani
Pelaksanaan
Implementasi pengganda mana yang harus digunakan?
Gunakan implementasi default
Gunakan sirkuit pengali khusus (Tidak tersedia untuk semua keluarga)
Gunakan elemen logika
Nilai Default
Keterangan
TIDAK
Pilih Ya untuk menentukan nilai konstanta
bus masukan `datab', jika ada.
Tidak ditandatangani
Tentukan format representasi untuk input dataa[] dan datab[].
Gunakan implementasi default
Pilih metode yang diinginkan untuk menentukan lebar port hasil[].
4.6.3. Tab Perpipaan
Tabel 11. Tab Perpipaan
Parameter
Apakah Anda ingin menyalurkan No
fungsi?
Ya
Nilai
Buat 'aclr'
—
port jelas asinkron
Nilai Default
Keterangan
TIDAK
Pilih Ya untuk mengaktifkan pendaftaran alur ke
keluaran pengali dan tentukan yang diinginkan
latensi keluaran dalam siklus jam. Mengaktifkan
register pipeline menambahkan latensi ekstra ke
keluaran.
Tidak dicentang
Pilih opsi ini untuk mengaktifkan port aclr untuk menggunakan asynchronous clear untuk register pipa.
lanjutan…
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 19
4. LPM_MULT (Pengganda) IP Inti 683490 | 2020.10.05
Parameter
Buat jam aktifkan jam 'clken'
Optimasi
Jenis pengoptimalan apa yang Anda inginkan?
Nilai -
Area Kecepatan Default
Nilai Default
Keterangan
Tidak dicentang
Menentukan pengaktifan jam tinggi aktif untuk port jam register pipa
Bawaan
Tentukan optimasi yang diinginkan untuk inti IP.
Pilih Default agar perangkat lunak Intel Quartus Prime dapat menentukan optimalisasi terbaik untuk inti IP.
4.7. Parameter untuk Perangkat Intel Stratix 10, Intel Arria 10, dan Intel Cyclone 10 GX
4.7.1. Tab Umum
Tabel 12. Tab Umum
Parameter
Nilai
Nilai Default
Keterangan
Jenis Konfigurasi Pengganda
Lebar Port Data
Kalikan masukan 'dataa' dengan masukan 'datab'
Kalikan input 'dataa' dengan dirinya sendiri (operasi kuadrat)
Kalikan masukan 'dataa' dengan masukan 'datab'
Pilih konfigurasi pengganda yang diinginkan.
Lebar data
1 – 256 bit
8 bit
Tentukan lebar port dataa[].
Lebar data
1 – 256 bit
8 bit
Tentukan lebar port datab[].
Bagaimana cara menentukan lebar keluaran 'hasil'?
Jenis
Secara otomatis menghitung lebarnya
Batasi lebarnya
Secara otomatis y menghitung lebarnya
Pilih metode yang diinginkan untuk menentukan lebar port hasil[].
Nilai
1 – 512 bit
16 bit
Tentukan lebar port hasil[] .
Nilai ini hanya akan efektif jika Anda memilih Batasi lebar di parameter Tipe.
Lebar hasil
1 – 512 bit
—
Menampilkan lebar efektif port hasil[].
4.7.2. Umum 2 Tab
Tabel 13. Umum 2 Tab
Parameter
Masukan Data
Apakah bus masukan 'datab' memiliki nilai konstan?
Tidak Ya
Nilai
Nilai Default
Keterangan
TIDAK
Pilih Ya untuk menentukan nilai konstanta
bus masukan `datab', jika ada.
lanjutan…
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 20
Kirim Masukan
4. LPM_MULT (Pengganda) IP Inti 683490 | 2020.10.05
Parameter
Nilai
Nilai
Nilai apa pun yang lebih besar dari 0
Jenis Perkalian
Tipe yang mana
Tidak ditandatangani
perkalian yang kamu inginkan? Ditandatangani
Gaya Implementasi
Implementasi pengganda mana yang harus digunakan?
Gunakan implementasi default
Gunakan sirkuit pengali khusus
Gunakan elemen logika
Nilai Default
Keterangan
0
Tentukan nilai konstan port datab[] .
Tidak ditandatangani
Tentukan format representasi untuk input dataa[] dan datab[].
Gunakan implementasi default
Pilih metode yang diinginkan untuk menentukan lebar port hasil[].
4.7.3. perpipaan
Tabel 14. Tab Perpipaan
Parameter
Nilai
Apakah Anda ingin menyalurkan fungsinya?
Saluran pipa
Tidak Ya
Jenis Sinyal Jelas Latensi
Nilai apa pun yang lebih besar dari 0.
TIDAK ADA ACLR SCLR
Buat jam 'clken'
—
aktifkan jam
Jenis pengoptimalan apa yang Anda inginkan?
Jenis
Area Kecepatan Default
Nilai Default
Keterangan
Tidak ada 1 TIDAK ADA
—
Pilih Ya untuk mengaktifkan pendaftaran alur ke output pengganda. Mengaktifkan register pipeline akan menambah latensi ekstra pada output.
Tentukan latensi keluaran yang diinginkan dalam siklus jam.
Tentukan jenis reset untuk register pipa. Pilih NONE jika Anda tidak menggunakan register alur apa pun. Pilih ACLR untuk menggunakan asynchronous clear untuk register pipa. Ini akan menghasilkan port ACLR. Pilih SCLR untuk menggunakan sinkronisasi jelas untuk register pipa. Ini akan menghasilkan port SCLR.
Menentukan pengaktifan jam tinggi aktif untuk port jam register pipa
Bawaan
Tentukan optimasi yang diinginkan untuk inti IP.
Pilih Default agar perangkat lunak Intel Quartus Prime dapat menentukan optimalisasi terbaik untuk inti IP.
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 21
683490 | 2020.10.05 Kirim Umpan Balik
5. LPM_ADD_SUB (Penambah/Pengurang)
Gambar 4.
Inti IP LPM_ADD_SUB memungkinkan Anda mengimplementasikan penambah atau pengurang untuk menambah atau mengurangi kumpulan data guna menghasilkan keluaran yang berisi jumlah atau selisih nilai masukan.
Gambar berikut menunjukkan port untuk inti IP LPM_ADD_SUB.
Pelabuhan LPM_ADD_SUB
LPM_ADD_SUB add_sub cin
dataa[]
jam clken datab[] aclr
hasil[] luapan cout
instan
5.1. Fitur
Inti IP LPM_ADD_SUB menawarkan fitur berikut: · Menghasilkan penambah, pengurang, dan penambah/pengurang yang dapat dikonfigurasi secara dinamis
fungsi. · Mendukung lebar data 1 bit. · Mendukung format representasi data seperti ditandatangani dan tidak ditandatangani. · Mendukung carry-in opsional (pinjaman), asynchronous clear, dan pengaktifan jam
port masukan. · Mendukung port keluaran opsional (pinjaman) dan luapan. · Menetapkan salah satu bus data masukan ke suatu konstanta. · Mendukung pipeline dengan latensi keluaran yang dapat dikonfigurasi.
Perusahaan Intel. Seluruh hak cipta. Intel, logo Intel, dan merek Intel lainnya adalah merek dagang dari Intel Corporation atau anak perusahaannya. Intel menjamin kinerja produk FPGA dan semikonduktornya dengan spesifikasi terkini sesuai dengan garansi standar Intel, tetapi berhak untuk membuat perubahan pada produk dan layanan apa pun kapan saja tanpa pemberitahuan. Intel tidak bertanggung jawab atau berkewajiban yang timbul dari aplikasi atau penggunaan informasi, produk, atau layanan apa pun yang dijelaskan di sini kecuali secara tegas disetujui secara tertulis oleh Intel. Pelanggan Intel disarankan untuk mendapatkan spesifikasi perangkat versi terbaru sebelum mengandalkan informasi yang dipublikasikan dan sebelum melakukan pemesanan produk atau layanan. *Nama dan merek lain dapat diklaim sebagai milik orang lain.
ISO 9001: 2015 Terdaftar
5. LPM_ADD_SUB (Penambah/Pengurang) 683490 | 2020.10.05
5.2. Prototipe Verilog HDL
Prototipe Verilog HDL berikut terletak di Desain Verilog File (.v) lpm.v di direktori edasintesis.
modul lpm_add_sub ( hasil, cout, overflow,add_sub, cin, dataa, datab, jam, clken, aclr ); parameter lpm_type = “lpm_add_sub”; parameter lpm_width = 1; parameter lpm_direction = “TIDAK DIGUNAKAN”; parameter lpm_representation = “DITANDATANGANI”; parameter lpm_pipeline = 0; parameter lpm_hint = “TIDAK DIGUNAKAN”; masukan [lpm_width-1:0] dataa, datab; masukan add_sub, cin; jam masukan; masukan clken; masukan aclr; keluaran hasil [lpm_width-1:0]; jumlah keluaran, luapan; modul akhir
5.3. Deklarasi Komponen VHDL
Deklarasi komponen VHDL terletak di Desain VHDL File (.vhd) LPM_PACK.vhd di direktori perpustakaanvhdllpm.
komponen LPM_ADD_SUB generik (LPM_WIDTH : natural;
LPM_DIRECTION : string := “BELUM DIGUNAKAN”; LPM_REPRESENTATION: string := “DITANDATANGANI”; LPM_PIPELINE : alami := 0; LPM_TYPE : tali := L_ADD_SUB; LPM_HINT : string := “TIDAK DIGUNAKAN”); port (DATAA : dalam std_logic_vector(LPM_WIDTH-1 hingga 0); DATAB : dalam std_logic_vector(LPM_WIDTH-1 hingga 0); ACLR : dalam std_logic := '0'; CLOCK : dalam std_logic := '0'; CLKEN : dalam std_logic := '1'; CIN : masuk std_logic := 'Z'; ADD_SUB : masuk std_logic := '1'; HASIL : keluar std_logic_vector(LPM_WIDTH-1 turun ke 0); komponen akhir;
5.4. Deklarasi VHDL LIBRARY_USE
Deklarasi VHDL LIBRARY-USE tidak diperlukan jika Anda menggunakan Deklarasi Komponen VHDL.
PERPUSTAKAAN lpm; GUNAKAN lpm.lpm_components.all;
5.5. Pelabuhan
Tabel berikut mencantumkan port input dan output untuk inti IP LPM_ADD_SUB.
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 23
5. LPM_ADD_SUB (Penambah/Pengurang) 683490 | 2020.10.05
Tabel 15. Port Input Inti IP LPM_ADD_SUB
Nama Pelabuhan
Diperlukan
Keterangan
sin
TIDAK
Dibawa ke bit tingkat rendah. Untuk operasi penjumlahan, nilai defaultnya adalah 0. Untuk
operasi pengurangan, nilai defaultnya adalah 1.
dataa[]
Ya
masukan data. Ukuran port input bergantung pada nilai parameter LPM_WIDTH.
datab[]
Ya
masukan data. Ukuran port input bergantung pada nilai parameter LPM_WIDTH.
tambahkan_sub
TIDAK
Port input opsional untuk mengaktifkan peralihan dinamis antara penambah dan pengurang
fungsi. Jika parameter LPM_DIRECTION digunakan, add_sub tidak dapat digunakan. Jika
dihilangkan, nilai defaultnya adalah ADD. Intel menyarankan Anda menggunakan
Parameter LPM_DIRECTION untuk menentukan pengoperasian fungsi LPM_ADD_SUB,
daripada menetapkan konstanta ke port add_sub.
jam
TIDAK
Masukan untuk penggunaan saluran pipa. Port jam menyediakan input jam untuk saluran pipa
operasi. Untuk nilai LPM_PIPELINE selain 0 (default), port jam harus
diaktifkan.
klik
TIDAK
Jam diaktifkan untuk penggunaan pipeline. Ketika port clken dinyatakan tinggi, penambah/
operasi pengurangan terjadi. Ketika sinyal rendah, tidak ada operasi yang terjadi. Jika
dihilangkan, nilai defaultnya adalah 1.
aclr
TIDAK
Asynchronous clear untuk penggunaan pipeline. Pipeline diinisialisasi ke tidak terdefinisi (X)
tingkat logika. Port aclr dapat digunakan kapan saja untuk mereset pipeline ke semua 0,
secara asinkron terhadap sinyal clock.
Tabel 16. Port Output Inti IP LPM_ADD_SUB
Nama Pelabuhan
Diperlukan
Keterangan
hasil[]
Ya
Keluaran data. Ukuran port keluaran bergantung pada parameter LPM_WIDTH
nilai.
pengadilan
TIDAK
Melaksanakan (meminjam) bit paling signifikan (MSB). Port cout memiliki fisik
interpretasi sebagai pelaksanaan (borrow-in) MSB. Port cout mendeteksi
meluap dalam operasi UNSIGNED. Port cout beroperasi dengan cara yang sama untuk
Operasi yang DITANDATANGANI dan TIDAK DITANDATANGANI.
meluap
TIDAK
Output pengecualian overflow opsional. Port overflow memiliki interpretasi fisik sebagai
XOR dari carry-in ke MSB dengan carry-out dari MSB. Pelabuhan luapan
menegaskan ketika hasil melebihi presisi yang tersedia, dan hanya digunakan ketika
Nilai parameter LPM_REPRESENTATION DITATANDAI.
5.6. Parameter
Tabel berikut mencantumkan parameter inti IP LPM_ADD_SUB.
Tabel 17. Parameter Inti IP LPM_ADD_SUB
Nama Parameter LPM_WIDTH
Ketik Integer
Wajib Ya
Keterangan
Menentukan lebar port dataa[], datab[], dan result[].
LPM_DIRECTION
Rangkaian
TIDAK
Nilainya adalah ADD, SUB, dan UNUSED. Jika dihilangkan, nilai defaultnya adalah DEFAULT, yang mengarahkan parameter untuk mengambil nilainya dari port add_sub. Port add_sub tidak dapat digunakan jika LPM_DIRECTION digunakan. Intel menyarankan Anda menggunakan parameter LPM_DIRECTION untuk menentukan pengoperasian fungsi LPM_ADD_SUB, daripada menetapkan konstanta ke port add_sub.
lanjutan…
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 24
Kirim Masukan
5. LPM_ADD_SUB (Penambah/Pengurang) 683490 | 2020.10.05
Nama Parameter LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY
Ketik String Integer String String String Integer
Rangkaian
Wajib Tidak Tidak Tidak Tidak Tidak Tidak
TIDAK
Keterangan
Menentukan jenis penambahan yang dilakukan. Nilai DITATANDAI dan TIDAK DITATANDAI. Jika dihilangkan, nilai defaultnya adalah DITANDATANGANI. Ketika parameter ini diatur ke SIGNED, penambah/pengurang menafsirkan input data sebagai komplemen dua yang ditandatangani.
Menentukan jumlah siklus jam latensi yang terkait dengan keluaran result[]. Nilai nol (0) menunjukkan bahwa tidak ada latensi, dan fungsi kombinasional murni akan dipakai. Jika dihilangkan, nilai defaultnya adalah 0 (tidak disalurkan).
Memungkinkan Anda menentukan parameter spesifik Intel dalam desain VHDL files (.vhd). Nilai defaultnya adalah TIDAK DIGUNAKAN.
Mengidentifikasi nama entitas perpustakaan modul berparameter (LPM) dalam desain VHDL files.
Parameter khusus Intel. Anda harus menggunakan parameter LPM_HINT untuk menentukan parameter ONE_INPUT_IS_CONSTANT dalam desain VHDL fileS. Nilainya adalah YA, TIDAK, dan TIDAK DIGUNAKAN. Memberikan pengoptimalan yang lebih besar jika satu masukan konstan. Jika dihilangkan, nilai defaultnya adalah NO.
Parameter khusus Intel. Anda harus menggunakan parameter LPM_HINT untuk menentukan parameter MAXIMIZE_SPEED dalam desain VHDL fileS. Anda dapat menentukan nilai antara 0 dan 10. Jika digunakan, perangkat lunak Intel Quartus Prime berupaya mengoptimalkan instans spesifik fungsi LPM_ADD_SUB untuk kecepatan, bukan perutean, dan mengesampingkan pengaturan opsi logika Teknik Optimasi. Jika MAXIMIZE_SPEED tidak digunakan, nilai opsi Teknik Optimasi akan digunakan. Jika pengaturan untuk MAXIMIZE_SPEED adalah 6 atau lebih tinggi, Kompiler mengoptimalkan inti IP LPM_ADD_SUB untuk kecepatan lebih tinggi menggunakan rantai pembawa; jika pengaturannya 5 atau kurang, Kompiler mengimplementasikan desain tanpa rantai pembawa. Parameter ini harus ditentukan untuk perangkat Cyclone, Stratix, dan Stratix GX hanya jika port add_sub tidak digunakan.
Parameter ini digunakan untuk tujuan pemodelan dan simulasi perilaku. Editor parameter menghitung nilai untuk parameter ini.
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 25
683490 | 2020.10.05 Kirim Umpan Balik
6. LPM_COMPARE (Pembanding)
Gambar 5.
Inti IP LPM_COMPARE membandingkan nilai dua kumpulan data untuk menentukan hubungan di antara keduanya. Dalam bentuknya yang paling sederhana, Anda dapat menggunakan gerbang OR eksklusif untuk menentukan apakah dua bit data sama.
Gambar berikut menunjukkan port untuk inti IP LPM_COMPARE.
LPM_COMPARE Port
LPM_COMPARE
klik
alb
aeb
dataa[]
agb
datab[]
umurb
jam
aneb
aclr
aleb
instan
6.1. Fitur
Inti IP LPM_COMPARE menawarkan fitur-fitur berikut: · Menghasilkan fungsi komparator untuk membandingkan dua set data · Mendukung lebar data 1 bit · Mendukung format representasi data seperti ditandatangani dan tidak ditandatangani · Menghasilkan jenis keluaran berikut:
— alb (masukan A lebih kecil dari masukan B) — aeb (masukan A sama dengan masukan B) — agb (masukan A lebih besar dari masukan B) — ageb (masukan A lebih besar atau sama dengan masukan B) — aneb ( input A tidak sama dengan input B) — aleb (input A kurang dari atau sama dengan input B) · Mendukung port input asynchronous clear dan clock aktif opsional · Menetapkan input datab[] ke konstanta · Mendukung pipeline dengan latensi output yang dapat dikonfigurasi
Perusahaan Intel. Seluruh hak cipta. Intel, logo Intel, dan merek Intel lainnya adalah merek dagang dari Intel Corporation atau anak perusahaannya. Intel menjamin kinerja produk FPGA dan semikonduktornya dengan spesifikasi terkini sesuai dengan garansi standar Intel, tetapi berhak untuk membuat perubahan pada produk dan layanan apa pun kapan saja tanpa pemberitahuan. Intel tidak bertanggung jawab atau berkewajiban yang timbul dari aplikasi atau penggunaan informasi, produk, atau layanan apa pun yang dijelaskan di sini kecuali secara tegas disetujui secara tertulis oleh Intel. Pelanggan Intel disarankan untuk mendapatkan spesifikasi perangkat versi terbaru sebelum mengandalkan informasi yang dipublikasikan dan sebelum melakukan pemesanan produk atau layanan. *Nama dan merek lain dapat diklaim sebagai milik orang lain.
ISO 9001: 2015 Terdaftar
6. LPM_COMPARE (Pembanding) 683490 | 2020.10.05
6.2. Prototipe Verilog HDL
Prototipe Verilog HDL berikut terletak di Desain Verilog File (.v) lpm.v di direktori edasintesis.
modul lpm_compare ( alb, aeb, agb, aleb, aneb, ageb, dataa, datab, jam, clken, aclr ); parameter lpm_type = “lpm_compare”; parameter lpm_width = 1; parameter lpm_representation = “TIDAK DITANDATANGANI”; parameter lpm_pipeline = 0; parameter lpm_hint = “TIDAK DIGUNAKAN”; masukan [lpm_width-1:0] dataa, datab; jam masuk; masukan clken; masukan aclr; keluaran alb, aeb, agb, aleb, aneb, ageb; modul akhir
6.3. Deklarasi Komponen VHDL
Deklarasi komponen VHDL terletak di Desain VHDL File (.vhd) LPM_PACK.vhd di direktori perpustakaanvhdllpm.
komponen LPM_COMPARE generik (LPM_WIDTH : natural;
LPM_REPRESENTATION : string := “TIDAK DITANDATANGANI”; LPM_PIPELINE : alami := 0; LPM_TYPE: string := L_COMPARE; LPM_HINT : string := “TIDAK DIGUNAKAN”); port (DATAA : dalam std_logic_vector(LPM_WIDTH-1 hingga 0); DATAB : dalam std_logic_vector(LPM_WIDTH-1 hingga 0); ACLR : dalam std_logic := '0'; CLOCK : dalam std_logic := '0'; CLKEN : dalam std_logic := '1'; AGB : keluar std_logic; AGEB : keluar std_logic; komponen akhir;
6.4. Deklarasi VHDL LIBRARY_USE
Deklarasi VHDL LIBRARY-USE tidak diperlukan jika Anda menggunakan Deklarasi Komponen VHDL.
PERPUSTAKAAN lpm; GUNAKAN lpm.lpm_components.all;
6.5. Pelabuhan
Tabel berikut mencantumkan port input dan output untuk inti IP LMP_COMPARE.
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 27
6. LPM_COMPARE (Pembanding) 683490 | 2020.10.05
Tabel 18. LPM_COMPARE Port Input inti IP
Nama Pelabuhan
Diperlukan
Keterangan
dataa[]
Ya
masukan data. Ukuran port input bergantung pada nilai parameter LPM_WIDTH.
datab[]
Ya
masukan data. Ukuran port input bergantung pada nilai parameter LPM_WIDTH.
jam
TIDAK
Input jam untuk penggunaan pipeline. Port jam menyediakan masukan jam untuk saluran pipa
operasi. Untuk nilai LPM_PIPELINE selain 0 (default), port jam harus
diaktifkan.
klik
TIDAK
Jam diaktifkan untuk penggunaan pipeline. Ketika port clken ditetapkan tinggi, maka
operasi perbandingan berlangsung. Ketika sinyal rendah, tidak ada operasi yang terjadi. Jika
dihilangkan, nilai defaultnya adalah 1.
aclr
TIDAK
Asynchronous clear untuk penggunaan pipeline. Alur diinisialisasi ke logika yang tidak terdefinisi (X).
tingkat. Port aclr dapat digunakan kapan saja untuk mereset pipeline ke semua 0,
secara asinkron terhadap sinyal clock.
Tabel 19. LPM_COMPARE Port Output inti IP
Nama Pelabuhan
Diperlukan
Keterangan
alb
TIDAK
Port keluaran untuk komparator. Dinyatakan jika input A lebih kecil dari input B.
aeb
TIDAK
Port keluaran untuk komparator. Dinyatakan jika input A sama dengan input B.
agb
TIDAK
Port keluaran untuk komparator. Dinyatakan jika input A lebih besar dari input B.
umurb
TIDAK
Port keluaran untuk komparator. Dinyatakan jika input A lebih besar atau sama dengan input
B.
aneb
TIDAK
Port keluaran untuk komparator. Dinyatakan jika input A tidak sama dengan input B.
aleb
TIDAK
Port keluaran untuk komparator. Dinyatakan jika input A lebih kecil atau sama dengan input B.
6.6. Parameter
Tabel berikut mencantumkan parameter untuk inti IP LPM_COMPARE.
Tabel 20. LPM_COMPARE Parameter inti IP
Nama Parameter
Jenis
Diperlukan
LPM_WIDTH
bilangan bulat ya
LPM_REPRESENTASI
Rangkaian
TIDAK
LPM_PIPELINE
bilangan bulat no
LPM_PETUNJUK
Rangkaian
TIDAK
Keterangan
Menentukan lebar port dataa[] dan datab[].
Menentukan jenis perbandingan yang dilakukan. Nilai DITATANDAI dan TIDAK DITATANDAI. Jika dihilangkan, nilai defaultnya adalah UNSIGNED. Ketika nilai parameter ini diatur ke SIGNED, pembanding menafsirkan input data sebagai komplemen dua yang ditandatangani.
Menentukan jumlah siklus jam latensi yang terkait dengan keluaran alb, aeb, agb, ageb, aleb, atau aneb. Nilai nol (0) menunjukkan bahwa tidak ada latensi, dan fungsi kombinasional murni akan dipakai. Jika dihilangkan, nilai defaultnya adalah 0 (nonpipelined).
Memungkinkan Anda menentukan parameter spesifik Intel dalam desain VHDL files (.vhd). Nilai defaultnya adalah TIDAK DIGUNAKAN.
lanjutan…
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 28
Kirim Masukan
6. LPM_COMPARE (Pembanding) 683490 | 2020.10.05
Nama Parameter LPM_TYPE INTENDED_DEVICE_FAMILY
SATU_INPUT_IS_CONSTANT
Ketik String String
Rangkaian
Diperlukan Tidak Tidak
TIDAK
Keterangan
Mengidentifikasi nama entitas perpustakaan modul berparameter (LPM) dalam desain VHDL files.
Parameter ini digunakan untuk tujuan pemodelan dan simulasi perilaku. Editor parameter menghitung nilai untuk parameter ini.
Parameter khusus Intel. Anda harus menggunakan parameter LPM_HINT untuk menentukan parameter ONE_INPUT_IS_CONSTANT dalam desain VHDL fileS. Nilainya adalah YA, TIDAK, atau TIDAK DIGUNAKAN. Memberikan pengoptimalan yang lebih besar jika inputnya konstan. Jika dihilangkan, nilai defaultnya adalah NO.
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 29
683490 | 2020.10.05 Kirim Umpan Balik
7. ALTECC (Kode Koreksi Kesalahan: Encoder/Decoder) IP Core
Gambar 6.
Intel menyediakan inti IP ALTECC untuk mengimplementasikan fungsionalitas ECC. ECC mendeteksi data rusak yang terjadi di sisi penerima selama transmisi data. Metode koreksi kesalahan ini paling cocok untuk situasi di mana kesalahan terjadi secara acak, bukan secara beruntun.
ECC mendeteksi kesalahan melalui proses pengkodean dan penguraian data. MisalnyaampMisalnya, ketika ECC diterapkan dalam aplikasi transmisi, data yang dibaca dari sumber dikodekan sebelum dikirim ke penerima. Output (kata kode) dari encoder terdiri dari data mentah yang ditambahkan jumlah bit paritas. Jumlah pasti bit paritas yang ditambahkan bergantung pada jumlah bit pada data masukan. Kata kode yang dihasilkan kemudian dikirim ke tujuan.
Penerima menerima kata kode dan menerjemahkannya. Informasi yang diperoleh decoder menentukan apakah suatu kesalahan terdeteksi. Decoder mendeteksi kesalahan bit tunggal dan ganda, tetapi hanya dapat memperbaiki kesalahan bit tunggal pada data yang rusak. Jenis ECC ini adalah deteksi kesalahan ganda koreksi kesalahan tunggal (SECDED).
Anda dapat mengonfigurasi fungsi encoder dan decoder dari inti IP ALTECC. Input data ke encoder dikodekan untuk menghasilkan kata kode yang merupakan kombinasi dari input data dan bit paritas yang dihasilkan. Kata kode yang dihasilkan ditransmisikan ke modul decoder untuk didekodekan sesaat sebelum mencapai blok tujuannya. Dekoder menghasilkan vektor sindrom untuk menentukan apakah ada kesalahan pada kata kode yang diterima. Decoder mengoreksi data hanya jika kesalahan bit tunggal berasal dari bit data. Tidak ada sinyal yang ditandai jika kesalahan bit tunggal berasal dari bit paritas. Decoder juga memiliki sinyal bendera untuk menunjukkan status data yang diterima dan tindakan yang diambil oleh decoder, jika ada.
Gambar berikut menunjukkan port untuk inti IP ALTECC.
Port Encoder ALTECC
ALTECC_ENCODER
data[]
Q[]
jam
jam tangan
aclr
instan
Perusahaan Intel. Seluruh hak cipta. Intel, logo Intel, dan merek Intel lainnya adalah merek dagang dari Intel Corporation atau anak perusahaannya. Intel menjamin kinerja produk FPGA dan semikonduktornya dengan spesifikasi terkini sesuai dengan garansi standar Intel, tetapi berhak untuk membuat perubahan pada produk dan layanan apa pun kapan saja tanpa pemberitahuan. Intel tidak bertanggung jawab atau berkewajiban yang timbul dari aplikasi atau penggunaan informasi, produk, atau layanan apa pun yang dijelaskan di sini kecuali secara tegas disetujui secara tertulis oleh Intel. Pelanggan Intel disarankan untuk mendapatkan spesifikasi perangkat versi terbaru sebelum mengandalkan informasi yang dipublikasikan dan sebelum melakukan pemesanan produk atau layanan. *Nama dan merek lain dapat diklaim sebagai milik orang lain.
ISO 9001: 2015 Terdaftar
7. ALTECC (Kode Koreksi Kesalahan: Encoder/Decoder) IP Core 683490 | 2020.10.05
Gambar 7. Port Dekoder ALTECC
ALTECC_DECODER
data[] jam jam
q[] err_terdeteksi err_dikoreksi
err_fatal
aclr
instan
7.1. Fitur Encoder ALTECC
Inti IP encoder ALTECC menawarkan fitur-fitur berikut: · Melakukan pengkodean data menggunakan skema Hamming Coding · Mendukung lebar data 2 bit · Mendukung format representasi data yang ditandatangani dan tidak ditandatangani · Mendukung pipeline dengan latensi keluaran satu atau dua siklus jam · Mendukung opsional port pengaktifan asynchronous clear dan clock
Inti IP encoder ALTECC mengambil dan mengkodekan data menggunakan skema Hamming Coding. Skema Hamming Coding memperoleh bit paritas dan menambahkannya ke data asli untuk menghasilkan kata kode keluaran. Jumlah bit paritas yang ditambahkan bergantung pada lebar data.
Tabel berikut mencantumkan jumlah bit paritas yang ditambahkan untuk rentang lebar data yang berbeda. Kolom Total Bits mewakili jumlah total bit data input dan bit paritas yang ditambahkan.
Tabel 21.
Jumlah Bit Paritas dan Kata Kode Menurut Lebar Data
Lebar Data
Jumlah Bit Paritas
Total Bit (Kata Kode)
Nomor telepon 2-4
3+1
Nomor telepon 6-8
Nomor telepon 5-11
4+1
Nomor telepon 10-16
Nomor telepon 12-26
5+1
Nomor telepon 18-32
Nomor telepon 27-57
6+1
Nomor telepon 34-64
Nomor telepon 58-64
7+1
Nomor telepon 66-72
Derivasi bit paritas menggunakan pemeriksaan paritas genap. 1 bit tambahan (ditampilkan dalam tabel sebagai +1) ditambahkan ke bit paritas sebagai MSB dari kata kode. Hal ini memastikan bahwa kata kode mempunyai bilangan genap 1. MisalnyaampMisalnya, jika lebar datanya 4 bit, maka 4 bit paritas ditambahkan pada data tersebut menjadi kata kode dengan total 8 bit. Jika 7 bit dari LSB kata kode 8-bit mempunyai jumlah 1 ganjil, bit ke-8 (MSB) kata kode adalah 1 sehingga jumlah total 1 dalam kata kode menjadi genap.
Gambar berikut menunjukkan kata kode yang dihasilkan dan susunan bit paritas dan bit data pada input data 8-bit.
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 31
7. ALTECC (Kode Koreksi Kesalahan: Encoder/Decoder) IP Core 683490 | 2020.10.05
Gambar 8.
Susunan Bit Paritas dan Bit Data dalam Kata Kode yang Dihasilkan 8-Bit
MSB
LSB
4 bit paritas
4 bit data
8
1
Inti IP encoder ALTECC hanya menerima lebar input 2 hingga 64 bit pada satu waktu. Lebar input 12 bit, 29 bit, dan 64 bit, yang cocok untuk perangkat Intel, menghasilkan output masing-masing 18 bit, 36 bit, dan 72 bit. Anda dapat mengontrol batasan pemilihan bit di editor parameter.
7.2. Prototipe Verilog HDL (ALTECC_ENCODER)
Prototipe Verilog HDL berikut terletak di Desain Verilog File (.v) lpm.v di direktori edasintesis.
modul altecc_encoder #( parameter yang dimaksudkan_device_family = “tidak digunakan”, parameter lpm_pipeline = 0, parameter width_codeword = 8, parameter width_dataword = 8, parameter lpm_type = “altecc_encoder”, parameter lpm_hint = “tidak digunakan”) ( kabel input aclr, jam kabel input, input kabel jam, kabel masukan [width_dataword-1:0] data, kabel keluaran [width_codeword-1:0] q); modul akhir
7.3. Prototipe Verilog HDL (ALTECC_DECODER)
Prototipe Verilog HDL berikut terletak di Desain Verilog File (.v) lpm.v di direktori edasintesis.
modul altecc_decoder #( parameter yang diinginkan_device_family = “tidak digunakan”, parameter lpm_pipeline = 0, parameter width_codeword = 8, parameter width_dataword = 8, parameter lpm_type = “altecc_decoder”, parameter lpm_hint = “tidak digunakan”) ( kabel input aclr, jam kabel input, input kabel jam, kabel masukan [width_codeword-1:0] data, kabel keluaran err_ Corrected, kabel keluaran err_detected, kabel keluaran err_fatal, kabel keluaran [width_dataword-1:0] q); modul akhir
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 32
Kirim Masukan
7. ALTECC (Kode Koreksi Kesalahan: Encoder/Decoder) IP Core 683490 | 2020.10.05
7.4. Deklarasi Komponen VHDL (ALTECC_ENCODER)
Deklarasi komponen VHDL terletak di Desain VHDL File (.vhd) altera_mf_components.vhd di direktori perpustakaanvhdlaltera_mf.
komponen altecc_encoder generik ( dimaksudkan_device_family:string := “tidak digunakan”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “TIDAK DIGUNAKAN”; lpm_type:string := “altecc_encoder ”); port( aclr:di std_logic := '0'; jam:di std_logic := '0'; clocken:di std_logic := '1'; data:di std_logic_vector(width_dataword-1 turun ke 0); q:out std_logic_vector(width_codeword -1 hingga 0)); komponen akhir;
7.5. Deklarasi Komponen VHDL (ALTECC_DECODER)
Deklarasi komponen VHDL terletak di Desain VHDL File (.vhd) altera_mf_components.vhd di direktori perpustakaanvhdlaltera_mf.
komponen altecc_decoder generik ( dimaksudkan_device_family:string := “tidak terpakai”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “TIDAK DIGUNAKAN”; lpm_type:string := “altecc_decoder ”); port( aclr:di std_logic := '0'; jam:di std_logic := '0'; clocken:di std_logic := '1'; data:di std_logic_vector(lebar_kodekata-1 turun ke 0); err_koreksi : keluar std_logic; err_detected : keluar std_logic; q:keluar std_logic_vector(lebar_datakata-1 turun ke 0); komponen akhir;
7.6. Deklarasi VHDL LIBRARY_USE
Deklarasi VHDL LIBRARY-USE tidak diperlukan jika Anda menggunakan Deklarasi Komponen VHDL.
PERPUSTAKAAN altera_mf; GUNAKAN altera_mf.altera_mf_components.all;
7.7. Port Encoder
Tabel berikut mencantumkan port input dan output untuk inti IP encoder ALTECC.
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 33
7. ALTECC (Kode Koreksi Kesalahan: Encoder/Decoder) IP Core 683490 | 2020.10.05
Tabel 22. Port Input Encoder ALTECC
Nama Pelabuhan
Diperlukan
Keterangan
data[]
Ya
Pelabuhan masukan data. Besar kecilnya port masukan bergantung pada WIDTH_DATAWORD
nilai parameter. Port data[] berisi data mentah yang akan dikodekan.
jam
Ya
Port input jam yang menyediakan sinyal jam untuk menyinkronkan operasi pengkodean.
Port jam diperlukan ketika nilai LPM_PIPELINE lebih besar dari 0.
jam tangan
TIDAK
Aktifkan jam. Jika dihilangkan, nilai defaultnya adalah 1.
aclr
TIDAK
Masukan jelas asinkron. Sinyal high aclr yang aktif dapat digunakan kapan saja untuk
menghapus register secara asinkron.
Tabel 23. Port Output Encoder ALTECC
Nama Pelabuhan q[]
Wajib Ya
Keterangan
Port keluaran data yang dikodekan. Ukuran port keluaran bergantung pada nilai parameter WIDTH_CODEWORD.
7.8. Port Dekoder
Tabel berikut mencantumkan port input dan output untuk inti IP dekoder ALTECC.
Tabel 24. Port Input Dekoder ALTECC
Nama Pelabuhan
Diperlukan
Keterangan
data[]
Ya
Pelabuhan masukan data. Ukuran port input bergantung pada nilai parameter WIDTH_CODEWORD.
jam
Ya
Port input jam yang menyediakan sinyal jam untuk menyinkronkan operasi pengkodean. Port jam diperlukan ketika nilai LPM_PIPELINE lebih besar dari 0.
jam tangan
TIDAK
Aktifkan jam. Jika dihilangkan, nilai defaultnya adalah 1.
aclr
TIDAK
Masukan jelas asinkron. Sinyal aclr tinggi yang aktif dapat digunakan kapan saja untuk menghapus register secara asinkron.
Tabel 25. Port Output Dekoder ALTECC
Nama Pelabuhan q[]
Wajib Ya
Keterangan
Port keluaran data yang didekodekan. Ukuran port keluaran bergantung pada nilai parameter WIDTH_DATAWORD.
err_detected Ya
Tandai sinyal untuk mencerminkan status data yang diterima dan menentukan kesalahan apa pun yang ditemukan.
err_benar Ya d
Tandai sinyal untuk mencerminkan status data yang diterima. Menunjukkan kesalahan bit tunggal ditemukan dan diperbaiki. Anda dapat menggunakan data tersebut karena sudah diperbaiki.
err_fatal
Ya
Tandai sinyal untuk mencerminkan status data yang diterima. Menunjukkan kesalahan bit ganda ditemukan, namun tidak diperbaiki. Anda tidak boleh menggunakan data jika sinyal ini ditegaskan.
sejak itu
TIDAK
Sinyal keluaran yang akan menjadi tinggi setiap kali kesalahan bit tunggal terdeteksi pada paritas
sedikit.
7.9. Parameter Pembuat Enkode
Tabel berikut mencantumkan parameter untuk inti IP encoder ALTECC.
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 34
Kirim Masukan
7. ALTECC (Kode Koreksi Kesalahan: Encoder/Decoder) IP Core 683490 | 2020.10.05
Tabel 26. Parameter Encoder ALTECC
Nama Parameter
Jenis
Diperlukan
Keterangan
WIDTH_DATAWORD
bilangan bulat ya
Menentukan lebar data mentah. Nilainya dari 2 hingga 64. Jika dihilangkan, nilai defaultnya adalah 8.
LEBAR_CODEWORD
bilangan bulat ya
Menentukan lebar kata kode yang sesuai. Nilai yang valid adalah dari 6 hingga 72, tidak termasuk 9, 17, 33, dan 65. Jika dihilangkan, nilai defaultnya adalah 13.
LPM_PIPELINE
bilangan bulat no
Menentukan jalur pipa untuk sirkuit. Nilainya dari 0 hingga 2. Jika nilainya 0, port tidak terdaftar. Jika nilainya 1, port keluaran didaftarkan. Jika nilainya 2, port input dan output didaftarkan. Jika dihilangkan, nilai defaultnya adalah 0.
7.10. Parameter Dekoder
Tabel berikut mencantumkan parameter inti IP dekoder ALTECC.
Tabel 27. Parameter Dekoder ALTECC
Nama Parameter WIDTH_DATAWORD
Ketik Integer
Diperlukan
Keterangan
Ya
Menentukan lebar data mentah. Nilainya adalah 2 hingga 64. The
nilai default adalah 8.
LEBAR_CODEWORD
Bilangan bulat
Ya
Menentukan lebar kata kode yang sesuai. Nilainya adalah 6
hingga 72, tidak termasuk 9, 17, 33, dan 65. Jika dihilangkan, nilai default
adalah 13.
LPM_PIPELINE
Bilangan bulat
TIDAK
Menentukan register sirkuit. Nilainya dari 0 hingga 2. Jika
nilainya 0, tidak ada register yang diterapkan. Jika nilainya 1, maka
keluaran didaftarkan. Jika nilainya 2, input dan
keluaran didaftarkan. Jika nilainya lebih besar dari 2, ditambah
register diimplementasikan pada output untuk tambahan
latensi. Jika dihilangkan, nilai defaultnya adalah 0.
Buat port 'syn_e'
Bilangan bulat
TIDAK
Aktifkan parameter ini untuk membuat port syn_e.
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 35
683490 | 2020.10.05 Kirim Umpan Balik
8. Intel FPGA Multiply Adder IP Inti
Gambar 9.
Inti IP Intel FPGA Multiply Adder (perangkat Intel Stratix 10, Intel Arria 10, dan Intel Cyclone 10 GX) atau ALTERA_MULT_ADD (perangkat Arria V, Stratix V, dan Cyclone V) memungkinkan Anda menerapkan penambah pengganda.
Gambar berikut menunjukkan port untuk Intel FPGA Multiply Adder atau inti IP ALTERA_MULT_ADD.
Port Intel FPGA Multiply Adder atau ALTERA_MULT_ADD
Intel FPGA Multiply Adder atau ALTERA_MULT_ADD
dataa[] tanda tangan datab[] tanda tangan datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] jam0 jam1 jam2 ena0 ena1 ena2 sload_accum
akumulasi_sload rantai di []
scanouta[] hasil[]
aclr0 aclr1
instan
Penambah-pengganda menerima pasangan masukan, mengalikan nilainya, lalu menambah atau mengurangi hasil kali semua pasangan lainnya.
Jika semua lebar data input adalah 9-bit atau lebih kecil, fungsi tersebut menggunakan konfigurasi pengganda input 9 x 9 bit di blok DSP untuk perangkat yang mendukung konfigurasi 9 x 9. Jika tidak, blok DSP menggunakan pengganda input 18x18-bit untuk memproses data dengan lebar antara 10 bit dan 18 bit. Jika beberapa inti Intel FPGA Multiply Adder atau ALTERA_MULT_ADD IP muncul dalam desain, fungsinya didistribusikan ke sebagai
Perusahaan Intel. Seluruh hak cipta. Intel, logo Intel, dan merek Intel lainnya adalah merek dagang dari Intel Corporation atau anak perusahaannya. Intel menjamin kinerja produk FPGA dan semikonduktornya dengan spesifikasi terkini sesuai dengan garansi standar Intel, tetapi berhak untuk membuat perubahan pada produk dan layanan apa pun kapan saja tanpa pemberitahuan. Intel tidak bertanggung jawab atau berkewajiban yang timbul dari aplikasi atau penggunaan informasi, produk, atau layanan apa pun yang dijelaskan di sini kecuali secara tegas disetujui secara tertulis oleh Intel. Pelanggan Intel disarankan untuk mendapatkan spesifikasi perangkat versi terbaru sebelum mengandalkan informasi yang dipublikasikan dan sebelum melakukan pemesanan produk atau layanan. *Nama dan merek lain dapat diklaim sebagai milik orang lain.
ISO 9001: 2015 Terdaftar
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
sebanyak mungkin blok DSP yang berbeda sehingga perutean ke blok ini lebih fleksibel. Pengganda yang lebih sedikit per blok DSP memungkinkan lebih banyak pilihan perutean ke dalam blok dengan meminimalkan jalur ke seluruh perangkat.
Register dan register pipeline tambahan untuk sinyal berikut juga ditempatkan di dalam blok DSP: · Input data · Pilihan bertanda tangan atau tidak bertanda tangan · Menambah atau mengurangi pilihan · Produk pengganda
Dalam hal hasil keluaran, register pertama ditempatkan di blok DSP. Namun register latensi tambahan ditempatkan di elemen logika di luar blok. Periferal ke blok DSP, termasuk masukan data ke pengali, masukan sinyal kontrol, dan keluaran penambah, menggunakan perutean reguler untuk berkomunikasi dengan seluruh perangkat. Semua koneksi dalam fungsi menggunakan perutean khusus di dalam blok DSP. Perutean khusus ini mencakup rantai register geser ketika Anda memilih opsi untuk menggeser data masukan pengali yang terdaftar dari satu pengali ke pengali yang berdekatan.
Untuk informasi lebih lanjut tentang blok DSP di salah satu seri perangkat Stratix V, dan Arria V, lihat bab Blok DSP dari masing-masing buku pegangan di halaman Literatur dan Dokumentasi Teknis.
Informasi Terkait AN 306: Penerapan Pengganda pada Perangkat FPGA
Memberikan informasi selengkapnya tentang penerapan pengganda menggunakan DSP dan blok memori di perangkat Intel FPGA.
8.1. Fitur
Intel FPGA Multiply Adder atau inti IP ALTERA_MULT_ADD menawarkan fitur berikut: · Menghasilkan pengganda untuk melakukan operasi perkalian dua kompleks
angka Catatan: Saat membuat pengganda lebih besar dari ukuran asli yang didukung, mungkin ada/
akan menjadi dampak kinerja yang dihasilkan dari pengurutan blok DSP. · Mendukung lebar data 1 bit · Mendukung format representasi data yang ditandatangani dan tidak ditandatangani · Mendukung pipeline dengan latensi masukan yang dapat dikonfigurasi · Memberikan opsi untuk beralih secara dinamis antara dukungan data yang ditandatangani dan tidak ditandatangani · Memberikan opsi untuk beralih secara dinamis antara operasi tambah dan kurang · Mendukung port input pengaktifan jam dan jernih asinkron dan sinkron opsional · Mendukung mode register penundaan sistolik · Mendukung pra-penambah dengan 256 koefisien pramuat per pengali · Mendukung konstanta pramuat untuk melengkapi umpan balik akumulator
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 37
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1. Pra-penambah
Dengan pra-penambah, penambahan atau pengurangan dilakukan sebelum pengali dimasukkan.
Ada lima mode pra-penambah: · Mode sederhana · Mode koefisien · Mode input · Mode persegi · Mode konstan
Catatan:
Ketika pra-penambah digunakan (koefisien pra-tambahan/input/mode kuadrat), semua input data ke pengali harus memiliki pengaturan jam yang sama.
8.1.1.1. Mode Sederhana Pra-penambah
Dalam mode ini, kedua operan berasal dari port input dan pre-adder tidak digunakan atau dilewati. Ini adalah modus bawaan.
Gambar 10. Mode Sederhana Pra-penambah
sebuah0
Multi0
hasil
8.1.1.2. Mode Koefisien Pra-penambah
Dalam mode ini, satu operan pengali berasal dari pra-penambah, dan operan lainnya berasal dari penyimpanan koefisien internal. Penyimpanan koefisien memungkinkan hingga 8 konstanta preset. Sinyal pemilihan koefisien adalah coefsel[0..3].
Modus ini dinyatakan dalam persamaan berikut.
Berikut ini menunjukkan mode koefisien pra-penambah dari suatu pengali.
Gambar 11. Mode Koefisien Pra-penambah
pembaca
a0
Multi0
+/-
hasil
b0
koefisien sel0
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 38
Kirim Masukan
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1.3. Mode Input Pra-penambah Dalam mode ini, satu operan pengali berasal dari pra-penambah, dan operan lainnya berasal dari port input datac[]. Modus ini dinyatakan dalam persamaan berikut.
Berikut ini menunjukkan mode input pra-penambah dari pengali.
Gambar 12. Mode Input Pra-penambah
sebuah0
Multi0
+/-
hasil
c0
8.1.1.4. Mode Kotak Pra-penambah Mode ini dinyatakan dalam persamaan berikut.
Berikut ini menunjukkan mode kuadrat pra-penjumlah dari dua pengali.
Gambar 13. Mode Kotak Pra-penambah
sebuah0
Multi0
+/-
hasil
8.1.1.5. Mode Konstan Pra-penambah
Dalam mode ini, satu operan pengali berasal dari port input, dan operan lainnya berasal dari penyimpanan koefisien internal. Penyimpanan koefisien memungkinkan hingga 8 konstanta preset. Sinyal pemilihan koefisien adalah coefsel[0..3].
Modus ini dinyatakan dalam persamaan berikut.
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 39
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Gambar berikut menunjukkan mode konstanta pra-penambah dari suatu pengali.
Gambar 14. Mode Konstan Pra-penambah
a0
Multi0
hasil
koefisien0
koefisien
8.1.2. Daftar Penundaan Sistolik
Dalam arsitektur sistolik, data masukan dimasukkan ke dalam rangkaian register yang bertindak sebagai buffer data. Setiap register mengirimkan input sample ke pengali yang dikalikan dengan koefisien masing-masing. Penambah rantai menyimpan hasil gabungan bertahap dari pengali dan hasil yang didaftarkan sebelumnya dari port input chainin[] untuk membentuk hasil akhir. Setiap elemen perkalian-tambah harus ditunda satu siklus agar hasilnya tersinkronisasi dengan tepat ketika dijumlahkan. Setiap penundaan berturut-turut digunakan untuk mengatasi memori koefisien dan buffer data dari elemen perkalian masing-masing. Misalnyaample, satu penundaan untuk elemen perkalian penjumlahan kedua, dua penundaan untuk elemen perkalian penjumlahan ketiga, dan seterusnya.
Gambar 15. Register Sistolik
Register sistolik
x(t) c(0)
S-1
S-1
c(1)
S-1
S-1
c(2)
S-1
S-1
c(N-1)
S-1
S-1
S-1
S -1 tahun(t)
x(t) mewakili hasil dari aliran input s yang berkelanjutanamples dan y(t)
mewakili penjumlahan dari satu set input samples, dan pada waktunya, dikalikan dengan mereka
koefisien masing-masing. Baik hasil input maupun outputnya mengalir dari kiri ke kanan. C(0) hingga c(N-1) menunjukkan koefisien. Register penundaan sistolik dilambangkan dengan S-1, sedangkan 1 mewakili penundaan jam tunggal. Register penundaan sistolik ditambahkan pada
input dan output untuk pipeline dengan cara yang menjamin hasil dari
operan pengganda dan jumlah akumulasi tetap sinkron. Elemen pemrosesan ini
direplikasi untuk membentuk sirkuit yang menghitung fungsi penyaringan. Fungsi ini adalah
dinyatakan dalam persamaan berikut.
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 40
Kirim Masukan
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
N mewakili jumlah siklus data yang masuk ke akumulator, y(t) mewakili output pada waktu t, A(t) mewakili input pada waktu t, dan B(i) adalah koefisien. T dan i dalam persamaan berhubungan dengan waktu tertentu, jadi untuk menghitung output sample y(t) pada waktu t, sekelompok input sampfile di N titik waktu yang berbeda, atau A(n), A(n-1), A(n-2), … A(n-N+1) diperlukan. Kelompok N masukan sample dikalikan dengan N koefisien dan dijumlahkan untuk membentuk hasil akhir y.
Arsitektur register sistolik hanya tersedia untuk mode jumlah-2 dan jumlah-4. Untuk kedua mode arsitektur register sistolik, sinyal rantai pertama harus diikat ke 0.
Gambar berikut menunjukkan implementasi register penundaan sistolik 2 pengali.
Gambar 16. Implementasi Systolic Delay Register 2 Multiplier
rantai
a0
Multi0
+/-
b0
a1
Multi1
+/-
b1
hasil
Jumlah dua faktor pengali dinyatakan dalam persamaan berikut.
Gambar berikut menunjukkan implementasi register penundaan sistolik 4 pengali.
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 41
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Gambar 17. Implementasi Systolic Delay Register 4 Multiplier
rantai
a0
Multi0
+/-
b0
a1
Multi1
+/-
b1
a2
Multi2
+/-
b2
a3
Multi3
+/-
b3
hasil
Jumlah empat pengali dinyatakan dalam persamaan berikut. Gambar 18. Jumlah 4 Pengganda
Berikut ini daftar Advantagimplementasi register sistolik: · Mengurangi penggunaan sumber daya DSP · Memungkinkan pemetaan yang efisien di blok DSP menggunakan struktur penambah rantai
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 42
Kirim Masukan
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.3. Konstanta Pramuat
Konstanta pramuat mengontrol operan akumulator dan melengkapi umpan balik akumulator. LOADCONST_VALUE yang valid berkisar antara 0. Nilai konstanta sama dengan 64N, dimana N = LOADCONST_VALUE. Jika LOADCONST_VALUE disetel ke 2, nilai konstanta sama dengan 64. Fungsi ini dapat digunakan sebagai pembulatan bias.
Gambar berikut menunjukkan implementasi konstanta pramuat.
Gambar 19. Konstanta Pramuat
Umpan balik akumulator
konstan
a0
Multi0
+/-
b0
a1
Multi1
+/b1
hasil
accum_sload sload_accum
Lihat inti IP berikut untuk implementasi pengganda lainnya: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Akumulator Ganda
Fitur akumulator ganda menambahkan register tambahan di jalur umpan balik akumulator. Register akumulator ganda mengikuti register keluaran, yang mencakup jam, pengaktifan jam, dan aclr. Register akumulator tambahan mengembalikan hasil dengan penundaan satu siklus. Fitur ini memungkinkan Anda memiliki dua saluran akumulator dengan jumlah sumber daya yang sama.
Gambar berikut menunjukkan implementasi akumulator ganda.
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 43
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Gambar 20. Akumulator Ganda
Daftar Akumulator Ganda
Umpan balik akumulator
a0
Multi0
+/-
b0
a1
Multi1
+/b1
Hasil keluaran Daftar Keluaran
8.2. Prototipe Verilog HDL
Anda dapat menemukan prototipe Intel FPGA Multiply Adder atau ALTERA_MULT_ADD Verilog HDL file (altera_mult_add_rtl.v) di direktori perpustakaanmegafungsi.
8.3. Deklarasi Komponen VHDL
Deklarasi komponen VHDL terletak di altera_lnsim_components.vhd di perpustakaanvhdl altera_lnsim direktori.
8.4. Deklarasi VHDL LIBRARY_USE
Deklarasi VHDL LIBRARY-USE tidak diperlukan jika Anda menggunakan Deklarasi Komponen VHDL.
PERPUSTAKAAN altera_mf; GUNAKAN altera_mf.altera_mf_components.all;
8.5. sinyal
Tabel berikut mencantumkan sinyal input dan output dari inti Multiply Adder Intel FPGA IPatau ALTERA_MULT_ADD IP.
Tabel 28. Perkalian Penambah Sinyal Input Intel FPGA IPatau ALTERA_MULT_ADD
Sinyal
Diperlukan
Keterangan
dataa_0[]/dataa_1[]/
Ya
dataa_2[]/dataa_3[]
Input data ke pengganda. Port masukan lebar [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0]
lanjutan…
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 44
Kirim Masukan
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Sinyal datab_0[]/datab_1[]/ datab_2[]/datab_3[] datac_0[] /datac_1[]/ datac_2[]/datac_3[] jam[1:0] aclr[1:0] sclr[1:0] ena [1:0] tanda
tandab
scanina[] accum_sload
Wajib Ya Tidak
Tidak Tidak Tidak Tidak Tidak
TIDAK
Tidak Tidak
Keterangan
Model simulasi untuk IP ini mendukung nilai input (X) yang tidak ditentukan untuk sinyal-sinyal ini. Saat Anda memberikan nilai X pada sinyal-sinyal ini, nilai X disebarkan pada sinyal keluaran.
Input data ke pengganda. Sinyal input lebar [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] Model simulasi untuk IP ini mendukung nilai input (X) yang tidak ditentukan untuk sinyal-sinyal ini. Saat Anda memberikan nilai X pada sinyal-sinyal ini, nilai X disebarkan pada sinyal keluaran.
Input data ke pengganda. Sinyal input lebar [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] Pilih INPUT untuk Pilih parameter mode preadder untuk mengaktifkan sinyal ini. Model simulasi untuk IP ini mendukung nilai input (X) yang tidak ditentukan untuk sinyal-sinyal ini. Saat Anda memberikan nilai X pada sinyal-sinyal ini, nilai X disebarkan pada sinyal keluaran.
Port input jam ke register yang sesuai. Sinyal ini dapat digunakan oleh register mana pun di inti IP. Model simulasi untuk IP ini mendukung nilai input (X) yang tidak ditentukan untuk sinyal-sinyal ini. Saat Anda memberikan nilai X pada sinyal-sinyal ini, nilai X disebarkan pada sinyal keluaran.
Input jelas asinkron ke register yang sesuai. Model simulasi untuk IP ini mendukung nilai input (X) yang tidak ditentukan untuk sinyal-sinyal ini. Saat Anda memberikan nilai X pada sinyal-sinyal ini, nilai X disebarkan pada sinyal keluaran.
Input jelas yang sinkron ke register yang sesuai. Model simulasi untuk IP ini mendukung nilai masukan X yang belum ditentukan untuk sinyal-sinyal ini. Saat Anda memberikan nilai X pada sinyal-sinyal ini, nilai X disebarkan pada sinyal keluaran
Aktifkan input sinyal ke register yang sesuai. Model simulasi untuk IP ini mendukung nilai input (X) yang tidak ditentukan untuk sinyal-sinyal ini. Saat Anda memberikan nilai X pada sinyal-sinyal ini, nilai X disebarkan pada sinyal keluaran.
Menentukan representasi numerik dari input pengali A. Jika sinyal sinyal tinggi, pengali memperlakukan sinyal input pengali A sebagai angka bertanda. Jika sinyal signa rendah, pengali memperlakukan sinyal masukan pengali A sebagai bilangan tak bertanda. Pilih VARIABLE untuk Apa format representasi untuk parameter input Pengganda A untuk mengaktifkan sinyal ini. Model simulasi untuk IP ini mendukung nilai masukan (X) yang tidak ditentukan untuk sinyal ini. Saat Anda memberikan nilai X ke masukan ini, nilai X disebarkan pada sinyal keluaran.
Menentukan representasi numerik dari sinyal input B pengali. Jika sinyal signb tinggi, pengali memperlakukan sinyal masukan pengali B sebagai bilangan komplemen dua bertanda. Jika sinyal signb rendah, pengali memperlakukan sinyal masukan pengali B sebagai bilangan tak bertanda. Model simulasi untuk IP ini mendukung nilai masukan (X) yang tidak ditentukan untuk sinyal ini. Saat Anda memberikan nilai X ke masukan ini, nilai X disebarkan pada sinyal keluaran.
Input untuk pemindaian rantai A. Sinyal input lebar [WIDTH_A – 1, … 0]. Ketika parameter INPUT_SOURCE_A memiliki nilai SCANA, sinyal scanina[] diperlukan.
Menentukan secara dinamis apakah nilai akumulator konstan. Jika sinyal accum_sload rendah, maka keluaran pengali dimuat ke akumulator. Jangan gunakan accum_sload dan sload_accum secara bersamaan.
lanjutan…
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 45
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Sinyal sload_accum
rantai di [] addnsub1
tambahkannsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]
Diperlukan No
Tidak Tidak
TIDAK
Tidak tidak tidak tidak
Keterangan
Model simulasi untuk IP ini mendukung nilai masukan (X) yang tidak ditentukan pada sinyal ini. Saat Anda memberikan nilai X pada masukan ini, nilai X disebarkan pada sinyal keluaran.
Menentukan secara dinamis apakah nilai akumulator konstan. Jika sinyal sload_accum tinggi, maka keluaran pengali dimuat ke akumulator. Jangan gunakan accum_sload dan sload_accum secara bersamaan. Model simulasi untuk IP ini mendukung nilai masukan (X) yang tidak ditentukan untuk sinyal ini. Saat Anda memberikan nilai X ke masukan ini, nilai X disebarkan pada sinyal keluaran.
Bus masukan hasil penambah dari s sebelumnyatage. Sinyal input lebar [WIDTH_CHAININ – 1, … 0].
Lakukan penambahan atau pengurangan pada keluaran dari pasangan pengali pertama. Masukkan sinyal 1 ke addnsub1 untuk menambahkan output dari pasangan pengganda pertama. Masukkan sinyal 0 ke addnsub1 untuk mengurangi output dari pasangan pengganda pertama. Model simulasi untuk IP ini mendukung nilai masukan (X) yang tidak ditentukan pada sinyal ini. Saat Anda memberikan nilai X pada masukan ini, nilai X disebarkan pada sinyal keluaran.
Lakukan penambahan atau pengurangan pada keluaran dari pasangan pengali pertama. Masukkan sinyal 1 ke addnsub3 untuk menambahkan output dari pasangan pengganda kedua. Masukkan sinyal 0 ke addnsub3 untuk mengurangi output dari pasangan pengganda pertama. Model simulasi untuk IP ini mendukung nilai masukan (X) yang tidak ditentukan pada sinyal ini. Saat Anda memberikan nilai X pada masukan ini, nilai X disebarkan pada sinyal keluaran.
Sinyal masukan koefisien[0:3] ke pengali pertama. Model simulasi untuk IP ini mendukung nilai masukan (X) yang tidak ditentukan pada sinyal ini. Saat Anda memberikan nilai X pada masukan ini, nilai X disebarkan pada sinyal keluaran.
Sinyal masukan koefisien[0:3]ke pengali kedua. Model simulasi untuk IP ini mendukung nilai masukan (X) yang tidak ditentukan pada sinyal ini. Saat Anda memberikan nilai X ke masukan ini, nilai X disebarkan pada sinyal keluaran.
Sinyal masukan koefisien[0:3]ke pengali ketiga. Model simulasi untuk IP ini mendukung nilai masukan (X) yang tidak ditentukan pada sinyal ini. Saat Anda memberikan nilai X pada masukan ini, nilai X disebarkan pada sinyal keluaran.
Koefisien sinyal masukan [0:3] ke pengali keempat. Model simulasi untuk IP ini mendukung nilai masukan (X) yang tidak ditentukan pada sinyal ini. Saat Anda memberikan nilai X ke masukan ini, nilai X disebarkan pada sinyal keluaran.
Tabel 29. Multiply Adder Sinyal Output IP Intel FPGA
Sinyal
Diperlukan
Keterangan
hasil []
Ya
Sinyal keluaran pengganda. Sinyal keluaran lebar [WIDTH_RESULT – 1 … 0].
Model simulasi untuk IP ini mendukung nilai keluaran yang tidak dapat ditentukan (X). Ketika Anda memberikan nilai X sebagai input, nilai X disebarkan pada sinyal ini.
pemindaian []
TIDAK
Keluaran rantai pemindaian A. Sinyal keluaran lebar [WIDTH_A – 1..0].
Pilih lebih dari 2 untuk jumlah pengali dan pilih Pindai masukan rantai untuk Berapakah masukan A pengali yang terhubung ke parameter untuk mengaktifkan sinyal ini.
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 46
Kirim Masukan
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6. Parameter
8.6.1. Tab Umum
Tabel 30. Tab Umum
Parameter
Parameter yang Dihasilkan IP
Nilai
Berapa jumlah penggandanya?
number_of_m 1 – 4 pengganda
Berapa lebar bus masukan A width_a?
1 – 256
Berapa lebar bus masukan B width_b?
1 – 256
Seberapa lebar seharusnya bus keluaran 'hasil'?
lebar_hasil
1 – 256
Buat pengaktifan jam terkait untuk setiap jam
gui_associate Hidup d_clock_enabl Mati e
8.6.2. Tab Mode Ekstra
Tabel 31. Tab Mode Ekstra
Parameter
Parameter yang Dihasilkan IP
Nilai
Konfigurasi Keluaran
Daftarkan keluaran unit penambah
gui_output_re Aktif
daftar
Mati
Apa sumber input jam?
gui_output_re gister_clock
Jam0 Jam1 Jam2
Apa sumber input jelas asinkron?
gui_output_re gister_aclr
TIDAK ADA ACLR0 ACLR1
Apa sumber input jelas sinkron?
gui_output_re gister_sclr
TIDAK ADA SCLR0 SCLR1
Operasi Penambah
Operasi apa yang harus dilakukan pada keluaran pasangan pengganda pertama?
gui_multiplier 1_direction
TAMBAHKAN, SUB, VARIABEL
Nilai Default 1
16
Keterangan
Jumlah pengganda yang akan dijumlahkan. Nilainya adalah 1 hingga 4. Tentukan lebar port dataa[].
16
Tentukan lebar port datab[].
32
Tentukan lebar port hasil[] .
Mati
Pilih opsi ini untuk mengaktifkan jam
untuk setiap jam.
Nilai Default
Keterangan
Mati Jam0
TIDAK ADA
Pilih opsi ini untuk mengaktifkan register keluaran modul penambah.
Pilih Clock0 , Clock1 atau Clock2 untuk mengaktifkan dan menentukan sumber jam untuk register keluaran. Anda harus memilih Daftarkan keluaran unit penambah untuk mengaktifkan parameter ini.
Menentukan sumber jelas asinkron untuk register keluaran penambah. Anda harus memilih Daftarkan keluaran unit penambah untuk mengaktifkan parameter ini.
Menentukan sumber jelas sinkron untuk register keluaran penambah. Anda harus memilih Daftarkan keluaran unit penambah untuk mengaktifkan parameter ini.
MENAMBAHKAN
Pilih operasi penjumlahan atau pengurangan yang akan dilakukan untuk keluaran antara pengali pertama dan kedua.
· Pilih ADD untuk melakukan operasi penambahan.
· Pilih SUB untuk melakukan operasi pengurangan.
· Pilih VARIABLE untuk menggunakan port addnsub1 untuk kontrol penambahan/pengurangan dinamis.
lanjutan…
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 47
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter yang Dihasilkan IP
Nilai
Daftarkan masukan 'addnsub1'
gui_addnsub_ Aktif multiplier_reg Mati ister1
Apa sumber input jam?
gui_addnsub_ multiplier_reg ister1_clock
Jam0 Jam1 Jam2
Apa sumber input jelas asinkron?
gui_addnsub_ multiplier_aclr 1
TIDAK ADA ACLR0 ACLR1
Apa sumber input jelas sinkron?
gui_addnsub_ multiplier_sclr 1
TIDAK ADA SCLR0 SCLR1
Operasi apa yang harus dilakukan pada keluaran pasangan pengganda kedua?
gui_multiplier 3_direction
TAMBAHKAN, SUB, VARIABEL
Daftarkan masukan 'addnsub3'
gui_addnsub_ Aktif multiplier_reg Mati ister3
Apa sumber input jam?
gui_addnsub_ multiplier_reg ister3_clock
Jam0 Jam1 Jam2
Nilai Default
Mati Jam0 TIDAK ADA TIDAK ADA TAMBAHKAN
Mati Jam0
Keterangan
Ketika nilai VARIABLE dipilih: · Mendorong sinyal addnsub1 ke tinggi
operasi penambahan. · Dorong sinyal addnsub1 ke rendah
operasi pengurangan. Anda harus memilih lebih dari dua pengali untuk mengaktifkan parameter ini.
Pilih opsi ini untuk mengaktifkan register input untuk port addnsub1. Anda harus memilih VARIABLE untuk Operasi apa yang harus dilakukan pada output dari pasangan pengganda pertama untuk mengaktifkan parameter ini.
Pilih Clock0 , Clock1 atau Clock2 untuk menentukan sinyal jam input untuk register addnsub1. Anda harus memilih Daftarkan masukan 'addnsub1' untuk mengaktifkan parameter ini.
Menentukan sumber jelas asinkron untuk register addnsub1. Anda harus memilih Daftarkan masukan 'addnsub1' untuk mengaktifkan parameter ini.
Menentukan sumber jelas sinkron untuk register addnsub1. Anda harus memilih Daftarkan masukan 'addnsub1' untuk mengaktifkan parameter ini.
Pilih operasi penjumlahan atau pengurangan yang akan dilakukan untuk keluaran antara pengali ketiga dan keempat. · Pilih TAMBAH untuk melakukan penambahan
operasi. · Pilih SUB untuk melakukan pengurangan
operasi. · Pilih VARIABEL untuk menggunakan addnsub1
port untuk kontrol penambahan/pengurangan dinamis. Ketika nilai VARIABLE dipilih: · Mendorong sinyal addnsub1 ke tinggi untuk operasi penambahan. · Dorong sinyal addnsub1 ke rendah untuk operasi pengurangan. Anda harus memilih nilai 4 untuk Berapa jumlah pengalinya? untuk mengaktifkan parameter ini.
Pilih opsi ini untuk mengaktifkan register input untuk sinyal addnsub3. Anda harus memilih VARIABLE untuk Operasi apa yang harus dilakukan pada output dari pasangan pengganda kedua untuk mengaktifkan parameter ini.
Pilih Clock0, Clock1 atau Clock2 untuk menentukan sinyal jam input untuk register addnsub3. Anda harus memilih Daftarkan masukan 'addnsub3′ untuk mengaktifkan parameter ini.
lanjutan…
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 48
Kirim Masukan
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Apa sumber input jelas asinkron?
Parameter yang Dihasilkan IP
Nilai
gui_addnsub_ multiplier_aclr 3
TIDAK ADA ACLR0 ACLR1
Apa sumber input jelas sinkron?
gui_addnsub_ multiplier_sclr 3
TIDAK ADA SCLR0 SCLR1
Polaritas Aktifkan `use_subadd'
gui_use_subn Aktif
menambahkan
Mati
8.6.3. Tab Pengganda
Tabel 32. Tab Pengganda
Parameter
Parameter yang Dihasilkan IP
Nilai
Apakah yang
gui_mewakili
format representasi asi_a
untuk input Pengganda A?
DITANDATANGANI, TIDAK DITANDATANGANI, VARIABEL
Daftarkan masukan `signa'
gui_register_s Aktif
igna
Mati
Apa sumber input jam?
gui_register_s igna_clock
Jam0 Jam1 Jam2
Apa sumber input jelas asinkron?
gui_register_s igna_aclr
TIDAK ADA ACLR0 ACLR1
Apa sumber input jelas sinkron?
gui_register_s igna_sclr
TIDAK ADA SCLR0 SCLR1
Apakah yang
gui_mewakili
format representasi asi_b
untuk input Pengganda B?
DITANDATANGANI, TIDAK DITANDATANGANI, VARIABEL
Daftarkan masukan `tandab'
gui_register_s Aktif
menyalakanb
Mati
Nilai Default TIDAK ADA
TIDAK ADA
Keterangan
Menentukan sumber jelas asinkron untuk register addnsub3. Anda harus memilih Daftarkan masukan 'addnsub3' untuk mengaktifkan parameter ini.
Menentukan sumber jelas sinkron untuk register addnsub3. Anda harus memilih Daftarkan masukan 'addnsub3′ untuk mengaktifkan parameter ini.
Mati
Pilih opsi ini untuk membalikkan fungsi
dari port input addnsub.
Dorong addnsub ke tinggi untuk operasi pengurangan.
Dorong addnsub ke rendah untuk operasi penambahan.
Nilai Default
Keterangan
UNSIGNED Tentukan format representasi untuk input pengali A.
Mati
Pilih opsi ini untuk mengaktifkan signa
daftar.
Anda harus memilih nilai VARIABLE untuk Apa format representasi untuk input Pengganda A? parameter untuk mengaktifkan opsi ini.
Jam0
Pilih Clock0 , Clock1 atau Clock2 untuk mengaktifkan dan menentukan sinyal jam input untuk register sinyal.
Anda harus memilih Daftarkan input `signa' untuk mengaktifkan parameter ini.
TIDAK ADA
Menentukan sumber jelas asinkron untuk register signa.
Anda harus memilih Daftarkan input `signa' untuk mengaktifkan parameter ini.
TIDAK ADA
Menentukan sumber jelas sinkron untuk register signa.
Anda harus memilih Daftarkan input `signa' untuk mengaktifkan parameter ini.
UNSIGNED Tentukan format representasi untuk input pengali B.
Mati
Pilih opsi ini untuk mengaktifkan tanda tangan
daftar.
lanjutan…
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 49
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter yang Dihasilkan IP
Nilai
Nilai Default
Apa sumber input jam?
gui_register_s ignb_clock
Jam0 Jam1 Jam2
Jam0
Apa sumber input jelas asinkron?
gui_register_s ignb_aclr
TIDAK ADA ACLR0 ACLR1
Apa sumber input jelas sinkron?
gui_register_s ignb_sclr
TIDAK ADA SCLR0 SCLR1
Konfigurasi Input
Daftarkan input A dari pengali
Apa sumber input jam?
gui_input_reg Aktif
saudara_a
Mati
gui_input_reg ister_a_clock
Jam0 Jam1 Jam2
TIDAK ADA
Mati Jam0
Apa sumber input jelas asinkron?
gui_input_reg ister_a_aclr
TIDAK ADA ACLR0 ACLR1
Apa sumber input jelas sinkron?
gui_input_reg ister_a_sclr
TIDAK ADA SCLR0 SCLR1
Daftarkan input B dari pengali
Apa sumber input jam?
gui_input_reg Aktif
saudara_b
Mati
gui_input_reg ister_b_clock
Jam0 Jam1 Jam2
TIDAK ADA TIDAK ADA Jam Mati0
Apa sumber input jelas asinkron?
gui_input_reg ister_b_aclr
TIDAK ADA ACLR0 ACLR1
TIDAK ADA
Apa sumber input jelas sinkron?
gui_input_reg ister_b_sclr
TIDAK ADA SCLR0 SCLR1
TIDAK ADA
Masukan A dari pengali terhubung ke apa?
gui_multiplier Pengganda masukan Pengganda
_a_masukan
Pindai masukan masukan rantai
Keterangan
Anda harus memilih nilai VARIABLE untuk Apa format representasi untuk input Pengganda B? parameter untuk mengaktifkan opsi ini.
Pilih Clock0 , Clock1 atau Clock2 untuk mengaktifkan dan menentukan sinyal jam input untuk register tanda. Anda harus memilih Daftarkan input `signb' untuk mengaktifkan parameter ini.
Menentukan sumber jelas asinkron untuk register signb. Anda harus memilih Daftarkan input `signb' untuk mengaktifkan parameter ini.
Menentukan sumber jelas sinkron untuk register signb. Anda harus memilih Daftarkan input `signb' untuk mengaktifkan parameter ini.
Pilih opsi ini untuk mengaktifkan register input untuk bus input data.
Pilih Clock0 , Clock1 atau Clock2 untuk mengaktifkan dan menentukan sinyal jam input register untuk bus input data. Anda harus memilih Daftarkan input A pengali untuk mengaktifkan parameter ini.
Menentukan sumber jelas asinkron register untuk bus masukan data. Anda harus memilih Daftarkan input A pengali untuk mengaktifkan parameter ini.
Menentukan sumber jelas sinkron register untuk bus input data. Anda harus memilih Daftarkan input A pengali untuk mengaktifkan parameter ini.
Pilih opsi ini untuk mengaktifkan register input untuk bus input datab.
Pilih Clock0 , Clock1 atau Clock2 untuk mengaktifkan dan menentukan sinyal jam input register untuk bus input datab. Anda harus memilih Daftarkan input B pengali untuk mengaktifkan parameter ini.
Menentukan sumber jelas asinkron register untuk bus input datab. Anda harus memilih Daftarkan input B pengali untuk mengaktifkan parameter ini.
Menentukan sumber jelas sinkron register untuk bus input datab. Anda harus memilih Daftarkan input B pengali untuk mengaktifkan parameter ini.
Pilih sumber input untuk input A pengali.
lanjutan…
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 50
Kirim Masukan
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter yang Dihasilkan IP
Nilai
Scanout Konfigurasi Daftar
Daftarkan keluaran rantai pemindaian
gui_scanouta Aktif
_daftar
Mati
Apa sumber input jam?
gui_scanouta _register_cloc k
Jam0 Jam1 Jam2
Apa sumber input jelas asinkron?
gui_scanouta _register_aclr
TIDAK ADA ACLR0 ACLR1
Apa sumber input jelas sinkron?
gui_scanouta _register_sclr
TIDAK ADA SCLR0 SCLR1
8.6.4. Tab Pembaca
Tabel 33. Tab Preadder
Parameter
Parameter yang Dihasilkan IP
Nilai
Pilih mode pendahuluan
preadder_mo de
SEDERHANA, COEF, INPUT, KOTAK, KONSTAN
Nilai Default
Keterangan
Pilih Input pengali untuk menggunakan bus input data sebagai sumber pengali. Pilih Pindai masukan rantai untuk menggunakan bus masukan pindaian sebagai sumber ke pengali dan aktifkan bus keluaran pindaian. Parameter ini tersedia bila Anda memilih 2, 3 atau 4 untuk Berapa jumlah pengalinya? parameter.
Mati Jam0 TIDAK ADA TIDAK ADA
Pilih opsi ini untuk mengaktifkan register keluaran untuk bus keluaran scanouta.
Anda harus memilih Pindai masukan rantai untuk Apa yang terhubung dengan masukan A pengali? parameter untuk mengaktifkan opsi ini.
Pilih Clock0 , Clock1 atau Clock2 untuk mengaktifkan dan menentukan sinyal jam input register untuk bus output scanouta.
Anda harus mengaktifkan Daftarkan keluaran parameter rantai pemindaian untuk mengaktifkan opsi ini.
Menentukan sumber jelas asinkron register untuk bus keluaran scanouta.
Anda harus mengaktifkan Daftarkan keluaran parameter rantai pemindaian untuk mengaktifkan opsi ini.
Menentukan sumber jelas sinkron register untuk bus keluaran scanouta.
Anda harus memilih Daftarkan keluaran parameter rantai pemindaian untuk mengaktifkan opsi ini.
Nilai Default
SEDERHANA
Keterangan
Menentukan mode operasi untuk modul preadder. SEDERHANA: Mode ini melewati preadder. Ini adalah modus bawaan. COEF: Mode ini menggunakan output dari bus input preadder dan coefsel sebagai input ke pengali. INPUT: Mode ini menggunakan output dari preadder dan bus input data sebagai input ke pengali. KOTAK: Mode ini menggunakan output dari preadder sebagai input ke pengali.
lanjutan…
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 51
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter yang Dihasilkan IP
Nilai
Pilih arah preadder
gui_preadder TAMBAHKAN,
_arah
SUB
Berapa lebar bus masukan C width_c?
1 – 256
Konfigurasi Daftar Masukan Data C
Daftarkan input data
gui_datac_inp Aktif
ut_register
Mati
Apa sumber input jam?
gui_datac_inp ut_register_cl ock
Jam0 Jam1 Jam2
Apa sumber input jelas asinkron?
gui_datac_inp ut_register_a clr
TIDAK ADA ACLR0 ACLR1
Apa sumber input jelas sinkron?
gui_datac_inp ut_register_sc lr
TIDAK ADA SCLR0 SCLR1
Koefisien
Berapa lebar koefisiennya?
lebar_koef
1 – 27
Konfigurasi Daftar Koef
Daftarkan masukan coefsel
gui_coef_regi Aktif
lebih tinggi
Mati
Apa sumber input jam?
gui_coef_regi ster_clock
Jam0 Jam1 Jam2
Nilai Default
MENAMBAHKAN
16
Keterangan
KONSTAN: Mode ini menggunakan bus input data dengan preadder yang dilewati dan bus input coefsel sebagai input ke pengali.
Menentukan pengoperasian preadder. Untuk mengaktifkan parameter ini, pilih yang berikut untuk Pilih mode pratambah: · COEF · INPUT · KOTAK atau · KONSTAN
Menentukan jumlah bit untuk bus input C. Anda harus memilih INPUT untuk Pilih mode preadder untuk mengaktifkan parameter ini.
Pada Jam0 TIDAK ADA TIDAK ADA
Pilih opsi ini untuk mengaktifkan register input untuk bus input data. Anda harus mengatur INPUT ke Pilih parameter mode preadder untuk mengaktifkan opsi ini.
Pilih Clock0 , Clock1 atau Clock2 untuk menentukan sinyal jam input untuk register input data. Anda harus memilih Daftarkan input data untuk mengaktifkan parameter ini.
Menentukan sumber jelas asinkron untuk register input data. Anda harus memilih Daftarkan input data untuk mengaktifkan parameter ini.
Menentukan sumber jelas sinkron untuk register input data. Anda harus memilih Daftarkan input data untuk mengaktifkan parameter ini.
18
Menentukan jumlah bit untuk
bus masukan coefsel.
Anda harus memilih COEF atau CONSTANT untuk mode preadder untuk mengaktifkan parameter ini.
Pada Jam0
Pilih opsi ini untuk mengaktifkan register input untuk bus input coefsel. Anda harus memilih COEF atau CONSTANT untuk mode preadder untuk mengaktifkan parameter ini.
Pilih Clock0 , Clock1 atau Clock2 untuk menentukan sinyal jam input untuk register input coefsel. Anda harus memilih Daftarkan input coefsel untuk mengaktifkan parameter ini.
lanjutan…
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 52
Kirim Masukan
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Apa sumber input jelas asinkron?
Parameter yang Dihasilkan IP
Nilai
gui_coef_regi ster_aclr
TIDAK ADA ACLR0 ACLR1
Apa sumber untuk input jelas sinkron
gui_coef_regi ster_sclr
TIDAK ADA SCLR0 SCLR1
Konfigurasi Koefisien_0
coef0_0 hingga coef0_7
0x00000 0xFFFFFFFF
Konfigurasi Koefisien_1
coef1_0 hingga coef1_7
0x00000 0xFFFFFFFF
Konfigurasi Koefisien_2
coef2_0 hingga coef2_7
0x00000 0xFFFFFFFF
Konfigurasi Koefisien_3
coef3_0 hingga coef3_7
0x00000 0xFFFFFFFF
8.6.5. Tab Akumulator
Tabel 34. Tab Akumulator
Parameter
Parameter yang Dihasilkan IP
Nilai
Aktifkan akumulator?
aki
YA TIDAK
Apa jenis operasi akumulator?
akumulasi_directi TAMBAHKAN,
on
SUB
Nilai Default TIDAK ADA
TIDAK ADA
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0
Keterangan
Menentukan sumber jelas asinkron untuk register masukan coefsel. Anda harus memilih Daftarkan input coefsel untuk mengaktifkan parameter ini.
Menentukan sumber jelas sinkron untuk register input coefsel. Anda harus memilih Daftarkan input coefsel untuk mengaktifkan parameter ini.
Menentukan nilai koefisien untuk pengali pertama ini. Jumlah bit harus sama seperti yang ditentukan dalam Berapa lebar koefisien lebarnya? parameter. Anda harus memilih COEF atau CONSTANT untuk mode preadder untuk mengaktifkan parameter ini.
Menentukan nilai koefisien untuk pengali kedua ini. Jumlah bit harus sama seperti yang ditentukan dalam Berapa lebar koefisien lebarnya? parameter. Anda harus memilih COEF atau CONSTANT untuk mode preadder untuk mengaktifkan parameter ini.
Menentukan nilai koefisien untuk pengali ketiga ini. Jumlah bit harus sama seperti yang ditentukan dalam Berapa lebar koefisien lebarnya? parameter. Anda harus memilih COEF atau CONSTANT untuk mode preadder untuk mengaktifkan parameter ini.
Menentukan nilai koefisien untuk pengali keempat ini. Jumlah bit harus sama seperti yang ditentukan dalam Berapa lebar koefisien lebarnya? parameter. Anda harus memilih COEF atau CONSTANT untuk mode preadder untuk mengaktifkan parameter ini.
Nilai Default TIDAK
MENAMBAHKAN
Keterangan
Pilih YES untuk mengaktifkan akumulator. Anda harus memilih Daftarkan keluaran unit penambah saat menggunakan fitur akumulator.
Menentukan pengoperasian akumulator: · ADD untuk operasi penjumlahan · SUB untuk operasi pengurangan. Anda harus memilih YA untuk Aktifkan akumulator? parameter untuk mengaktifkan opsi ini.
lanjutan…
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 53
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Konstanta Pramuat Mengaktifkan konstanta pramuat
Parameter yang Dihasilkan IP
Nilai
gui_ena_prelo Aktif
iklan_const
Mati
Apa yang terhubung dengan input port akumulasi?
gui_accumula ACCUM_SLOAD, te_port_pilih SLOAD_ACCUM
Pilih nilai untuk preload loadconst_val 0 – 64
konstan
ue
Apa sumber input jam?
gui_accum_sl oad_register_ jam
Jam0 Jam1 Jam2
Apa sumber input jelas asinkron?
gui_accum_sl oad_register_ aclr
TIDAK ADA ACLR0 ACLR1
Apa sumber input jelas sinkron?
gui_accum_sl oad_register_ sclr
TIDAK ADA SCLR0 SCLR1
Aktifkan akumulator ganda
gui_double_a Aktif
cum
Mati
Nilai Default
Keterangan
Mati
Aktifkan accum_sload atau
sinyal sload_accum dan input register
untuk memilih input ke secara dinamis
aki.
Ketika accum_sload rendah atau sload_accum, output pengali dimasukkan ke akumulator.
Ketika accum_sload tinggi atau sload_accum, konstanta pramuat yang ditentukan pengguna dimasukkan ke akumulator.
Anda harus memilih YA untuk Aktifkan akumulator? parameter untuk mengaktifkan opsi ini.
ACCUM_SL OAD
Menentukan perilaku sinyal accum_sload/sload_accum.
ACCUM_SLOAD: Drive accum_sload rendah untuk memuat output pengali ke akumulator.
SLOAD_ACCUM: Dorong sload_accum tinggi untuk memuat keluaran pengali ke akumulator.
Anda harus memilih opsi Aktifkan konstanta pramuat untuk mengaktifkan parameter ini.
64
Tentukan nilai konstanta preset.
Nilai ini bisa berupa 2N dimana N adalah nilai konstanta preset.
Ketika N=64, ini mewakili konstanta nol.
Anda harus memilih opsi Aktifkan konstanta pramuat untuk mengaktifkan parameter ini.
Jam0
Pilih Clock0 , Clock1 atau Clock2 untuk menentukan sinyal jam input untuk register accum_sload/sload_accum.
Anda harus memilih opsi Aktifkan konstanta pramuat untuk mengaktifkan parameter ini.
TIDAK ADA
Menentukan sumber jelas asinkron untuk register accum_sload/sload_accum.
Anda harus memilih opsi Aktifkan konstanta pramuat untuk mengaktifkan parameter ini.
TIDAK ADA
Menentukan sumber jelas sinkron untuk register accum_sload/sload_accum.
Anda harus memilih opsi Aktifkan konstanta pramuat untuk mengaktifkan parameter ini.
Mati
Mengaktifkan register akumulator ganda.
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 54
Kirim Masukan
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6.6. Tab Sistolik/Chainout
Tabel 35. Tab Penambah Sistolik/Chainout
Parameter Aktifkan penambah rantai
Parameter yang Dihasilkan IP
Nilai
chainout_tambahkan YA,
er
TIDAK
Apa jenis operasi penambah rantai?
chainout_tambahkan TAMBAHKAN,
er_direction
SUB
Aktifkan masukan `negasi' untuk penambah rantai?
Port_negasi
PORT_USED, PORT_UNUSED
Daftarkan input `meniadakan'? negate_regist eh
TIDAK TERDAFTAR, JAM0, JAM1, JAM2, JAM3
Apa sumber input jelas asinkron?
meniadakan_aclr
TIDAK ADA ACLR0 ACLR1
Apa sumber input jelas sinkron?
meniadakan_sclr
TIDAK ADA SCLR0 SCLR1
Keterlambatan Sistolik
Aktifkan register penundaan sistolik
gui_systolic_d Aktif
Elay
Mati
Apa sumber input jam?
gui_systolic_d JAM0,
elay_clock
JAM1,
Nilai Default
TIDAK
Keterangan
Pilih YA untuk mengaktifkan modul penambah rantai.
MENAMBAHKAN
Menentukan operasi penambah rantai.
Untuk operasi pengurangan, DITANDATANGANI harus dipilih untuk Apa format representasi untuk input Pengganda A? dan Apa format representasi untuk input Pengganda B? di Tab Pengganda.
PORT_UN DIGUNAKAN
Pilih PORT_USED untuk mengaktifkan sinyal input negasi.
Parameter ini tidak valid ketika penambah rantai dinonaktifkan.
BATALKAN PENDAFTARAN ERED
Untuk mengaktifkan register masukan untuk meniadakan sinyal masukan dan menentukan sinyal jam masukan untuk register meniadakan.
Pilih UNREGISTERED jika register masukan negasi tidak diperlukan
Parameter ini tidak valid bila Anda memilih:
· TIDAK untuk Aktifkan penambah rantai atau
· PORT_UNUSED untuk Mengaktifkan input 'negasi' untuk penambah rantai? parameter atau
TIDAK ADA
Menentukan sumber jelas asinkron untuk register negate.
Parameter ini tidak valid bila Anda memilih:
· TIDAK untuk Aktifkan penambah rantai atau
· PORT_UNUSED untuk Mengaktifkan input 'negasi' untuk penambah rantai? parameter atau
TIDAK ADA
Menentukan sumber jelas sinkron untuk register negate.
Parameter ini tidak valid bila Anda memilih:
· TIDAK untuk Aktifkan penambah rantai atau
· PORT_UNUSED untuk Mengaktifkan input 'negasi' untuk penambah rantai? parameter atau
Mati JAM0
Pilih opsi ini untuk mengaktifkan mode sistolik. Parameter ini tersedia bila Anda memilih 2, atau 4 untuk Berapa jumlah pengalinya? parameter. Anda harus mengaktifkan output Register dari unit penambah untuk menggunakan register penundaan sistolik.
Menentukan sinyal jam input untuk register penundaan sistolik.
lanjutan…
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 55
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter yang Dihasilkan IP
Nilai
JAM2,
Apa sumber input jelas asinkron?
gui_systolic_d elay_aclr
TIDAK ADA ACLR0 ACLR1
Apa sumber input jelas sinkron?
gui_systolic_d elay_sclr
TIDAK ADA SCLR0 SCLR1
Nilai Default
TIDAK ADA
TIDAK ADA
Keterangan
Anda harus memilih aktifkan register penundaan sistolik untuk mengaktifkan opsi ini.
Menentukan sumber jelas asinkron untuk register penundaan sistolik. Anda harus memilih aktifkan register penundaan sistolik untuk mengaktifkan opsi ini.
Menentukan sumber jelas sinkron untuk register penundaan sistolik. Anda harus memilih aktifkan register penundaan sistolik untuk mengaktifkan opsi ini.
8.6.7. Tab Perpipaan
Tabel 36. Tab Perpipaan
Konfigurasi Perpipaan Parameter
Parameter yang Dihasilkan IP
Nilai
Apakah Anda ingin menambahkan register saluran pipa ke input?
gui_pipelining Tidak, Ya
Nilai Default
TIDAK
Harap tentukan
latensi
jumlah jam latensi
siklus
Nilai apa pun yang lebih besar 0 dari 0
Apa sumber input jam?
gui_input_late ncy_clock
JAM0, JAM1, JAM2
Apa sumber input jelas asinkron?
gui_input_late ncy_aclr
TIDAK ADA ACLR0 ACLR1
Apa sumber input jelas sinkron?
gui_input_late ncy_sclr
TIDAK ADA SCLR0 SCLR1
JAM0 TIDAK ADA TIDAK ADA
Keterangan
Pilih Ya untuk mengaktifkan tingkat register alur tambahan ke sinyal input. Anda harus menentukan nilai lebih besar dari 0 untuk Harap tentukan jumlah parameter siklus jam latensi.
Menentukan latensi yang diinginkan dalam siklus jam. Satu tingkat register pipa = 1 latensi dalam siklus jam. Anda harus memilih YA untuk Apakah Anda ingin menambahkan register alur ke input? untuk mengaktifkan opsi ini.
Pilih Clock0 , Clock1 atau Clock2 untuk mengaktifkan dan menentukan sinyal jam input register pipa. Anda harus memilih YA untuk Apakah Anda ingin menambahkan register alur ke input? untuk mengaktifkan opsi ini.
Menentukan sumber jelas asinkron register untuk register alur tambahan. Anda harus memilih YA untuk Apakah Anda ingin menambahkan register alur ke input? untuk mengaktifkan opsi ini.
Menentukan sumber jelas sinkron register untuk register pipa tambahan. Anda harus memilih YA untuk Apakah Anda ingin menambahkan register alur ke input? untuk mengaktifkan opsi ini.
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 56
Kirim Masukan
683490 | 2020.10.05 Kirim Umpan Balik
9. ALTMEMMULT (Pengganda Koefisien Konstan Berbasis Memori) IP Core
Perhatian:
Intel telah menghapus dukungan IP ini di Intel Quartus Prime Pro Edition versi 20.3. Jika inti IP dalam desain Anda menargetkan perangkat di Intel Quartus Prime Pro Edition, Anda dapat mengganti IP dengan LPM_MULT Intel FPGA IP atau membuat ulang IP dan mengompilasi desain Anda menggunakan perangkat lunak Intel Quartus Prime Standard Edition.
Inti IP ALTMEMMULT digunakan untuk membuat pengganda berbasis memori menggunakan blok memori onchip yang ditemukan di Intel FPGA (dengan blok memori M512, M4K, M9K, dan MLAB). Inti IP ini berguna jika Anda tidak memiliki sumber daya yang memadai untuk mengimplementasikan pengganda dalam elemen logika (LE) atau sumber daya pengganda khusus.
Inti IP ALTMEMMULT adalah fungsi sinkron yang memerlukan jam. Inti IP ALTMEMMULT mengimplementasikan pengganda dengan throughput dan latensi sekecil mungkin untuk serangkaian parameter dan spesifikasi tertentu.
Gambar berikut menunjukkan port untuk inti IP ALTMEMMULT.
Gambar 21. Port ALTMEMMULT
ALTMEMMULT
data_in[] sload_data coeff_in[]
hasil[] hasil_valid memuat_selesai
sload_coeff
jam sclr
instan
Fitur Informasi Terkait di halaman 71
9.1. Fitur
Inti IP ALTMEMMULT menawarkan fitur-fitur berikut: · Membuat hanya pengganda berbasis memori menggunakan blok memori on-chip yang ditemukan di
Intel FPGA · Mendukung lebar data 1 bit · Mendukung format representasi data yang ditandatangani dan tidak ditandatangani · Mendukung pipeline dengan latensi keluaran tetap
Perusahaan Intel. Seluruh hak cipta. Intel, logo Intel, dan merek Intel lainnya adalah merek dagang dari Intel Corporation atau anak perusahaannya. Intel menjamin kinerja produk FPGA dan semikonduktornya dengan spesifikasi terkini sesuai dengan garansi standar Intel, tetapi berhak untuk membuat perubahan pada produk dan layanan apa pun kapan saja tanpa pemberitahuan. Intel tidak bertanggung jawab atau berkewajiban yang timbul dari aplikasi atau penggunaan informasi, produk, atau layanan apa pun yang dijelaskan di sini kecuali secara tegas disetujui secara tertulis oleh Intel. Pelanggan Intel disarankan untuk mendapatkan spesifikasi perangkat versi terbaru sebelum mengandalkan informasi yang dipublikasikan dan sebelum melakukan pemesanan produk atau layanan. *Nama dan merek lain dapat diklaim sebagai milik orang lain.
ISO 9001: 2015 Terdaftar
9. ALTMEMMULT (Pengganda Koefisien Konstan Berbasis Memori) IP Core 683490 | 2020.10.05
· Menyimpan kelipatan konstanta dalam memori akses acak (RAM)
· Memberikan opsi untuk memilih jenis blok RAM
· Mendukung port input sinkron opsional yang jelas dan kontrol beban
9.2. Prototipe Verilog HDL
Prototipe Verilog HDL berikut terletak di Desain Verilog File (.v) altera_mf.v di direktori sintesis eda.
modul altmemmult #( parameter coeff_representation = “DITANDATANGANI”, koefisien parameter0 = “BELUM DIGUNAKAN”, parameter data_representation = “DITANDATANGANI”, parameter yang dimaksudkan_keluarga_perangkat = “tidak digunakan”, parameter max_clock_cycles_per_result = 1, parameter number_of_coefisiens = 1, parameter ram_block_type = “AUTO”, parameter total_latency = 1, parameter width_c = 1, parameter width_d = 1, parameter width_r = 1, parameter width_s = 1, parameter lpm_type = “altmemmult”, parameter lpm_hint = “unused”) ( jam kabel input, kabel input [width_c-1: 0]coeff_in, kabel input [width_d-1:0] data_in, kabel output load_done, hasil kabel output [width_r-1:0], hasil_kabel output_valid, kabel input sclr, kabel input [width_s-1:0] sel, input kabel sload_coeff, kabel masukan sload_data)/* sintesis syn_black_box=1 */; modul akhir
9.3. Deklarasi Komponen VHDL
Deklarasi komponen VHDL terletak di Desain VHDL File (.vhd) altera_mf_components.vhd di direktori perpustakaanvhdlaltera_mf.
komponen altmemmult generik ( coeff_representation:string := “DITANDATANGANI”; koefisien0:string := “BELUM DIGUNAKAN”; data_representation:string := “DITANDATANGANI”; keluarga_perangkat yang dimaksudkan:string := “tidak digunakan”; max_clock_cycles_per_result:natural := 1; number_of_coefisiens:natural := 1; ram_block_type:string := “AUTO”; total_latensi:alami; lebar_c:alami; lebar_d:lebar_r:alami; “altmemult”); port( jam:dalam std_logic; coeff_in:dalam std_logic_vector(lebar_c-1 hingga 1) := (lainnya => '0'); data_in:dalam std_logic_vector(lebar_d-0 hingga 1);
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 58
Kirim Masukan
9. ALTMEMMULT (Pengganda Koefisien Konstan Berbasis Memori) IP Core 683490 | 2020.10.05
load_done:keluar std_logic; hasil: keluar std_logic_vector(width_r-1 turun ke 0); hasil_valid:keluar std_logic; sclr:di std_logic := '0'; sel:in std_logic_vector(width_s-1 downto 0) := (lainnya => '0'); sload_coeff:di std_logic := '0'; sload_data:di std_logic := '0'); komponen akhir;
9.4. Pelabuhan
Tabel berikut mencantumkan port input dan output untuk inti IP ALTMEMMULT.
Tabel 37. Port Input ALTMEMMULT
Nama Pelabuhan
Diperlukan
Keterangan
jam
Ya
Input jam ke pengali.
coeff_in[]
TIDAK
Port masukan koefisien untuk pengganda. Ukuran port input bergantung pada nilai parameter WIDTH_C.
data_masuk[]
Ya
Port input data ke pengganda. Ukuran port input bergantung pada nilai parameter WIDTH_D.
scr
TIDAK
Masukan jelas yang sinkron. Jika tidak digunakan, nilai defaultnya adalah aktif tinggi.
sel[]
TIDAK
Pemilihan koefisien tetap. Ukuran port masukan bergantung pada WIDTH_S
nilai parameter.
sload_coeff
TIDAK
Port masukan koefisien beban sinkron. Menggantikan nilai koefisien yang dipilih saat ini dengan nilai yang ditentukan dalam input coeff_in.
sload_data
TIDAK
Port input data beban sinkron. Sinyal yang menentukan operasi perkalian baru dan membatalkan operasi perkalian yang sudah ada. Jika parameter MAX_CLOCK_CYCLES_PER_RESULT memiliki nilai 1, port input sload_data diabaikan.
Tabel 38. Port Keluaran ALTMEMMULT
Nama Pelabuhan
Diperlukan
Keterangan
hasil[]
Ya
Port keluaran pengganda. Ukuran port input bergantung pada nilai parameter WIDTH_R.
hasil_valid
Ya
Menunjukkan kapan keluarannya merupakan hasil perkalian lengkap yang valid. Jika parameter MAX_CLOCK_CYCLES_PER_RESULT memiliki nilai 1, port keluaran result_valid tidak digunakan.
memuat_selesai
TIDAK
Menunjukkan kapan koefisien baru telah selesai dimuat. Sinyal load_done menyatakan ketika koefisien baru telah selesai dimuat. Kecuali jika sinyal load_done tinggi, tidak ada nilai koefisien lain yang dapat dimuat ke dalam memori.
9.5. Parameter
Tabel berikut mencantumkan parameter untuk inti IP ALTMEMMULT.
Tabel 39.
WIDTH_D LEBAR_C
Parameter ALTMEMMULT
Nama Parameter
Jenis Diperlukan
Keterangan
bilangan bulat ya
Menentukan lebar port data_in[].
bilangan bulat ya
Menentukan lebar port coeff_in[]. lanjutan…
Kirim Masukan
Panduan Pengguna Inti IP Aritmatika Integer Intel FPGA 59
9. ALTMEMMULT (Pengganda Koefisien Konstan Berbasis Memori) IP Core 683490 | 2020.10.05
Nama Parameter WIDTH_R LEBAR
Dokumen / Sumber Daya
![]() |
Intel FPGA Integer Arithmetic IP Cores [Bahasa Indonesia:] Panduan Pengguna Inti IP Aritmatika Integer FPGA, Inti IP Aritmatika Integer, Inti IP Aritmatika, Inti IP |