이 영역을 누르면 첫 페이지로 이동
컴퓨터와 수학, 몽상 조금 블로그의 첫 페이지로 이동

컴퓨터와 수학, 몽상 조금

페이지 맨 위로 올라가기

컴퓨터와 수학, 몽상 조금

컴퓨터공학, 딥러닝, 수학 등을 다룹니다.

15. Verilog HDL을 이용한 7-seg display Decoder 구현

  • 2020.05.23 14:02
  • 학부 수업/디지털시스템

Verilog HDL을 이용하여 7-seg Decoder를 구현해보자.

7-seg Display 진리표

방법1: Schematic Entry Implementation

각 Display에 대한 회로를 그대로 코드에 옮겨적는 방법이다.

out6 = /in3*/in2*/in1 + in3*in2*/in1*/in0 + /in3*in2*in1*in0
out5 = /in3*/in2*in0 ...

코드가 굉장히 복잡하고 길어지게 된다.

방법2: Verilog의 게이트 활용

and AND1 (A, nin[3], nin[2], nin[1]);
and AND2 (B, nin[3], in[2], in[1], in[0]);
and AND3 (C, in[3], in[2], nin[1], nin[0]);
or OR1 (out[6], A, B, C);

이 방법 역시 코드가 길고 복잡해진다.

방법3: 진행형 할당 활용

assign out[6] = ~in[3]&~in[2]&~in[1] |
                in[3]&in[2]&in[1]&~in[0] |
                ~in[3]&in[2]&in[1]&in[0];

방법 2와 같은 원리지만, OR, AND 연산자를 활용하여 한층 더 간단해졌다.

module hex_to_7seg (out, in):;
	output [6:0] out;
    input [3:0] in;
    
    assign out[6] = ~~~
    assign out[5] = ~~~
    ~~~
endmodule

방법4: Behavoural Abstraction

이 방법은 Truth Table을 그대로 코드에 매핑하는 방법이다.

reg [6:0] out; //out을 변수화

always @ (in)
	case (in)
    	4'h0: out = 7'b1000000;
        4'h1: out = 7'b1111001;
        4'h2: out = 7'b0100100;
        // 중략
        4'hf: out = 7'b0001110;
    endcase

입력이 4-bit hex이며 각 값에 대해, out을 7-bit binary의 대응하는 값으로 매핑해준다.

'학부 수업 > 디지털시스템' 카테고리의 다른 글

17. Verilog HDL로 순차회로 설계하기 (Sequential Circuit)  (0) 2020.05.23
16. Verilog HDL의 산술 연산과 Incomplete Specification  (0) 2020.05.23
14. 하드웨어 기술 언어와 Verilog HDL(Hardware Description Language: HDL)  (0) 2020.05.22
13. 멀티플렉서와 디멀티플렉서 (Multiplexer and Demultiplexer)  (0) 2020.05.16
12. 인코더 (Encoder)  (0) 2020.05.15

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • 17. Verilog HDL로 순차회로 설계하기 (Sequential Circuit)

    17. Verilog HDL로 순차회로 설계하기 (Sequential Circuit)

    2020.05.23
  • 16. Verilog HDL의 산술 연산과 Incomplete Specification

    16. Verilog HDL의 산술 연산과 Incomplete Specification

    2020.05.23
  • 14. 하드웨어 기술 언어와 Verilog HDL(Hardware Description Language: HDL)

    14. 하드웨어 기술 언어와 Verilog HDL(Hardware Description Language: HDL)

    2020.05.22
  • 13. 멀티플렉서와 디멀티플렉서 (Multiplexer and Demultiplexer)

    13. 멀티플렉서와 디멀티플렉서 (Multiplexer and Demultiplexer)

    2020.05.16
다른 글 더 둘러보기

정보

컴퓨터와 수학, 몽상 조금 블로그의 첫 페이지로 이동

컴퓨터와 수학, 몽상 조금

  • 컴퓨터와 수학, 몽상 조금의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (283)
    • Tech Trend (3)
    • Deep Learning (77)
      • 공부 노트 (21)
      • 논문 리뷰 (44)
      • 논문 스키밍 (1)
      • 영상처리 (11)
    • Engineering (3)
      • Tips (2)
      • Experiences (1)
    • Blog (49)
      • 회고 & 계획 (20)
      • 내 이야기 (9)
      • 리뷰 (4)
      • 군대에 간 공돌이 (10)
      • ML엔지니어 취업 도전기 (1)
      • 여행 (4)
    • 학부 수업 (141)
      • 머신러닝 (16)
      • C프로그래밍 (8)
      • 자료구조 (11)
      • 알고리즘 (17)
      • 디지털시스템 (25)
      • 컴퓨터구조 (11)
      • 확률과 통계 (21)
      • 선형대수학 (14)
      • 이산수학 (18)
      • 데이터시각화 (0)
    • 강의 (9)
      • 딥러닝 기초 (7)
      • Python (2)

공지사항

인기 글

정보

백지오의 컴퓨터와 수학, 몽상 조금

컴퓨터와 수학, 몽상 조금

백지오

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기

나의 외부 링크

  • profile
  • github
  • linkedin

방문자

  • 전체 방문자
  • 오늘
  • 어제
Powered by Tistory / Kakao. © 백지오. Designed by Fraccino.

티스토리툴바