Kategori: Litar mikropengawal
Bilangan pandangan: 21445
Komen pada artikel: 0

Apakah FPGA bahasa mudah untuk pemula?

 

Apakah yang dimaksudkan dengan elektronik digital? Pertama sekali, dengan unsur-unsur logik DAN, ATAU, TIDAK. Selanjutnya, daftar peralihan, penyahkod, pemultipleks, dan sebagainya, masuk ke ingatan. Walau bagaimanapun, kerana kerumitan peranti elektronik dan trend ke arah peningkatan pengecilan, penciptaan peranti berdasarkan litar bersepadu (IC) dari komponen di atas menjadi lebih sukar, IC tersuai topologi dan litar yang diperlukan terbukti hanya berfaedah apabila peranti direplikasi dalam jumlah yang besar, dalam kes lain ia tidak mahal.

Cara keluar dari situasi ini adalah pembangunan litar logik bersepadu yang boleh diprogram (disingkat FPGA, singkatan asing sebagai peranti logik yang boleh diprogramkan, PLD). Apa itu dan di mana ia digunakan, kami akan memberitahu dalam artikel ini.

Apakah FPGA bahasa mudah untuk pemula?

Perbezaan dari mikrokontroler

Dengan perkataan "diprogramkan", kebanyakan pemula bersekutu dengan mikrokontroler. Walaupun mereka juga diprogram, FPGAs adalah peranti yang sama sekali berbeza.

Bagi pemaju dalam mikrokontroler, satu set penyelesaian dan alat tetap boleh didapati yang terdapat dalam cip tertentu, ia tidak akan berfungsi dengan cara apapun untuk berundur dari seni bina. Anda diberi satu set arahan yang mana anda melakukan operasi interaksi dengan alam sekitar, dengan membaca data dari input digital dan analog dan menghantar isyarat kepada penggerak menggunakan output.

Di samping itu, anda boleh melakukan pengiraan, menyimpan data dalam daftar atau ROM, serta beroperasi dengan data yang dimasukkan ke dalam memori mikrokontroler. Pada dasarnya, pada dasarnya, adalah tujuan dan ciri-ciri bekerja dengan mikrokontroler.

Boleh diprogramkan 769, log 769, integer 769; flax 769; ma (FPGA, peranti logik boleh atur, PLD)

Litar bersepadu logik yang boleh diprogramkan (FPGAs) adalah berbeza kerana ketika memprogramkan peranti anda sendiri membuat arsitektur dari unsur-unsur logik asas. Oleh itu, anda mendapat kelajuan tinggi dan fleksibiliti cip. Ini menjadikannya mungkin, tanpa mengubah satu cip, untuk membuat beberapa projek.

Secara amnya, peranti FPGA dalaman boleh dibahagikan kepada tiga kumpulan utama:

1. Serangkaian elemen logik (macrocells, blok logik).

2. Blok input / output (IO).

3. Barisan komunikasi antara mereka dan peranti yang mengawal sambungan ini.

Walau bagaimanapun, penstrukturan semacam itu sangat umum, kami akan mempertimbangkan isu ini dengan lebih terperinci di bawah.

Dengan pengaturcaraan, anda menyambungkan unsur-unsur dengan cara yang sama seperti yang anda lakukan, memasang peranti dari elemen individu dan menyambungkan input dan output dengan konduktor.

Nota:

Perbezaan utama antara FPGA dan mikrokontroler adalah bahawa dalam mikrokontroler anda tidak boleh menukar sambungan dalaman antara elemen paling mudah, dan pengaturcaraan dan bekerja dengannya adalah berdasarkan pendaftaran sambungan dalam FPGA.

Pilihan mikrokontroler adalah berdasarkan banyak kriteria, seperti:

  • Kelajuan kelajuan dan jam;

  • Jumlah ROM dan RAM;

  • Bilangan input dan output.

Ciri-ciri dan periferal lain seperti sokongan untuk talian komunikasi dan protokol (I2C, satu wayar, isyarat PWM, dan sebagainya).

