분류1

LED

제목

HBE-COMBO2-DLD 관련 재문의합니다.

Quartus2 13.0 을 사용해서 타이머를 구현해보았는데요.

HBE-COMBO2-DLD를 사용해서 동작을 시켜보았는데 led5의 핀을 설정하지도않았는데

랜덤으로 자꾸 켜집니다. 핀설정에서 영향을 주는게 있어서 그런걸까요??

저번에 답변주신것확인하고 재문의 드립니다.

첨부파일에 핀설정 사진 첨부했습니다. 그리고 ground로 설정한상태이구요.

다시 확인 부탁드립니다~

 

<소스코딩>

module TIMER(dot,piezo,clk1,clk2,reset,seg,com,S,M,H,button1,button2,button3,led1,led2,led3,led4);

input clk1,reset;
output dot,led1,led2,led3,led4;
output clk2;
output [7:1]seg;
output [7:0]com;
output [5:0]S;
output [5:0]M;
output [3:0]H;
output piezo;
input button1;//시분초선택
input button2;//숫자오름
input button3;//start-stop버튼

reg [1:0]state=0;
reg state2=0;
reg piezo=0;
reg dot;
reg led1=0;
reg led2=0;
reg led3=0;
reg led4=0;
reg clk2=0;
reg [9:0]count=0;
reg [7:0]com;
reg [7:1]seg;
reg [3:0]num;
reg [5:0]S=6'd0;
reg [5:0]M=6'd0;
reg [3:0]H=4'd0;
reg [3:0]H10,H1,M10,M1,S10,S1;
integer cnt_scan=0;


always@ (negedge clk1)
begin
if(count < 499)
begin
count <= count +1;
end
else
begin
count <=0;
clk2 = ~clk2;
end
end

always@ (posedge button1)
begin
if(button1) begin state=state+1;
end
else if(state>=3) begin state=0;
end
end

 

