본문 바로가기
임베디드시스템/FPGA

[FPGA] 4bit_counter 출력값 7-segment LED에 표시

by KHJ_940803 2021. 11. 6.

목표 : 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]

동작 동영상

https://youtu.be/oZcXsr91-Pc

 

'임베디드시스템 > FPGA' 카테고리의 다른 글

[FPGA] 세탁기 프로젝트 V2  (1) 2021.12.13
[FPGA] mux4b 설계  (0) 2021.11.06

댓글