FPGA: ແມ່ນກ່ຽວກັບຊິບເຫລົ່ານີ້ແລະການຂຽນໂປແກຼມຂອງພວກມັນ

ຊິບ FPGA

ໄດ້ FPGAs ໄດ້ຮັບຄວາມນິຍົມຫຼາຍຂື້ນ ໃນຍຸກສຸດທ້າຍ. ເຖິງແມ່ນວ່າ ສຳ ລັບໂປແກຼມມືອາຊີບ, ຊິບເຫລົ່ານີ້ມັກຖືກ ນຳ ໃຊ້, ແຕ່ກໍ່ແມ່ນ ສຳ ລັບຜູ້ຜະລິດ DIY ແລະຜູ້ຜະລິດທີ່ຕ້ອງການປະຕິບັດວົງຈອນທີ່ຕັດສິນໃຈພາຍໃນຊິບພ້ອມດ້ວຍຂໍ້ດີທັງ ໝົດ ທີ່ສິ່ງນີ້ສະແດງອອກ. ມັນບໍ່ມີລາຄາຖືກຫລືງ່າຍທີ່ຈະຊອກຫາໂຮງງານເພື່ອສົ່ງຮູບແບບຫລືແບບຂອງທ່ານແລະມີຊິບທີ່ ກຳ ຫນົດເອງທີ່ຜະລິດ ສຳ ລັບທ່ານ.

ມັນເປັນຄວາມຈິງທີ່ບາງຮາກຖານອະນຸຍາດ ເຮັດ wafers ຫຼື wafers multiproject ເພື່ອຜະລິດຊິບຈາກບຸກຄົນຫຼືມະຫາວິທະຍາໄລເພື່ອທົດສອບກັບພວກເຂົາ. ບັນດາໂຮງງານປະເພດນີ້ແມ່ນ, ຕາມທີ່ຂ້ອຍເວົ້າ, ຍາກທີ່ຈະຊອກຫາ, ພວກເຂົາມັກຈະຢູ່ຕ່າງປະເທດແລະພວກມັນກໍ່ບໍ່ມີລາຄາຖືກ. ຫລັງຈາກນັ້ນ, ຕົວຢ່າງຂອງຊິບຂອງທ່ານຈະຖືກສົ່ງໄປທີ່ຢູ່ທີ່ໄດ້ຕົກລົງກັນ, ແຕ່ພວກເຂົາບໍ່ໄດ້ຮັບຜິດຊອບໃນການທົດສອບສິ່ງເຫລົ່ານີ້ຫລືກວດເບິ່ງວ່າມັນເຮັດວຽກຢູ່. ມັນທັງ ໝົດ ແມ່ນຂື້ນກັບການອອກແບບຂອງທ່ານ ...

Una ທາງເລືອກອື່ນ ສຳ ລັບນັ້ນແມ່ນການຊື້ FPGA ແລະໂຄງການໃດກໍ່ຕາມທີ່ທ່ານຕ້ອງການເພື່ອຈັດຕັ້ງປະຕິບັດພາຍໃນຊິບ ...

FPGA ແມ່ນຫຍັງ?

 

ຈຸລັງທີ່ເປັນໂປແກຼມ

FPGA ຫຍໍ້ມາຈາກ Field Programmable Gate Array. ພວກມັນແມ່ນອຸປະກອນດິຈິຕອນຫລືຊິບທີ່ມີຄວາມສາມາດຕັ້ງຄ່າໄດ້ເພື່ອໃຫ້ສິ່ງປະຕິບັດຕົວຈິງປະຕິບັດໄດ້. ນັ້ນແມ່ນ, ໃນຄໍາສັບຕ່າງໆອື່ນໆ, ມັນແມ່ນຊິບເປົ່າບ່ອນທີ່ທ່ານສາມາດ "ຂຽນ." ນັ້ນ ໝາຍ ຄວາມວ່າທ່ານສາມາດປະຕິບັດ CPU, ໜ່ວຍ ຄວາມ ຈຳ, ຕົວຄວບຄຸມ, ເຫດຜົນໃດກໍ່ຕາມ, ແລະອື່ນໆ, ບັນລຸການ ດຳ ເນີນງານທີ່ວ່ອງໄວແລະມີຂໍ້ດີທັງ ໝົດ ຂອງມັນທີ່ປະສົມປະສານເຂົ້າໃນຊິບແລະບໍ່ແມ່ນກັບສ່ວນປະກອບເອເລັກໂຕຣນິກ.

