Altera DE2-115 보드를 이용하여 클럭 분주기를 실습한다.
[Clock Prescler]
클럭 분주기 clk_gen.v 를 Verilog 로 기술하고, 이를 DE2-115 보드의 Altera CycloneIV 를 이용하여 구현하고 실습 결과를 오실로스코프로 측정한다.
[clk_gen.v]
처음으로 Main Clock을 1/2, 1/4 분주하는 clk_gen.v 를 Verilog 로 기술하고 Quartus II 에서 Symbol clk_gen 을 생성한다.
/////----------------------------------------/////
module clk_gen(
/////----------------------------------------/////
input clk,
input rst_n,
input en,
output reg clk_2,
output reg clk_4
);
/////----------------------------------------/////
always @(posedge clk, negedge rst_n) begin
if (rst_n == 0) begin
clk_2 <= 1'b1;
end
else begin
if (en == 1) begin
clk_2 <= ~clk_2;
end
else begin
clk_2 <= 1'b1;
end
end
end
/////----------------------------------------/////
always @(posedge clk_2, negedge rst_n) begin
if (rst_n == 0) begin
clk_4 <= 1'b1;
end
else begin
if (en == 1) begin
clk_4 <= ~clk_4;
end
else begin
clk_4 <= 1'b1;
end
end
end
endmodule
[Block Diagram]
Schematic 창에서 아래와 같이 Block Diagram 을 구성한다.
[Pin Assign]
Pin Planner 에서 clk → System Clock, rst_n → Push Button, en → Dip Switch, clk_2 → Led, clk_4 → Expansion Port 에 할당한다.
[Test Result]
이를 합성 후 DE2-115 보드에 다운로드하여 출력 결과를 확인한다.
Push Button rst_n 으로 초기화하고,Dip Switch en 로 Enable 하면, Led clk_2 출력을 확인하고, Expansion Port clk_4 를 오실로스코프로 측정하면 12.5 MHz가 출력됨을 알 수 있다. DE2-115 보드 System Clock 은 50 MHz 이므로, 이를 1/4 분주 하면 12.5 MHz 이다.
Altera DE2-115 보드를 이용하여 클럭 분주기를 실습하고 분주한 신호를 GPIO 를 이용하여 외부로 출력하였다.
[참조]
'원s > FPGA' 카테고리의 다른 글
[DE2-115] Lab.2-2: Counter (0) | 2020.05.16 |
---|---|
[DE2-115] Lab.2-1: Counter (0) | 2020.05.16 |
[DE2-115] Lab.1-2: Clock Divider (0) | 2020.04.19 |
[Quartus] Quartus II 10.0 Quick Start (0) | 2020.04.11 |