Мультибитный светодиод

Плата прототипирования, которую я использую для своих экспериментов в области микроэлектроники, оснащена всего четырьмя светодиодами, которых мне как разработчику естественно постоянно не хватает, когда речь заходит о выводе отладочной информации. Написав модуль PWM, я спросил себя, а что собственно мне мешает использовать этот модуль, чтобы светодиод мог индицировать состояние нескольких логических выводов.

Так родилась написать модуль для мультибитного вывода информации на светодиод.

Модуль 4-битной индикации

Поскольку для отладки текущей задачи мне требовалось выводить информацию о состоянии 8-битной шины данных, а свободных светодиодов было только три, то первым модулем мультибитной LED-индикации стал модуль с 4 линиями на входе и одним выводом PWM на выходе. Этот замечательный своей простотой модуль я назвал LED4bit (скачать):

module LED4bit(

input wire nResetIN,

input wire clkIN,

input wire bit0IN,

input wire bit1IN,

input wire bit2IN,

input wire bit3IN,

output wire pwmOUT

);

wire [7:0] data;


assign data[0] = 1'b0;

assign data[1] = bit0IN;

assign data[2] = 1'b0;

assign data[3] = bit1IN;

assign data[4] = 1'b0;

assign data[5] = bit2IN;

assign data[6] = 1'b0;

assign data[7] = bit3IN;


PWM pwm(.nResetIN(nResetIN),

.clkIN(clkIN),

.valueIN(data),

.pwmOUT(pwmOUT));


endmodule

Функция ШИМ выполняется модулем PWM, скачать который можно на странице FPGA. Модуль PWM.

Автор: Андрей Шаройко <vanyamboe@gmail.com>