Ross Freeman ແລະ Bernard Vonderschmitt, ຜູ້ຮ່ວມກໍ່ຕັ້ງຂອງ Xilinx, ແມ່ນຜູ້ທີ່ໄດ້ປະດິດ FPGA ໃນປີ 1984. ພວກເຂົາໄດ້ເຮັດມັນເປັນວິວັດທະນາການ ສຳ ລັບຊິບ CPLD ໃນເວລານັ້ນ. ຊິບໂປແກມ CPLD ມີຂໍ້ບົກຜ່ອງບາງຢ່າງທີ່ແກ້ໄຂບັນດາຮູບແບບ FPGA ແບບ ໃໝ່ ແລະນັບແຕ່ນັ້ນມາພວກມັນມີການພັດທະນາຈົນເຖິງປະຈຸບັນ.

ຕະຫຼາດ FPGA ມີ ໝາກ ຜົນຫຼາຍເຊິ່ງບໍລິສັດມັກ Intel, Xilinx, Altera, Logic ດ່ວນ, Lattice, ແລະອື່ນໆ., ພວກເຂົາໄດ້ລົງທືນຫລາຍເພື່ອພັດທະນາ FPGAs ທີ່ດີກວ່າແລະຍັງໄດ້ຝັງສະພາບແວດລ້ອມການຂຽນໂປແກຼມຫລື IDEs ໃຫ້ພວກເຂົາ. ດັ່ງນັ້ນຈຶ່ງໃຫ້ເວທີທີ່ດີຫຼາຍເພື່ອ ອຳ ນວຍຄວາມສະດວກໃຫ້ແກ່ຜູ້ພັດທະນາຫລືຜູ້ຜະລິດ.

ໃນປະຈຸບັນຜູ້ຜະລິດເຫລົ່ານີ້ບໍ່ພຽງແຕ່ສະ ໜອງ ຊິບໂປແກມທີ່ສາມາດ ນຳ ໃຊ້ໄດ້ເທົ່ານັ້ນ, ແຕ່ຍັງລວມທັງອີກດ້ວຍ ຫຼາຍອົງປະກອບຊ່ວຍ ເພື່ອ ນຳ ເອົາຄວາມເປັນໄປໄດ້ເພີ່ມເຕີມໃຫ້ກັບນັກພັດທະນາ. ຍົກຕົວຢ່າງ, ພວກເຂົາປະກອບມີຈຸລັງຫນ່ວຍຄວາມຈໍາແຟດ, ຈຸລັງຫນ່ວຍຄວາມຈໍາ SDRAM, ແລະອື່ນໆ.

ພວກມັນຖືກໃຊ້ເພື່ອຫຍັງ?

IDE ເຂົ້າໃນແຜນງານ FPGA

ເພາະສະນັ້ນ, FPGA ສາມາດຄ້າຍຄືກັນກັບ ASIC ແຕ່ວ່າ ພວກເຮົາສາມາດເລືອກໄດ້ ສິ່ງທີ່ຈະເປັນ. ຍົກຕົວຢ່າງ, ພວກເຮົາສາມາດສ້າງລະຫັດເພື່ອຂຽນໂປຣແກຣມມັນແລະປ່ຽນເປັນ CPU, GPU, ເຄື່ອງເພີ່ມ, ຕົວຄວບຄຸມຄວາມ ຈຳ ຫລືວົງຈອນຕາມເຫດຜົນອື່ນໆທີ່ປະຕິບັດໃນຊິບດຽວ.

ຄວາມເປັນໄປໄດ້ແມ່ນບໍ່ມີທີ່ສິ້ນສຸດ. ໃນຄວາມເປັນຈິງ, ຂ້າພະເຈົ້າແນະນໍາໃຫ້ທ່ານໄປຢ້ຽມຢາມເວັບໄຊທ໌້ opencores.org, ເວັບໄຊທ໌ ໜຶ່ງ ທີ່ອຸທິດໃຫ້ໂຄງການຮາດແວຟຣີ ຈຳ ນວນຫລາຍ. ທ່ານຈະພົບກັບລະຫັດຕ່າງໆໃນ VHDL, Verligo, ແລະອື່ນໆ RAM, CPU, GPU, ຕົວຄວບຄຸມ, ALUs, FPUs, ເຄື່ອງຖອດລະຫັດ, ແລະອື່ນໆ..

