FPGA: semua mengenai cip ini dan pengaturcaraan mereka

Cip FPGA

The FPGA telah menjadi semakin popular pada zaman terakhir. Walaupun untuk aplikasi profesional cip ini sering digunakan, tetapi juga untuk pembuat dan pembuat DIY yang ingin menerapkan litar diskrit di dalam cip dengan semua kelebihan yang tersirat. Tidak murah atau senang mencari kilang untuk menghantar susun atur atau corak anda dan mempunyai cip tersuai yang dihasilkan untuk anda.

Memang benar bahawa sebilangan pengecoran membenarkan buat wafer atau wafer pelbagai projek untuk membuat kerepek dari individu atau universiti untuk diuji dengan mereka. Kilang jenis ini, seperti yang saya katakan, sukar dicari, biasanya di luar negara dan tidak murah. Selepas beberapa ketika, sampel kerepek anda dihantar ke alamat yang dipersetujui, tetapi mereka tidak bertanggungjawab untuk menguji ini atau memeriksa bahawa ia berfungsi. Semuanya bergantung pada reka bentuk anda ...

yang penyelesaian alternatif untuk itu adalah dengan membeli FPGA dan atur apa sahaja yang anda perlukan untuk melaksanakannya di dalam cip ...

Apa itu FPGA?

Sel yang boleh diprogramkan

FPGA bermaksud Field Array Gate Array. Mereka adalah peranti digital atau cip yang dapat dikonfigurasi untuk membolehkan apa-apa praktikal dilaksanakan. Dengan kata lain, ia adalah cip kosong di mana anda boleh "menulis." Ini bermaksud bahawa anda dapat mengimplementasikan CPU, memori, pengawal, logik apa pun, dan lain-lain, mencapai operasi yang sangat pantas dan dengan semua kelebihan apabila ia disatukan ke dalam cip dan bukan dengan elemen elektronik.

Ross Freeman dan Bernard Vonderschmitt, pengasas bersama Xilinx, adalah mereka yang mencipta FPGA pada tahun 1984. Mereka melakukannya sebagai evolusi kepada cip CPLD pada masa itu. Cip yang dapat diprogram CPLD mempunyai beberapa kekurangan yang dapat menyelesaikan reka bentuk FPGA yang baru dan sejak itu mereka berkembang sehingga kini.

Pasaran FPGA begitu berbuah sehingga syarikat suka Intel, Xilinx, Altera, Logik Pantas, Kisi, dll., mereka telah melabur banyak untuk mengembangkan FPGA yang lebih baik dan juga persekitaran pengaturcaraan atau IDE untuk mereka. Oleh itu, menyediakan platform yang sangat baik untuk memudahkan tugas pemaju atau pembuat.

Pada masa ini pengeluar ini tidak hanya menyediakan cip yang dapat diprogramkan, tetapi juga termasuk banyak unsur bantu untuk membawa lebih banyak kemungkinan kepada pemaju. Sebagai contoh, ia merangkumi sel memori kilat, sel memori SDRAM, dan sebagainya.

Untuk apa mereka digunakan?

IDE untuk memprogram FPGA

Oleh itu, FPGA boleh serupa dengan ASIC tetapi itu kita boleh memilih Apakah yang akan terjadi. Sebagai contoh, kita dapat membuat kod untuk memprogramnya dan mengubahnya menjadi CPU, GPU, penambah, pengawal memori, atau rangkaian logik lain yang dilaksanakan pada satu cip.

Kemungkinannya tidak berkesudahan. Sebenarnya, saya cadangkan anda melayari laman web opencores.org, tapak khusus untuk menawarkan pelbagai projek hardware libre. Anda akan menemui kod dalam VHDL, Verligo, dsb., untuk RAM, CPU, GPU, pengawal, ALU, FPU, penyahkod, dan panjang dll..

Bagaimana ia diprogramkan?

Pengaturcara untuk FPGA

Untuk memprogram FPGA, kami dapat melakukannya dari sistem operasi kegemaran kami, seperti GNU / Linux, Windows dan MacOS, walaupun tentu ada lebih banyak persekitaran pengembangan untuk Windows. Secara amnya, syarikat yang sama yang membuat FPGA menawarkan a IDE sangat lengkap untuk bekerjasama dan di mana untuk mencari semua alat yang anda perlukan dalam rangkaian perisian yang sama.