Apabila memilih FPGA, kriteria utama adalah bilangan blok yang dapat diprogramkan - mereka sepatutnya cukup untuk melaksanakan tugas tersebut.

Bergantung pada FPGA tertentu, bilangan blok boleh berubah secara meluas, dan kos juga berubah.

Mikrokontroler melakukan secara berurutan semua operasi yang ditetapkan dalam programnya, manakala blok FPGA melaksanakan tugas secara selari dan bebas dari satu sama lain, oleh itu, membandingkan peralatan ini dengan kekerapan jam tidak praktikal. Prinsip operasi mereka terlalu berbeza.

Jenis FPGA

Spesies

Pada masa ini, terdapat dua jenis FPGA utama:


1. CPLD (Peranti Logik Boleh Diprogram Kompleks - Litar Bersepadu Logik Boleh Diprogram, sebenarnya, ini FPGA dalam pengertian klasiknya). Biasanya ia mempunyai memori terbina dalam yang dimuatkan oleh firmware.

Struktur dalaman dibina di atas matriks macrocells atau blok logik, dan bilangan elemen di dalamnya terletak pada julat ratusan dan ribuan potongan. Kerana kesederhanaan relatif mereka, mereka lebih murah daripada jenis logik yang dapat diprogramkan seterusnya. Semua ini membawa kepada fakta bahawa CPLD digunakan terutamanya dalam litar di mana kelajuan tinggi dan sejumlah besar output diperlukan, semasa melaksanakan tugas mudah.


2. FPGA (Field-Programmable Gate Array - User Programmable Gate Array, namun sering disebut sebagai FPGA) - Alat yang lebih maju dan kompleks berbanding CPLD, dibina pada blok logik dengan pensuisan yang fleksibel dan mengandungi bilangan elemen yang lebih besar (puluhan atau ratusan ribu keping).

Firmware biasanya disimpan dalam memori luar yang tidak menentu. Sebagai tambahan kepada elemen logik yang paling mudah, FPGAs boleh mengandungi blok siap sedia untuk melaksanakan sebarang operasi, contohnya, blok pemprosesan isyarat DSP. Semua ini membolehkan anda untuk melaksanakan pemproses, peranti pemprosesan isyarat dan peranti kompleks lain.


Menarik:

Walaupun sebenarnya kehadiran memori tidak menentu tidak membuat CPLD logic boleh diprogram. Ini sebahagiannya mengelirukan. Perbezaan utama antara CPLD dan FPGA ialah struktur dalaman.

Perbezaan antara CPLD dan FPGA adalah struktur dalaman

Peranti CPLD dalaman ditunjukkan dengan lebih terperinci dalam gambar di bawah.

Peranti dalaman CPLD

Dan skema anggaran macrocell kelihatan seperti ini:

Contoh susun atur macrocell CPLD

Macrocell terdiri daripada multiplexer diprogramkan, mencetuskan (satu atau lebih) dan membentuk sekumpulan isyarat output FB dalam beberapa versi.

Berikut adalah contoh lain - gambarajah blok cip CPLD dari keluarga chip Altera MAX II.

Altera MAX II CPLD Flowchart

Dan rancangan struktur cip keluarga yang sama.

Gambarajah blok Altera MAX II CPLD

Tayar perantaraan diberikan kepada macrocells menggunakan nod seperti pengedar dalam Bahasa Inggeris. ia kelihatan seperti Logik Allocator, yang ditunjukkan dalam gambarajah di bawah, ia juga menunjukkan matriks switching (Global Routing Pool), dan di macrocells output (macrocells) mempunyai dua umpan balik.

Pengedar dan menukar matriks

Output luar microcircuit disambungkan ke output macrocells melalui blok lain (matriks) - ORP (Output Routing Pool), perhatikan bahawa melalui itu logik INPUT disambungkan ke GRP, seperti ditunjukkan dalam ilustrasi di bawah.

Nota:

