목표 : Zybo Z7-20에 있는 스위치를 움직여 CLOK으로 사용하고 CLOCK이 칠때마다 증가하는 HEX 0~F 사이의 숫자를 7-segment LED에 표시해라
개발 툴 : Vivado 2020.2
개발 보드 : Zybo Z7-20
개발 기간 : 2021년 9월 3일
소스코드
cnt4v2.v
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer: KHJ
//
// Create Date: 2021/09/03 16:09:01
// Design Name:
// Module Name: cnt4v2
// Project Name:
// Target Devices:
//////////////////////////////////////////////////////////////////////////////////
module cnt4v2(
input rst,
input clk,
output reg [3:0] qout,
output [6:0] segd
);
always @(negedge rst or posedge clk)
if (rst ==0) qout <=0;
else qout <= qout +1; // CLOCK 이 칠때 마다 숫자가 증가한다.
assign segd = (qout == 4'h0)?(7'b1000000):(qout == 4'h1)?(7'b1111001):(qout == 4'h2)?(7'b0100100):(qout == 4'h3)?(7'b0110000):(qout == 4'h4)?(7'b0011001):(qout == 4'h5)?(7'b0010010):(qout == 4'h6)?(7'b0000010):(qout == 4'h7)?(7'b1111000):(qout == 4'h8)?(7'b0000000):(qout == 4'h9)?(7'b0010000):(qout == 4'ha)?(7'b0100000):(qout == 4'hb)?(7'b0000011):(qout == 4'hc)?(7'b0100111):(qout == 4'hd)?(7'b0100001):(qout == 4'he)?(7'b0000110):(7'b0001110);
endmodule
cnt4v2.xdc
set_property -dict {IOSTANDARD LVCMOS33 PACKAGE_PIN T16} [get_ports rst]
set_property -dict {IOSTANDARD LVCMOS33 PACKAGE_PIN Y16} [get_ports clk]
set_property -dict {IOSTANDARD LVCMOS33 PACKAGE_PIN D18} [get_ports qout[3]]
set_property -dict {IOSTANDARD LVCMOS33 PACKAGE_PIN G14} [get_ports qout[2]]
set_property -dict {IOSTANDARD LVCMOS33 PACKAGE_PIN M15} [get_ports qout[1]]
set_property -dict {IOSTANDARD LVCMOS33 PACKAGE_PIN M14} [get_ports qout[0]]
set_property -dict {IOSTANDARD LVCMOS33 PACKAGE_PIN V8} [get_ports segd[6]]
set_property -dict {IOSTANDARD LVCMOS33 PACKAGE_PIN W8} [get_ports segd[5]]
set_property -dict {IOSTANDARD LVCMOS33 PACKAGE_PIN U7} [get_ports segd[4]]
set_property -dict {IOSTANDARD LVCMOS33 PACKAGE_PIN V7} [get_ports segd[3]]
set_property -dict {IOSTANDARD LVCMOS33 PACKAGE_PIN Y7} [get_ports segd[2]]
set_property -dict {IOSTANDARD LVCMOS33 PACKAGE_PIN Y6} [get_ports segd[1]]
set_property -dict {IOSTANDARD LVCMOS33 PACKAGE_PIN V6} [get_ports segd[0]]
set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets clk_IBUF]
동작 동영상
'임베디드시스템 > FPGA' 카테고리의 다른 글
[FPGA] 세탁기 프로젝트 V2 (1) | 2021.12.13 |
---|---|
[FPGA] mux4b 설계 (0) | 2021.11.06 |
댓글