Anda juga memerlukan Cip atau papan FPGA dan kabel atau pengaturcara yang diperlukan dengan mana anda boleh menyambungkan FPGA ke PC anda untuk menyampaikan kod bertulis ke FPGA dan oleh itu ia diprogramkan. Itu serupa dengan apa yang anda lakukan dengan papan Arduino, menulis program Arduino IDE ke dalam memori yang dapat diprogram mikrokontroler.

Hanya dalam kes FPGA yang kita ada adalah matriks atau susunan komponen asas seperti sel memori, DAN gerbang, ATAU, TIDAK, Flip-flop, dan lain-lain. elemen asas atau blok elektronik digital yang boleh kita gunakan. Dengan program bertulis, apa yang akan kita lakukan adalah memaksakan cara blok-blok penting ini dikumpulkan bersama untuk membentuk litar kecil yang kita mahukan, seperti ALU.

Iaitu, jika kita memprogramkan penambah dalam IDE kita, blok yang diperlukan untuk melaksanakan penambah ini mereka akan memaut dengan cara yang betul di dalam FPGA sehingga cip berfungsi sebagai penambah. Ringkas kan? Secara umum, beberapa kaedah digunakan untuk pengaturcaraan ini pada tahap fizikal, seperti ingatan atau sekering untuk membuat pautan kekal dalam kes tersebut.

Kelajuan di mana mereka beroperasi bergantung pada kekerapan jam yang mana FPGA yang telah kita beli berfungsi. Sebagai contoh, yang paling asas biasanya berfungsi pada 50 Mhz, yang lain akan melakukannya pada frekuensi yang jauh lebih tinggi. Bagi FPGA 50 Mhz, itu bermakna ia akan beroperasi pada kadar 50.000.000 kali sesaat. Sekiranya kita teruskan dengan penambah yang saya berikan sebagai contoh, anda akan dapat jumlah sejumlah dalam satu saat ...

Bersambung dengan tema PengaturcaraanSetelah kami mengetahui bahawa anda boleh menulis kod seperti yang kami lakukan di Arduino IDE atau untuk mengembangkan program lain, dan melihat bagaimana ia dilakukan di peringkat perkakasan, saya akan mengatakan bahawa ia sebenarnya tidak memprogram seperti itu. Sebaliknya itu adalah keterangan perkakasan. Sebenarnya, bahasa penerangan perkakasan digunakan seperti VHDL, Verilog, dll.

dengan program itu dijelaskan pada tahap logik apa litar kecil yang ingin kita laksanakan. Dan kemudian pergi ke FPGA. Walaupun benar bahawa beberapa platform membenarkan pengaturcaraan dalam bahasa pengaturcaraan seperti C dapat menerapkan CPU dalam FPGA dan kemudian menghasilkan program untuk dimuat ke dalam memori dan diproses oleh pemproses tersebut.

Integrasi dengan Arduino

Arduino-FPGA

FPGA biasanya digunakan secara berasingan, tetapi memang benar bahawa terdapat banyak alat dan alat di pasaran yang akan menjadikan hidup anda lebih mudah untuk menggabungkan FPGA dengan platform Arduino. Contoh papan untuk membawa FPGA ke projek anda dengan Arduino adalah MKR Vidor 4000, walaupun ada yang lain.

MKR Viewer 4000 ia adalah papan dengan tiga kerepek. Salah satunya adalah FPGA, khususnya Intel Cyclone 10. Terdapat juga cip lain untuk Bluetooth LE atau sambungan penggunaan rendah dan juga keserasian WiFi. Pelengkap yang baik untuk menyediakan fungsi penyambungan Arduino anda dan dapat melaksanakan apa yang anda perlukan dalam FPGA.

Dengan itu anda mempunyai perkakasan yang boleh disesuaikan, dikonfigurasikan oleh anda sendiri untuk tujuan yang anda mahukan. Itu menawarkan kemungkinan yang tidak berkesudahan.


Menjadi yang pertama untuk komen

Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.