Ответ:
(«Телесистемы»: Конференция «Языки описания аппаратуры (VHDL и др.))
|
Отправлено
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
Составить ответ
|||
Конференция
|||
Архив
Ответы
- Что это? — Kris (01.12.2006 17:30 80.90.116.9, 46 байт)
- Ответ: — Kris (01.12.2006 17:31 80.90.116.9, 160 байт)
- Ответ: — SAZH (01.12.2006 17:36 212.113.112.201, 153 байт)
- Ответ: — Kris (01.12.2006 17:59 80.90.116.9, 14 байт)
- Ответ: — SAZH (01.12.2006 18:29 212.113.112.201, 1134 байт)
- Ответ: — SAZH (01.12.2006 18:03 212.113.112.201, 148 байт)
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание