verilog61 [Harman 세미콘 아카데미] 54일차 - Verilog(Digital Watch : time setting, set fix, set mode) [Digital Watch 만들기] 이제까지 만들어놓은 모듈 라이브러리를 활용하여 디지털 시계를 구현해보도록 하자. [Time Setting] 📌 Block Diagram 디지털 시계의 기능 중 하나인, 시간 설정 기능을 구현해보도록 하자. 시작은 00min : 00sec이며, 시간은 back ground에서 계속 흘러가고, 설정은 흘러가는 시간 위에 적용시킬 수 있도록 설계하였다. 📌 Code & Operation Clock Library // usec clock module clock_usec( input clk, reset_p, input enable, output clk_usec ); // 125개 카운트하면 1us reg [6:0] cnt_8nsec; wire cp_usec; // cp : cl.. 2023. 9. 11. [Harman 세미콘 아카데미] 52일차 - Verilog(Cook Timer - Button controller, Time setting, Down counter, Timeout, Alarm) Full Code는 맨 아래에~ [Button controller] 📌 Button controller module 자주 사용하는 기능이니까 모듈로 만들어 버리자. module button_cntr( input clk, reset_p, input btn, output btn_pe, btn_ne ); // DFF를 위한 분주기 reg [16:0] clk_div = 0; // 이렇게 = 0 해놓으면 시뮬레이션에서 자동으로 0으로 초기화된다. // 보드에서 쓸 때는 시스템적으로 0으로 초기화 always @(posedge clk) clk_div = clk_div + 1; // Debounce wire debounced_btn; D_flip_flop_n debnc(.d(btn), .clk(clk_div[16]).. 2023. 9. 7. [Harman 세미콘 아카데미] 51일차 - Verilog(Stop Watch - 오류 검증, Prescaler 간소화, Mission) [오류 발생한 Part 체크] 📌 Simulation을 이용한 방법 테스트벤치를 만들어 오류가 발생한 part를 체크하고 수정할 수 있다. Testbench 관련 내용 [Harman 세미콘 아카데미] 2일차 - 보수체계, Testbench, Delay [개요] 1. 논리 회로 - Combinational Logic (조합 논리 회로) : input이 주어지면, output이 고정된다. output이 다음 output에 영향을 주지 못 함. - Sequential Logic (순차 논리 회로) : 이전 output이 다음 output에 영 rangvest.tistory.com 📌 LED를 이용한 방법 가장 쉽고 간단한 방법이다. 시뮬레이션을 활용하려면, 테스트벤치를 만들고 레지스터 등록하는 등 해줘야할 것.. 2023. 9. 6. [Harman 세미콘 아카데미] 49일차 - Verilog(Stop Watch - Minute, Start/Stop, Lap) [Stop Watch] 📌 Minute count 구현 Minute clock 설계 clk_sec을 60번 카운트하면 1분 // min clock module clock_min( input clk, clk_sec, reset_p, output clk_min ); // 60개 카운트하면 1s reg [5:0] cnt_sec; reg cp_min; // cp : clock pulse always @(posedge clk, posedge reset_p) begin if(reset_p) cnt_sec = 0; // reset이 들어오면 cnt = 0 else if(clk_sec) begin if (cnt_sec >= 29) begin cnt_sec = 0; // 0부터 번까지 카운트하면 다시 0으로 cp_min.. 2023. 9. 4. 이전 1 ··· 8 9 10 11 12 13 14 ··· 16 다음