
Verilog HDL를 주제로 한 열여섯번째 포스팅은 Digital Calendar 디바이스 최종 데모영상을 첨부하겠습니다. 달력 모듈 : 달력의 날짜 카운트가 시계모듈의 캐리 값으로 구동되는것을 확인할수 있습니다. 디데이 : 디데이 계산 어플과 비교하여 확인 요일 : 네이버 달력의 요일과 셋팅한 날짜의 요일을 비교하여 확인 시계 : am/pm의 전환과 클럭을 올려 시간을 빨리 돌렸을때 시계의 캐리값이 날짜모듈의 클럭으로 적용됨을 확인

Verilog HDL를 주제로 한 열다섯번째 포스팅은 Digital Calendar 디바이스의 설계 전에 다루었던 시계 모듈을 추가한 최종 Final Top module의 회로도와 시계 모듈의 회로도를 첨부하겠습니다. 시계 모듈의 경우 이전 포스팅에서 다루었던 am/pm모드와 24시계의 노말 모드로의 접근을 위한 토글스위치의 신호를 추가 하였고 am/pm의 계산원리를 추가한 회로도입니다. 탑모듈의 회로도는 와이어의 사용이 너무 많아 일부는 색깔을 통해 구분하였습니다.

Verilog HDL를 주제로 한 열네번째 포스팅은 D-Day module에 대한 계산과정 디테일을 리뷰하고 보완설계를 완성해보겠습니다. 먼저 최종적인 인터페이스는 다음과 같습니다. 최종적으로 세븐세그먼트 6개를 이용하여 D-Day에 대한 count를 표시하였습니다. D-Day module모듈의 설계제안 과정에서는 디먹스를 이용한 타겟 날짜의 셋팅을 고안하였습니다. 그리고 Year_Month_Day 모듈의 아웃풋인 현재 날짜와의 합차연산으로 구한 D-Day값을 세븐세그먼트를 통해 출력하기로 하였습니다. 타겟날짜의 셋팅과정속에서 push버튼을 이용하여 count up을 할수있는 카운터 3개를 어싸인하고, 디먹스를 이용하여 push버튼의 신호를 3개의 카운터에 분배해줄 계획을 세웠습니다. 이과정을 종합한 최..

Verilog HDL를 주제로 한 열세번째 포스팅은 Day calc module에 대한 계산과정 디테일을 리뷰하고 보완설계를 완성해보겠습니다. 먼저 최종적인 인터페이스는 다음과 같습니다. 디바이스의 LED 7개를 사용하여 요일에 대한 정보를 표기할것입니다 좌측에서 부터 일,월,화,수,목,금,토 순입니다. 이번 포스팅에서는 계산과정에대한 디테일 리뷰를 설계도와 부연설명과 함께 진행하겠습니다. 먼저 최종 설계도를 첨부하겠습니다. 원리는 간단합니다 인터넷에 검색조금만하면 0년 1월 1일의 요일값을 알고 있기때문에 7로나눈 나머지값을 요일의 파라미터로 설정할수 있습니다. Ex로 표기된 계산과정을 잘 살펴보겠습니다. 이 모듈은 년,월,일의 값을 인풋으로 받아 들입니다. 이를 date, month, year라 칭하..

Verilog HDL를 주제로 한 열두번째 포스팅에부터는 제안설계때의 문제점을 보완하고 설계의 완성도를높여가며 프로젝트를 진행하겠습니다. 이번 포스팅에서 완성할 계획인 모듈은 날짜의 카운팅을 담당하는 Year Mon Day module입니다. 먼저 설계제안의 과정까지를 리뷰 하겠습니다. 제안설계 때의 회로도를 먼저 살펴 보겠습니다. 설계제안 과정에는 윤년에 따른 2월 말일에 대한 카운팅과 날짜의 셋팅과정에 대한 내용이 부실하였습니다. 이번 포스팅에서는 날짜 셋팅을 위한 입력키의 분배에 대한 내용을 세심하게 다룰것 입니다. 그리고 윤년에 따른 2월의 다른 말일을 카운팅하는 설계 또한 보완하여 프로그래밍 과정에서 오류가 없는 모듈을 완성해 보겠습니다. 먼저 기존의 문제들과 개선되거나 추가되었으면 하는 부분들..

Verilog HDL를 주제로 한 열한번째 포스팅에서는 Mux, Demux 모듈을 다루어 보겠습니다. 다음의 그림에서는 Top모듈에서 mux와 Demux를 붉은 영역으로 표시해두었습니다. 먼저 Mux에 대해 다루어 보겠습니다. 먹스는 여러개의 인풋신호중에 몇몇개의 신호만 clk에 따라 아웃풋신호로 나오는 모듈입니다. 만약 세븐세그먼트가 두개라고 가정해보겠습니다. 그런데 만약 2개의 7-세그먼트보다 많은 양의 신호를 가지고 있을때는 어떻게 할까요 시계의 경우 시와 분이 있는데 7-세그먼트 2개로는 둘을 표현하지 못하지요 이럴때 사용하는 것이 Mux입니다. 먹스를 사용하여 clk를 기준으로 0일때는 두개의 세븐시그먼트에 시를 표시하고 1일때는 분을 표시한다면 제한된 갯수의 7세그먼트를 이용하더라도 시와 분을..

Verilog HDL를 주제로 한 열번째 포스팅에서는 요일계산모듈에 이어 D-Day 계산 모듈을 다루어 보겠습니다 지난 포스팅의 탑모듈의 회로도를 살펴보면, 중앙 하단에 Dday_calc라 정의해둔 모듈이 바로 D-Day계산 모듈입니다. 아래의 회로도는 D-Day계산 모듈의 내부 회로도 입니다. Dday_calc모듈은 크게 두가지의 인풋과 한가지의 아웃풋이 필요합니다. 인풋 : 현재날짜, Dday로 설정할 날짜 아웃풋 : 현재날짜로부터 Dday로 설정한 날짜까지의 차일 이런식으로 구성될것같습니다. 그렇다면 먼저 인풋을 다루어보겠습니다. 현재날짜의 경우 날짜 카운팅 모듈인 Year Mon Day모듈의 아웃풋을 취하면 되겠지만 Dday로 설정할 날짜는 어떻게 받아들여야 할까... 고민을 많이 해보았습니다. ..

Verilog HDL를 주제로 한 아홉번째 포스팅에서는 년,월,일을 카운팅하는 Year-Month-Day counter모듈에 이어 디지털 달력의 요일계산 모듈을 다루어 보겠습니다. 먼저 탑모듈의 회로도를 살펴보겠습니다. 우측 상단에 Day_calc라 정의해둔 모듈이 바로 요일계산 모듈입니다. Day_calc모듈에서는 년,월,일의 값을 각값마다 분리하여 이진코드로 인풋을 취합니다. 만약 98년 10월 22일 이라면 98,10,22 이렇게 3개의 신호가 인풋으로 설정되는겁니다. 그리고 아웃풋으로 7개의 LED를 이용하여 요일을 표시하게됩니다. 예시는 다음과 같습니다. 일 월 화 수 목 금 토 ■ □ □ □ □ □ □ 일 월 화 수 목 금 토 □ ■ □ □ □ □ □ 일 월 화 수 목 금 토 □ □ ■ □ □..