ມັນຖືກ ກຳ ນົດໄວ້ແນວໃດ?

ນັກຂຽນໂປລແກລມ ສຳ ລັບ FPGA

ເພື່ອປະຕິບັດໂຄງການ FPGA ພວກເຮົາສາມາດເຮັດໄດ້ຈາກລະບົບປະຕິບັດການທີ່ພວກເຮົາມັກ, ເຊັ່ນວ່າ GNU / Linux, Windows ແລະ MacOS, ເຖິງແມ່ນວ່າມັນມີສະພາບແວດລ້ອມດ້ານການພັດທະນາຫຼາຍກວ່າເກົ່າ ສຳ ລັບ Windows. ໂດຍທົ່ວໄປ, ບໍລິສັດດຽວກັນທີ່ເຮັດໃຫ້ FPGA ສະເຫນີ IDE ສົມບູນຫຼາຍທີ່ຈະເຮັດວຽກກັບ ແລະບ່ອນທີ່ຈະຊອກຫາເຄື່ອງມືທັງ ໝົດ ທີ່ທ່ານຕ້ອງການໃນຊຸດຊອບແວດຽວກັນ.

ນອກນັ້ນທ່ານຍັງຈະຕ້ອງການ chip ຫຼືກະດານ FPGA ແລະສາຍໄຟຫຼືໂປແກຼມທີ່ ຈຳ ເປັນ ເຊິ່ງທ່ານສາມາດເຊື່ອມຕໍ່ FPGA ກັບ PC ຂອງທ່ານເພື່ອສົ່ງລະຫັດທີ່ຂຽນເປັນພາຫະນະ FPGA ແລະດັ່ງນັ້ນມັນຈຶ່ງຖືກວາງແຜນໄວ້. ນັ້ນແມ່ນສິ່ງທີ່ຄ້າຍຄືກັບສິ່ງທີ່ທ່ານເຮັດກັບກະດານ Arduino, ການຂຽນໂປແກຼມ Arduino IDE ເຂົ້າໃນ ໜ່ວຍ ຄວາມ ຈຳ ຂອງໂປແກຼມຄວບຄຸມ microcontroller.

ພຽງແຕ່ໃນກໍລະນີຂອງ FPGA ສິ່ງທີ່ພວກເຮົາມີແມ່ນມາຕຣິກເບື້ອງຫລືອາເລຂອງສ່ວນປະກອບຫຼັກເຊັ່ນ: ໜ່ວຍ ຄວາມ ຈຳ, ແລະປະຕູຮົ້ວ, OR, ບໍ່, Flip-flops, ແລະອື່ນໆ. ອົງປະກອບພື້ນຖານຫລືທ່ອນໄມ້ຂອງເອເລັກໂຕຣນິກດິຈິຕອນ ທີ່ພວກເຮົາສາມາດນໍາໃຊ້. ກັບໂປແກຼມທີ່ຂຽນວ່າສິ່ງທີ່ພວກເຮົາຈະເຮັດແມ່ນ ກຳ ນົດວິທີການທີ່ທ່ອນໄມ້ທີ່ ສຳ ຄັນເຫລົ່ານີ້ຈະຖືກຈັດເປັນກຸ່ມຮ່ວມກັນເພື່ອປະກອບວົງຈອນນ້ອຍໆທີ່ພວກເຮົາຕ້ອງການ, ເຊັ່ນວ່າ ALU.

