본문 바로가기

# Semiconductor/- Semicon Academy103

[Harman 세미콘 아카데미] 61일차 - Verilog(PWM을 활용한 Servo Motor의 각도 제어) [Multi Function Clock PT] 오전에는 이틀동안 진행했던 다기능 시계 프로젝트에 대한 PT를 진행하였다. 짧은 기간이었음에도 불구하고 모든 팀들이 완성도 높은 시계를 구현하였고 중간 중간에 놀라움과 즐거움을 주는 팀들도 있었다. 요즘 기업에서 PT 면접을 많이 진행한다 하는데, 미리 맛볼 수 있는 좋은 기회가 되었고 교수님께서도 자주 진행하신다 하시니, 다음 번에는 좀 더 높은 퀄리티를 목표로 달려봐야겠다. [취업 설명회 - OneSemicon] One Semicon이라는 기업에서 취업 설명회를 개최하였다. 상무님(CFO)께서 직접 설명회를 진행하셨고 비메모리 반도체 생태계의 전반적인 상황, 대표이사님이 왜 RCD를 사업 아이템으로 시작했는지, 그리고 회사의 비젼 및 사내 분위기, 직무 .. 2023. 9. 20.
[Harman 세미콘 아카데미] 59~61일차 - Verilog(PWM 활용, 다기능 시계 구현 프로젝트) [PWM 활용] 📌 LED 밝기 제어 PWM 주기를 조절하여 LED 점멸 속도를 제어하고, Duty cycle을 조절하여 LED 밝기를 제어하는 코드를 작성해보도록 하자, 📌 Code clk_freqx100 신호에 따라서 nedge가 발생하고, nedge에 맞춰서 cnt_duty가 증가한다. module PWM_100( input clk, rstp, input [6:0] duty, // 듀티비 설정 변수 input [13:0] pwm_freq, // parameter 대신 여기에 선언해도 된다. 10,000Hz 쓸 거니까 14bit output reg pwm_100pc // pc : % -> 하나당 센티(1/100)이라는 뜻 ); parameter sys_clk_freq = 125_000_000; // .. 2023. 9. 18.
[Harman 세미콘 아카데미] 58일차 - Verilog(PWM 코드 및 시뮬레이션) [PWM] 📌 PWM 기초 클락의 펄스를 예로 들어 보자. module clock_usec( input clk, rst, input enable, output clk_usec ); // 125개 카운트하면 1us reg [6:0] cnt_8nsec; wire cp_usec; // cp : clock pulse always @(posedge clk, posedge rst) begin if(rst) cnt_8nsec = 0; // reset이 들어오면 cnt = 0 else if(cnt_8nsec >= 124) cnt_8nsec = 0; // 0부터 124번까지 카운트하면 다시 0으로 else cnt_8nsec = cnt_8nsec + 1; end assign cp_usec = cnt_8nsec < 63 ?.. 2023. 9. 15.
[Harman 세미콘 아카데미] 58일차 - Verilog(Ultrasonic : 오류 수정, FSM 없이 구현, Testbench) [오류 수정] 동작 중에 echo wire를 뺴버리면, 동작이 중단되고 pedge를 기다리는 상태에 갇혀서 못 빠져나온다. 따라서 이러한 에러가 발생했을 경우에 에러 처리를 하는 코드를 추가해보자. S_WAIT_PEDGE : begin LED_bar[2] 2023. 9. 15.