전체 글 100

2024.6.28[Verilog]⑨ 스톱워치 만들기 기능추가+응용

2024.6.28 수업날오늘은 어제 만들었던 스톱워치에 기능을 추가하고, 응용하는 법에 대해 알아본다.기능을 추가한 스톱워치를 만들기 전에 어제 만들었던 loadalbe_watch_top_btn 소스코드를 살펴보고 회로도를 그려보자.소스코드를 만들어도 어떤 모듈의 출력값이 다른 모듈의 입력값으로 받는지, 어느 플립플롭과 mux를 쓰는지 알아야한다.회로도를 먼저 그려서 각 모듈의 입력값과 출력값이 어떤지 이해하고 소스코드를 만드는 것이 일반적인 순서이다.loadable_watch_top_btn 소스코드//////////////////////////// 카운터 시계 만들기--> 보드에서 테스트 할 때 쓰는 모듈// 하강에지 에서는 set을 watch 에 로드, 상승에지에는 watch를 set에 로드, 오류가..

2024.6.27 [Verilog]⑧ - 스톱워치 만들기

2024.6.27 수업날오늘은 어제에 이어서 Basys3 모듈의 fnd에 스톱워치 기능이 나타나도록 소스코드를 작성해본다. 스톱워치를 만들기 위해 여태 배웠던 회로들 중에서 어떻게 구성해야하는지 회로도를 그려보자.먼저 시스템 클록 입력을 10ns로 하여 100주기 입력에 넣고,  그 출력값인 1us를 1000주기 입력값에 넣고,그 출력값인 1ms를 1000주기 입력값에 넣어 1s가 되게 만든다.그리고 60초 카운터에 그 입력을 넣고 Fnd 컨트롤러에 입력값으로 넣으면 Basys3 보드에 출력이 될 것이다. 정말 간단하게 스톱워치 시간 카운터, fnd 컨트롤러만 가지고 회로도를 그리면 될 것 같지만, 사실 이는 비동기 카운터와 형식이 매우 유사하다.비동기 카운터는 각각 다른 클록 입력을 받기 때문에, pd..