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

Referensi

Tinggalkan komentar

Alamat email Anda tidak akan dipublikasikan. Bidang yang wajib diisi ditandai *