Teras IP Aritmetik Integer FPGA
Panduan Pengguna Teras IP Aritmetik Integer Intel FPGA
Dikemas kini untuk Suite Reka Bentuk Perdana Intel® Quartus®: 20.3
Versi Dalam Talian Hantar Maklum Balas
UG-01063
ID: 683490 Versi: 2020.10.05
kandungan
kandungan
1. Teras IP Aritmetik Integer FPGA Intel………………………………………………………………………….. 5
2. LPM_COUNTER (Kaunter) Teras IP……………………………………………………………………………….. 7 2.1. Ciri-ciri………………………………………………………………………………………………7 2.2. Prototaip HDL Verilog…………………………………………………………………………………….. 8 2.3. Pengisytiharan Komponen VHDL……………………………………………………………………………….8 2.4. VHDL LIBRARY_USE Deklarasi………………………………………………………………………… 9 2.5. Pelabuhan……………………………………………………………………………………………………..9 2.6. Parameter………………………………………………………………………………………… 10
3. LPM_DIVIDE (Pembahagi) Teras IP FPGA Intel……………………………………………………………….. 12 3.1. Ciri-ciri………………………………………………………………………………………………. 12 3.2. Prototaip HDL Verilog…………………………………………………………………………………… 12 3.3. Pengisytiharan Komponen VHDL………………………………………………………………………….. 13 3.4. VHDL LIBRARY_USE Deklarasi…………………………………………………………………………. 13 3.5. Pelabuhan……………………………………………………………………………………………… 13 3.6. Parameter………………………………………………………………………………………… 14
4. LPM_MULT (Pendarab) Teras IP…………………………………………………………………………. 16 4.1. Ciri-ciri………………………………………………………………………………………………. 16 4.2. Prototaip HDL Verilog…………………………………………………………………………………… 17 4.3. Pengisytiharan Komponen VHDL………………………………………………………………………….. 17 4.4. VHDL LIBRARY_USE Deklarasi…………………………………………………………………………. 17 4.5. Isyarat……………………………………………………………………………………………… 18 4.6. Parameter untuk Peranti Stratix V, Arria V, Cyclone V dan Intel Cyclone 10 LP…………… 18 4.6.1. Tab Umum……………………………………………………………………………………18 4.6.2. Tab Am 2…………………………………………………………………………………… 19 4.6.3. Tab Penyaluran Paip……………………………………………………………………………… 19 4.7. Parameter untuk Peranti Intel Stratix 10, Intel Arria 10 dan Intel Cyclone 10 GX……….. 20 4.7.1. Tab Umum……………………………………………………………………………………20 4.7.2. Tab Am 2…………………………………………………………………………………… 20 4.7.3. Penyaluran Paip……………………………………………………………………………………21
5. LPM_ADD_SUB (Penambah/Penolak)………………………………………………………………………… 22 5.1. Ciri-ciri………………………………………………………………………………………………. 22 5.2. Prototaip HDL Verilog…………………………………………………………………………………… 23 5.3. Pengisytiharan Komponen VHDL………………………………………………………………………….. 23 5.4. VHDL LIBRARY_USE Deklarasi…………………………………………………………………………. 23 5.5. Pelabuhan…………………………………………………………………………………………………… 23 5.6. Parameter………………………………………………………………………………………… 24
6. LPM_COMPARE (Pembanding)…………………………………………………………………………………… 26 6.1. Ciri-ciri………………………………………………………………………………………………. 26 6.2. Prototaip HDL Verilog…………………………………………………………………………………… 27 6.3. Pengisytiharan Komponen VHDL………………………………………………………………………….. 27 6.4. VHDL LIBRARY_USE Deklarasi…………………………………………………………………………. 27 6.5. Pelabuhan……………………………………………………………………………………………… 27 6.6. Parameter………………………………………………………………………………………… 28
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 2
Hantar Maklum Balas
kandungan
7. ALTECC (Kod Pembetulan Ralat: Pengekod/Penyahkod) Teras IP………………………………………… 30
7.1. Ciri Pengekod ALTECC……………………………………………………………………………………..31 7.2. Prototaip HDL Verilog (ALTECC_ENCODER)……………………………………………………. 32 7.3. Prototaip HDL Verilog (ALTECC_DECODER)……………………………………………………. 32 7.4. Pengisytiharan Komponen VHDL (ALTECC_ENCODER)……………………………………………33 7.5. Pengisytiharan Komponen VHDL (ALTECC_DECODER)……………………………………………33 7.6. VHDL LIBRARY_USE Deklarasi…………………………………………………………………………. 33 7.7. Port Pengekod……………………………………………………………………………………………… 33 7.8. Port Penyahkod…………………………………………………………………………………………34 7.9. Parameter Pengekod…………………………………………………………………………………… 34 7.10. Parameter Penyahkod ……………………………………………………………………………………… 35
8. Teras IP Penambah Berganda Intel FPGA…………………………………………………………………………. 36
8.1. Ciri-ciri………………………………………………………………………………………………. 37 8.1.1. Pra-penambah……………………………………………………………………………….. 38 8.1.2. Daftar Kelewatan Sistolik………………………………………………………………….. 40 8.1.3. Pemalar Pra-beban………………………………………………………………………… 43 8.1.4. Pengumpul Berganda………………………………………………………………………… 43
8.2. Prototaip HDL Verilog…………………………………………………………………………………… 44 8.3. Pengisytiharan Komponen VHDL………………………………………………………………………….. 44 8.4. VHDL LIBRARY_USE Deklarasi…………………………………………………………………………. 44 8.5. Isyarat……………………………………………………………………………………………… 44 8.6. Parameter………………………………………………………………………………………… 47
8.6.1. Tab Umum……………………………………………………………………………………47 8.6.2. Tab Mod Tambahan………………………………………………………………………….. 47 8.6.3. Tab Pengganda…………………………………………………………………………………….. 49 8.6.4. Tab Preadder……………………………………………………………………………………. 51 8.6.5. Tab Akumulator………………………………………………………………………….. 53 8.6.6. Tab Sistolik/Rangkaian……………………………………………………………………. 55 8.6.7. Tab Penyaluran Paip……………………………………………………………………………… 56
9. ALTMEMMULT (Pengganda Pekali Malar berasaskan ingatan) Teras IP…………………… 57
9.1. Ciri-ciri………………………………………………………………………………………………. 57 9.2. Prototaip HDL Verilog…………………………………………………………………………………… 58 9.3. Pengisytiharan Komponen VHDL………………………………………………………………………….. 58 9.4. Pelabuhan……………………………………………………………………………………………… 59 9.5. Parameter………………………………………………………………………………………… 59
10. ALTMULT_ACCUM (Darab-Terkumpul) Teras IP…………………………………………………… 61
10.1. Ciri-ciri……………………………………………………………………………………………….. 62 10.2. Prototaip HDL Verilog……………………………………………………………………………………..62 10.3. Pengisytiharan Komponen VHDL………………………………………………………………………… 63 10.4. VHDL LIBRARY_USE Deklarasi………………………………………………………………63 10.5. Pelabuhan………………………………………………………………………………………………. 63 10.6. Parameter…………………………………………………………………………………………. 64
11. ALTMULT_ADD (Multiply-Adder) Teras IP………………………………………………………………..69
11.1. Ciri-ciri……………………………………………………………………………………………….. 71 11.2. Prototaip HDL Verilog……………………………………………………………………………………..72 11.3. Pengisytiharan Komponen VHDL………………………………………………………………………… 72 11.4. VHDL LIBRARY_USE Deklarasi……………………………………………………………………72
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 3
kandungan
11.5. Pelabuhan………………………………………………………………………………………………. 72 11.6. Parameter…………………………………………………………………………………………. 73
12. ALTMULT_COMPLEX (Pengganda Kompleks) Teras IP…………………………………………………… 86 12.1. Pendaraban Kompleks…………………………………………………………………………. 86 12.2. Perwakilan Kanonik………………………………………………………………………… 87 12.3. Perwakilan Konvensional…………………………………………………………………………. 87 12.4. Ciri-ciri……………………………………………………………………………………………….. 88 12.5. Prototaip HDL Verilog………………………………………………………………………………..88 12.6. Pengisytiharan Komponen VHDL………………………………………………………………………… 89 12.7. VHDL LIBRARY_USE Deklarasi……………………………………………………………………89 12.8. Isyarat………………………………………………………………………………………………. 89 12.9. Parameter…………………………………………………………………………………………. 90
13. ALTSQRT (Integer Square Root) Teras IP………………………………………………………………92 13.1. Ciri-ciri………………………………………………………………………………………….. 92 13.2. Prototaip HDL Verilog……………………………………………………………………………………..92 13.3. Pengisytiharan Komponen VHDL………………………………………………………………………… 93 13.4. VHDL LIBRARY_USE Deklarasi………………………………………………………………93 13.5. Pelabuhan………………………………………………………………………………………………. 93 13.6. Parameter…………………………………………………………………………………………. 94
14. SELARI_TAMBAH (Penambah Selari) Teras IP……………………………………………………………….. 95 14.1. Ciri…………………………………………………………………………………….95 14.2. Prototaip HDL Verilog……………………………………………………………………………………..95 14.3. Pengisytiharan Komponen VHDL………………………………………………………………………… 96 14.4. VHDL LIBRARY_USE Deklarasi………………………………………………………………96 14.5. Pelabuhan………………………………………………………………………………………………. 96 14.6. Parameter…………………………………………………………………………………………. 97
15. Integer Arithmetic IP Cores Panduan Pengguna Arkib Dokumen ………………………………… 98
16. Sejarah Semakan Dokumen untuk Panduan Pengguna Teras IP Aritmetik Integer Intel FPGA…. 99
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 4
Hantar Maklum Balas
683490 | 2020.10.05 Hantar Maklum Balas
1. Teras IP Aritmetik Integer FPGA Intel
Anda boleh menggunakan teras IP integer Intel® FPGA untuk melaksanakan operasi matematik dalam reka bentuk anda.
Fungsi ini menawarkan sintesis logik dan pelaksanaan peranti yang lebih cekap daripada pengekodan fungsi anda sendiri. Anda boleh menyesuaikan teras IP untuk menampung keperluan reka bentuk anda.
Teras IP aritmetik integer Intel dibahagikan kepada dua kategori berikut: · Pustaka teras IP modul parameter (LPM) · Teras IP khusus Intel (ALT)
Jadual berikut menyenaraikan teras IP aritmetik integer.
Jadual 1.
Senarai Teras IP
Teras IP
Teras IP LPM
LPM_COUNTER
LPM_DIVIDE
LPM_MULT
LPM_ADD_SUB
LPM_COMPARE
Teras IP khusus Intel (ALT) ALTECC
Fungsi Lebihview Pengganda Pembahagi Kaunter
Penambah atau Penolak Pembanding
Pengekod/Penyahkod ECC
Peranti yang Disokong
Arria® II GX, Arria II GZ, Arria V, Intel Arria 10, Cyclone® IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP,
Intel Cyclone 10 GX, MAX® II, MAX V, MAX 10, Stratix® IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Taufan IV E, Taufan IV GX,
Taufan V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Taufan IV E, Taufan IV GX,
Taufan V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX 10, Stratix IV, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel Cyclone 10 LP, MAX 10, MAX
II, MAX V, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Taufan IV E, Taufan IV GX,
Taufan V,Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V diteruskan…
Perbadanan Intel. Hak cipta terpelihara. Intel, logo Intel dan tanda Intel lain ialah tanda dagangan Intel Corporation atau anak syarikatnya. Intel menjamin prestasi produk FPGA dan semikonduktornya mengikut spesifikasi semasa menurut waranti standard Intel, tetapi berhak untuk membuat perubahan pada mana-mana produk dan perkhidmatan pada bila-bila masa tanpa notis. Intel tidak memikul tanggungjawab atau liabiliti yang timbul daripada aplikasi atau penggunaan mana-mana maklumat, produk atau perkhidmatan yang diterangkan di sini kecuali seperti yang dipersetujui secara bertulis oleh Intel. Pelanggan Intel dinasihatkan untuk mendapatkan versi terkini spesifikasi peranti sebelum bergantung pada sebarang maklumat yang diterbitkan dan sebelum membuat pesanan untuk produk atau perkhidmatan. *Nama dan jenama lain boleh dituntut sebagai hak milik orang lain.
ISO 9001:2015 Berdaftar
1. Teras IP Aritmetik Integer FPGA Intel 683490 | 2020.10.05
Penambah Berganda Intel FPGA Teras IP atau ALTERA_MULT_ADD ALTMEMMULT
ALTMULT_ACCUM ALTMULT_ADD ALTMULT_COMPLEX
ALTSQRT
PARALLEL_ADD
Fungsi Lebihview Penambah Pengganda
Pengganda Pekali Malar berasaskan memori
Pengganda-Penumpuk Pengganda-Penambah
Pengganda Kompleks
Integer Square-Root
Penambah Selari
Peranti yang Disokong
Arria V, Stratix V, Cyclone V, Intel Stratix 10, Intel Arria 10, Intel Cyclone
10 GX
Arria II GX, Arria II GZ, Arria V, Intel Arria 10 (Intel Quartus® Prime Standard Edition), Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Taufan 10 LP, MAX II, MAX V, MAX 10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX, Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Cyclone IV E, Cyclone IV GX,Intel Cyclone 10 LP, MAX 10, MAX II, MAX V, Stratix IV
Arria II GX, Arria II GZ, Intel Arria 10, Arria V, Arria V GZ, Cyclone IV E, Cyclone IV GX, Cyclone V, Intel
Taufan 10 GX, Intel Cyclone 10 LP, MAX 10, Stratix V, Intel Stratix 10
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Taufan IV E, Taufan IV GX,
Taufan V, Intel Cyclone 10 LP, Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Arria II GX, Arria II GZ, Arria V, Intel Arria 10, Taufan IV E, Taufan IV GX,
Taufan V, Intel Cyclone 10 LP,Intel Cyclone 10 GX, MAX II, MAX V, MAX
10, Stratix IV, Stratix V
Maklumat Berkaitan
· Nota Keluaran Intel FPGA dan Peranti Boleh Aturcara
· Pengenalan kepada Intel FPGA IP Cores Menyediakan maklumat lanjut tentang Intel FPGA IP Cores.
· Panduan Pengguna Teras IP Terapung Menyediakan maklumat lanjut tentang teras IP Titik Terapung Intel FPGA.
· Pengenalan kepada Teras IP FPGA Intel Menyediakan maklumat umum tentang semua teras IP FPGA Intel, termasuk parameterisasi, penjanaan, peningkatan dan simulasi teras IP.
· Mencipta IP Bebas Versi dan Skrip Simulasi Qsys Cipta skrip simulasi yang tidak memerlukan kemas kini manual untuk perisian atau peningkatan versi IP.
· Garis Panduan Amalan Terbaik Pengurusan Projek untuk pengurusan cekap dan mudah alih projek dan IP anda files.
· Teras IP Aritmetik Integer Panduan Pengguna Arkib Dokumen pada halaman 98 Menyediakan senarai panduan pengguna untuk versi teras IP Aritmetik Integer sebelumnya.
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 6
Hantar Maklum Balas
683490 | 2020.10.05 Hantar Maklum Balas
2. Teras IP LPM_COUNTER (Kaunter).
Rajah 1.
Teras IP LPM_COUNTER ialah pembilang binari yang mencipta pembilang naik, pembilang bawah dan pembilang naik atau turun dengan output sehingga 256 bit lebar.
Angka berikut menunjukkan port untuk teras IP LPM_COUNTER.
LPM_COUNTER Pelabuhan
LPM_COUNTER
ssclr sload sset data[]
q[]
atas bawah
cout
aclr muat aset
clk_en cnt_en cin
inst
2.1. Ciri-ciri
Teras IP LPM_COUNTER menawarkan ciri berikut: · Menjana pembilang atas, bawah dan atas/bawah · Menjana jenis pembilang berikut:
— Perduaan biasa– kenaikan kaunter bermula dari sifar atau pengurangan bermula dari 255
— Modulus–kenaikan pembilang kepada atau berkurangan daripada nilai modulus yang ditentukan oleh pengguna dan berulang
· Menyokong port input jelas, memuatkan dan tetapkan segerak pilihan · Menyokong port input jelas, memuatkan dan set tak segerak pilihan · Menyokong pembolehan kiraan pilihan dan port input membolehkan jam · Menyokong port bawa masuk dan keluar pilihan
Perbadanan Intel. Hak cipta terpelihara. Intel, logo Intel dan tanda Intel lain ialah tanda dagangan Intel Corporation atau anak syarikatnya. Intel menjamin prestasi produk FPGA dan semikonduktornya mengikut spesifikasi semasa menurut waranti standard Intel, tetapi berhak untuk membuat perubahan pada mana-mana produk dan perkhidmatan pada bila-bila masa tanpa notis. Intel tidak memikul tanggungjawab atau liabiliti yang timbul daripada aplikasi atau penggunaan mana-mana maklumat, produk atau perkhidmatan yang diterangkan di sini kecuali seperti yang dipersetujui secara bertulis oleh Intel. Pelanggan Intel dinasihatkan untuk mendapatkan versi terkini spesifikasi peranti sebelum bergantung pada sebarang maklumat yang diterbitkan dan sebelum membuat pesanan untuk produk atau perkhidmatan. *Nama dan jenama lain boleh dituntut sebagai hak milik orang lain.
ISO 9001:2015 Berdaftar
2. Teras IP LPM_COUNTER (Kaunter).
683490 | 2020.10.05
2.2. Prototaip HDL Verilog
Prototaip Verilog HDL berikut terletak dalam Reka Bentuk Verilog File (.v) lpm.v dalam 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_value = “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; keluaran cout; keluaran [15:0] persamaan; input cin; masukkan data [lpm_width-1:0]; jam input, clk_en, cnt_en, updown; input aset, aclr, aload; input sset, sclr, sload; modul akhir
2.3. Pengisytiharan Komponen VHDL
Pengisytiharan komponen VHDL terletak dalam Reka Bentuk VHDL File (.vhd) LPM_PACK.vhd dalam 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 := “PORTIVITY”CONNECT ; LPM_PVALUE : string := “UNUSED”; LPM_TYPE : string := L_COUNTER; LPM_HINT : string := “UNUSED”); port (DATA : dalam std_logic_vector(LPM_WIDTH-1 turun ke 0):= (OTHERS =>
'0'); JAM : dalam std_logic ; CLK_EN : dalam std_logic := '1'; CNT_EN : dalam std_logic := '1'; UPDOWN : dalam std_logic := '1'; SLOAD : dalam std_logic := '0'; SSET : dalam std_logic := '0'; SCLR : dalam std_logic := '0'; ALOAD : dalam std_logic := '0'; ASET : dalam std_logic := '0'; ACLR : dalam std_logic := '0'; CIN : dalam std_logic := '1'; COUT : keluar std_logic := '0'; S : keluar std_logic_vector(LPM_WIDTH-1 turun ke 0); EQ : keluar std_logic_vector(15 turun ke 0));
komponen akhir;
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 8
Hantar Maklum Balas
2. LPM_COUNTER (Kaunter) Teras IP 683490 | 2020.10.05
2.4. VHDL LIBRARY_USE Deklarasi
Pengisytiharan VHDL LIBRARY-USE tidak diperlukan jika anda menggunakan VHDL Component Declaration.
PERPUSTAKAAN lpm; GUNAKAN lpm.lpm_components.all;
2.5. Pelabuhan
Jadual berikut menyenaraikan port input dan output untuk teras IP LPM_COUNTER.
Jadual 2.
LPM_COUNTER Port Input
Nama Pelabuhan
Diperlukan
Penerangan
data[]
Tidak
Input data selari ke kaunter. Saiz port input bergantung pada nilai parameter LPM_WIDTH.
jam
ya
Input jam tercetus tepi positif.
clk_en
Tidak
Jam membolehkan input untuk membolehkan semua aktiviti segerak. Jika ditinggalkan, nilai lalai ialah 1.
cnt_en
Tidak
Kira membolehkan input untuk melumpuhkan kiraan apabila ditegaskan rendah tanpa menjejaskan sload, sset atau sclr. Jika ditinggalkan, nilai lalai ialah 1.
atas bawah
Tidak
Mengawal arah kiraan. Apabila ditegaskan tinggi (1), arah kiraan adalah atas, dan apabila ditegaskan rendah (0), arah kiraan adalah ke bawah. Jika parameter LPM_DIRECTION digunakan, port naik turun tidak boleh disambungkan. Jika LPM_DIRECTION tidak digunakan, port naik turun adalah pilihan. Jika ditinggalkan, nilai lalai adalah atas (1).
cin
Tidak
Bawa masuk ke bit tertib rendah. Untuk kaunter atas, kelakuan input cin ialah
sama dengan kelakuan input cnt_en. Jika ditinggalkan, nilai lalai ialah 1
(VCC).
aclr
Tidak
Input jelas tak segerak. Jika kedua-dua aset dan aclr digunakan dan ditegaskan, aclr mengatasi aset. Jika ditinggalkan, nilai lalai ialah 0 (dilumpuhkan).
aset
Tidak
Input set tak segerak. Menentukan keluaran q[] sebagai semua 1s, atau kepada nilai yang ditentukan oleh parameter LPM_AVALUE. Jika kedua-dua port aset dan aclr digunakan dan ditegaskan, nilai port aclr mengatasi nilai port aset. Jika ditinggalkan, nilai lalai ialah 0, dilumpuhkan.
memuatkan
Tidak
Input beban tak segerak yang memuatkan kaunter secara tak segerak dengan nilai pada input data. Apabila port muat digunakan, port data[] mesti disambungkan. Jika ditinggalkan, nilai lalai ialah 0, dilumpuhkan.
sclr
Tidak
Input jelas segerak yang mengosongkan pembilang pada tepi jam aktif seterusnya. Jika kedua-dua port sset dan sclr digunakan dan ditegaskan, nilai port sclr mengatasi nilai port sset. Jika ditinggalkan, nilai lalai ialah 0, dilumpuhkan.
set
Tidak
Input set segerak yang menetapkan pembilang pada tepi jam aktif seterusnya. Menentukan nilai keluaran q sebagai semua 1s, atau kepada nilai yang ditentukan oleh parameter LPM_SVALUE. Jika kedua-dua port sset dan sclr digunakan dan ditegaskan,
nilai port sclr mengatasi nilai port sset. Jika ditinggalkan, nilai lalai ialah 0 (dilumpuhkan).
bebanan
Tidak
Input beban segerak yang memuatkan pembilang dengan data[] pada tepi jam aktif seterusnya. Apabila port sload digunakan, port data[] mesti disambungkan. Jika ditinggalkan, nilai lalai ialah 0 (dilumpuhkan).
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 9
2. LPM_COUNTER (Kaunter) Teras IP 683490 | 2020.10.05
Jadual 3.
LPM_COUNTER Port Output
Nama Pelabuhan
Diperlukan
Penerangan
q[]
Tidak
Output data dari kaunter. Saiz port keluaran bergantung pada
Nilai parameter LPM_WIDTH. Sama ada q[] atau sekurang-kurangnya satu daripada port eq[15..0].
mesti dihubungkan.
eq[15..0]
Tidak
Output penyahkod balas. Port eq[15..0] tidak boleh diakses dalam editor parameter kerana parameter hanya menyokong AHDL.
Sama ada port q[] atau port eq[] mesti disambungkan. Sehingga port c eq boleh digunakan (0 <= c <= 15). Hanya 16 nilai kiraan terendah dinyahkod. Apabila nilai kiraan ialah c, output eqc dinyatakan tinggi (1). Untuk example, apabila kiraan ialah 0, eq0 = 1, apabila kiraan ialah 1, eq1 = 1, dan apabila kiraan ialah 15, eq 15 = 1. Output yang dinyahkod untuk nilai kiraan 16 atau lebih memerlukan penyahkodan luaran. Output eq[15..0] adalah tak segerak kepada output q[].
cout
Tidak
Port bawaan bit MSB kaunter. Ia boleh digunakan untuk menyambung ke kaunter lain untuk mencipta kaunter yang lebih besar.
2.6. Parameter
Jadual berikut menyenaraikan parameter untuk teras IP LPM_COUNTER.
Jadual 4.
LPM_COUNTER Parameter
Nama Parameter
taip
LPM_WIDTH
Integer
LPM_DIRECTION
rentetan
LPM_MODULUS LPM_AVALUE
Integer
Integer/ Rentetan
LPM_SVALUE LPM_HINT
Integer/ Rentetan
rentetan
LPM_TYPE
rentetan
Diperlukan Ya Tidak Tidak Tidak
Tidak Tidak
Tidak
Penerangan
Menentukan lebar port data[] dan q[], jika ia digunakan.
Nilai adalah ATAS, BAWAH dan TIDAK DIGUNAKAN. Jika parameter LPM_DIRECTION digunakan, port naik turun tidak boleh disambungkan. Apabila port naik turun tidak disambungkan, nilai lalai parameter LPM_DIRECTION ialah UP.
Kiraan maksimum, tambah satu. Bilangan keadaan unik dalam kitaran kaunter. Jika nilai beban lebih besar daripada parameter LPM_MODULUS, kelakuan pembilang tidak ditentukan.
Nilai malar yang dimuatkan apabila aset dinyatakan tinggi. Jika nilai yang dinyatakan lebih besar daripada atau sama dengan , tingkah laku pembilang adalah tahap logik (X) yang tidak ditentukan, di mana ialah LPM_MODULUS, jika ada, atau 2 ^ LPM_WIDTH. Intel mengesyorkan agar anda menentukan nilai ini sebagai nombor perpuluhan untuk reka bentuk AHDL.
Nilai malar yang dimuatkan pada tepi meningkat port jam apabila port sset ditegaskan tinggi. Intel mengesyorkan agar anda menentukan nilai ini sebagai nombor perpuluhan untuk reka bentuk AHDL.
Apabila anda membuat instantiate perpustakaan fungsi modul parameter (LPM) dalam Reka Bentuk VHDL File (.vhd), anda mesti menggunakan parameter LPM_HINT untuk menentukan parameter khusus Intel. Untuk example: LPM_HINT = “CHAIN_SIZE = 8, SATU_INPUT_IS_CONSTANT = YA”
Nilai lalai ialah UNUSED.
Mengenal pasti perpustakaan nama entiti modul parameter (LPM) dalam reka bentuk VHDL files.
bersambung…
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 10
Hantar Maklum Balas
2. LPM_COUNTER (Kaunter) Teras IP 683490 | 2020.10.05
Nama Parameter INTENDED_DEVICE_FAMILY CARRY_CNT_EN
LAWIDE_SCLR
LPM_PORT_UPDOWN
Taip Rentetan Rentetan
rentetan
rentetan
Diperlukan No No
Tidak
Tidak
Penerangan
Parameter ini digunakan untuk tujuan pemodelan dan simulasi tingkah laku. Parameter ini digunakan untuk tujuan pemodelan dan simulasi tingkah laku. Editor parameter mengira nilai untuk parameter ini.
Parameter khusus Intel. Anda mesti menggunakan parameter LPM_HINT untuk menentukan parameter CARRY_CNT_EN dalam reka bentuk VHDL files. Nilai adalah SMART, ON, OFF dan UNUSED. Mendayakan fungsi LPM_COUNTER untuk menyebarkan isyarat cnt_en melalui rantai pembawa. Dalam sesetengah kes, tetapan parameter CARRY_CNT_EN mungkin mempunyai sedikit kesan pada kelajuan, jadi anda mungkin mahu mematikannya. Nilai lalai ialah SMART, yang menyediakan pertukaran terbaik antara saiz dan kelajuan.
Parameter khusus Intel. Anda mesti menggunakan parameter LPM_HINT untuk menentukan parameter LAWIDE_SCLR dalam reka bentuk VHDL files. Nilai adalah HIDUP, MATI atau TIDAK DIGUNAKAN. Nilai lalai adalah HIDUP. Membolehkan anda melumpuhkan penggunaan ciri sclr LABwide yang terdapat dalam keluarga peranti usang. Mematikan pilihan ini meningkatkan peluang untuk menggunakan sepenuhnya LAB yang diisi separa, dan dengan itu mungkin membenarkan ketumpatan logik yang lebih tinggi apabila SCLR tidak digunakan pada LAB yang lengkap. Parameter ini tersedia untuk keserasian ke belakang, dan Intel mengesyorkan anda untuk tidak menggunakan parameter ini.
Menentukan penggunaan port input naik turun. Jika ditinggalkan nilai lalai ialah PORT_CONNECTIVITY. Apabila nilai port ditetapkan kepada PORT_USED, port dianggap sebagai digunakan. Apabila nilai port ditetapkan kepada PORT_UNUSED, port dianggap sebagai tidak digunakan. Apabila nilai port ditetapkan kepada PORT_CONNECTIVITY, penggunaan port ditentukan dengan menyemak sambungan port.
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 11
683490 | 2020.10.05 Hantar Maklum Balas
3. LPM_DIVIDE (Pembahagi) Teras IP FPGA Intel
Rajah 2.
Teras IP FPGA Intel LPM_DIVIDE melaksanakan pembahagi untuk membahagikan nilai input pengangka dengan nilai input penyebut untuk menghasilkan hasil bagi dan baki.
Rajah berikut menunjukkan port untuk teras IP LPM_DIVIDE.
LPM_DIVIDE Ports
LPM_DIVIDE
angka[] denom[] jam
hasil bagi[] kekal[]
clken aclr
inst
3.1. Ciri-ciri
Teras IP LPM_DIVIDE menawarkan ciri berikut: · Menghasilkan pembahagi yang membahagikan nilai input pengangka dengan input penyebut
nilai untuk menghasilkan hasil bagi dan baki. · Menyokong lebar data 1 bit. · Menyokong format perwakilan data yang ditandatangani dan tidak ditandatangani untuk kedua-dua pengangka
dan nilai penyebut. · Menyokong pengoptimuman kawasan atau kelajuan. · Menyediakan pilihan untuk menentukan output baki positif. · Menyokong saluran paip kependaman keluaran boleh dikonfigurasikan. · Menyokong port jelas tak segerak pilihan dan membolehkan jam.
3.2. Prototaip HDL Verilog
Prototaip Verilog HDL berikut terletak dalam Reka Bentuk Verilog File (.v) lpm.v dalam direktori edasintesis.
modul lpm_divide ( hasil bagi, kekal, nombor, denom, jam, clken, aclr); parameter lpm_type = “lpm_divide”; parameter lpm_widthn = 1; parameter lpm_widthd = 1; parameter lpm_nrepresentation = "TIDAK TANDATANGAN"; parameter lpm_drepresentation = "TIDAK TANDATANGAN"; parameter lpm_remainderpositive = “TRUE”; parameter lpm_pipeline = 0;
Perbadanan Intel. Hak cipta terpelihara. Intel, logo Intel dan tanda Intel lain ialah tanda dagangan Intel Corporation atau anak syarikatnya. Intel menjamin prestasi produk FPGA dan semikonduktornya mengikut spesifikasi semasa menurut waranti standard Intel, tetapi berhak untuk membuat perubahan pada mana-mana produk dan perkhidmatan pada bila-bila masa tanpa notis. Intel tidak memikul tanggungjawab atau liabiliti yang timbul daripada aplikasi atau penggunaan mana-mana maklumat, produk atau perkhidmatan yang diterangkan di sini kecuali seperti yang dipersetujui secara bertulis oleh Intel. Pelanggan Intel dinasihatkan untuk mendapatkan versi terkini spesifikasi peranti sebelum bergantung pada sebarang maklumat yang diterbitkan dan sebelum membuat pesanan untuk produk atau perkhidmatan. *Nama dan jenama lain boleh dituntut sebagai hak milik orang lain.
ISO 9001:2015 Berdaftar
3. LPM_DIVIDE (Pembahagi) Intel FPGA IP Core 683490 | 2020.10.05
parameter lpm_hint = “TIDAK DIGUNAKAN”; jam input; input clken; input aclr; masukkan nombor [lpm_widthn-1:0]; masukkan denom [lpm_widthd-1:0]; keluaran [lpm_widthn-1:0] hasil bagi; output [lpm_widthd-1:0] kekal; modul akhir
3.3. Pengisytiharan Komponen VHDL
Pengisytiharan komponen VHDL terletak dalam Reka Bentuk VHDL File (.vhd) LPM_PACK.vhd dalam direktori perpustakaanvhdllpm.
komponen LPM_DIVIDE generik (LPM_WIDTHN : semulajadi; LPM_WIDTHD : semulajadi;
LPM_NRREPRESENTATION : rentetan := “TIDAK TANDATANGAN”; LPM_DREPRESENTATION : rentetan := “TIDAK TANDAI”; LPM_PIPELINE : semula jadi := 0; LPM_TYPE : rentetan := L_DIVIDE; LPM_HINT : string := “UNUSED”); port (NUMER : dalam std_logic_vector(LPM_WIDTHN-1 turun ke 0); DENOM : dalam std_logic_vector(LPM_WIDTHD-1 turun ke 0); ACLR : dalam std_logic := '0'; CLOCK : dalam std_logic := '0'; CLKEN : dalam std_logic := '1'; QUOTIENT : keluar std_logic_vector(LPM_WIDTHN-1 turun ke 0); KEKAL : keluar std_logic_vector(LPM_WIDTHD-1 turun ke 0)); komponen akhir;
3.4. VHDL LIBRARY_USE Deklarasi
Pengisytiharan VHDL LIBRARY-USE tidak diperlukan jika anda menggunakan VHDL Component Declaration.
PERPUSTAKAAN lpm; GUNAKAN lpm.lpm_components.all;
3.5. Pelabuhan
Jadual berikut menyenaraikan port input dan output untuk teras IP LPM_DIVIDE.
Jadual 5.
LPM_DIVIDE Port Input
Nama Pelabuhan
Diperlukan
nombor[]
ya
denom[]
ya
Penerangan
Input data pembilang. Saiz port input bergantung pada nilai parameter LPM_WIDTHN.
Input data penyebut. Saiz port input bergantung pada nilai parameter LPM_WIDTHD.
bersambung…
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 13
3. LPM_DIVIDE (Pembahagi) Intel FPGA IP Core 683490 | 2020.10.05
Jam Nama Pelabuhan clken
aclr
Diperlukan No No
Tidak
Penerangan
Input jam untuk penggunaan saluran paip. Untuk nilai LPM_PIPELINE selain daripada 0 (lalai), port jam mesti didayakan.
Jam membolehkan penggunaan saluran paip. Apabila pelabuhan clken ditegaskan tinggi, operasi pembahagian berlaku. Apabila isyarat rendah, tiada operasi berlaku. Jika ditinggalkan, nilai lalai ialah 1.
Port jelas tak segerak digunakan pada bila-bila masa untuk menetapkan semula saluran paip kepada semua '0' secara tidak segerak kepada input jam.
Jadual 6.
LPM_DIVIDE Port Output
Nama Pelabuhan
Diperlukan
Penerangan
hasil bagi []
ya
Keluaran data. Saiz port output bergantung pada LPM_WIDTHN
nilai parameter.
kekal[]
ya
Keluaran data. Saiz port output bergantung pada LPM_WIDTHD
nilai parameter.
3.6. Parameter
Jadual berikut menyenaraikan parameter untuk teras IP FPGA Intel LPM_DIVIDE.
Nama Parameter
taip
Diperlukan
Penerangan
LPM_WIDTHN
Integer
ya
Menentukan lebar nombor[] dan
quotient[] port. Nilai ialah 1 hingga 64.
LPM_WIDTHD
Integer
ya
Menentukan lebar denom[] dan
kekal[] pelabuhan. Nilai ialah 1 hingga 64.
LPM_NREPRESENTATION LPM_DREPRESENTATION
Rentetan Rentetan
Tidak
Tandakan perwakilan input pengangka.
Nilai adalah DITANDATANGANI dan TIDAK DITANDATANGANI. Apabila ini
parameter ditetapkan kepada SIGNED, pembahagi
mentafsirkan input nombor[] sebagai dua yang ditandatangani
pelengkap.
Tidak
Tandakan perwakilan input penyebut.
Nilai adalah DITANDATANGANI dan TIDAK DITANDATANGANI. Apabila ini
parameter ditetapkan kepada SIGNED, pembahagi
mentafsirkan input denom[] sebagai dua yang ditandatangani
pelengkap.
LPM_TYPE
rentetan
Tidak
Mengenal pasti perpustakaan parameterized
modul (LPM) nama entiti dalam reka bentuk VHDL
files (.vhd).
LPM_HINT
rentetan
Tidak
Apabila anda membuat instantiate perpustakaan daripada
fungsi modul berparameter (LPM) dalam a
Reka bentuk VHDL File (.vhd), anda mesti menggunakan
Parameter LPM_HINT untuk menentukan Intel-
parameter tertentu. Untuk example: LPM_HINT
= “SAIZ_RANTAI = 8,
ONE_INPUT_IS_CONSTANT = YA” The
nilai lalai adalah TIDAK DIGUNAKAN.
LPM_REMAINDERPOSITIVE
rentetan
Tidak
Parameter khusus Intel. Anda mesti menggunakan
Parameter LPM_HINT untuk menentukan
Parameter LPM_REMAINDERPOSITIVE dalam
Reka bentuk VHDL files. Nilai adalah BENAR atau SALAH.
Jika parameter ini ditetapkan kepada TRUE, maka
nilai baki [] port mestilah lebih besar
bersambung…
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 14
Hantar Maklum Balas
3. LPM_DIVIDE (Pembahagi) Intel FPGA IP Core 683490 | 2020.10.05
Nama Parameter
taip
MAXIMIZE_SPEED
Integer
LPM_PIPELINE
Integer
INTENDED_DEVICE_FAMILY SKIP_BITS
Integer Rentetan
Diperlukan No
Tidak Tidak Tidak
Penerangan
daripada atau sama dengan sifar. Jika parameter ini ditetapkan kepada TRUE, maka nilai port kekal[] adalah sama ada sifar, atau nilainya adalah tanda yang sama, sama ada positif atau negatif, sebagai nilai port nombor. Untuk mengurangkan kawasan dan meningkatkan kelajuan, Intel mengesyorkan menetapkan parameter ini kepada TRUE dalam operasi yang bakinya mestilah positif atau yang bakinya tidak penting.
Parameter khusus Intel. Anda mesti menggunakan parameter LPM_HINT untuk menentukan parameter MAXIMIZE_SPEED dalam reka bentuk VHDL files. Nilai ialah [0..9]. Jika digunakan, perisian Intel Quartus Prime cuba mengoptimumkan contoh khusus fungsi LPM_DIVIDE untuk kelajuan dan bukannya kebolehhalaan, dan mengatasi tetapan pilihan logik Teknik Pengoptimuman. Jika MAXIMIZE_SPEED tidak digunakan, nilai pilihan Teknik Pengoptimuman digunakan sebaliknya. Jika nilai MAXIMIZE_SPEED ialah 6 atau lebih tinggi, Pengkompil mengoptimumkan teras IP LPM_DIVIDE untuk kelajuan yang lebih tinggi dengan menggunakan rantai pembawa; jika nilainya 5 atau kurang, pengkompil melaksanakan reka bentuk tanpa rantai pembawa.
Menentukan bilangan kitaran jam kependaman yang dikaitkan dengan keluaran hasil bagi[] dan kekal[]. Nilai sifar (0) menunjukkan bahawa tiada kependaman wujud, dan fungsi gabungan semata-mata diwujudkan. Jika ditinggalkan, nilai lalai ialah 0 (tidak disalurkan). Anda tidak boleh menentukan nilai untuk parameter LPM_PIPELINE yang lebih tinggi daripada LPM_WIDTHN.
Parameter ini digunakan untuk tujuan pemodelan dan simulasi tingkah laku. Editor parameter mengira nilai untuk parameter ini.
Membolehkan pembahagian bit pecahan yang lebih cekap untuk mengoptimumkan logik pada bit terkemuka dengan menyediakan bilangan GND terkemuka kepada teras IP LPM_DIVIDE. Nyatakan bilangan GND terkemuka pada output hasil bagi parameter ini.
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 15
683490 | 2020.10.05 Hantar Maklum Balas
4. Teras IP LPM_MULT (Pendarab).
Rajah 3.
Teras IP LPM_MULT melaksanakan pengganda untuk mendarab dua nilai data input untuk menghasilkan produk sebagai output.
Rajah berikut menunjukkan port untuk teras IP LPM_MULT.
LPM_Pelbagai Port
LPM_MULT jam dataa[] keputusan[] datab[] aclr/sclr clken
inst
Ciri Maklumat Berkaitan pada halaman 71
4.1. Ciri-ciri
Teras IP LPM_MULT menawarkan ciri berikut: · Menghasilkan pengganda yang mendarab dua nilai data input · Menyokong lebar data 1 bit · Menyokong format perwakilan data yang ditandatangani dan tidak ditandatangani · Menyokong pengoptimuman kawasan atau kelajuan · Menyokong saluran paip dengan kependaman output yang boleh dikonfigurasikan · Menyediakan pilihan untuk pelaksanaan dalam pemprosesan isyarat digital khusus (DSP)
litar blok atau elemen logik (LEs) Nota: Apabila membina pengganda yang lebih besar daripada saiz yang disokong asli mungkin ada/
akan menjadi kesan prestasi yang terhasil daripada lata blok DSP. · Menyokong jernih tak segerak pilihan dan membolehkan port input jam · Menyokong jelas segerak pilihan untuk peranti Intel Stratix 10, Intel Arria 10 dan Intel Cyclone 10 GX
Perbadanan Intel. Hak cipta terpelihara. Intel, logo Intel dan tanda Intel lain ialah tanda dagangan Intel Corporation atau anak syarikatnya. Intel menjamin prestasi produk FPGA dan semikonduktornya mengikut spesifikasi semasa menurut waranti standard Intel, tetapi berhak untuk membuat perubahan pada mana-mana produk dan perkhidmatan pada bila-bila masa tanpa notis. Intel tidak memikul tanggungjawab atau liabiliti yang timbul daripada aplikasi atau penggunaan mana-mana maklumat, produk atau perkhidmatan yang diterangkan di sini kecuali seperti yang dipersetujui secara bertulis oleh Intel. Pelanggan Intel dinasihatkan untuk mendapatkan versi terkini spesifikasi peranti sebelum bergantung pada sebarang maklumat yang diterbitkan dan sebelum membuat pesanan untuk produk atau perkhidmatan. *Nama dan jenama lain boleh dituntut sebagai hak milik orang lain.
ISO 9001:2015 Berdaftar
4. LPM_MULT (Pendaraban) Teras IP 683490 | 2020.10.05
4.2. Prototaip HDL Verilog
Prototaip Verilog HDL berikut terletak dalam Reka Bentuk Verilog File (.v) lpm.v dalam direktori edasintesis.
modul lpm_mult ( result, dataa, datab, sum, clock, 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 TANDATANGAN"; parameter lpm_pipeline = 0; parameter lpm_hint = “TIDAK DIGUNAKAN”; jam input; input clken; input aclr; masukkan [lpm_widtha-1:0] dataa; masukkan [lpm_widthb-1:0] datab; masukkan [lpm_widths-1:0] jumlah; hasil [lpm_widthp-1:0]; modul akhir
4.3. Pengisytiharan Komponen VHDL
Pengisytiharan komponen VHDL terletak dalam Reka Bentuk VHDL File (.vhd) LPM_PACK.vhd dalam direktori perpustakaanvhdllpm.
komponen LPM_MULT generik ( LPM_WIDTHA : natural; LPM_WIDTHB : natural; LPM_WIDTHS : natural := 1; LPM_WIDTHP : natural;
LPM_REPRESENTATION : rentetan := “TIDAK TANDAI”; LPM_PIPELINE : semula jadi := 0; LPM_TYPE: rentetan := L_MULT; LPM_HINT : string := “UNUSED”); port ( DATAA : dalam std_logic_vector(LPM_WIDTHA-1 turun ke 0); DATAB : dalam std_logic_vector(LPM_WIDTHB-1 turun ke 0); ACLR : dalam std_logic := '0'; CLOCK : dalam std_logic := '0'; CLKEN : in std_logic := '1'; SUM : dalam std_logic_vector(LPM_WIDTHS-1 turun ke 0) := (LAIN-LAIN => '0'); RESULT : keluar std_logic_vector(LPM_WIDTHP-1 turun ke 0)); komponen akhir;
4.4. VHDL LIBRARY_USE Deklarasi
Pengisytiharan VHDL LIBRARY-USE tidak diperlukan jika anda menggunakan VHDL Component Declaration.
PERPUSTAKAAN lpm; GUNAKAN lpm.lpm_components.all;
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 17
4. LPM_MULT (Pendaraban) Teras IP 683490 | 2020.10.05
4.5. Isyarat
Jadual 7.
LPM_MULT Isyarat Input
Nama Isyarat
Diperlukan
Penerangan
dataa[]
ya
Input data.
Untuk peranti Intel Stratix 10, Intel Arria 10 dan Intel Cyclone 10 GX, saiz isyarat input bergantung pada nilai parameter lebar Dataa.
Untuk peranti Intel Cyclone 10 LP yang lebih lama, saiz isyarat input bergantung pada nilai parameter LPM_WIDTHA.
datab[]
ya
Input data.
Untuk peranti Intel Stratix 10, Intel Arria 10 dan Intel Cyclone 10 GX, saiz isyarat input bergantung pada nilai parameter lebar Datab.
Untuk peranti Intel Cyclone 10 LP yang lebih lama, saiz isyarat input bergantung
pada nilai parameter LPM_WIDTHB.
jam
Tidak
Input jam untuk penggunaan saluran paip.
Untuk peranti Intel Cyclone 10 LP yang lebih lama, isyarat jam mesti didayakan untuk nilai LPM_PIPELINE selain daripada 0 (lalai).
Untuk peranti Intel Stratix 10, Intel Arria 10 dan Intel Cyclone 10 GX, isyarat jam mesti didayakan jika nilai Latensi selain daripada 1 (lalai).
clken
Tidak
Jam membolehkan untuk penggunaan saluran paip. Apabila isyarat clken ditegaskan tinggi, itu
operasi penambah/penolak berlaku. Apabila isyarat rendah, tiada operasi
berlaku. Jika ditinggalkan, nilai lalai ialah 1.
aclr sclr
Tidak
Isyarat jelas tak segerak digunakan pada bila-bila masa untuk menetapkan semula saluran paip kepada semua 0s,
tak segerak kepada isyarat jam. Saluran paip dimulakan kepada undefined (X)
tahap logik. Output adalah nilai yang konsisten, tetapi bukan sifar.
Tidak
Isyarat jelas segerak digunakan pada bila-bila masa untuk menetapkan semula saluran paip kepada semua 0s,
serentak dengan isyarat jam. Saluran paip dimulakan kepada undefined (X)
tahap logik. Output adalah nilai yang konsisten, tetapi bukan sifar.
Jadual 8.
LPM_MULT Isyarat keluaran
isyarat Nama
Diperlukan
Penerangan
keputusan[]
ya
Keluaran data.
Untuk peranti Intel Cyclone 10 LP yang lebih lama, saiz isyarat 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, saiz isyarat output bergantung pada parameter lebar Hasil.
4.6. Parameter untuk Peranti Stratix V, Arria V, Cyclone V dan Intel Cyclone 10 LP
4.6.1. Tab Umum
Jadual 9.
Tab Umum
Parameter
Nilai
Konfigurasi Pengganda
Darabkan input 'dataa' dengan input 'datab'
Nilai Lalai
Penerangan
Darabkan input 'dataa' dengan input 'datab'
Pilih konfigurasi yang diingini untuk pengganda.
bersambung…
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 18
Hantar Maklum Balas
4. LPM_MULT (Pendaraban) Teras IP 683490 | 2020.10.05
Parameter
Seberapa lebar input 'dataa'? Seberapa lebar input 'datab'? Bagaimanakah lebar output 'hasil' ditentukan? Hadkan lebar
Nilai
Darabkan input 'dataa' dengan sendirinya (operasi kuasa dua)
1 – 256 bit
Nilai Lalai
Penerangan
8 bit
Tentukan lebar port dataa[].
1 – 256 bit
8 bit
Tentukan lebar port datab[].
Kira lebar secara automatik Hadkan lebar
1 – 512 bit
Automatik y mengira lebar
Pilih kaedah yang diingini untuk menentukan lebar port [] hasil.
16 bit
Tentukan lebar port [] hasil.
Nilai ini hanya akan berkesan jika anda memilih Hadkan lebar dalam parameter Jenis.
4.6.2. Tab Umum 2
Jadual 10. Umum 2 Tab
Parameter
Nilai
Input Datab
Adakah bas input 'datab' mempunyai nilai tetap?
Tidak Ya
Jenis Pendaraban
Jenis yang mana
Tidak ditandatangani
pendaraban adakah anda mahu? Ditandatangani
Perlaksanaan
Pelaksanaan pengganda yang manakah harus digunakan?
Gunakan pelaksanaan lalai
Gunakan litar pengganda khusus (Tidak tersedia untuk semua keluarga)
Gunakan elemen logik
Nilai Lalai
Penerangan
Tidak
Pilih Ya untuk menentukan nilai malar bagi
bas input `datab', jika ada.
Tidak ditandatangani
Tentukan format perwakilan untuk input dataa[] dan datab[].
Gunakan ion pelaksanaan lalai
Pilih kaedah yang diingini untuk menentukan lebar port [] hasil.
4.6.3. Tab Penyaluran Paip
Jadual 11. Tab Pipelining
Parameter
Adakah anda ingin membuat saluran paip No
berfungsi?
ya
Nilai
Buat 'aclr'
—
port jelas tak segerak
Nilai Lalai
Penerangan
Tidak
Pilih Ya untuk membolehkan pendaftaran saluran paip ke
output pengganda dan nyatakan yang dikehendaki
kependaman output dalam kitaran jam. Membolehkan
daftar saluran paip menambah kependaman tambahan pada
keluaran.
Nyahtanda
Pilih pilihan ini untuk membolehkan port aclr menggunakan clear asynchronous untuk daftar saluran paip.
bersambung…
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 19
4. LPM_MULT (Pendaraban) Teras IP 683490 | 2020.10.05
Parameter
Buat jam 'clken' membolehkan jam
Pengoptimuman
Apakah jenis pengoptimuman yang anda mahukan?
Nilai —
Kawasan Kelajuan Lalai
Nilai Lalai
Penerangan
Nyahtanda
Menentukan membolehkan jam tinggi aktif untuk port jam daftar saluran paip
Lalai
Tentukan pengoptimuman yang dikehendaki untuk teras IP.
Pilih Lalai untuk membenarkan perisian Intel Quartus Prime menentukan pengoptimuman terbaik untuk teras IP.
4.7. Parameter untuk Peranti Intel Stratix 10, Intel Arria 10 dan Intel Cyclone 10 GX
4.7.1. Tab Umum
Jadual 12. Tab Umum
Parameter
Nilai
Nilai Lalai
Penerangan
Jenis Konfigurasi Pengganda
Lebar Port Data
Darabkan input 'dataa' dengan input 'datab'
Darabkan input 'dataa' dengan sendirinya (operasi kuasa dua)
Darabkan input 'dataa' dengan input 'datab'
Pilih konfigurasi yang diingini untuk pengganda.
Lebar data
1 – 256 bit
8 bit
Tentukan lebar port dataa[].
Lebar datab
1 – 256 bit
8 bit
Tentukan lebar port datab[].
Bagaimanakah lebar output 'hasil' ditentukan?
taip
Kira lebar secara automatik
Hadkan lebar
Automatik y mengira lebar
Pilih kaedah yang diingini untuk menentukan lebar port [] hasil.
Nilai
1 – 512 bit
16 bit
Tentukan lebar port [] hasil.
Nilai ini hanya akan berkesan jika anda memilih Hadkan lebar dalam parameter Jenis.
Lebar hasil
1 – 512 bit
—
Memaparkan lebar berkesan port [] hasil.
4.7.2. Tab Umum 2
Jadual 13. Umum 2 Tab
Parameter
Input Datab
Adakah bas input 'datab' mempunyai nilai tetap?
Tidak Ya
Nilai
Nilai Lalai
Penerangan
Tidak
Pilih Ya untuk menentukan nilai malar bagi
bas input `datab', jika ada.
bersambung…
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 20
Hantar Maklum Balas
4. LPM_MULT (Pendaraban) Teras IP 683490 | 2020.10.05
Parameter
Nilai
Nilai
Mana-mana nilai yang lebih besar daripada 0
Jenis Pendaraban
Jenis yang mana
Tidak ditandatangani
pendaraban adakah anda mahu? Ditandatangani
Gaya Pelaksanaan
Pelaksanaan pengganda yang manakah harus digunakan?
Gunakan pelaksanaan lalai
Gunakan litar pengganda khusus
Gunakan elemen logik
Nilai Lalai
Penerangan
0
Nyatakan nilai malar port datab[].
Tidak ditandatangani
Tentukan format perwakilan untuk input dataa[] dan datab[].
Gunakan ion pelaksanaan lalai
Pilih kaedah yang diingini untuk menentukan lebar port [] hasil.
4.7.3. Kerja paip
Jadual 14. Tab Pipelining
Parameter
Nilai
Adakah anda ingin menyalurkan fungsi?
Saluran paip
Tidak Ya
Jenis Isyarat Jelas Latensi
Mana-mana nilai yang lebih besar daripada 0.
TIADA ACLR SCLR
Buat jam 'clken'
—
dayakan jam
Apakah jenis pengoptimuman yang anda mahukan?
taip
Kawasan Kelajuan Lalai
Nilai Lalai
Penerangan
No 1 TIADA
—
Pilih Ya untuk mendayakan daftar saluran paip kepada output pengganda. Mendayakan daftar saluran paip menambah kependaman tambahan pada output.
Tentukan kependaman output yang dikehendaki dalam kitaran jam.
Tentukan jenis tetapan semula untuk daftar saluran paip. Pilih TIADA jika anda tidak menggunakan sebarang daftar saluran paip. Pilih ACLR untuk menggunakan clear asynchronous untuk daftar saluran paip. Ini akan menjana port ACLR. Pilih SCLR untuk menggunakan jelas segerak untuk daftar saluran paip. Ini akan menjana port SCLR.
Menentukan membolehkan jam tinggi aktif untuk port jam daftar saluran paip
Lalai
Tentukan pengoptimuman yang dikehendaki untuk teras IP.
Pilih Lalai untuk membenarkan perisian Intel Quartus Prime menentukan pengoptimuman terbaik untuk teras IP.
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 21
683490 | 2020.10.05 Hantar Maklum Balas
5. LPM_ADD_SUB (Penambah/Penolak)
Rajah 4.
Teras IP LPM_ADD_SUB membolehkan anda melaksanakan penambah atau penola untuk menambah atau menolak set data untuk menghasilkan output yang mengandungi jumlah atau perbezaan nilai input.
Rajah berikut menunjukkan port untuk teras IP LPM_ADD_SUB.
Pelabuhan LPM_ADD_SUB
LPM_ADD_SUB add_sub cin
dataa[]
jam clken datab[] aclr
hasil[] overflow cout
inst
5.1. Ciri-ciri
Teras IP LPM_ADD_SUB menawarkan ciri-ciri berikut: · Menghasilkan penambah, penolakan dan penambah/penolak yang boleh dikonfigurasikan secara dinamik
fungsi. · Menyokong lebar data 1 bit. · Menyokong format perwakilan data seperti ditandatangani dan tidak ditandatangani. · Menyokong pilihan bawa masuk (pinjam keluar), jelas tak segerak, dan daya jam
port input. · Menyokong port keluaran (pinjam masuk) dan limpahan keluaran pilihan. · Menetapkan salah satu daripada bas data input kepada pemalar. · Menyokong saluran paip dengan kependaman output boleh dikonfigurasikan.
Perbadanan Intel. Hak cipta terpelihara. Intel, logo Intel dan tanda Intel lain ialah tanda dagangan Intel Corporation atau anak syarikatnya. Intel menjamin prestasi produk FPGA dan semikonduktornya mengikut spesifikasi semasa menurut waranti standard Intel, tetapi berhak untuk membuat perubahan pada mana-mana produk dan perkhidmatan pada bila-bila masa tanpa notis. Intel tidak memikul tanggungjawab atau liabiliti yang timbul daripada aplikasi atau penggunaan mana-mana maklumat, produk atau perkhidmatan yang diterangkan di sini kecuali seperti yang dipersetujui secara bertulis oleh Intel. Pelanggan Intel dinasihatkan untuk mendapatkan versi terkini spesifikasi peranti sebelum bergantung pada sebarang maklumat yang diterbitkan dan sebelum membuat pesanan untuk produk atau perkhidmatan. *Nama dan jenama lain boleh dituntut sebagai hak milik orang lain.
ISO 9001:2015 Berdaftar
5. LPM_ADD_SUB (Penambah/Penolak) 683490 | 2020.10.05
5.2. Prototaip HDL Verilog
Prototaip Verilog HDL berikut terletak dalam Reka Bentuk Verilog File (.v) lpm.v dalam direktori edasintesis.
modul lpm_add_sub ( hasil, cout, limpahan, tambah_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”; masukkan [lpm_width-1:0] dataa, datab; masukkan add_sub, cin; jam input; input clken; input aclr; keluaran [lpm_width-1:0] hasil; keluaran cout, limpahan; modul akhir
5.3. Pengisytiharan Komponen VHDL
Pengisytiharan komponen VHDL terletak dalam Reka Bentuk VHDL File (.vhd) LPM_PACK.vhd dalam direktori perpustakaanvhdllpm.
komponen LPM_ADD_SUB generik (LPM_WIDTH : semula jadi;
LPM_DIRECTION : string := “UNUSED”; LPM_REPRESENTATION: string := “DITANDATANGANI”; LPM_PIPELINE : semula jadi := 0; LPM_TYPE : rentetan := L_ADD_SUB; LPM_HINT : string := “UNUSED”); port (DATAA : dalam std_logic_vector(LPM_WIDTH-1 turun kepada 0); DATAB : dalam std_logic_vector(LPM_WIDTH-1 turun kepada 0); ACLR : dalam std_logic := '0'; CLOCK : dalam std_logic := '0'; CLKEN : dalam std_logic := '1'; CIN : dalam std_logic := 'Z'; ADD_SUB : dalam std_logic := '1'; RESULT : keluar std_logic_vector(LPM_WIDTH-1 turun ke 0); COUT : keluar std_logic; LIMPAHAN : keluar std_logic); komponen akhir;
5.4. VHDL LIBRARY_USE Deklarasi
Pengisytiharan VHDL LIBRARY-USE tidak diperlukan jika anda menggunakan VHDL Component Declaration.
PERPUSTAKAAN lpm; GUNAKAN lpm.lpm_components.all;
5.5. Pelabuhan
Jadual berikut menyenaraikan port input dan output untuk teras IP LPM_ADD_SUB.
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 23
5. LPM_ADD_SUB (Penambah/Penolak) 683490 | 2020.10.05
Jadual 15. Port Input Teras IP LPM_ADD_SUB
Nama Pelabuhan
Diperlukan
Penerangan
cin
Tidak
Bawa masuk ke bit tertib rendah. Untuk operasi tambah, nilai lalai ialah 0. Untuk
operasi tolak, nilai lalai ialah 1.
dataa[]
ya
Input data. Saiz port input bergantung pada nilai parameter LPM_WIDTH.
datab[]
ya
Input data. Saiz port input bergantung pada nilai parameter LPM_WIDTH.
add_sub
Tidak
Port input pilihan untuk membolehkan penukaran dinamik antara penambah dan penolakan
fungsi. Jika parameter LPM_DIRECTION digunakan, add_sub tidak boleh digunakan. Jika
diabaikan, nilai lalai ialah ADD. Intel mengesyorkan agar anda menggunakan
Parameter LPM_DIRECTION untuk menentukan operasi fungsi LPM_ADD_SUB,
dan bukannya memberikan pemalar kepada port add_sub.
jam
Tidak
Input untuk penggunaan saluran paip. Port jam menyediakan input jam untuk saluran paip
operasi. Untuk nilai LPM_PIPELINE selain daripada 0 (lalai), port jam mestilah
didayakan.
clken
Tidak
Jam membolehkan untuk penggunaan saluran paip. Apabila port clken ditegaskan tinggi, penambah/
operasi penolakan berlaku. Apabila isyarat rendah, tiada operasi berlaku. Jika
diabaikan, nilai lalai ialah 1.
aclr
Tidak
Asynchronous clear untuk kegunaan saluran paip. Saluran paip dimulakan kepada undefined (X)
tahap logik. Port aclr boleh digunakan pada bila-bila masa untuk menetapkan semula saluran paip kepada semua 0s,
tak segerak kepada isyarat jam.
Jadual 16. Port Output Teras IP LPM_ADD_SUB
Nama Pelabuhan
Diperlukan
Penerangan
keputusan[]
ya
Keluaran data. Saiz port output bergantung pada parameter LPM_WIDTH
nilai.
cout
Tidak
Bawa keluar (pinjam masuk) bit paling ketara (MSB). Pelabuhan cout mempunyai fizikal
tafsiran sebagai pelaksanaan (pinjam masuk) MSB. Port cout mengesan
limpahan dalam operasi UNSIGNED. Pelabuhan cout beroperasi dengan cara yang sama untuk
operasi BERTANDA dan TIDAK BERTANDA.
melimpah
Tidak
Output pengecualian limpahan pilihan. Port limpahan mempunyai tafsiran fizikal sebagai
XOR pembawa masuk ke MSB dengan pembawa keluar MSB. Pelabuhan limpahan
menegaskan apabila keputusan melebihi ketepatan yang ada, dan digunakan hanya apabila
Nilai parameter LPM_REPRESENTATION telah DITANDATANGANI.
5.6. Parameter
Jadual berikut menyenaraikan parameter teras IP LPM_ADD_SUB.
Jadual 17. Parameter Teras IP LPM_ADD_SUB
Nama Parameter LPM_WIDTH
Taip Integer
Diperlukan Ya
Penerangan
Menentukan lebar port dataa[], datab[] dan result[].
LPM_DIRECTION
rentetan
Tidak
Nilai ialah ADD, SUB dan UNUSED. Jika ditinggalkan, nilai lalai ialah DEFAULT, yang mengarahkan parameter untuk mengambil nilainya daripada port add_sub. Port add_sub tidak boleh digunakan jika LPM_DIRECTION digunakan. Intel mengesyorkan agar anda menggunakan parameter LPM_DIRECTION untuk menentukan operasi fungsi LPM_ADD_SUB, dan bukannya memberikan pemalar kepada port add_sub.
bersambung…
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 24
Hantar Maklum Balas
5. LPM_ADD_SUB (Penambah/Penolak) 683490 | 2020.10.05
Nama Parameter LPM_REPRESENTATION LPM_PIPELINE LPM_HINT LPM_TYPE ONE_INPUT_IS_CONSTANT MAXIMIZE_SPEED
INTENDED_DEVICE_FAMILY
Taip Integer Rentetan Rentetan Rentetan Integer Rentetan
rentetan
Diperlukan Tidak Tidak Tidak Tidak Tidak Tidak
Tidak
Penerangan
Nyatakan jenis penambahan yang dilakukan. Nilai adalah DITANDATANGANI dan TIDAK DITANDATANGANI. Jika ditinggalkan, nilai lalai adalah DITANDATANGANI. Apabila parameter ini ditetapkan kepada SIGNED, penambah/penolak mentafsir input data sebagai pelengkap dua yang ditandatangani.
Menentukan bilangan kitaran jam kependaman yang dikaitkan dengan hasil[] output. Nilai sifar (0) menunjukkan bahawa tiada kependaman wujud dan fungsi gabungan semata-mata akan digunakan. Jika ditinggalkan, nilai lalai ialah 0 (tidak disalurkan).
Membolehkan anda menentukan parameter khusus Intel dalam reka bentuk VHDL files (.vhd). Nilai lalai ialah UNUSED.
Mengenal pasti perpustakaan nama entiti modul parameter (LPM) dalam reka bentuk VHDL files.
Parameter khusus Intel. Anda mesti menggunakan parameter LPM_HINT untuk menentukan parameter ONE_INPUT_IS_CONSTANT dalam reka bentuk VHDL files. Nilai adalah YA, TIDAK, dan TIDAK DIGUNAKAN. Menyediakan pengoptimuman yang lebih besar jika satu input adalah malar. Jika ditinggalkan, nilai lalai ialah NO.
Parameter khusus Intel. Anda mesti menggunakan parameter LPM_HINT untuk menentukan parameter MAXIMIZE_SPEED dalam reka bentuk VHDL files. Anda boleh menentukan nilai antara 0 dan 10. Jika digunakan, perisian Intel Quartus Prime cuba mengoptimumkan contoh tertentu fungsi LPM_ADD_SUB untuk kelajuan dan bukannya kebolehhalaan dan mengatasi tetapan pilihan logik Teknik Pengoptimuman. Jika MAXIMIZE_SPEED tidak digunakan, nilai pilihan Teknik Pengoptimuman digunakan sebaliknya. Jika tetapan untuk MAXIMIZE_SPEED ialah 6 atau lebih tinggi, Pengkompil mengoptimumkan teras IP LPM_ADD_SUB untuk kelajuan yang lebih tinggi menggunakan rantai pembawa; jika tetapan adalah 5 atau kurang, Pengkompil melaksanakan reka bentuk tanpa rantai pembawa. Parameter ini mesti dinyatakan untuk peranti Cyclone, Stratix dan Stratix GX hanya apabila port add_sub tidak digunakan.
Parameter ini digunakan untuk tujuan pemodelan dan simulasi tingkah laku. Editor parameter mengira nilai untuk parameter ini.
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 25
683490 | 2020.10.05 Hantar Maklum Balas
6. LPM_COMPARE (Pembanding)
Rajah 5.
Teras IP LPM_COMPARE membandingkan nilai dua set data untuk menentukan hubungan antara mereka. Dalam bentuk yang paling mudah, anda boleh menggunakan get eksklusif-OR untuk menentukan sama ada dua bit data adalah sama.
Rajah berikut menunjukkan port untuk teras IP LPM_COMPARE.
LPM_COMPARE Pelabuhan
LPM_COMPARE
clken
alb
aeb
dataa[]
agb
datab[]
umurb
jam
aneb
aclr
aleb
inst
6.1. Ciri-ciri
Teras IP LPM_COMPARE menawarkan ciri berikut: · Menjana fungsi pembanding untuk membandingkan dua set data · Menyokong lebar data 1 bit · Menyokong format perwakilan data seperti ditandatangani dan tidak ditandatangani · Menghasilkan jenis output berikut:
— alb (input A kurang daripada input B) — aeb (input A sama dengan input B) — agb (input A lebih besar daripada input B) — ageb (input A lebih besar daripada atau sama dengan input B) — aneb ( input A tidak sama dengan input B) — aleb (input A kurang daripada atau sama dengan input B) · Menyokong jelas tak segerak pilihan dan membolehkan port input jam · Menetapkan input datab[] kepada pemalar · Menyokong saluran paip dengan kependaman output boleh dikonfigurasikan
Perbadanan Intel. Hak cipta terpelihara. Intel, logo Intel dan tanda Intel lain ialah tanda dagangan Intel Corporation atau anak syarikatnya. Intel menjamin prestasi produk FPGA dan semikonduktornya mengikut spesifikasi semasa menurut waranti standard Intel, tetapi berhak untuk membuat perubahan pada mana-mana produk dan perkhidmatan pada bila-bila masa tanpa notis. Intel tidak memikul tanggungjawab atau liabiliti yang timbul daripada aplikasi atau penggunaan mana-mana maklumat, produk atau perkhidmatan yang diterangkan di sini kecuali seperti yang dipersetujui secara bertulis oleh Intel. Pelanggan Intel dinasihatkan untuk mendapatkan versi terkini spesifikasi peranti sebelum bergantung pada sebarang maklumat yang diterbitkan dan sebelum membuat pesanan untuk produk atau perkhidmatan. *Nama dan jenama lain boleh dituntut sebagai hak milik orang lain.
ISO 9001:2015 Berdaftar
6. LPM_COMPARE (Pembanding) 683490 | 2020.10.05
6.2. Prototaip HDL Verilog
Prototaip Verilog HDL berikut terletak dalam Reka Bentuk Verilog File (.v) lpm.v dalam 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 TANDATANGAN"; parameter lpm_pipeline = 0; parameter lpm_hint = “TIDAK DIGUNAKAN”; masukkan [lpm_width-1:0] dataa, datab; jam input; input clken; input aclr; keluaran alb, aeb, agb, aleb, aneb, ageb; modul akhir
6.3. Pengisytiharan Komponen VHDL
Pengisytiharan komponen VHDL terletak dalam Reka Bentuk VHDL File (.vhd) LPM_PACK.vhd dalam direktori perpustakaanvhdllpm.
komponen LPM_COMPARE generik (LPM_WIDTH : semula jadi;
LPM_REPRESENTATION : rentetan := “TIDAK TANDAI”; LPM_PIPELINE : semula jadi := 0; LPM_TYPE: rentetan := L_COMPARE; LPM_HINT : string := “UNUSED”); port (DATAA : dalam std_logic_vector(LPM_WIDTH-1 turun kepada 0); DATAB : dalam std_logic_vector(LPM_WIDTH-1 turun kepada 0); ACLR : dalam std_logic := '0'; CLOCK : dalam std_logic := '0'; CLKEN : dalam std_logic := '1'; AGB : keluar std_logic; AGEB : keluar std_logic; AEB : keluar std_logic; ANEB : keluar std_logic; ALB : keluar std_logic; ALEB : keluar std_logic); komponen akhir;
6.4. VHDL LIBRARY_USE Deklarasi
Pengisytiharan VHDL LIBRARY-USE tidak diperlukan jika anda menggunakan VHDL Component Declaration.
PERPUSTAKAAN lpm; GUNAKAN lpm.lpm_components.all;
6.5. Pelabuhan
Jadual berikut menyenaraikan port input dan output untuk teras IP LMP_COMPARE.
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 27
6. LPM_COMPARE (Pembanding) 683490 | 2020.10.05
Jadual 18. LPM_COMPARE Port Input teras IP
Nama Pelabuhan
Diperlukan
Penerangan
dataa[]
ya
Input data. Saiz port input bergantung pada nilai parameter LPM_WIDTH.
datab[]
ya
Input data. Saiz port input bergantung pada nilai parameter LPM_WIDTH.
jam
Tidak
Input jam untuk penggunaan saluran paip. Port jam menyediakan input jam untuk saluran paip
operasi. Untuk nilai LPM_PIPELINE selain daripada 0 (lalai), port jam mestilah
didayakan.
clken
Tidak
Jam membolehkan untuk penggunaan saluran paip. Apabila pelabuhan clken ditegaskan tinggi, yang
operasi perbandingan berlaku. Apabila isyarat rendah, tiada operasi berlaku. Jika
diabaikan, nilai lalai ialah 1.
aclr
Tidak
Asynchronous clear untuk kegunaan saluran paip. Saluran paip dimulakan kepada logik yang tidak ditentukan (X).
tahap. Port aclr boleh digunakan pada bila-bila masa untuk menetapkan semula saluran paip kepada semua 0s,
tak segerak kepada isyarat jam.
Jadual 19. LPM_COMPARE Port Output teras IP
Nama Pelabuhan
Diperlukan
Penerangan
alb
Tidak
Port keluaran untuk pembanding. Ditegaskan jika input A kurang daripada input B.
aeb
Tidak
Port keluaran untuk pembanding. Ditegaskan jika input A sama dengan input B.
agb
Tidak
Port keluaran untuk pembanding. Ditegaskan jika input A lebih besar daripada input B.
umurb
Tidak
Port keluaran untuk pembanding. Ditegaskan jika input A lebih besar daripada atau sama dengan input
B.
aneb
Tidak
Port keluaran untuk pembanding. Ditegaskan jika input A tidak sama dengan input B.
aleb
Tidak
Port keluaran untuk pembanding. Ditegaskan jika input A kurang daripada atau sama dengan input B.
6.6. Parameter
Jadual berikut menyenaraikan parameter untuk teras IP LPM_COMPARE.
Jadual 20. LPM_COMPARE Parameter teras IP
Nama Parameter
taip
Diperlukan
LPM_WIDTH
Integer Ya
LPM_REPRESENTATION
rentetan
Tidak
LPM_PIPELINE
Nombor bulat
LPM_HINT
rentetan
Tidak
Penerangan
Menentukan lebar port dataa[] dan datab[].
Menentukan jenis perbandingan yang dilakukan. Nilai adalah DITANDATANGANI dan TIDAK DITANDATANGANI. Jika ditinggalkan, nilai lalai adalah UNSIGNED. Apabila nilai parameter ini ditetapkan kepada SIGNED, pembanding mentafsir input data sebagai pelengkap dua yang ditandatangani.
Menentukan bilangan kitaran jam kependaman yang dikaitkan dengan output alb, aeb, agb, ageb, aleb atau aneb. Nilai sifar (0) menunjukkan bahawa tiada kependaman wujud dan fungsi gabungan semata-mata akan digunakan. Jika ditinggalkan, nilai lalai ialah 0 (tidak disalurkan).
Membolehkan anda menentukan parameter khusus Intel dalam reka bentuk VHDL files (.vhd). Nilai lalai ialah UNUSED.
bersambung…
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 28
Hantar Maklum Balas
6. LPM_COMPARE (Pembanding) 683490 | 2020.10.05
Nama Parameter LPM_TYPE INTENDED_DEVICE_FAMILY
ONE_INPUT_IS_CONSTANT
Taip Rentetan Rentetan
rentetan
Diperlukan No No
Tidak
Penerangan
Mengenal pasti perpustakaan nama entiti modul parameter (LPM) dalam reka bentuk VHDL files.
Parameter ini digunakan untuk tujuan pemodelan dan simulasi tingkah laku. Editor parameter mengira nilai untuk parameter ini.
Parameter khusus Intel. Anda mesti menggunakan parameter LPM_HINT untuk menentukan parameter ONE_INPUT_IS_CONSTANT dalam reka bentuk VHDL files. Nilai adalah YA, TIDAK, atau TIDAK DIGUNAKAN. Menyediakan pengoptimuman yang lebih besar jika input adalah malar. Jika ditinggalkan, nilai lalai ialah NO.
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 29
683490 | 2020.10.05 Hantar Maklum Balas
7. ALTECC (Kod Pembetulan Ralat: Pengekod/Penyahkod) Teras IP
Rajah 6.
Intel menyediakan teras IP ALTECC untuk melaksanakan fungsi ECC. ECC mengesan data rosak yang berlaku di bahagian penerima semasa penghantaran data. Kaedah pembetulan ralat ini paling sesuai untuk situasi di mana ralat berlaku secara rawak dan bukannya pecah.
ECC mengesan ralat melalui proses pengekodan dan penyahkodan data. Untuk exampOleh itu, apabila ECC digunakan dalam aplikasi penghantaran, data yang dibaca daripada sumber dikodkan sebelum dihantar kepada penerima. Output (perkataan kod) daripada pengekod terdiri daripada data mentah yang dilampirkan dengan bilangan bit pariti. Bilangan tepat bit pariti yang dilampirkan bergantung pada bilangan bit dalam data input. Kata kod yang dihasilkan kemudiannya dihantar ke destinasi.
Penerima menerima perkataan kod dan menyahkodnya. Maklumat yang diperoleh oleh penyahkod menentukan sama ada ralat dikesan. Penyahkod mengesan ralat bit tunggal dan dua bit, tetapi hanya boleh membetulkan ralat bit tunggal dalam data yang rosak. ECC jenis ini ialah pembetulan ralat tunggal pengesanan ralat berganda (SECDED).
Anda boleh mengkonfigurasi fungsi pengekod dan penyahkod teras IP ALTECC. Input data kepada pengekod dikodkan untuk menjana perkataan kod yang merupakan gabungan input data dan bit pariti yang dijana. Perkataan kod yang dijana dihantar ke modul penyahkod untuk penyahkodan sejurus sebelum mencapai blok destinasinya. Penyahkod menjana vektor sindrom untuk menentukan sama ada terdapat sebarang ralat dalam perkataan kod yang diterima. Penyahkod membetulkan data hanya jika ralat bit tunggal adalah daripada bit data. Tiada isyarat dibenderakan jika ralat bit tunggal adalah daripada bit pariti. Penyahkod juga mempunyai isyarat bendera untuk menunjukkan status data yang diterima dan tindakan yang diambil oleh penyahkod, jika ada.
Angka berikut menunjukkan port untuk teras IP ALTECC.
Pelabuhan Pengekod ALTECC
ALTECC_ENCODER
data[]
q[]
jam
jam
aclr
inst
Perbadanan Intel. Hak cipta terpelihara. Intel, logo Intel dan tanda Intel lain ialah tanda dagangan Intel Corporation atau anak syarikatnya. Intel menjamin prestasi produk FPGA dan semikonduktornya mengikut spesifikasi semasa menurut waranti standard Intel, tetapi berhak untuk membuat perubahan pada mana-mana produk dan perkhidmatan pada bila-bila masa tanpa notis. Intel tidak memikul tanggungjawab atau liabiliti yang timbul daripada aplikasi atau penggunaan mana-mana maklumat, produk atau perkhidmatan yang diterangkan di sini kecuali seperti yang dipersetujui secara bertulis oleh Intel. Pelanggan Intel dinasihatkan untuk mendapatkan versi terkini spesifikasi peranti sebelum bergantung pada sebarang maklumat yang diterbitkan dan sebelum membuat pesanan untuk produk atau perkhidmatan. *Nama dan jenama lain boleh dituntut sebagai hak milik orang lain.
ISO 9001:2015 Berdaftar
7. ALTECC (Kod Pembetulan Ralat: Pengekod/Penyahkod) Teras IP 683490 | 2020.10.05
Rajah 7. Port Dekoder ALTECC
ALTECC_DECODER
data[] jam jam
q[] err_detected err_corrected
err_fatal
aclr
inst
7.1. Ciri Pengekod ALTECC
Teras IP pengekod ALTECC menawarkan ciri berikut: · Melakukan pengekodan data menggunakan skema Pengekodan Hamming · Menyokong lebar data 2 bit · Menyokong format perwakilan data yang ditandatangani dan tidak ditandatangani · Menyokong saluran paip dengan kependaman output sama ada satu atau dua kitaran jam · Menyokong pilihan jelas tak segerak dan jam membolehkan port
Teras IP pengekod ALTECC mengambil dan mengekod data menggunakan skema Pengekodan Hamming. Skim Pengekodan Hamming memperoleh bit pariti dan menambahkannya pada data asal untuk menghasilkan perkataan kod output. Bilangan bit pariti yang dilampirkan bergantung pada lebar data.
Jadual berikut menyenaraikan bilangan bit pariti yang dilampirkan untuk julat lebar data yang berbeza. Lajur Jumlah Bit mewakili jumlah bilangan bit data input dan bit pariti yang ditambahkan.
Jadual 21.
Bilangan Bit Pariti dan Perkataan Kod Mengikut Lebar Data
Lebar Data
Bilangan Bit Pariti
Jumlah Bit (Perkataan Kod)
2-4
3+1
6-8
5-11
4+1
10-16
12-26
5+1
18-32
27-57
6+1
34-64
58-64
7+1
66-72
Derivasi bit pariti menggunakan semakan pariti genap. Tambahan 1 bit (ditunjukkan dalam jadual sebagai +1) dilampirkan pada bit pariti sebagai MSB bagi perkataan kod. Ini memastikan bahawa perkataan kod mempunyai nombor genap 1. Untuk example, jika lebar data ialah 4 bit, 4 bit pariti dilampirkan pada data untuk menjadi perkataan kod dengan jumlah 8 bit. Jika 7 bit daripada LSB bagi perkataan kod 8-bit mempunyai nombor ganjil 1, bit ke-8 (MSB) bagi perkataan kod ialah 1 menjadikan jumlah bilangan 1 dalam perkataan kod genap.
Rajah berikut menunjukkan perkataan kod yang dijana dan susunan bit pariti dan bit data dalam input data 8-bit.
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 31
7. ALTECC (Kod Pembetulan Ralat: Pengekod/Penyahkod) Teras IP 683490 | 2020.10.05
Rajah 8.
Bit Pariti dan Susunan Bit Data dalam Perkataan Kod Dijana 8-Bit
MSB
LSB
4 bit pariti
4 bit data
8
1
Teras IP pengekod ALTECC hanya menerima lebar input 2 hingga 64 bit pada satu masa. Lebar input 12 bit, 29 bit dan 64 bit, yang sesuai untuk peranti Intel, menghasilkan output masing-masing 18 bit, 36 bit dan 72 bit. Anda boleh mengawal had pemilihan bit dalam editor parameter.
7.2. Prototaip HDL Verilog (ALTECC_ENCODER)
Prototaip Verilog HDL berikut terletak dalam Reka Bentuk Verilog File (.v) lpm.v dalam direktori edasintesis.
modul altecc_encoder #( parameter intended_device_family = "tidak digunakan", parameter lpm_pipeline = 0, parameter width_codeword = 8, parameter width_dataword = 8, parameter lpm_type = "altecc_encoder", parameter lpm_hint = "belum digunakan") ( input wayar aclr, input wayar jam, input jam wayar, data wayar input [width_dataword-1:0], wayar output [width_codeword-1:0] q); modul akhir
7.3. Prototaip HDL Verilog (ALTECC_DECODER)
Prototaip Verilog HDL berikut terletak dalam Reka Bentuk Verilog File (.v) lpm.v dalam direktori edasintesis.
modul altecc_decoder #( parameter intended_device_family = "tidak digunakan", parameter lpm_pipeline = 0, parameter width_codeword = 8, parameter width_dataword = 8, parameter lpm_type = "altecc_decoder", parameter lpm_hint = "belum digunakan") ( input wayar aclr, input wayar jam, input jam wayar, data wayar input [width_codeword-1:0], wayar output err_corrected, output wire err_detected, outut wire err_fatal, output wire [width_dataword-1:0] q); modul akhir
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 32
Hantar Maklum Balas
7. ALTECC (Kod Pembetulan Ralat: Pengekod/Penyahkod) Teras IP 683490 | 2020.10.05
7.4. Pengisytiharan Komponen VHDL (ALTECC_ENCODER)
Pengisytiharan komponen VHDL terletak dalam Reka Bentuk VHDL File (.vhd) altera_mf_components.vhd dalam direktori librariesvhdlaltera_mf.
komponen altecc_encoder generik ( intended_device_family: string := “unused”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “UNUSED”; lpm_type:string := “altecc_encoder ”); port ( aclr: dalam std_logic := '0'; jam: dalam std_logic := '0'; clock: dalam std_logic := '1'; data: dalam std_logic_vector(width_dataword-1 turun kepada 0); q:out std_logic_vector(width_codeword -1 hingga 0)); komponen akhir;
7.5. Pengisytiharan Komponen VHDL (ALTECC_DECODER)
Pengisytiharan komponen VHDL terletak dalam Reka Bentuk VHDL File (.vhd) altera_mf_components.vhd dalam direktori librariesvhdlaltera_mf.
komponen altecc_decoder generik ( intended_device_family: string := “unused”; lpm_pipeline:natural := 0; width_codeword:natural := 8; width_dataword:natural := 8; lpm_hint:string := “UNUSED”; lpm_type:string := “altecc_decoder ”); port ( aclr: dalam std_logic := '0'; jam: dalam std_logic := '0'; clock: dalam std_logic := '1'; data: dalam std_logic_vector(width_codeword-1 turun kepada 0); err_corrected : out std_logic; err_detected : keluar std_logic; q:out std_logic_vector(width_dataword-1 turun ke 0); syn_e : out std_logic); komponen akhir;
7.6. VHDL LIBRARY_USE Deklarasi
Pengisytiharan VHDL LIBRARY-USE tidak diperlukan jika anda menggunakan VHDL Component Declaration.
PERPUSTAKAAN altera_mf; GUNAKAN altera_mf.altera_mf_components.all;
7.7. Pelabuhan Pengekod
Jadual berikut menyenaraikan port input dan output untuk teras IP pengekod ALTECC.
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 33
7. ALTECC (Kod Pembetulan Ralat: Pengekod/Penyahkod) Teras IP 683490 | 2020.10.05
Jadual 22. Port Input Pengekod ALTECC
Nama Pelabuhan
Diperlukan
Penerangan
data[]
ya
Port input data. Saiz port input bergantung pada WIDTH_DATAWORD
nilai parameter. Port data[] mengandungi data mentah yang akan dikodkan.
jam
ya
Port input jam yang menyediakan isyarat jam untuk menyegerakkan operasi pengekodan.
Port jam diperlukan apabila nilai LPM_PIPELINE lebih besar daripada 0.
jam
Tidak
Jam membolehkan. Jika ditinggalkan, nilai lalai ialah 1.
aclr
Tidak
Input jelas tak segerak. Isyarat aclr tinggi yang aktif boleh digunakan pada bila-bila masa untuk
kosongkan daftar secara tak segerak.
Jadual 23. Port Output Pengekod ALTECC
Nama Pelabuhan q[]
Diperlukan Ya
Penerangan
Port output data yang dikodkan. Saiz port output bergantung pada nilai parameter WIDTH_CODEWORD.
7.8. Pelabuhan Penyahkod
Jadual berikut menyenaraikan port input dan output untuk teras IP penyahkod ALTECC.
Jadual 24. Port Input Penyahkod ALTECC
Nama Pelabuhan
Diperlukan
Penerangan
data[]
ya
Port input data. Saiz port input bergantung pada nilai parameter WIDTH_CODEWORD.
jam
ya
Port input jam yang menyediakan isyarat jam untuk menyegerakkan operasi pengekodan. Port jam diperlukan apabila nilai LPM_PIPELINE lebih besar daripada 0.
jam
Tidak
Jam membolehkan. Jika ditinggalkan, nilai lalai ialah 1.
aclr
Tidak
Input jelas tak segerak. Isyarat aclr tinggi yang aktif boleh digunakan pada bila-bila masa untuk mengosongkan daftar secara tidak segerak.
Jadual 25. Port Output Penyahkod ALTECC
Nama Pelabuhan q[]
Diperlukan Ya
Penerangan
Port output data dinyahkod. Saiz port output bergantung pada nilai parameter WIDTH_DATAWORD.
err_detected Ya
Isyarat bendera untuk menggambarkan status data yang diterima dan menentukan sebarang ralat yang ditemui.
err_correcte Ya d
Isyarat bendera untuk menggambarkan status data yang diterima. Menandakan ralat bit tunggal ditemui dan diperbetulkan. Anda boleh menggunakan data kerana ia telah diperbetulkan.
err_fatal
ya
Isyarat bendera untuk menggambarkan status data yang diterima. Menandakan ralat dwi-bit ditemui, tetapi tidak diperbetulkan. Anda tidak boleh menggunakan data jika isyarat ini ditegaskan.
syn_e
Tidak
Isyarat output yang akan menjadi tinggi apabila ralat bit tunggal dikesan pada pariti
bit.
7.9. Parameter Pengekod
Jadual berikut menyenaraikan parameter untuk teras IP pengekod ALTECC.
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 34
Hantar Maklum Balas
7. ALTECC (Kod Pembetulan Ralat: Pengekod/Penyahkod) Teras IP 683490 | 2020.10.05
Jadual 26. Parameter Pengekod ALTECC
Nama Parameter
taip
Diperlukan
Penerangan
WIDTH_DATAWORD
Integer Ya
Menentukan lebar data mentah. Nilai adalah dari 2 hingga 64. Jika ditinggalkan, nilai lalai ialah 8.
WIDTH_CODEWORD
Integer Ya
Menentukan lebar perkataan kod yang sepadan. Nilai yang sah adalah dari 6 hingga 72, tidak termasuk 9, 17, 33 dan 65. Jika ditinggalkan, nilai lalai ialah 13.
LPM_PIPELINE
Nombor bulat
Menentukan saluran paip untuk litar. Nilai adalah dari 0 hingga 2. Jika nilainya 0, port tidak didaftarkan. Jika nilainya ialah 1, port output didaftarkan. Jika nilainya ialah 2, port input dan output didaftarkan. Jika ditinggalkan, nilai lalai ialah 0.
7.10. Parameter Penyahkod
Jadual berikut menyenaraikan parameter teras IP penyahkod ALTECC.
Jadual 27. Parameter Penyahkod ALTECC
Nama Parameter WIDTH_DATAWORD
Taip Integer
Diperlukan
Penerangan
ya
Menentukan lebar data mentah. Nilai ialah 2 hingga 64. The
nilai lalai ialah 8.
WIDTH_CODEWORD
Integer
ya
Menentukan lebar perkataan kod yang sepadan. Nilai ialah 6
kepada 72, tidak termasuk 9, 17, 33 dan 65. Jika ditinggalkan, nilai lalai
ialah 13.
LPM_PIPELINE
Integer
Tidak
Menentukan daftar litar. Nilai adalah dari 0 hingga 2. Jika
nilai ialah 0, tiada daftar dilaksanakan. Jika nilainya ialah 1, maka
output didaftarkan. Jika nilainya ialah 2, kedua-dua input dan
output didaftarkan. Jika nilai lebih besar daripada 2, tambahan
daftar dilaksanakan pada output untuk tambahan
latensi. Jika ditinggalkan, nilai lalai ialah 0.
Buat port 'syn_e'
Integer
Tidak
Hidupkan parameter ini untuk mencipta port syn_e.
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 35
683490 | 2020.10.05 Hantar Maklum Balas
8. Teras IP Penambah Berganda Intel FPGA
Rajah 9.
Penambah Berganda Intel FPGA (Peranti Intel Stratix 10, Intel Arria 10 dan Intel Cyclone 10 GX) atau teras IP ALTERA_MULT_ADD (peranti Arria V, Stratix V dan Cyclone V) membolehkan anda melaksanakan penambah-pengganda.
Rajah berikut menunjukkan port untuk Intel FPGA Multiply Adder atau teras IP ALTERA_MULT_ADD.
Penambah Berganda Intel FPGA atau Port ALTERA_MULT_ADD
Intel FPGA Multiply Adder atau ALTERA_MULT_ADD
dataa[] signa datab[] signb datac[] coefsel0[] coefsel1[] coefsel2[] coefsel3[] addnsub1 addnsub3 aclr/sclr[] scanina[] clock0 clock1 clock2 ena0 ena1 ena2 sload_accum
accum_sload chainin[]
hasil scanouta[]
aclr0 aclr1
inst
Penambah pengganda menerima pasangan input, mendarabkan nilai bersama-sama dan kemudian menambah atau menolak daripada hasil darab semua pasangan lain.
Jika semua lebar data input adalah 9-bit lebar atau lebih kecil, fungsi menggunakan konfigurasi pengganda input 9 x 9 bit dalam blok DSP untuk peranti yang menyokong konfigurasi 9 x 9. Jika tidak, blok DSP menggunakan pengganda input 18 × 18-bit untuk memproses data dengan lebar antara 10 bit dan 18 bit. Jika berbilang teras Intel FPGA Multiply Adder atau ALTERA_MULT_ADD IP berlaku dalam reka bentuk, fungsi diedarkan kepada sebagai
Perbadanan Intel. Hak cipta terpelihara. Intel, logo Intel dan tanda Intel lain ialah tanda dagangan Intel Corporation atau anak syarikatnya. Intel menjamin prestasi produk FPGA dan semikonduktornya mengikut spesifikasi semasa menurut waranti standard Intel, tetapi berhak untuk membuat perubahan pada mana-mana produk dan perkhidmatan pada bila-bila masa tanpa notis. Intel tidak memikul tanggungjawab atau liabiliti yang timbul daripada aplikasi atau penggunaan mana-mana maklumat, produk atau perkhidmatan yang diterangkan di sini kecuali seperti yang dipersetujui secara bertulis oleh Intel. Pelanggan Intel dinasihatkan untuk mendapatkan versi terkini spesifikasi peranti sebelum bergantung pada sebarang maklumat yang diterbitkan dan sebelum membuat pesanan untuk produk atau perkhidmatan. *Nama dan jenama lain boleh dituntut sebagai hak milik orang lain.
ISO 9001:2015 Berdaftar
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
banyak blok DSP yang berbeza yang mungkin supaya penghalaan ke blok ini lebih fleksibel. Pengganda yang lebih sedikit bagi setiap blok DSP membenarkan lebih banyak pilihan penghalaan ke dalam blok dengan meminimumkan laluan ke seluruh peranti.
Daftar dan daftar saluran paip tambahan untuk isyarat berikut juga diletakkan di dalam blok DSP: · Input data · Pilih yang ditandatangani atau tidak ditandatangani · Tambah atau tolak pilih · Produk pengganda
Dalam kes hasil keluaran, daftar pertama diletakkan di blok DSP. Walau bagaimanapun, daftar latensi tambahan diletakkan dalam elemen logik di luar blok. Periferi kepada blok DSP, termasuk input data kepada pengganda, input isyarat kawalan dan output penambah, gunakan penghalaan biasa untuk berkomunikasi dengan seluruh peranti. Semua sambungan dalam fungsi menggunakan penghalaan khusus di dalam blok DSP. Penghalaan khusus ini termasuk rantai daftar anjakan apabila anda memilih pilihan untuk mengalihkan data input berdaftar pengganda daripada satu pengganda kepada pengganda bersebelahan.
Untuk mendapatkan maklumat lanjut tentang blok DSP dalam mana-mana siri peranti Stratix V dan Arria V, rujuk bab Blok DSP dalam buku panduan masing-masing pada halaman Kesusasteraan dan Dokumentasi Teknikal.
Maklumat Berkaitan AN 306: Melaksanakan Pengganda dalam Peranti FPGA
Menyediakan lebih banyak maklumat tentang melaksanakan pengganda menggunakan DSP dan blok memori dalam peranti Intel FPGA.
8.1. Ciri-ciri
Intel FPGA Multiply Adder atau teras IP ALTERA_MULT_ADD menawarkan ciri-ciri berikut: · Menghasilkan pengganda untuk melaksanakan operasi pendaraban dua kompleks
nombor Nota: Apabila membina pengganda yang lebih besar daripada saiz yang disokong asli, mungkin/
akan menjadi kesan prestasi yang terhasil daripada lata blok DSP. · Menyokong lebar data 1 256 bit · Menyokong format perwakilan data yang ditandatangani dan tidak ditandatangani · Menyokong saluran paip dengan kependaman input boleh dikonfigurasikan · Menyediakan pilihan untuk bertukar secara dinamik antara sokongan data yang ditandatangani dan tidak ditandatangani · Menyediakan pilihan untuk menukar secara dinamik antara operasi tambah dan tolak · Menyokong pilihan asynchronous dan synchronous clear dan clock membolehkan port input · Menyokong mod daftar kelewatan sistolik · Menyokong pra-penambah dengan 8 pekali pra-beban setiap pengganda · Menyokong pemalar pra-beban untuk melengkapkan maklum balas penumpuk
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 37
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1. Pra-penambah
Dengan pra-penambah, penambahan atau penolakan dilakukan sebelum memberi makan kepada pengganda.
Terdapat lima mod pra-penambah: · Mod ringkas · Mod pekali · Mod input · Mod segi empat sama · Mod malar
Nota:
Apabila pra-penambah digunakan (pekali pra-penambah/input/mod kuasa dua), semua input data kepada pengganda mesti mempunyai tetapan jam yang sama.
8.1.1.1. Mod Mudah Pra-penambah
Dalam mod ini, kedua-dua operan berasal daripada port input dan pra-penambah tidak digunakan atau dipintas. Ini ialah mod lalai.
Rajah 10. Mod Mudah Pra-penambah
a0 b0
Berbilang0
hasil
8.1.1.2. Mod Pekali Pra-penambah
Dalam mod ini, satu operan pengganda terbit daripada pra-penambah, dan satu lagi operan terbit daripada storan pekali dalaman. Storan pekali membenarkan sehingga 8 pemalar pratetap. Isyarat pemilihan pekali ialah coefsel[0..3].
Mod ini dinyatakan dalam persamaan berikut.
Berikut menunjukkan mod pekali pra-penambah bagi suatu pengganda.
Rajah 11. Mod Pekali Pra-penambah
Preader
a0
Berbilang0
+/-
hasil
b0
coefsel0 coef
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 38
Hantar Maklum Balas
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.1.3. Mod Input Pra-penambah Dalam mod ini, satu operan pengganda terbit daripada pra-penambah, dan satu lagi operan terbitan daripada port input datac[]. Mod ini dinyatakan dalam persamaan berikut.
Berikut menunjukkan mod input pra-penambah bagi pengganda.
Rajah 12. Mod Input Pra-penambah
a0 b0
Berbilang0
+/-
hasil
c0
8.1.1.4. Mod Persegi Pra-penambah Mod ini dinyatakan dalam persamaan berikut.
Berikut menunjukkan mod kuasa dua pra-penambah bagi dua pengganda.
Rajah 13. Mod Square Pra-penambah
a0 b0
Berbilang0
+/-
hasil
8.1.1.5. Mod Malar Pra-penambah
Dalam mod ini, satu operan pengganda terbit daripada port input, dan satu lagi operan terbit daripada storan pekali dalaman. Storan pekali membenarkan sehingga 8 pemalar pratetap. Isyarat pemilihan pekali ialah coefsel[0..3].
Mod ini dinyatakan dalam persamaan berikut.
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 39
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Rajah berikut menunjukkan mod pemalar pra-penambah bagi suatu pengganda.
Rajah 14. Mod Malar Pra-penambah
a0
Berbilang0
hasil
coefsel0
coef
8.1.2. Daftar Kelewatan Sistolik
Dalam seni bina sistolik, data input dimasukkan ke dalam lata daftar yang bertindak sebagai penimbal data. Setiap daftar menyampaikan input sample kepada pengganda di mana ia didarab dengan pekali masing-masing. Penambah rantaian menyimpan hasil gabungan secara beransur-ansur daripada pengganda dan hasil yang didaftarkan sebelum ini daripada port input chainin[] untuk membentuk hasil akhir. Setiap elemen darab-tambah mesti ditangguhkan oleh satu kitaran supaya keputusan disegerakkan dengan sewajarnya apabila ditambah bersama. Setiap kelewatan berturut-turut digunakan untuk menangani kedua-dua memori pekali dan penimbal data bagi elemen darab-tambah masing-masing. Untuk example, kelewatan tunggal untuk elemen tambah darab kedua, dua kelewatan untuk elemen tambah darab ketiga, dan seterusnya.
Rajah 15. Daftar Sistolik
Daftar 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 y(t)
x(t) mewakili keputusan daripada aliran berterusan input samples dan y(t)
mewakili penjumlahan set input samples, dan dalam masa, didarab dengan mereka
pekali masing-masing. Kedua-dua hasil input dan output mengalir dari kiri ke kanan. c(0) hingga c(N-1) menandakan pekali. Daftar kelewatan sistolik dilambangkan dengan S-1, manakala 1 mewakili kelewatan jam tunggal. Daftar kelewatan sistolik ditambah pada
input dan output untuk saluran paip dengan cara yang memastikan hasil daripada
operan pengganda dan jumlah terkumpul kekal selari. Elemen pemprosesan ini
direplikasi untuk membentuk litar yang mengira fungsi penapisan. Fungsi ini ialah
dinyatakan dalam persamaan berikut.
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 40
Hantar Maklum Balas
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
N mewakili bilangan kitaran data yang telah dimasukkan ke dalam penumpuk, y(t) mewakili output pada masa t, A(t) mewakili input pada masa t, dan B(i) ialah pekali. T dan i dalam persamaan sepadan dengan sesaat tertentu dalam masa, jadi untuk mengira output sample y(t) pada masa t, kumpulan input samples pada N titik masa yang berbeza, atau A(n), A(n-1), A(n-2), … A(n-N+1) diperlukan. Kumpulan input N samples didarab dengan pekali N dan dijumlahkan bersama untuk membentuk hasil akhir y.
Seni bina daftar sistolik hanya tersedia untuk mod jumlah-2 dan jumlah-4. Untuk kedua-dua mod seni bina daftar sistolik, isyarat chainin pertama perlu diikat kepada 0.
Rajah berikut menunjukkan pelaksanaan daftar kelewatan sistolik bagi 2 pengganda.
Rajah 16. Pelaksanaan Daftar Kelewatan Sistolik 2 Pengganda
chainin
a0
Berbilang0
+/-
b0
a1
Berbilang1
+/-
b1
hasil
Jumlah dua pengganda dinyatakan dalam persamaan berikut.
Rajah berikut menunjukkan pelaksanaan daftar kelewatan sistolik bagi 4 pengganda.
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 41
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Rajah 17. Pelaksanaan Daftar Kelewatan Sistolik 4 Pengganda
chainin
a0
Berbilang0
+/-
b0
a1
Berbilang1
+/-
b1
a2
Berbilang2
+/-
b2
a3
Berbilang3
+/-
b3
hasil
Jumlah empat pengganda dinyatakan dalam persamaan berikut. Rajah 18. Jumlah 4 Pengganda
Berikut menyenaraikan advantages pelaksanaan daftar sistolik: · Mengurangkan penggunaan sumber DSP · Membolehkan pemetaan yang cekap dalam blok DSP menggunakan struktur penambah rantai
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 42
Hantar Maklum Balas
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.1.3. Pramuat Malar
Pemalar pra-beban mengawal operan penumpuk dan melengkapkan maklum balas penumpuk. LOADCONST_VALUE yang sah berjulat dari 0. Nilai malar adalah sama dengan 64N, di mana N = LOADCONST_VALUE. Apabila LOADCONST_VALUE ditetapkan kepada 2, nilai pemalar adalah sama dengan 64. Fungsi ini boleh digunakan sebagai pembundaran berat sebelah.
Rajah berikut menunjukkan pelaksanaan pemalar pra-beban.
Rajah 19. Pemalar Pra-beban
Maklum balas akumulator
tetap
a0
Berbilang0
+/-
b0
a1
Berbilang1
+/b1
hasil
accum_sload sload_accum
Rujuk teras IP berikut untuk pelaksanaan pengganda lain: · ALTMULT_ACCUM · ALTMEMMULT · LPM_MULT
8.1.4. Pengumpul Berganda
Ciri penumpuk berganda menambah daftar tambahan dalam laluan maklum balas penumpuk. Daftar penumpuk berganda mengikuti daftar keluaran, yang merangkumi jam, pemboleh jam dan aclr. Daftar penumpuk tambahan mengembalikan hasil dengan kelewatan satu kitaran. Ciri ini membolehkan anda mempunyai dua saluran penumpuk dengan kiraan sumber yang sama.
Rajah berikut menunjukkan pelaksanaan akumulator berganda.
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 43
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Rajah 20. Double Accumulator
Dou ble Accu mulator Daftar
Accu mulator maklum balas ck
a0
Berbilang0
+/-
b0
a1
Berbilang1
+/b1
Daftar Keluaran hasil keluaran
8.2. Prototaip HDL Verilog
Anda boleh menemui Intel FPGA Multiply Adder atau ALTERA_MULT_ADD prototaip HDL Verilog file (altera_mult_add_rtl.v) dalam perpustakaan direktori fungsi mega.
8.3. Pengisytiharan Komponen VHDL
Pengisytiharan komponen VHDL terletak dalam altera_lnsim_components.vhd dalam librariesvhdl altera_lnsim direktori.
8.4. VHDL LIBRARY_USE Deklarasi
Pengisytiharan VHDL LIBRARY-USE tidak diperlukan jika anda menggunakan VHDL Component Declaration.
PERPUSTAKAAN altera_mf; GUNAKAN altera_mf.altera_mf_components.all;
8.5. Isyarat
Jadual berikut menyenaraikan isyarat input dan output bagi teras IP Multiply Adder Intel FPGA IPor ALTERA_MULT_ADD.
Jadual 28. Multiply Adder Intel FPGA IPor ALTERA_MULT_ADD Isyarat Input
isyarat
Diperlukan
Penerangan
dataa_0[]/dataa_1[]/
ya
dataa_2[]/dataa_3[]
Input data kepada pengganda. Port input [NUMBER_OF_MULTIPLIERS * WIDTH_A – 1 … 0] lebar
bersambung…
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 44
Hantar Maklum Balas
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Isyarat 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
Diperlukan Ya Tidak
Tidak Tidak Tidak Tidak Tidak
Tidak
Tidak Tidak
Penerangan
Model simulasi untuk IP ini menyokong nilai input yang tidak ditentukan (X) kepada isyarat ini. Apabila anda memberikan nilai X kepada isyarat ini, nilai X disebarkan pada isyarat output.
Input data kepada pengganda. Isyarat input [NUMBER_OF_MULTIPLIERS * WIDTH_B – 1 … 0] lebar Model simulasi untuk IP ini menyokong nilai input (X) yang tidak ditentukan kepada isyarat ini. Apabila anda memberikan nilai X kepada isyarat ini, nilai X disebarkan pada isyarat output.
Input data kepada pengganda. Isyarat input [NUMBER_OF_MULTIPLIERS * WIDTH_C – 1, … 0] lebar Pilih INPUT untuk Pilih parameter mod preadder untuk mendayakan isyarat ini. Model simulasi untuk IP ini menyokong nilai input yang tidak ditentukan (X) kepada isyarat ini. Apabila anda memberikan nilai X kepada isyarat ini, nilai X disebarkan pada isyarat output.
Port input jam ke daftar yang sepadan. Isyarat ini boleh digunakan oleh mana-mana daftar dalam teras IP. Model simulasi untuk IP ini menyokong nilai input yang tidak ditentukan (X) kepada isyarat ini. Apabila anda memberikan nilai X kepada isyarat ini, nilai X disebarkan pada isyarat output.
Input jelas tak segerak ke daftar yang sepadan. Model simulasi untuk IP ini menyokong nilai input yang tidak ditentukan (X) kepada isyarat ini. Apabila anda memberikan nilai X kepada isyarat ini, nilai X disebarkan pada isyarat output.
Input jelas segerak ke daftar yang sepadan. Model simulasi untuk IP ini menyokong nilai input X yang tidak ditentukan kepada isyarat ini. Apabila anda memberikan nilai X kepada isyarat ini, nilai X disebarkan pada isyarat output
Dayakan input isyarat ke daftar yang sepadan. Model simulasi untuk IP ini menyokong nilai input yang tidak ditentukan (X) kepada isyarat ini. Apabila anda memberikan nilai X kepada isyarat ini, nilai X disebarkan pada isyarat output.
Menentukan perwakilan berangka input pengganda A. Jika isyarat isyarat tinggi, pengganda menganggap isyarat input pengganda A sebagai nombor bertanda. Jika isyarat isyarat rendah, pengganda menganggap isyarat input pengganda A sebagai nombor yang tidak ditandatangani. Pilih PEMBOLEH UBAH untuk Apakah format perwakilan untuk parameter input Pengganda A untuk mendayakan isyarat ini. Model simulasi untuk IP ini menyokong nilai input yang tidak ditentukan (X) kepada isyarat ini. Apabila anda memberikan nilai X kepada input ini, nilai X disebarkan pada isyarat output.
Menentukan perwakilan berangka bagi isyarat B input pengganda. Jika isyarat signb adalah tinggi, pengganda menganggap isyarat B input pengganda sebagai nombor pelengkap dua yang ditandatangani. Jika isyarat signb rendah, pengganda menganggap isyarat B input pengganda sebagai nombor yang tidak ditandatangani. Model simulasi untuk IP ini menyokong nilai input yang tidak ditentukan (X) kepada isyarat ini. Apabila anda memberikan nilai X kepada input ini, nilai X disebarkan pada isyarat output.
Input untuk rantai imbasan A. Isyarat input [WIDTH_A – 1, … 0] lebar. Apabila parameter INPUT_SOURCE_A mempunyai nilai SCANA, isyarat scanina[] diperlukan.
Secara dinamik menentukan sama ada nilai penumpuk adalah malar. Jika isyarat accum_sload rendah, maka output pengganda dimuatkan ke dalam penumpuk. Jangan gunakan accum_sload dan sload_accum secara serentak.
bersambung…
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 45
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Isyarat sload_accum
chainin[] addnsub1
addnsub3
coefsel0[] coefsel1[] coefsel2[] coefsel3[]
Diperlukan No
Tidak Tidak
Tidak
Tidak tidak tidak Tidak
Penerangan
Model simulasi untuk IP ini menyokong nilai input yang tidak ditentukan (X) kepada isyarat ini. Apabila anda memberikan nilai X kepada input ini, nilai X disebarkan pada isyarat output.
Secara dinamik menentukan sama ada nilai penumpuk adalah malar. Jika isyarat sload_accum tinggi, maka output pengganda dimuatkan ke dalam penumpuk. Jangan gunakan accum_sload dan sload_accum secara serentak. Model simulasi untuk IP ini menyokong nilai input yang tidak ditentukan (X) kepada isyarat ini. Apabila anda memberikan nilai X kepada input ini, nilai X disebarkan pada isyarat output.
Bas input hasil penambah dari s sebelumnyatage. Isyarat input [WIDTH_CHAININ – 1, … 0] lebar.
Lakukan penambahan atau penolakan kepada output daripada pasangan pendarab pertama. Input 1 kepada isyarat addnsub1 untuk menambah output daripada pasangan pertama pengganda. Input 0 kepada isyarat addnsub1 untuk menolak output daripada pasangan pendarab pertama. Model simulasi untuk IP ini menyokong nilai input yang tidak ditentukan (X) kepada isyarat ini. Apabila anda memberikan nilai X kepada input ini, nilai X disebarkan pada isyarat output.
Lakukan penambahan atau penolakan kepada output daripada pasangan pendarab pertama. Input 1 kepada isyarat addnsub3 untuk menambah output daripada pasangan kedua pengganda. Input 0 kepada isyarat addnsub3 untuk menolak output daripada pasangan pendarab pertama. Model simulasi untuk IP ini menyokong nilai input yang tidak ditentukan (X) kepada isyarat ini. Apabila anda memberikan nilai X kepada input ini, nilai X disebarkan pada isyarat output.
Isyarat input pekali[0:3] kepada pengganda pertama. Model simulasi untuk IP ini menyokong nilai input yang tidak ditentukan (X) kepada isyarat ini. Apabila anda memberikan nilai X kepada input ini, nilai X disebarkan pada isyarat output.
Isyarat input pekali[0:3]kepada pengganda kedua. Model simulasi untuk IP ini menyokong nilai input yang tidak ditentukan (X) kepada isyarat ini. Apabila anda memberikan nilai X kepada input ini, nilai X disebarkan pada isyarat output.
Isyarat input pekali[0:3]kepada pengganda ketiga. Model simulasi untuk IP ini menyokong nilai input yang tidak ditentukan (X) kepada isyarat ini. Apabila anda memberikan nilai X kepada input ini, nilai X disebarkan pada isyarat output.
Isyarat input pekali [0:3] kepada pengganda keempat. Model simulasi untuk IP ini menyokong nilai input yang tidak ditentukan (X) kepada isyarat ini. Apabila anda memberikan nilai X kepada input ini, nilai X disebarkan pada isyarat output.
Jadual 29. Darab Isyarat Output IP FPGA Intel
isyarat
Diperlukan
Penerangan
keputusan []
ya
Isyarat keluaran pengganda. Isyarat keluaran [WIDTH_RESULT – 1 … 0] lebar
Model simulasi untuk IP ini menyokong nilai keluaran yang tidak ditentukan (X). Apabila anda memberikan nilai X sebagai input, nilai X disebarkan pada isyarat ini.
scanouta []
Tidak
Output rantai imbasan A. Isyarat keluaran [WIDTH_A – 1..0] lebar.
Pilih lebih daripada 2 untuk bilangan pengganda dan pilih Imbas input rantai untuk Apakah input A bagi pengganda yang disambungkan ke parameter untuk mendayakan isyarat ini.
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 46
Hantar Maklum Balas
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6. Parameter
8.6.1. Tab Umum
Jadual 30. Tab Umum
Parameter
Parameter Dijana IP
Nilai
Berapakah bilangan pengganda?
bilangan_m 1 – 4 gandaan
Berapa lebar sepatutnya bas input A width_a?
1 – 256
Berapakah lebar bas input B width_b?
1 – 256
Seberapa lebar seharusnya bas keluaran 'hasil'?
lebar_hasil
1 – 256
Buat jam yang berkaitan membolehkan untuk setiap jam
gui_associate Hidupkan d_clock_enabl Mati e
8.6.2. Tab Mod Tambahan
Jadual 31. Tab Mod Tambahan
Parameter
Parameter Dijana IP
Nilai
Konfigurasi Output
Daftar keluaran unit penambah
gui_output_re Hidup
gister
Mati
Apakah sumber input jam?
gui_output_re gister_clock
Jam0 Jam1 Jam2
Apakah sumber untuk input jelas tak segerak?
gui_output_re gister_aclr
TIADA ACLR0 ACLR1
Apakah sumber untuk input jelas segerak?
gui_output_re gister_sclr
TIADA SCLR0 SCLR1
Operasi Penambah
Apakah operasi yang perlu dilakukan pada keluaran pasangan pendarab pertama?
gui_multiplier 1_direction
TAMBAH, SUB, PEMUBAH
Nilai Lalai 1
16
Penerangan
Bilangan pengganda untuk ditambah bersama. Nilai ialah 1 hingga 4. Tentukan lebar port dataa[].
16
Tentukan lebar port datab[].
32
Tentukan lebar port [] hasil.
Mati
Pilih pilihan ini untuk membuat jam membolehkan
untuk setiap jam.
Nilai Lalai
Penerangan
Luar Jam0
TIADA TIADA
Pilih pilihan ini untuk mendayakan daftar keluaran modul penambah.
Pilih Clock0 , Clock1 atau Clock2 untuk mendayakan dan menentukan sumber jam untuk daftar output. Anda mesti memilih Daftar keluaran unit penambah untuk mendayakan parameter ini.
Menentukan sumber jelas tak segerak untuk daftar keluaran penambah. Anda mesti memilih Daftar keluaran unit penambah untuk mendayakan parameter ini.
Menentukan sumber jelas segerak untuk daftar keluaran penambah. Anda mesti memilih Daftar keluaran unit penambah untuk mendayakan parameter ini.
TAMBAH
Pilih operasi tambah atau tolak untuk dilakukan bagi output antara pendarab pertama dan kedua.
· Pilih TAMBAH untuk melaksanakan operasi tambah.
· Pilih SUB untuk melakukan operasi tolak.
· Pilih PEMBOLEH UBAH untuk menggunakan port addnsub1 untuk kawalan penambahan/penolakan dinamik.
bersambung…
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 47
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter Dijana IP
Nilai
Daftar input 'addnsub1'
gui_addnsub_ On multiplier_reg Off ister1
Apakah sumber input jam?
gui_addnsub_ multiplier_reg ister1_clock
Jam0 Jam1 Jam2
Apakah sumber untuk input jelas tak segerak?
gui_addnsub_ multiplier_aclr 1
TIADA ACLR0 ACLR1
Apakah sumber untuk input jelas segerak?
gui_addnsub_ multiplier_sclr 1
TIADA SCLR0 SCLR1
Apakah operasi yang perlu dilakukan pada output pasangan kedua pengganda?
gui_multiplier 3_direction
TAMBAH, SUB, PEMUBAH
Daftar input 'addnsub3'
gui_addnsub_ On multiplier_reg Off ister3
Apakah sumber input jam?
gui_addnsub_ multiplier_reg ister3_clock
Jam0 Jam1 Jam2
Nilai Lalai
Luar Jam0 TIADA TIADA TAMBAH
Luar Jam0
Penerangan
Apabila nilai VARIABLE dipilih: · Pandu isyarat addnsub1 ke tinggi untuk
operasi tambah. · Pandu isyarat addnsub1 ke rendah untuk
operasi tolak. Anda mesti memilih lebih daripada dua pengganda untuk mendayakan parameter ini.
Pilih pilihan ini untuk mendayakan daftar input untuk port addnsub1. Anda mesti memilih PEMBOLEH UBAH untuk Apakah operasi yang harus dilakukan pada output pasangan pertama pengganda untuk mendayakan parameter ini.
Pilih Clock0 , Clock1 atau Clock2 untuk menentukan isyarat jam input untuk daftar addnsub1. Anda mesti memilih Daftar input 'addnsub1' untuk mendayakan parameter ini.
Menentukan sumber jelas tak segerak untuk daftar addnsub1. Anda mesti memilih Daftar input 'addnsub1' untuk mendayakan parameter ini.
Menentukan sumber jelas segerak untuk daftar addnsub1. Anda mesti memilih Daftar input 'addnsub1' untuk mendayakan parameter ini.
Pilih operasi tambah atau tolak untuk dilakukan bagi output antara pengganda ketiga dan keempat. · Pilih TAMBAH untuk melakukan penambahan
operasi. · Pilih SUB untuk melakukan penolakan
operasi. · Pilih PEMBOLEH UBAH untuk menggunakan addnsub1
port untuk kawalan penambahan/penolakan dinamik. Apabila nilai VARIABLE dipilih: · Pandu isyarat addnsub1 ke tinggi untuk operasi penambahan. · Pandu isyarat addnsub1 ke rendah untuk operasi penolakan. Anda mesti memilih nilai 4 untuk Berapakah bilangan pengganda? untuk membolehkan parameter ini.
Pilih pilihan ini untuk mendayakan daftar input bagi isyarat addnsub3. Anda mesti memilih PEMBOLEH UBAH untuk Apakah operasi yang harus dilakukan pada output pasangan kedua pengganda untuk mendayakan parameter ini.
Pilih Clock0 , Clock1 atau Clock2 untuk menentukan isyarat jam input untuk daftar addnsub3. Anda mesti memilih Daftar input 'addnsub3' untuk mendayakan parameter ini.
bersambung…
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 48
Hantar Maklum Balas
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Apakah sumber untuk input jelas tak segerak?
Parameter Dijana IP
Nilai
gui_addnsub_ multiplier_aclr 3
TIADA ACLR0 ACLR1
Apakah sumber untuk input jelas segerak?
gui_addnsub_ multiplier_sclr 3
TIADA SCLR0 SCLR1
Kekutuban Dayakan `use_subadd'
gui_use_subn Hidup
tambah
Mati
8.6.3. Tab Pengganda
Jadual 32. Tab Pengganda
Parameter
Parameter Dijana IP
Nilai
Apa itu
gui_represent
format perwakilan ation_a
untuk input Pengganda A?
BERTANDA, TIDAK BERTANDA, BOLEH ubah
Daftar input `signa'
gui_register_s Hidup
igna
Mati
Apakah sumber input jam?
gui_register_s igna_clock
Jam0 Jam1 Jam2
Apakah sumber untuk input jelas tak segerak?
gui_register_s igna_aclr
TIADA ACLR0 ACLR1
Apakah sumber untuk input jelas segerak?
gui_register_s igna_sclr
TIADA SCLR0 SCLR1
Apa itu
gui_represent
format perwakilan ation_b
untuk input Pengganda B?
BERTANDA, TIDAK BERTANDA, BOLEH ubah
Daftar input `signb'
gui_register_s Hidup
igb
Mati
Nilai Lalai TIADA
TIADA
Penerangan
Menentukan sumber jelas tak segerak untuk daftar addnsub3. Anda mesti memilih Daftar input 'addnsub3' untuk mendayakan parameter ini.
Menentukan sumber jelas segerak untuk daftar addnsub3. Anda mesti memilih Daftar input 'addnsub3' untuk mendayakan parameter ini.
Mati
Pilih pilihan ini untuk membalikkan fungsi
daripada port input addnsub.
Pandu addnsub ke tinggi untuk operasi penolakan.
Pandu addnsub ke rendah untuk operasi penambahan.
Nilai Lalai
Penerangan
UNSIGNED Tentukan format perwakilan untuk input pengganda A.
Mati
Pilih pilihan ini untuk mendayakan signa
mendaftar.
Anda mesti memilih nilai PEMBOLEH UBAH untuk Apakah format perwakilan untuk input Pengganda A? parameter untuk membolehkan pilihan ini.
Jam0
Pilih Clock0 , Clock1 atau Clock2 untuk mendayakan dan menentukan isyarat jam input untuk signa register.
Anda mesti memilih Daftar input `signa' untuk mendayakan parameter ini.
TIADA
Menentukan sumber jelas tak segerak untuk daftar signa.
Anda mesti memilih Daftar input `signa' untuk mendayakan parameter ini.
TIADA
Menentukan sumber jelas segerak untuk daftar signa.
Anda mesti memilih Daftar input `signa' untuk mendayakan parameter ini.
UNSIGNED Tentukan format perwakilan untuk input B pengganda.
Mati
Pilih pilihan ini untuk mendayakan signb
mendaftar.
bersambung…
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 49
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter Dijana IP
Nilai
Nilai Lalai
Apakah sumber input jam?
gui_register_s ignb_clock
Jam0 Jam1 Jam2
Jam0
Apakah sumber untuk input jelas tak segerak?
gui_register_s ignb_aclr
TIADA ACLR0 ACLR1
Apakah sumber untuk input jelas segerak?
gui_register_s ignb_sclr
TIADA SCLR0 SCLR1
Konfigurasi Input
Daftarkan input A bagi pengganda
Apakah sumber input jam?
gui_input_reg Hidup
ister_a
Mati
gui_input_reg ister_a_clock
Jam0 Jam1 Jam2
TIADA TIADA
Luar Jam0
Apakah sumber untuk input jelas tak segerak?
gui_input_reg ister_a_aclr
TIADA ACLR0 ACLR1
Apakah sumber untuk input jelas segerak?
gui_input_reg ister_a_sclr
TIADA SCLR0 SCLR1
Daftarkan input B bagi pengganda
Apakah sumber input jam?
gui_input_reg Hidup
ister_b
Mati
gui_input_reg ister_b_clock
Jam0 Jam1 Jam2
TIADA TIADA Luar Jam0
Apakah sumber untuk input jelas tak segerak?
gui_input_reg ister_b_aclr
TIADA ACLR0 ACLR1
TIADA
Apakah sumber untuk input jelas segerak?
gui_input_reg ister_b_sclr
TIADA SCLR0 SCLR1
TIADA
Apakah input A bagi pengganda yang disambungkan?
gui_multiplier Pengganda input Pengganda
_a_input
Imbas input input rantai
Penerangan
Anda mesti memilih nilai PEMBOLEH UBAH untuk Apakah format perwakilan untuk input Pengganda B? parameter untuk membolehkan pilihan ini.
Pilih Clock0 , Clock1 atau Clock2 untuk mendayakan dan menentukan isyarat jam input untuk signb register. Anda mesti memilih Daftar input `signb' untuk mendayakan parameter ini.
Menentukan sumber jelas tak segerak untuk daftar signb. Anda mesti memilih Daftar input `signb' untuk mendayakan parameter ini.
Menentukan sumber jelas segerak untuk daftar signb. Anda mesti memilih Daftar input `signb' untuk mendayakan parameter ini.
Pilih pilihan ini untuk mendayakan daftar input untuk bas input data.
Pilih Clock0 , Clock1 atau Clock2 untuk mendayakan dan menentukan isyarat jam input daftar untuk bas input data. Anda mesti memilih Daftar input A daripada pengganda untuk mendayakan parameter ini.
Menentukan sumber jelas tak segerak daftar untuk bas input data. Anda mesti memilih Daftar input A daripada pengganda untuk mendayakan parameter ini.
Menentukan sumber jelas segerak daftar untuk bas input data. Anda mesti memilih Daftar input A daripada pengganda untuk mendayakan parameter ini.
Pilih pilihan ini untuk mendayakan daftar input untuk bas input datab.
Pilih Clock0 , Clock1 atau Clock2 untuk mendayakan dan menentukan isyarat jam input daftar untuk bas input datab. Anda mesti memilih Daftar input B pengganda untuk mendayakan parameter ini.
Menentukan sumber jelas tak segerak daftar untuk bas input datab. Anda mesti memilih Daftar input B pengganda untuk mendayakan parameter ini.
Menentukan sumber jelas segerak daftar untuk bas input datab. Anda mesti memilih Daftar input B pengganda untuk mendayakan parameter ini.
Pilih sumber input untuk input A bagi pengganda.
bersambung…
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 50
Hantar Maklum Balas
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter Dijana IP
Nilai
Imbas A Konfigurasi Daftar
Daftar keluaran rantai imbasan
gui_scanouta Hidup
_daftar
Mati
Apakah sumber input jam?
gui_scanouta _register_clock k
Jam0 Jam1 Jam2
Apakah sumber untuk input jelas tak segerak?
gui_scanouta _register_aclr
TIADA ACLR0 ACLR1
Apakah sumber untuk input jelas segerak?
gui_scanouta _register_sclr
TIADA SCLR0 SCLR1
8.6.4. Tab Preadder
Jadual 33. Tab Preadder
Parameter
Parameter Dijana IP
Nilai
Pilih mod preadder
preadder_mo de
SIMPLE, COEF, INPUT, SQUARE, CONSTANT
Nilai Lalai
Penerangan
Pilih Input pengganda untuk menggunakan bas input data sebagai sumber kepada pengganda. Pilih Imbas input rantai untuk menggunakan bas input imbasan sebagai sumber kepada pengganda dan dayakan bas output imbasan. Parameter ini tersedia apabila anda memilih 2, 3 atau 4 untuk Berapakah bilangan pengganda? parameter.
Luar Jam0 TIADA TIADA
Pilih pilihan ini untuk membolehkan daftar keluaran untuk bas keluaran scanouta.
Anda mesti memilih Imbas input rantai untuk Apakah input A pengganda yang disambungkan? parameter untuk membolehkan pilihan ini.
Pilih Clock0 , Clock1 atau Clock2 untuk mendayakan dan menentukan isyarat jam input daftar untuk bas output scanouta.
Anda mesti menghidupkan Daftar keluaran parameter rantai imbasan untuk mendayakan pilihan ini.
Menentukan sumber jelas tak segerak daftar untuk bas keluaran scanouta.
Anda mesti menghidupkan Daftar keluaran parameter rantai imbasan untuk mendayakan pilihan ini.
Menentukan sumber jelas segerak daftar untuk bas keluaran scanouta.
Anda mesti memilih Daftar keluaran parameter rantai imbasan untuk mendayakan pilihan ini.
Nilai Lalai
MUDAH
Penerangan
Menentukan mod operasi untuk modul preadder. MUDAH: Mod ini memintas preadder. Ini ialah mod lalai. COEF: Mod ini menggunakan output bas input preadder dan coefsel sebagai input kepada pengganda. INPUT: Mod ini menggunakan output bas input preadder dan datac sebagai input kepada pengganda. SQUARE: Mod ini menggunakan output preadder sebagai kedua-dua input kepada pengganda.
bersambung…
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 51
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter Dijana IP
Nilai
Pilih arah preadder
gui_preadder TAMBAH,
_arah
SUB
Berapakah lebar bas input C width_c?
1 – 256
Konfigurasi Daftar Input Data C
Daftar input datac
gui_datac_inp Hidup
ut_register
Mati
Apakah sumber input jam?
gui_datac_inp ut_register_cl ok
Jam0 Jam1 Jam2
Apakah sumber untuk input jelas tak segerak?
gui_datac_inp ut_register_a clr
TIADA ACLR0 ACLR1
Apakah sumber untuk input jelas segerak?
gui_datac_inp ut_register_sc lr
TIADA SCLR0 SCLR1
Pekali
Berapa lebarkah lebar coef?
width_coef
1 – 27
Konfigurasi Daftar Coef
Daftarkan input coefsel
gui_coef_regi Dihidupkan
ster
Mati
Apakah sumber input jam?
gui_coef_regi ster_clock
Jam0 Jam1 Jam2
Nilai Lalai
TAMBAH
16
Penerangan
CONSTANT: Mod ini menggunakan bas input data dengan preadder bypass dan coefsel input bus sebagai input kepada pengganda.
Menentukan operasi preadder. Untuk mendayakan parameter ini, pilih yang berikut untuk Pilih mod preadder: · COEF · INPUT · SQUARE atau · CONSTANT
Menentukan bilangan bit untuk bas input C. Anda mesti memilih INPUT untuk Pilih mod preadder untuk mendayakan parameter ini.
Pada Jam0 TIADA TIADA
Pilih pilihan ini untuk mendayakan daftar input untuk bas input datac. Anda mesti menetapkan INPUT kepada Pilih parameter mod preadder untuk mendayakan pilihan ini.
Pilih Clock0 , Clock1 atau Clock2 untuk menentukan isyarat jam input untuk daftar input datac. Anda mesti memilih Daftar input datac untuk mendayakan parameter ini.
Menentukan sumber jelas tak segerak untuk daftar input datac. Anda mesti memilih Daftar input datac untuk mendayakan parameter ini.
Menentukan sumber jelas segerak untuk daftar input datac. Anda mesti memilih Daftar input datac untuk mendayakan parameter ini.
18
Menentukan bilangan bit untuk
bas input coefsel.
Anda mesti memilih COEF atau CONSTANT untuk mod preadder untuk mendayakan parameter ini.
Pada Jam0
Pilih pilihan ini untuk mendayakan daftar input untuk bas input coefsel. Anda mesti memilih COEF atau CONSTANT untuk mod preadder untuk mendayakan parameter ini.
Pilih Clock0 , Clock1 atau Clock2 untuk menentukan isyarat jam input untuk daftar input coefsel. Anda mesti memilih Daftar input coefsel untuk mendayakan parameter ini.
bersambung…
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 52
Hantar Maklum Balas
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Apakah sumber untuk input jelas tak segerak?
Parameter Dijana IP
Nilai
gui_coef_regi ster_aclr
TIADA ACLR0 ACLR1
Apakah sumber untuk input jelas segerak
gui_coef_regi ster_sclr
TIADA SCLR0 SCLR1
Koefisien_0 Tatarajah
coef0_0 kepada coef0_7
0x00000 0xFFFFFFFF
Koefisien_1 Tatarajah
coef1_0 kepada coef1_7
0x00000 0xFFFFFFFF
Koefisien_2 Tatarajah
coef2_0 kepada coef2_7
0x00000 0xFFFFFFFF
Koefisien_3 Tatarajah
coef3_0 kepada coef3_7
0x00000 0xFFFFFFFF
8.6.5. Tab Akumulator
Jadual 34. Tab Akumulator
Parameter
Parameter Dijana IP
Nilai
Dayakan penumpuk?
penumpuk
YA TIDAK
Apakah jenis operasi penumpuk?
accum_directi ADD,
on
SUB
Nilai Lalai TIADA
TIADA
0x0000000 0
0x0000000 0
0x0000000 0
0x0000000 0
Penerangan
Menentukan sumber jelas tak segerak untuk daftar input coefsel. Anda mesti memilih Daftar input coefsel untuk mendayakan parameter ini.
Menentukan sumber jelas segerak untuk daftar input coefsel. Anda mesti memilih Daftar input coefsel untuk mendayakan parameter ini.
Menentukan nilai pekali untuk pengganda pertama ini. Bilangan bit mestilah sama seperti yang dinyatakan dalam Berapakah lebar lebar pekali? parameter. Anda mesti memilih COEF atau CONSTANT untuk mod preadder untuk mendayakan parameter ini.
Menentukan nilai pekali untuk pengganda kedua ini. Bilangan bit mestilah sama seperti yang dinyatakan dalam Berapakah lebar lebar pekali? parameter. Anda mesti memilih COEF atau CONSTANT untuk mod preadder untuk mendayakan parameter ini.
Menentukan nilai pekali untuk pengganda ketiga ini. Bilangan bit mestilah sama seperti yang dinyatakan dalam Berapakah lebar lebar pekali? parameter. Anda mesti memilih COEF atau CONSTANT untuk mod preadder untuk mendayakan parameter ini.
Menentukan nilai pekali untuk pengganda keempat ini. Bilangan bit mestilah sama seperti yang dinyatakan dalam Berapakah lebar lebar pekali? parameter. Anda mesti memilih COEF atau CONSTANT untuk mod preadder untuk mendayakan parameter ini.
Nilai Lalai NO
TAMBAH
Penerangan
Pilih YA untuk mendayakan penumpuk. Anda mesti memilih Daftar keluaran unit penambah apabila menggunakan ciri penumpuk.
Menentukan operasi penumpuk: · TAMBAH untuk operasi tambah · SUB untuk operasi tolak. Anda mesti memilih YA untuk Dayakan penumpuk? parameter untuk membolehkan pilihan ini.
bersambung…
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 53
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Pemalar Pramuat Dayakan pemalar pramuat
Parameter Dijana IP
Nilai
gui_ena_prelo Hidup
ad_const
Mati
Apakah input port terkumpul yang disambungkan?
gui_accumula ACCUM_SLOAD, te_port_select SLOAD_ACCUM
Pilih nilai untuk pramuat loadconst_val 0 – 64
tetap
ue
Apakah sumber input jam?
jam gui_accum_sl oad_register_
Jam0 Jam1 Jam2
Apakah sumber untuk input jelas tak segerak?
gui_accum_sl oad_register_ aclr
TIADA ACLR0 ACLR1
Apakah sumber untuk input jelas segerak?
gui_accum_sl oad_register_ sclr
TIADA SCLR0 SCLR1
Dayakan penumpuk berganda
gui_double_a Hidup
ccum
Mati
Nilai Lalai
Penerangan
Mati
Dayakan accum_sload atau
isyarat sload_accum dan input daftar
untuk memilih input secara dinamik ke
penumpuk.
Apabila accum_sload adalah rendah atau sload_accum, output pengganda disuakan ke dalam accumulator.
Apabila accum_sload adalah tinggi atau sload_accum, pemalar pramuat yang ditentukan pengguna dimasukkan ke dalam penumpuk.
Anda mesti memilih YA untuk Dayakan penumpuk? parameter untuk membolehkan pilihan ini.
ACCUM_SL OAD
Menentukan kelakuan isyarat accum_sload/ sload_accum.
ACCUM_SLOAD: Pandu accum_sload rendah untuk memuatkan output pengganda kepada penumpuk.
SLOAD_ACCUM: Pandu sload_accum tinggi untuk memuatkan output pengganda kepada penumpuk.
Anda mesti memilih Dayakan pilihan pemalar pramuat untuk mendayakan parameter ini.
64
Nyatakan nilai pemalar pratetap.
Nilai ini boleh menjadi 2N di mana N ialah nilai pemalar pratetap.
Apabila N=64, ia mewakili sifar malar.
Anda mesti memilih Dayakan pilihan pemalar pramuat untuk mendayakan parameter ini.
Jam0
Pilih Clock0 , Clock1 atau Clock2 untuk menentukan isyarat jam input untuk daftar accum_sload/sload_accum.
Anda mesti memilih Dayakan pilihan pemalar pramuat untuk mendayakan parameter ini.
TIADA
Menentukan sumber jelas tak segerak untuk daftar accum_sload/sload_accum.
Anda mesti memilih Dayakan pilihan pemalar pramuat untuk mendayakan parameter ini.
TIADA
Menentukan sumber jelas segerak untuk daftar accum_sload/sload_accum.
Anda mesti memilih Dayakan pilihan pemalar pramuat untuk mendayakan parameter ini.
Mati
Mendayakan daftar penumpuk berganda.
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 54
Hantar Maklum Balas
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
8.6.6. Tab Sistolik/Chainout
Jadual 35. Tab Penambah Sistolik/Chainout
Parameter Dayakan penambah rantaian
Parameter Dijana IP
Nilai
chainout_add YA,
er
TIDAK
Apakah jenis operasi penambah rantaian?
chainout_add ADD,
er_direction
SUB
Dayakan input `negate' untuk penambah chainout?
Port_negate
PORT_USED, PORT_UNUSED
Daftar input `negate'? menafikan_daftar er
TIDAK BERDAFTAR, CLOCK0, CLOCK1, CLOCK2, CLOCK3
Apakah sumber untuk input jelas tak segerak?
negate_aclr
TIADA ACLR0 ACLR1
Apakah sumber untuk input jelas segerak?
negate_sclr
TIADA SCLR0 SCLR1
Kelewatan Sistolik
Dayakan daftar kelewatan sistolik
gui_systolic_d Hidup
elay
Mati
Apakah sumber input jam?
gui_systolic_d JAM0,
elay_clock
JAM1,
Nilai Lalai
TIDAK
Penerangan
Pilih YA untuk mendayakan modul penambah rantaian.
TAMBAH
Menentukan operasi penambah rantaian.
Untuk operasi penolakan, DANDATANGANI mesti dipilih untuk Apakah format perwakilan untuk input Pengganda A? dan Apakah format perwakilan untuk input Pengganda B? dalam Tab Pengganda.
PORT_UN DIGUNAKAN
Pilih PORT_USED untuk mendayakan isyarat input menafikan.
Parameter ini tidak sah apabila penambah chainout dilumpuhkan.
NYAHDAFTAR ERED
Untuk mendayakan daftar input untuk isyarat input menafikan dan menentukan isyarat jam input untuk daftar menafikan.
Pilih TIDAK BERDAFTAR jika daftar input menafikan tidak diperlukan
Parameter ini tidak sah apabila anda memilih:
· TIDAK untuk Dayakan penambah rantaian atau
· PORT_UNUSED untuk Dayakan input 'negate' untuk penambah chainout? parameter atau
TIADA
Menentukan sumber jelas tak segerak untuk daftar menafikan.
Parameter ini tidak sah apabila anda memilih:
· TIDAK untuk Dayakan penambah rantaian atau
· PORT_UNUSED untuk Dayakan input 'negate' untuk penambah chainout? parameter atau
TIADA
Menentukan sumber jelas segerak untuk daftar menafikan.
Parameter ini tidak sah apabila anda memilih:
· TIDAK untuk Dayakan penambah rantaian atau
· PORT_UNUSED untuk Dayakan input 'negate' untuk penambah chainout? parameter atau
Mati JAM0
Pilih pilihan ini untuk mendayakan mod sistolik. Parameter ini tersedia apabila anda memilih 2, atau 4 untuk Berapakah bilangan pengganda? parameter. Anda mesti mendayakan output Daftar unit penambah untuk menggunakan daftar kelewatan sistolik.
Menentukan isyarat jam input untuk daftar kelewatan sistolik.
bersambung…
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 55
8. Intel FPGA Multiply Adder IP Core 683490 | 2020.10.05
Parameter
Parameter Dijana IP
Nilai
JAM2,
Apakah sumber untuk input jelas tak segerak?
gui_systolic_d elay_aclr
TIADA ACLR0 ACLR1
Apakah sumber untuk input jelas segerak?
gui_systolic_d elay_sclr
TIADA SCLR0 SCLR1
Nilai Lalai
TIADA
TIADA
Penerangan
Anda mesti memilih dayakan daftar kelewatan sistolik untuk mendayakan pilihan ini.
Menentukan sumber jelas tak segerak untuk daftar kelewatan sistolik. Anda mesti memilih dayakan daftar kelewatan sistolik untuk mendayakan pilihan ini.
Menentukan sumber jelas segerak untuk daftar kelewatan sistolik. Anda mesti memilih dayakan daftar kelewatan sistolik untuk mendayakan pilihan ini.
8.6.7. Tab Penyaluran Paip
Jadual 36. Tab Pipelining
Konfigurasi Paip Parameter
Parameter Dijana IP
Nilai
Adakah anda ingin menambah daftar saluran paip pada input?
gui_pipelining Tidak, Ya
Nilai Lalai
Tidak
Sila nyatakan
kependaman
bilangan jam kependaman
kitaran
Mana-mana nilai yang lebih besar daripada 0
Apakah sumber input jam?
gui_input_late ncy_clock
JAM0, JAM1, JAM2
Apakah sumber untuk input jelas tak segerak?
gui_input_late ncy_aclr
TIADA ACLR0 ACLR1
Apakah sumber untuk input jelas segerak?
gui_input_late ncy_sclr
TIADA SCLR0 SCLR1
JAM0 TIADA TIADA
Penerangan
Pilih Ya untuk mendayakan tahap tambahan daftar saluran paip kepada isyarat input. Anda mesti menentukan nilai yang lebih besar daripada 0 untuk Sila nyatakan bilangan parameter kitaran jam kependaman.
Menentukan kependaman yang dikehendaki dalam kitaran jam. Satu tahap daftar saluran paip = 1 kependaman dalam kitaran jam. Anda mesti memilih YA untuk Adakah anda ingin menambah daftar saluran paip pada input? untuk membolehkan pilihan ini.
Pilih Clock0 , Clock1 atau Clock2 untuk mendayakan dan menentukan isyarat jam input daftar saluran paip. Anda mesti memilih YA untuk Adakah anda ingin menambah daftar saluran paip pada input? untuk membolehkan pilihan ini.
Menentukan sumber jelas tak segerak daftar untuk daftar saluran paip tambahan. Anda mesti memilih YA untuk Adakah anda ingin menambah daftar saluran paip pada input? untuk membolehkan pilihan ini.
Menentukan sumber jelas segerak daftar untuk daftar saluran paip tambahan. Anda mesti memilih YA untuk Adakah anda ingin menambah daftar saluran paip pada input? untuk membolehkan pilihan ini.
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 56
Hantar Maklum Balas
683490 | 2020.10.05 Hantar Maklum Balas
9. ALTMEMMULT (Pengganda Pekali Malar berasaskan memori) Teras IP
Perhatian:
Intel telah mengalih keluar sokongan IP ini dalam Intel Quartus Prime Pro Edition versi 20.3. Jika teras IP dalam reka bentuk anda menyasarkan peranti dalam Intel Quartus Prime Pro Edition, anda boleh menggantikan IP dengan LPM_MULT Intel FPGA IP atau menjana semula IP dan menyusun reka bentuk anda menggunakan perisian Intel Quartus Prime Standard Edition.
Teras IP ALTMEMMULT digunakan untuk mencipta pengganda berasaskan memori menggunakan blok memori oncip yang terdapat dalam FPGA Intel (dengan blok memori M512, M4K, M9K dan MLAB). Teras IP ini berguna jika anda tidak mempunyai sumber yang mencukupi untuk melaksanakan pengganda dalam elemen logik (LE) atau sumber pengganda khusus.
Teras IP ALTMEMMULT ialah fungsi segerak yang memerlukan jam. Teras IP ALTMEMMULT melaksanakan pengganda dengan daya pemprosesan dan kependaman terkecil yang mungkin untuk set parameter dan spesifikasi tertentu.
Rajah berikut menunjukkan port untuk teras IP ALTMEMMULT.
Rajah 21. Pelabuhan ALTMEMMULT
ALTMEMMULT
data_in[] sload_data coeff_in[]
result[] result_valid load_done
sload_coeff
jam sclr
inst
Ciri Maklumat Berkaitan pada halaman 71
9.1. Ciri-ciri
Teras IP ALTMEMMULT menawarkan ciri-ciri berikut: · Mencipta hanya pengganda berasaskan memori menggunakan blok memori pada cip yang terdapat dalam
FPGA Intel · Menyokong lebar data 1 bit · Menyokong format perwakilan data yang ditandatangani dan tidak ditandatangani · Menyokong saluran paip dengan kependaman output tetap
Perbadanan Intel. Hak cipta terpelihara. Intel, logo Intel dan tanda Intel lain ialah tanda dagangan Intel Corporation atau anak syarikatnya. Intel menjamin prestasi produk FPGA dan semikonduktornya mengikut spesifikasi semasa menurut waranti standard Intel, tetapi berhak untuk membuat perubahan pada mana-mana produk dan perkhidmatan pada bila-bila masa tanpa notis. Intel tidak memikul tanggungjawab atau liabiliti yang timbul daripada aplikasi atau penggunaan mana-mana maklumat, produk atau perkhidmatan yang diterangkan di sini kecuali seperti yang dipersetujui secara bertulis oleh Intel. Pelanggan Intel dinasihatkan untuk mendapatkan versi terkini spesifikasi peranti sebelum bergantung pada sebarang maklumat yang diterbitkan dan sebelum membuat pesanan untuk produk atau perkhidmatan. *Nama dan jenama lain boleh dituntut sebagai hak milik orang lain.
ISO 9001:2015 Berdaftar
9. ALTMEMMULT (Pengganda Pekali Malar berasaskan memori) Teras IP 683490 | 2020.10.05
· Menyimpan pemalar berganda dalam memori akses rawak (RAM)
· Menyediakan pilihan untuk memilih jenis blok RAM
· Menyokong port input jelas dan kawalan beban segerak pilihan
9.2. Prototaip HDL Verilog
Prototaip Verilog HDL berikut terletak dalam Reka Bentuk Verilog File (.v) altera_mf.v dalam direktori sintesis eda.
modul altmemmult #( parameter coeff_representation = "SIGNED", parameter coefficient0 = "UNUSED", parameter data_representation = "SIGNED", parameter intended_device_family = "unsed", parameter max_clock_cycles_per_result = 1, parameter number_of_coefficients = 1, = parameter ram_block_type 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 = "tidak digunakan") ( jam wayar input, wayar input [width_c-1: 0]coeff_in, input wire [width_d-1:0] data_in, output wire load_done, output wire [width_r-1:0] result, output wire result_valid, input wire sclr, input wire [width_s-1:0] sel, input wayar sload_coeff, input wayar sload_data)/* sintesis syn_black_box=1 */; modul akhir
9.3. Pengisytiharan Komponen VHDL
Pengisytiharan komponen VHDL terletak dalam Reka Bentuk VHDL File (.vhd) altera_mf_components.vhd dalam direktori librariesvhdlaltera_mf.
komponen altmemmult generik ( coeff_representation: string := “SIGNED”; coefficient0:string := “UNUSED”; data_representation:string := “SIGNED”; intended_device_family:string := “unsed”; max_clock_cycles_per_result:natural := 1; number_of_natural := 1; number_of_natural := 1; ram_block_type:string := “AUTO”; total_latency:natural; width_c:natural; width_d:natural; width_r:natural; width_s:natural := 1; lpm_hint:string := “UNUSED”; lpm_type:string := "altmemult"); port( jam: dalam std_logic; coeff_in: dalam std_logic_vector(width_c-0 turun ke 0) := (lain-lain => '1'); data_in:dalam std_logic_vector(width_d-0 turun ke XNUMX);
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 58
Hantar Maklum Balas
9. ALTMEMMULT (Pengganda Pekali Malar berasaskan memori) Teras IP 683490 | 2020.10.05
load_done:out std_logic; result:out std_logic_vector(width_r-1 downto 0); result_valid:out std_logic; sclr:in std_logic := '0'; sel:dalam std_logic_vector(width_s-1 turun ke 0) := (lain-lain => '0'); sload_coeff:in std_logic := '0'; sload_data:in std_logic := '0'); komponen akhir;
9.4. Pelabuhan
Jadual berikut menyenaraikan port input dan output untuk teras IP ALTMEMMULT.
Jadual 37. Port Input ALTMEMMULT
Nama Pelabuhan
Diperlukan
Penerangan
jam
ya
Input jam kepada pengganda.
coeff_in[]
Tidak
Port input pekali untuk pengganda. Saiz port input bergantung pada nilai parameter WIDTH_C.
data_in[]
ya
Port input data ke pengganda. Saiz port input bergantung pada nilai parameter WIDTH_D.
sclr
Tidak
Input jelas segerak. Jika tidak digunakan, nilai lalai adalah aktif tinggi.
sel[]
Tidak
Pemilihan pekali tetap. Saiz port input bergantung pada WIDTH_S
nilai parameter.
sload_coeff
Tidak
Port input pekali beban segerak. Menggantikan nilai pekali terpilih semasa dengan nilai yang ditentukan dalam input coeff_in.
sload_data
Tidak
Port input data beban segerak. Isyarat yang menentukan operasi pendaraban baharu dan membatalkan sebarang operasi pendaraban sedia ada. Jika parameter MAX_CLOCK_CYCLES_PER_RESULT mempunyai nilai 1, port input sload_data diabaikan.
Jadual 38. Port Keluaran ALTMEMMULT
Nama Pelabuhan
Diperlukan
Penerangan
keputusan[]
ya
Port keluaran pengganda. Saiz port input bergantung pada nilai parameter WIDTH_R.
keputusan_sah
ya
Menunjukkan apabila output adalah hasil yang sah dari pendaraban lengkap. Jika parameter MAX_CLOCK_CYCLES_PER_RESULT mempunyai nilai 1, port output result_valid tidak digunakan.
muat_selesai
Tidak
Menunjukkan apabila pekali baharu telah selesai dimuatkan. Isyarat load_done menegaskan apabila pekali baharu telah selesai dimuatkan. Melainkan isyarat load_done adalah tinggi, tiada nilai pekali lain boleh dimuatkan ke dalam memori.
9.5. Parameter
Jadual berikut menyenaraikan parameter untuk teras IP ALTMEMMULT.
Jadual 39.
WIDTH_D WIDTH_C
Parameter ALTMEMMULT
Nama Parameter
Jenis Diperlukan
Penerangan
Integer Ya
Menentukan lebar port data_in[].
Integer Ya
Menentukan lebar port coeff_in[]. bersambung…
Hantar Maklum Balas
Panduan Pengguna Teras IP Aritmetik Integer FPGA Intel 59
9. ALTMEMMULT (Pengganda Pekali Malar berasaskan memori) Teras IP 683490 | 2020.10.05
Nama Parameter WIDTH_R WIDTH
Dokumen / Sumber
![]() |
intel FPGA Integer Arithmetic IP Cores [pdf] Panduan Pengguna Teras IP Aritmetik Integer FPGA, Teras IP Aritmetik Integer, Teras IP Aritmetik, Teras IP |