ນັ້ນແມ່ນ, ຖ້າພວກເຮົາຂຽນໂປແກຼມ adder ໃນ IDE ຂອງພວກເຮົາ, ບັນດາທ່ອນໄມ້ທີ່ ຈຳ ເປັນໃນການຈັດຕັ້ງປະຕິບັດເຄື່ອງເຕີມນີ້ ພວກເຂົາ ກຳ ລັງເຊື່ອມຕໍ່ ໃນທາງທີ່ຖືກຕ້ອງພາຍໃນ FPGA ເພື່ອໃຫ້ຊິບເຮັດວຽກເປັນເຄື່ອງເສີມ. ສິດງ່າຍດາຍບໍ? ໂດຍທົ່ວໄປແລ້ວ, ມີຫລາຍໆວິທີທີ່ຖືກ ນຳ ໃຊ້ ສຳ ລັບການຂຽນໂປແກຼມນີ້ໃນລະດັບທາງດ້ານຮ່າງກາຍ, ເຊັ່ນວ່າຄວາມຊົງ ຈຳ ຫລືຟິວເພື່ອເຮັດການເຊື່ອມຕໍ່ແບບຖາວອນໃນກໍລະນີນັ້ນ.

ຄວາມໄວທີ່ພວກເຂົາປະຕິບັດງານຈະຂຶ້ນກັບ ຄວາມຖີ່ຂອງໂມງ ເຊິ່ງ FPGA ພວກເຮົາໄດ້ຊື້ວຽກ. ຍົກຕົວຢ່າງ, ພື້ນຖານທີ່ສຸດມັກຈະເຮັດວຽກຢູ່ທີ່ 50 Mhz, ສ່ວນອື່ນໆຈະເຮັດໃນຄວາມຖີ່ທີ່ສູງກວ່າຫຼາຍ. ໃນກໍລະນີຂອງ 50 Mhz FPGA, ນັ້ນຫມາຍຄວາມວ່າມັນຈະປະຕິບັດງານໃນອັດຕາ 50.000.000 ເທື່ອຕໍ່ວິນາທີ. ຖ້າພວກເຮົາສືບຕໍ່ກັບສິ່ງເສບຕິດທີ່ຂ້າພະເຈົ້າໄດ້ຍົກໃຫ້ເປັນຕົວຢ່າງ, ທ່ານຈະສາມາດເຮັດ ຈຳ ນວນເງິນນັ້ນໄດ້ໃນ ໜຶ່ງ ວິນາທີ ...

ສືບຕໍ່ດ້ວຍຫົວຂໍ້ຂອງ ການຂຽນໂປແກມເມື່ອພວກເຮົາຮູ້ວ່າທ່ານສາມາດຂຽນລະຫັດຄືກັບທີ່ພວກເຮົາຈະຢູ່ໃນ Arduino IDE ຫຼືເພື່ອພັດທະນາໂປແກຼມອື່ນ, ແລະເບິ່ງວ່າມັນເຮັດໄດ້ແນວໃດໃນລະດັບຮາດແວ, ຂ້ອຍຈະເວົ້າວ່າມັນບໍ່ແມ່ນການຂຽນໂປແກຼມດັ່ງກ່າວແທ້ໆ. ແນ່ນອນວ່າມັນແມ່ນລາຍລະອຽດຂອງຮາດແວ. ໃນຄວາມເປັນຈິງ, ພາສາ ຄຳ ອະທິບາຍກ່ຽວກັບຮາດແວແມ່ນຖືກ ນຳ ໃຊ້ເຊັ່ນ: VHDL, Verilog, ແລະອື່ນໆ.

ຂອບກົດລະບຽບ ໂຄງການນັ້ນຖືກອະທິບາຍໃນລະດັບທີ່ມີເຫດຜົນ ສິ່ງທີ່ວົງຈອນນ້ອຍໆທີ່ພວກເຮົາຕ້ອງການຈັດຕັ້ງປະຕິບັດເຮັດ. ແລະຫຼັງຈາກນັ້ນມັນກໍ່ໄປທີ່ FPGA. ເຖິງແມ່ນວ່າມັນເປັນຄວາມຈິງທີ່ວ່າບາງແພລະຕະຟອມຊ່ວຍໃຫ້ການຂຽນໂປແກຼມໃນພາສາການຂຽນໂປຼແກຼມເຊັ່ນ C ສາມາດປະຕິບັດ CPU ໃນ FPGA ແລະຈາກນັ້ນກໍ່ສ້າງໂປແກຼມຕ່າງໆທີ່ຈະໂຫລດເຂົ້າໄປໃນຫນ່ວຍຄວາມ ຈຳ ແລະຖືກປະມວນຜົນໂດຍຜູ້ປະມວນຜົນກ່າວ.

