Dlinyj (dlinyj) wrote,
Dlinyj
dlinyj

Category:

Первое знакомство с ПЛИС.

ПЛИС (программируемая логическая интегральная схема) - это самое лучше, что могли изобрести на логике. Лучше всего про плис скажут на ВИКИПЕДИИ . Итак, ещё на прошлом СС я прзнакомился с культовой личностью - со SVO, который тогда сделал игру Понг на ПЛИС Тогда я ему намекнул, что хотел бы их изучать, но тогда так и не дошли руки. Год спустя, на этом СС SVO, как справедливо заметил f_andrey в коментах, сделал ещё эмулятор компьютера "Вектор-06Ц" http://code.google.com/p/vector06cc/. В этот раз я уже более конкретно сказал, что мне нехватает хорошего учителя, и мы уже более плотно обменялись контактами, и он мне прислал платку:


Чудо платка, с Altera MAX II (извиняюсь, за качество фотки)


Подробнее про платку можно поглядеть на официальном сайте: http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=39&No=215 (там и фотка лучшего качества). У платки есть только один недостаток - количество перепрошивок ограничено 100 (!!!!!) штуками. Это ОоооооооООооочень мало!!! (Даже я, который мало программирует, умудрился израсходовать ресурс EEPROM за день отладки, с 1000 циклами перезаписи!). В общем, сегодня интерактивно, по скайпу обучался программированию ПЛИС! В результате написали на VHDL простейший бегущий огонь:


Видео бегущего огонька


module new_very_log (CLOCK_50, KEY, LED);
input CLOCK_50;
input [3:0] KEY;
output reg [7:0] LED; //регистр светодиодов
reg [24:0] divctr; //регистр счётчик на 24 бит
wire reset_n = KEY[0];
wire led_ce = divctr[23:0] == 0;// Принимает значение истина, в остальное время ложь

always @(posedge CLOCK_50) begin
divctr <= divctr + 1'b1;
end

always @(posedge CLOCK_50) begin
if (~reset_n)
LED <= 'b1;
else
if (led_ce) LED <= {LED[0], LED[7:1]};//Крутим битик, циклически по кругу.
end

endmodule


Изящно, неправда ли? На асме было бы значительно больше.


Самый смак ПЛИС, который вводит меня в благовенный трепет, и полностью рушит мозг у обычных программистов, это то, что всё исполняется ОДНОВРЕМЕННО!!!! Вот где максимальный реализм, и многопоточность обработки данных. А вы говорите много ядер, контроллеры с большей частотой. ПЛИС спасёт мир :).

З.Ы. Ютуб тупорылая овца, гугл видео - быстро и просто. Перелил.
Subscribe

  • Что лучше - 4 ноября или 7-ое?

    Новые праздники на месте старых – выдумка древняя. Когда на смену язычеству пришло христианство, оно тоже взяло старые, привычные народу…

  • О наших больницах... (я считаю гениально!)

    ...не говорил только ленивый. Тут и далее по тексту впечатления от гражданки Израиля о больнице скорой помощи города Воронежа. Как обычно тысячи…

  • Почувствуй себя кулаком...

    Варю на завтрак дефецитную гречку. Ощущаю себя зажравшимся буржуем, страна без гречки! Аш слеза наворачиваается. Вот, забавно, чтобы начать ценить…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 21 comments

  • Что лучше - 4 ноября или 7-ое?

    Новые праздники на месте старых – выдумка древняя. Когда на смену язычеству пришло христианство, оно тоже взяло старые, привычные народу…

  • О наших больницах... (я считаю гениально!)

    ...не говорил только ленивый. Тут и далее по тексту впечатления от гражданки Израиля о больнице скорой помощи города Воронежа. Как обычно тысячи…

  • Почувствуй себя кулаком...

    Варю на завтрак дефецитную гречку. Ощущаю себя зажравшимся буржуем, страна без гречки! Аш слеза наворачиваается. Вот, забавно, чтобы начать ценить…