Л ПЛІС становяцца ўсё больш папулярнымі у апошнія часы. Нават для прафесійнага прымянення гэтыя мікрасхемы часта выкарыстоўваюцца, але таксама для самаробных майстроў і вытворцаў, якія хочуць рэалізаваць дыскрэтную схему ўнутры чыпа з усімі перавагамі, якія з гэтага вынікаюць. Гэта нятанна і проста знайсці фабрыку для адпраўкі макетаў альбо шаблонаў і вырабіць спецыяльны чып для вас.
Праўда, некаторыя ліцейныя цэхі дазваляюць рабіць вафлі альбо шматпроектныя пласціны рабіць чыпы ад прыватных асоб альбо універсітэтаў для тэставання з імі. Такія фабрыкі, як я кажу, цяжка знайсці, яны звычайна знаходзяцца за мяжой і каштуюць нятанна. Праз некаторы час узоры вашых фішак адпраўляюцца па ўзгодненым адрасе, але яны не адказваюць за іх тэставанне і праверку на працу. Усё залежыць ад вашага дызайну ...
Una альтэрнатыўнае рашэнне гэтага - набыць FPGA і запраграмаваць усё, што трэба для рэалізацыі ўнутры чыпа ...
Індэкс
Што такое FPGA?
FPGA расшыфроўваецца як Field Programmable Gate Array. Яны ўяўляюць сабой лічбавыя прылады альбо мікрасхемы, якія можна наладзіць так, каб практычна можна было рэалізаваць што заўгодна. Гэта значыць, іншымі словамі, гэта пустая фішка, дзе можна "пісаць". Гэта азначае, што вы можаце рэалізаваць працэсар, памяць, кантролер, любую логіку і г.д., дабіўшыся вельмі хуткай працы і з усімі перавагамі ўбудаванай у чып, а не з электроннымі элементамі.
Рос Фрыман і Бернард Вондэршміт, сузаснавальнікі Xilinx, былі тымі, хто вынайшаў FPGA ў 1984 г. Яны зрабілі гэта як эвалюцыю да чыпаў CPLD таго часу. Праграмуемыя мікрасхемы CPLD мелі некаторыя недахопы, якія дазволілі вырашыць новыя канструкцыі FPGA, і з тых часоў яны развіваліся на сённяшні дзень.
Рынак FPGA настолькі плённы, што падабаецца кампаніям Intel, Xilinx, Altera, Quick Logic, Lattice і г.д., яны шмат уклалі ў распрацоўку лепшых ПЛІС, а таксама ўбудаваныя асяроддзя праграмавання альбо IDE для іх. Такім чынам, прадастаўленне вельмі добрых платформаў для палягчэння заданняў распрацоўшчыкаў і вытворцаў.
У цяперашні час гэтыя вытворцы не толькі прадастаўляюць праграмуемы чып, але і ўключаюць шматлікія дапаможныя элементы каб пашырыць магчымасці для распрацоўшчыкаў. Напрыклад, яны ўключаюць вочкі флэш-памяці, ячэйкі памяці SDRAM і г.д.
Для чаго яны выкарыстоўваюцца?
Такім чынам, FPGA можа быць падобны на ASIC, але гэта мы можам выбраць што будзе. Напрыклад, мы маглі б стварыць код для яго праграмавання і ператварыць яго ў працэсар, графічны працэсар, суматар, кантролер памяці альбо любую іншую лагічную схему, рэалізаваную на адным чыпе.
Магчымасцяў даволі шмат. На самай справе, я рэкамендую вам наведаць вэб-сайт opencores.org, сайт, прысвечаны мноству бясплатных апаратных праектаў. Вы знойдзеце коды ў VHDL, Verligo і г.д., для Аператыўная памяць, працэсар, графічны працэсар, кантролеры, ALU, FPU, дэкодэры, і г.д..
Як гэта запраграмавана?
Для праграмавання FPGA мы можам зрабіць гэта з нашай улюбёнай аперацыйнай сістэмы, такой як GNU / Linux, Windows і MacOS, хаця для Windows, вядома, існуе больш асяроддзяў распрацоўкі. Як правіла, тыя ж кампаніі, якія робяць FPGA, прапануюць a Вельмі поўная IDE для працы і дзе знайсці ўсе неабходныя інструменты ў тым самым наборы праграм.
Вам таксама спатрэбіцца Мікрасхема або плата FPGA і неабходны кабель альбо праграміст з дапамогай якога вы можаце падключыць FPGA да ПК, каб перадаць напісаны код у FPGA, і таму ён запраграмаваны. Гэта нешта падобнае на тое, што вы робіце з платай Arduino, запісваючы праграму IDE Arduino ў праграмуемую памяць мікракантролера.
Толькі ў выпадку з ПЛІС мы матрыцу альбо масіў элементарных кампанентаў, такіх як вочкі памяці, І вароты, АБО, НЕ, шлапакі і іншыя. асноўныя элементы альбо блокі лічбавай электронікі што мы можам выкарыстаць. З дапамогай пісьмовай праграмы мы збіраемся навязаць спосаб згрупавання гэтых асноўных блокаў, каб сфармаваць маленькую ланцужок, якую мы хочам, напрыклад, ALU.
Гэта значыць, калі мы запраграмаваць суматар у нашай IDE, неабходныя блокі для рэалізацыі гэтага суматара яны збіраюцца звязаць правільным чынам унутры FPGA, так што мікрасхема працуе як суматар. Проста, праўда? Наогул для гэтага праграмавання на фізічным узроўні выкарыстоўваецца некалькі метадаў, напрыклад, успаміны ці засцерагальнікі, каб у гэтым выпадку зрабіць пастаянную сувязь.
Хуткасць, з якой яны працуюць, будзе залежаць ад тактавая частата для якіх FPGA мы набылі творы. Напрыклад, самыя асноўныя звычайна працуюць на частоце 50 МГц, іншыя будуць рабіць гэта на значна больш высокіх частотах. У выпадку з ПЛІС з частатой 50 МГц гэта азначае, што яна будзе працаваць з хуткасцю 50.000.000 XNUMX XNUMX раз у секунду. Калі мы працягнем састаў, які я прывёў у якасці прыкладу, вы зможаце зрабіць такую суму за адну секунду ...
Працягваючы тэму ПраграмаваннеПасля таго, як мы даведаемся, што вы можаце пісаць код, як у Arduino IDE, альбо распрацоўваць любую іншую праграму, і, убачыўшы, як гэта робіцца на апаратным узроўні, я скажу, што гэта сапраўды не праграмаванне. Хутчэй гэта апаратнае апісанне. Фактычна выкарыстоўваюцца мовы апісання абсталявання, такія як VHDL, Verilog і г.д.
з гэтая праграма апісана на лагічным узроўні што робіць маленькая схема, якую мы хочам рэалізаваць. А потым ідзе да ПЛІС. Хоць гэта дакладна, што некаторыя платформы дазваляюць праграмаванне на мовах праграмавання, такіх як C, каб мець магчымасць рэалізаваць працэсар у FPGA, а затым генераваць праграмы для загрузкі ў памяць і апрацоўкі згаданым працэсарам.
Інтэграцыя з Arduino
ПЛІС звычайна выкарыстоўваюцца паасобку, але гэта праўда, што на рынку існуе мноства інструментаў і набораў, якія палегчаць ваша жыццё для інтэграцыі вашых ПЛІС з платформай Arduino. Прыкладам дошкі для падключэння ПЛІС да вашых праектаў з Arduino з'яўляецца MKR Vidor 4000, хоць ёсць і іншыя.
MKR Viewer 4000 гэта дошка з трыма фішкамі. Адзін з іх - FPGA, у прыватнасці, Intel Cyclone 10. Ёсць таксама іншыя мікрасхемы для Bluetooth LE або сувязі з нізкім спажываннем, а таксама сумяшчальнасць з WiFi. Добрае дапаўненне, каб забяспечыць ваш Arduino функцыямі падключэння і мець магчымасць рэалізаваць тое, што вам трэба, у FPGA.
З гэтым у вас ёсць наладжвальныя апаратныя сродкі, наладжаны вамі для патрэбнай мэты. Гэта дае бясконцыя магчымасці.
Будзьце першым, каб каментаваць