ການປະສົມປະສານກັບ Arduino

FPGA Arduino

FPGAs ມັກຖືກ ນຳ ໃຊ້ແຍກຕ່າງຫາກ, ແຕ່ມັນແມ່ນຄວາມຈິງທີ່ວ່າມັນມີເຄື່ອງມືແລະຊຸດເຄື່ອງມືຫຼາຍຢ່າງຢູ່ໃນຕະຫຼາດເຊິ່ງຈະເຮັດໃຫ້ຊີວິດທ່ານງ່າຍດາຍໃນການເຊື່ອມໂຍງກັບທ່ານ. FPGA ກັບແພລະຕະຟອມ Arduino. ຕົວຢ່າງຂອງກະດານທີ່ຈະ ນຳ FPGAs ເຂົ້າໃນບັນດາໂຄງການຂອງທ່ານກັບ Arduino ແມ່ນ MKR Vidor 4000, ເຖິງແມ່ນວ່າມັນຈະມີອີກ.

MKR Vidor 4000 ມັນແມ່ນກະດານທີ່ມີສາມຊິບ. ໜຶ່ງ ໃນນັ້ນແມ່ນ FPGA, ໂດຍສະເພາະ Intel Cyclone 10. ຍັງມີຊິບອື່ນ ສຳ ລັບ Bluetooth LE ຫຼືການເຊື່ອມຕໍ່ການຊົມໃຊ້ທີ່ຕໍ່າແລະຍັງມີຄວາມເຂົ້າກັນໄດ້ກັບ WiFi. ການປະກອບທີ່ດີເພື່ອໃຫ້ Arduino ຂອງທ່ານມີ ໜ້າ ທີ່ເຊື່ອມຕໍ່ແລະສາມາດຈັດຕັ້ງປະຕິບັດສິ່ງທີ່ທ່ານຕ້ອງການໃນ FPGA.

ມັນມີທ່ານມີ ຮາດແວທີ່ສາມາດປັບແຕ່ງໄດ້, ຕັ້ງຄ່າດ້ວຍຕົວເອງເພື່ອຈຸດປະສົງທີ່ທ່ານຕ້ອງການ. ນັ້ນສະ ເໜີ ຄວາມເປັນໄປໄດ້ທີ່ບໍ່ມີທີ່ສິ້ນສຸດ.


ເນື້ອໃນຂອງບົດຂຽນຍຶດ ໝັ້ນ ຫລັກການຂອງພວກເຮົາ ຈັນຍາບັນຂອງບັນນາທິການ. ເພື່ອລາຍງານການກົດຜິດພາດ ທີ່ນີ້.

ເປັນຄົນທໍາອິດທີ່ຈະໃຫ້ຄໍາເຫັນ

ອອກ ຄຳ ເຫັນຂອງທ່ານ

ທີ່ຢູ່ອີເມວຂອງທ່ານຈະບໍ່ໄດ້ຮັບການຈັດພີມມາ. ທົ່ງນາທີ່ກໍານົດໄວ້ແມ່ນຫມາຍດ້ວຍ *

*

*

  1. ຮັບຜິດຊອບຕໍ່ຂໍ້ມູນ: Miguel ÁngelGatón
  2. ຈຸດປະສົງຂອງຂໍ້ມູນ: ຄວບຄຸມ SPAM, ການຈັດການ ຄຳ ເຫັນ.
  3. ກົດ ໝາຍ: ການຍິນຍອມຂອງທ່ານ
  4. ການສື່ສານຂໍ້ມູນ: ຂໍ້ມູນຈະບໍ່ຖືກສື່ສານກັບພາກສ່ວນທີສາມຍົກເວັ້ນໂດຍພັນທະທາງກົດ ໝາຍ.
  5. ການເກັບຂໍ້ມູນ: ຖານຂໍ້ມູນທີ່ຈັດໂດຍ Occentus Networks (EU)
  6. ສິດ: ໃນທຸກເວລາທີ່ທ່ານສາມາດ ຈຳ ກັດ, ກູ້ຄືນແລະລຶບຂໍ້ມູນຂອງທ່ານ.