always@ (negedge clk2)
begin
if (reset) begin H=0; M=0; S=0; piezo=0; end
else if (state==0) begin led1=1'd1;
if(button2)begin H=H+1; end end
else if (state==1) begin led2=1'd1; led1=1'd0;
if(button2)begin M=M+1; end end
else if (state==2) begin led3=1'd1; led2=1'd0;
if(button2)begin S=S+1; end end
else if (button3 && state2==0) begin led4=1'd1; led3=1'd0; state2=1; end
else if (button3 && state2==1) begin state2=0; led4=1'd0; led3=1'd0; end
else if(H==4'd0&& M==6'd0 && S==6'd0) begin H=H; M=M; S=S; piezo = 1'd1;end
else if (state2==1) begin led4=1'd1; led3=1'd0; S=S-1;
if(S>=6'd59) begin S=6'd59; M=M-1;
if(M>=6'd59) begin M=6'd59; H=H-1;
if(H==4'd0) begin H=4'd0;

end end end
end

end

 

always @(negedge clk1)
 begin
 if (cnt_scan >=5) cnt_scan=0;
 else cnt_scan=cnt_scan+1;

 case (cnt_scan)
 0: begin num=S1;         com=8'b11111110; dot=0;end
 1: begin num=S10;        com=8'b11111101; dot=0;end
 2: begin num=M1;         com=8'b11111011; dot=1;end
 3: begin num=M10;        com=8'b11110111; dot=0;end
 4: begin num=H1;         com=8'b11101111; dot=1; end
 5: begin num=H10;        com=8'b11011111; dot=0;end
  default: begin cnt_scan=0; end
 endcase
end

always@ (S)
begin
     if (S<=9)  begin S10=0; S1=S; end
else if (S<=19) begin S10=1; S1=S-10; end
else if (S<=29) begin S10=2; S1=S-20; end
else if (S<=39) begin S10=3; S1=S-30; end
else if (S<=49) begin S10=4; S1=S-40; end
else if (S<=59) begin S10=5; S1=S-50; end
else begin S10=0; S1=0;  end end

always@ (M)
begin
     if (M<=9)  begin M10=0; M1=M; end
else if (M<=19) begin M10=1; M1=M-10; end
else if (M<=29) begin M10=2; M1=M-20; end
else if (M<=39) begin M10=3; M1=M-30; end
else if (M<=49) begin M10=4; M1=M-40; end
else if (M<=59) begin M10=5; M1=M-50; end
else begin M10=0; M1=0;  end
end

always@ (H)
begin
     if (H<=9)  begin H10=0; H1=H; end
else if (H<=11) begin H10=1; H1=H-10; end
else begin H10=0; H1=0;  end

end

 always @ (num)
 begin 
 case (num) 
 4'b0000 : seg = 7'b1111110; //0
 4'b0001 : seg = 7'b0110000; //1
 4'b0010 : seg = 7'b1101101; //2
 4'b0011 : seg = 7'b1111001; //3
 4'b0100 : seg = 7'b0110011; //4
 4'b0101 : seg = 7'b1011011; //5
 4'b0110 : seg = 7'b1011111; //6
 4'b0111 : seg = 7'b1110000; //7
 4'b1000 : seg = 7'b1111111; //8
 4'b1001 : seg = 7'b1111011; //9
 default : seg = 7'b0000000; //null
 endcase
 
 end
 
 endmodule

첨부파일 다운로드

확장자는png핀설정1.png

등록자이경민

등록일2018-11-28

조회수79

  • 페이스북 공유
  • 트위터 공유
  • Google+ 공유
  • 인쇄하기
 

(주)한백전자-

| 2018-11-29

추천하기0반대하기0댓글등록

Verilog HDL등에서 구현한 입/출력 포트는 FPGA내에서 하드웨어의 핀에 반드시 연결됩니다.

비록 내가 입/출력 핀을 설정하지 않았다 하더라도, 컴파일러가 자동으로 핀을 설정합니다.

보내주신 핀설정 파일의 그림을 보면, 사용자가 설정한 핀은 Location 부분에, 컴파일되어서 설정된 핀 파일은 Fitter Location 부분에 위치되어 있습니다.

위의 H[3], M[3], .. 등에는 핀을 설정하지 않았지만, Fitter Location 부분에는 PIN_G4등으로 설정되어 있는 것을 볼 수 있습니다.
이게 컴파일러가 자동으로 핀을 설정한 부분입니다.

LED5의 경우 핀번호가 L8인데, 핀 설정 파일에서 M[2]에 연결되어 있습니다.

이래서 M[2]의 신호가 발생할 때 마다 LED5의 불이 동작하는 것입니다.

이런것을 없애기 위해서는 하드웨어로 표현하지 않아야 할 포트를 출력이 아닌 signal등의 변수로 선언해 주어야 합니다.
아니면, led가 아니라 표시 안되는 다른 핀에 설정해 주어야 합니다.

감사합니다.

스팸방지코드 :
번호 제목 등록자 등록일 조회수
11648 Micro Processor HBE-MCU-MULTI II ELEC에서의 SHT20 온습도센서 연결

조윤재

2018.12.11 0
11647 Embedded System SM5 기기와 아두이노 MEGA 를 통신하고 싶습니다.1

박선희

2018.12.09 59
11646 FPGA/SoC HBE-COMBO 11-DLD, Keypad 관련 문의입니다.

민덕경

2018.12.06 61
11645 FPGA/SoC PS/2 Keyboard의 입력을 받아 Text LCD에 Display 하는 예제1

김석영

2018.12.04 89
11644 Sensor HBE-COMBO-2-DLD 조도센서1

김동원

2018.11.28 80
11643 LED HBE-COMBO2-DLD 관련 재문의합니다.1

이경민

2018.11.28 80
11642 LED HBE-COMBO2-DLD 관련 문의2

이경민

2018.11.26 60
11641 Intelligent Rob 한백전자 HBE-B3E1

아트

2018.10.29 190
11640 Sensor IR송신센서, 초음파센서 헤더파일 충돌 문의

김해인

2018.10.26 408
11639 Intelligent Rob 교육 장비 관련 문의1

이○○

2018.10.17 0