본문 바로가기

전체 글315

[FPGA] FPGA, ASIC, SoC의 차이점 [개념] 📌 FPGA : Field Programmable Gate Array 프로그래밍 가능한 반도체로, 사용자가 회로를 프로그래밍하여 재구성할 수 있으며, 주로 프로토타이핑과 가속화용으로 사용된다. 📌 ASIC : Application Specific Integrated Circuit 특정 응용 프로그램에 특화된 반도체로, 고유한 기능을 위해 설계되며 생산 비용과 소요 시간이 크지만 요청한 기능에 최적화된 성능을 제공한다. 📌 SoC : System On Chip 하나의 집적회로(IC)에 모든 시스템 구성 요소를 통합하는 기술로 다양한 IP를 포함하여 시스템을 단일 칩으로 구현하며 모바일 디바이스 및 임베디드 시스템에서 주로 사용된다. cf) IP란? : Intellectural Property 재사.. 2023. 9. 23.
[Harman 세미콘 아카데미] 63~65일차 - Verilog(Project : Portable Fan) [현재 상황을 코드로 표현하면?] while(1) { Project; } 계속되는 프로젝트로 인해 몸과 정신이 피폐해지고 있지만, 그래도 매번 성장함을 몸소 체험할 수 있어 좋다. 좋은 건가? 아무튼 좋다. 행복하다. [Project] 📌 Project Summary Project name : Portable Fan 구현 Mission i) 바람 세기 조절 기능 ii) 1시간, 3시간, 5시간 타이머 기능 iii) 3단 밝기 조절 가능한 LED 무드등 iv) 이외 추가 기능 최소 1가지 구현 프로젝트 기간 및 팀원 기간 : 3 Days 팀원 : 3명 2023. 9. 23.
[Harman 세미콘 아카데미] 62일차 - Verilog(Servo Motor, DC Motor, ADC) [Servo Motor] 📌 -90˚~90˚까지 순차적으로 구동 module Servo_Motor_Top( input clk, rstp, output servo, output [3:0] com, output [7:0] seg_7 ); reg [21:0] clk_div; // 너무 빨리 동작하면 안 되니까, 분주기 생성하여 적용 always @(posedge clk) clk_div = clk_div + 1; wire clk_div_21_ne; edge_detector_p edg(.clk(clk), .cp_in(clk_div[21]), .rst(rstp), .n_edge(clk_div_21_ne)); // Edge Detector reg [9:0] duty; reg down_up; parameter UP =.. 2023. 9. 21.
[FPGA] Hardware Design의 이해, RTL과 FPGA란? [RTL] 📌 RTL이란? FPGA를 알아보기에 앞서, RTL에 대해 먼저 알아보도록 하자. RTL은 Register Transfer Level의 약어로, 레지스터와 로직 회로를 이용하여 Synchronous 디지털 회로를 설계하는 레벨을 의미하며, 위 그림과 같이 Flip-Flop을 이용한 레지스터와 Gate 등의 로직회로로 구성된 디자인을 RTL이라 한다. RTL 디자인은 디지털 회로를 레지스터 및 데이터 전달 단위로 추상화하는 방법이고 RTL 수준에서 디자인하면 회로를 간단하게 기술할 수 있으며, 고수준 설계에서 하드웨어로 변환하기 위한 중간 단계로 사용된다. 📌 RTL의 주요 요소들 1. 레지스터 : 레지스터는 데이터를 저장하는 디지털 메모리 요소이며, 데이터가 레지스터에 저장되고 다른 레지스터로.. 2023. 9. 20.
신개념 컴퓨터 아키텍쳐, CXL이란? [CXL에 대해서] 📌 CXL이란? CXL이란, Compute Express Link의 약자로, 오픈형 메모리 인터커넥트 표준이며 고성틍 컴퓨팅 시스템과 디바이스 간에 데이터 및 명령어를 전송하는데 사용되는 고속 시리얼 버스 프로토콜이다. CXL은 다양한 컴퓨팅 및 데이터 센터 어플리케이션에 사용되며, 주로 메모리와 가속화 장치 간의 연결에 적합하다. 주 목적은 호스트 프로세서와 CXL 디바이스 간에 저 지연 고대역폭 메모리 접근 환경을 구성하는 것에 있으며, 최근 데이터센터에서는 빅데이터 및 머신러닝 등에서 발생하는 고집적 워크로드의 연산을 보조하기 위해 인프라 내에 GPU나 FPGA와 같은 가속기의 도입을 확대하는 경향을 보이고 있고, 지금까지 DDR1 - DDR2 - DDR3 - DDR4 - DDR.. 2023. 9. 20.
[Harman 세미콘 아카데미] 61일차 - Verilog(PWM을 활용한 Servo Motor의 각도 제어) [Multi Function Clock PT] 오전에는 이틀동안 진행했던 다기능 시계 프로젝트에 대한 PT를 진행하였다. 짧은 기간이었음에도 불구하고 모든 팀들이 완성도 높은 시계를 구현하였고 중간 중간에 놀라움과 즐거움을 주는 팀들도 있었다. 요즘 기업에서 PT 면접을 많이 진행한다 하는데, 미리 맛볼 수 있는 좋은 기회가 되었고 교수님께서도 자주 진행하신다 하시니, 다음 번에는 좀 더 높은 퀄리티를 목표로 달려봐야겠다. [취업 설명회 - OneSemicon] One Semicon이라는 기업에서 취업 설명회를 개최하였다. 상무님(CFO)께서 직접 설명회를 진행하셨고 비메모리 반도체 생태계의 전반적인 상황, 대표이사님이 왜 RCD를 사업 아이템으로 시작했는지, 그리고 회사의 비젼 및 사내 분위기, 직무 .. 2023. 9. 20.
[Linux] 기본 개념 및 특징, 간단한 사용법 - 리눅스 생태계 생존 가이드 Part.1 [Linux] 📌 리눅스란? 우리가 사용하는 컴퓨터는 크게 하드웨어와 소프트웨어로 나뉜다. 하드웨어는 사용자가 실제로 만지는 마우스, 키보드와 같은 기기들이고, 사용자는 하드웨어에 연산(compute)을 시키기 위해 명령을 내리는데, 이때 사용하는 명령어들의 집합이 '프로그램'이고 이러한 프로그램들을 총칭하는 것이 소프트웨어이다. 이 중 소프트웨어는 시스템 소프트웨어와 응용 소프트웨어(모든 프로그램을 지칭)으로 나뉘고, 여기서 운영체제는 시스템 소프트웨어에 속하며 컴퓨터 시스템의 효율적인 관리를 담당한다. 우리가 앞으로 알아볼 '리눅스(Linux)'가 바로 이러한 운영체제 중 하나이다. 간단하게 설명하면, 리눅스는 컴퓨터 운영체제(OS) 중 하나로, 다양한 컴퓨터 하드웨어에서 작동하는 오픈 소스 운영체제.. 2023. 9. 19.
[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.