Beberapa CPLDs telah dipanggil input langsung (Input Direct) - mereka disambungkan ke input sel secara langsung, yang mengurangkan kelewatan.

Struktur FPGA mempunyai bentuk:

Struktur FPGA
  • Blok log yang boleh dikonfigurasikan;

  • S (blok penggantian) - blok penggantian, ia menerima sejumlah bit per pindah, menukar, mengikut algoritma tertentu, dan menghasilkan bilangan bit yang berbeza pada output. Dalam erti kata lain, penyahkod, penyulitan, dan suis.

  • C (blok sambungan) - blok sambungan.

Rajah S-blok:

 

Gambarajah S-blok



Pengaturcaraan


HDL (Bahasa Keterangan Perkakasan) - ini adalah bahasa yang diprogramkan oleh FPGA. Popular dan serba boleh ialah Verilog HDL dan VHDL. Terdapat bahasa lain, seperti yang khusus untuk pengeluar, seperti AHDL untuk produk ALTERA.

Pengaturcaraan grafik tersedia untuk pemaju yang bekerja dengan FPGA. Iaitu, anda boleh melukis litar logik atau menggabungkan kod dengan grafik. Yang terakhir dipanggil kaedah pembangunan modular, apabila modul tertentu ditetapkan, dan modul teratas, di mana semuanya digabungkan, diprogramkan secara grafik.


Contoh pengeluar dan siri yang popular

Pada masa penulisan, yang paling terkenal adalah produk dari dua pengeluar.

  • Altera (ditubuhkan pada tahun 1983);

  • Xilinx (Ditubuhkan pada tahun 1984).

Altera

Altera mempunyai beberapa siri logik boleh atur:

  • MAX, MAX II, MAX IIZ;

  • 7000S;

  • 3000A;

  • MAX V;

  • Cyclone

  • Arria;

  • Stratix

Mari kita pertimbangkan setiap daripada mereka dengan lebih terperinci. Dalam jadual di bawah, anda dapat melihat maklumat umum tentang cip keluarga.

Ciri-ciri utama siri logik yang boleh diprogramkan
Ciri-ciri utama siri logik yang boleh diprogramkan

Altera 3 CPLD CPLD:

  • MAX adalah CPLD untuk digunakan dalam peranti mudah alih, keunggulannya adalah penggunaan kuasa yang agak rendah dan pelesapan haba. Bergantung kepada kerumitan dan tahun pembebasan, perubahan berikut dibezakan:

  • 7000S sudah ketinggalan zaman, ia dikeluarkan pada tahun 1995.

  • 3000A - dikeluarkan pada tahun 2002, dihasilkan menggunakan teknologi 300nm. Terdiri daripada sebilangan kecil macrocells (32-512)

  • MAX II dikeluarkan pada tahun 2004, dihasilkan menggunakan teknologi 100nm, terdiri daripada bilangan unit yang lebih besar (240-2210) yang beroperasi pada frekuensi sehingga 304 MHz. Produk ini dibuat dalam kes jenis TQFP 0.5 mill dengan 100 atau lebih kaki.

  • MAX IIZ - 2007, ciri utama dikurangkan penggunaan kuasa - ini adalah titik positif, bagaimanapun, frekuensi dikurangkan kepada 152 MHz. Mikrofon ini dikuasakan dari 1.8 V.

  • MAX V - 2010 tahun. Ia dihasilkan mengikut teknologi 180nm, ia boleh mengandungi dari 40 hingga 2210 blok dan beroperasi pada frekuensi sehingga 152MHz atau pada 304MHz - ia bergantung kepada bilangan blok.

Altera 3 CPLD CPLD

FPGA:

  • Cyclone adalah cip jenis FPGA bajet. Terdapat lima generasi yang ditandai dengan nombor Yunani (dari I hingga V, masing-masing). Generasi pertama dilancarkan pada tahun 2002, dihasilkan menggunakan teknologi 180nm, dan generasi kelima dikeluarkan pada tahun 2011 dan dihasilkan menggunakan teknologi 28nm. Perlu diingat bahawa semua generasi kekal relevan.

  • Arria - juga merujuk kepada FPGA pertengahan.

  • Stratix - FPGA berkuasa.

