| 저는 HBE-DTK-20K를 쓰고있는 학생입니다.
스톱워치를 만들려고 코딩을 책의 참고하면서 했는데요
문제는 저 트레이닝 키트의 7세그먼트의 각 세그먼트가 a.b.c.d....등이 핀이 하나씩 할당이 되어있습니다. 그러니깐 총세그먼트가 6개 쓰이면 6*8=48개 가 아웃으로 되어야 된다는 말입니다.
input [3:0] min,sec,sec1_10,sec1_100;
input [2:0] min10,sec10;
output [6:0] segment;
output [5:0] common;
wire [2:0] comcnt;
function [3:0] digit_sel;
input [2:0] comcnt;
input [2:0] min10;
input [3:0] min;
input [2:0] sec10;
input [3:0] sec;
input [3:0] sec1_10;
input [3:0] sec1_100;
begin
case (comcnt)
0:digit_sel = sec1_100;
1:digit_sel = sec1_10 ;
2:digit_sel = sec;
3:digit_sel = {1'b0,sec10};
4:digit_sel = min;
5:digit_sel = {1'b0,min10};
endcase
end
endfunction
function [6:0] seg_dec;
input [3:0] digit;
begin
case (digit)
0:seg_dec = 7'b0111111;
1:seg_dec = 7'b0000110;
2:seg_dec = 7'b1011011;
3:seg_dec = 7'b1001111;
4:seg_dec = 7'b1100110;
5:seg_dec = 7'b1101101;
6:seg_dec = 7'b1111101;
7:seg_dec = 7'b0100111;
8:seg_dec = 7'b1111111;
9:seg_dec = 7'b1101111;
endcase
end
endfunction
function [5:0] com_dec;
input [2:0] comcnt;
begin
case(comcnt)
0:com_dec=6'b000001;
1:com_dec=6'b000010;
2:com_dec=6'b000100;
3:com_dec=6'b001000;
4:com_dec=6'b010000;
5:com_dec=6'b100000;
endcase
end
endfunction
cnt6 com (ck,sysres,1'b1,comcnt,carry);
assign segment = seg_dec(digit_sel(comcnt,min10,min,sec10,sec,sec1_10,sec1_100));
assign common = com_dec(comcnt);
endmodule
이것이 디스플레이 모듈 코드인데요.여기서 어떻게 바꿔야 세그먼트의 아웃이 48개가 될까요. 답변 부탁드리겠습니다 ~! |