안녕하세요. FPGA를 독학 하는 초보 학생입니다
책에서 FGPA예제 문재를 푸는대 생각 만큼 나오질 안내요
밑에는 제가 짠 소스 코드 입니다
오류가 나는대 여러가지 고치고 해봐도 모르겠네요.. 소스 오류점 수정 해주세요
그리고 왜 오류가 난는지 점 알려주세요... 꼭 부탁 드리겠습니다
퀘터스로 짠 소스 입니다~
------------------------------------------
module segment(a_in, seg_data, com, clk, clk_in);
input [3:0] a_in;
input clk_in;
output[7:0] com;
output[7:0] seg_data;
reg clk;
reg onesec_clk;
reg[7:0] seg_data_tmp;
reg[31:0] cnt;
assign com=8'b00000001; //7_se LED
assign seg_data=seg_data_tmp;
assign led=data;
always @(posedge clk_in)
begin
if (a_in) = 4b'0000
begin
cnt=0;
clk=0;
end
else if (cnt < 1249999)
begin
cnt = cnt+1;
end
else if (cnt==1249999)
begin
cnt=0;
clk=~clk;
end
a_in =clk_out;
end
always @(a_in)
begin
case(a_in)
4'b0000:seg_data_tmp<=8'b00000011;
4'b0001:seg_data_tmp<=8'b10011111;
4'b0010:seg_data_tmp<=8'b00100101;
4'b0011:seg_data_tmp<=8'b00001101;
4'b0100:seg_data_tmp<=8'b10011001;
4'b0101:seg_data_tmp<=8'b01001001;
4'b0110:seg_data_tmp<=8'b01000001;
4'b0111:seg_data_tmp<=8'b00011011;
4'b1000:seg_data_tmp<=8'b00000001;
4'b1001:seg_data_tmp<=8'b00001001;
default :seg_data_tmp<=8'b00000000;
endcase
end
endmodule
--------------------------------------------
안녕하세요 정보통신 3학년 재학중인 학생입니다.
저도 이번학기에 처음 FPGA에 대해서 배우고 있는데 ㅎㅎ
일단 소스상으로 문제가 돼는게 module에서 clk_out 할당이 안된 상태에서
a_in = clk_out << 이부분 때문에 오류 나는걸로 보이네요
한번 확인 해보세요 그리고 1초정의를 하시는 if (cnt < 1249999)부분에서
1249999로 잡으셨는데 9가 하나 빠졌어요 12,499,999
그리구 여기서 12,499,999를 주시는 이유는 아시는 듯하니 넘어가구
assign seg_data=seg_data_tmp; 이부분이 순차적으로 보았을때
always @(A_IN) 앞에 와야하는걸루 알고있어요
그리고 세그먼트에서 0~9까지 디스플레이후에 0으로 리셋돼는 값이 없네요
저도 초보인지라 딱 찍어 확답은 못드리겠지만 한번 해보시겠어요 ^^