Berikut adalah jadual Pivot Logic Altera FPGA Programmable.

Ciri FPGA
Ciri FPGA
Ciri FPGA

Dan jadual penuh di pautan:https://i.electricianexp.com/ms/tablitsa.docx

Pengilang Xilinx CPLD disajikan dalam siri:

  • XC9500XL daripada 36-288 macrocells. Mereka beroperasi pada frekuensi sehingga 178 MHz, dan model pada 288 macrocells pada 208 MHz. Ia dijalankan seperti dalam kes kecil dengan 44 pin (lead) pada jarak 0.8 mm dari satu sama lain - kes-kes tersebut dianggap mudah dipateri. Juga boleh didapati dengan 64 dan 100 kaki dengan kenaikan 0.5 mm, serta model dalam lampiran jenis PLCC.

  • Siri CoolRunner-II adalah CPLD yang cekap dan produktif. Ciri ini dikuasakan oleh voltan 1.8V, input dan output direka bentuk untuk beroperasi dalam lingkungan 1.5-3.3V. Mereka terdiri daripada 32-512 macrocells dan dihasilkan menggunakan teknologi 180nm. Bergantung kepada bilangan sel, mereka bekerja dalam julat frekuensi 179-323 MHz, dan lebih kecil sel-sel, lebih banyak kekerapan mereka boleh bekerja dalam kes ini. Mereka didapati dalam kes-kes yang berbeza, termasuk mudah dipateri, seperti dalam mikrosural siri yang dipertimbangkan di atas.

Syarikat Xilinx tidak lulus dan FPGA:

  • Spartan-6 - terdiri daripada blok logik 6-input, bilangannya terletak dalam lingkungan 3840-147443 keping. Menarik kerana mereka mungkin mengandungi pengawal untuk menukar data seperti DDR2, DDR3, PCI-EXPRESS, Ethernet 1Gbit, SerialATA dan sebagainya ...

  • Siri Vitrex-7 adalah kompleks, mikrosirkuit boleh mengandungi sehingga 2,000,000 blok logik dan 1,200 kenalan.

Di bawah ini anda boleh mencari jadual ringkasan dengan spesifikasi CPLD dan FPGA dari siri Xilinx 6 dan 7, serta Zynq-7000.

Xilinx 6 dan 7 Ciri FPGA Siri
Ciri-ciri Virtex-6 FPGAs
Ciri-ciri keluarga FPGA Spartan-6
Ciri-ciri keluarga FPGA Spartan-6
Ciri FPGA
Ciri FPGA

Kesimpulannya

FPGA dan PPVM juga dihasilkan oleh syarikat-syarikat lain seperti Lattice Semiconductor (pada tahun 2002 mula menghasilkan FPGA), Actel, dan para pembaca terkenal di laman web kami. ATMEL mikrokontroler dan banyak lagi. Pada logik yang dapat diprogramkan, anda boleh melaksanakan beberapa peranti, melaksanakan pengiraan selari bebas antara satu sama lain dalam satu peranti, namun, untuk projek rumah, pembelian mereka sering tidak wajar secara kewangan, tetapi pada masa yang sama cukup masuk akal pada skala pengeluaran, sebagai alternatif kepada litar bersepadu tersuai.

P.S.Tonton video, di dalamnya anda akan melihat contoh pelaksanaan konsol permainan Nintendo pada FPGA:

Lihat juga di i.electricianexp.com:

  • FUNGSI Blok Fungsional Bahasa (FBD) dan Aplikasinya
  • Jenis litar bersepadu moden - jenis logik, kes
  • Cip logik. Bahagian 1
  • PIC microcontrollers untuk pemula
  • Pengawal Logik Boleh Diprogram untuk Automasi Utama

  •