Ответ:
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))

миниатюрный аудио-видеорекордер mAVR

Отправлено SAZH 01 декабря 2006 г. 16:47
В ответ на: Как реализовать bintobcd отправлено <font color=gray>Kris</font> 01 декабря 2006 г. 15:46

module bin2_bcd (bin, bcd); // U.Tietze - Ch.Schenk page 321

input [12:0] bin;
output [15:0] bcd;


reg [12:0] bin_rg;
reg [15:0] bcd_rg;

function [3:0] correct ;
input [3:0] decade;
begin
correct = (decade > 4) ? (decade + 4'd3) : decade;
end
endfunction

always @(bin)
begin: block
integer i;
bcd_rg = 16'd0;
bin_rg = bin;
for (i = 13 ; i > 0 ; i = i - 1)
begin
bcd_rg[3:0] = correct(bcd_rg[3:0]);
bcd_rg[7:4] = correct(bcd_rg[7:4]);
bcd_rg[11:8] = correct(bcd_rg[11:8]);
bcd_rg[15:12] = correct(bcd_rg[15:12]);
bcd_rg = {bcd_rg[14:0], bin_rg[12]};
bin_rg = bin_rg << 1;
end
end

assign bcd = bcd_rg;

endmodule

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
URL изображения: 
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите двойку на единицу:


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание