본문 바로가기

분류 전체보기100

FPGA 란? (구조, 요소들의 기능) FPGA 란? FPGA 구동 설계를 하기 위한 아래 3가지 요소가 있고 Block RAM(일명 BRAM)으로 일컸는 메모리가 있다. 1) Logic Blocks (or CLB) - Flip-flops - LUTs - Multiplexer 2) Programmable interconnect (배선) - 코딩으로 자유롭게 수정/설정 가능 3) I/O Blocks - Physical 방식: ex. 전압 강하, 임피던스 매칭.. - Logical 방식 4) Block RAM 5) CMT (Clock Management Tile) - IP Catalog의 clock wizard를 통해 생성함 - MMCM: Mixed-Mode Clock Manager - PLL: Phase Locked Loop https://ww.. 2021. 4. 11.
[기초 개념] Verilog 파라미터, 상수 총 정리 Verilog는 module로 시작해서 endmodule로 끝난다. Verilog에게 module은 C언어의 function과 유사하다. 포트 신호의 방향 input: 외부에서 모듈로 입력되는 신호의 방향을 의미 output: 모듈 내부에서 외부로 출력되는 신호의 뱡향을 의미 inout: 모듈의 외부와 내부의 양쪽 방향으로 소통이 가능한 신호의 방향을 의미 포트 신호의 타입 Wire (상위 개념이 net): - represent physical connection - 값 전달 위주의 전기적인 연결선의 역할 Reg (상위 개념이 variable): - represent abstract storage element (Register) - 값을 기억하는 소프트웨어의 변수와 유사한 역할 Verilog data.. 2021. 4. 11.
[기초 개념] Verilog, SystemVerilog 란? Verilog 란? - Verilog is not a software language. - Verilog is a Hardware Description Language(HDL). - RTL coding - ASIC or FPGA의 논리 회로를 설계하기 위한 언어. - 논리 회로를 설계하는 것이므로 Timing 속도, 소모 전력 등의 성능 구현하는 것이 주가 됨. SystemVerilog 란? - Testbench(검증용 코드)에 사용되는 언어. - Verilog의 문법보다 좀 더 Software language에 가까움. ASIC 설계에서 중요한 요소 2가지 1) 얼마나 빠른 Timing으로 정확하게 수행하는 가? 2) 얼마나 Low power로 수행하는 가? Running the ASIC develop.. 2021. 4. 11.
[기초 개념] ASIC 반도체 란? - 디지털 로직 개발자가 하는 일 ASIC 비메모리 반도체에 관하여 1) 주문형 반도체 ASIC: - Cell-based 방식 - Simulator: Cadence사의 NC-simulator - 사용 예시: DRAM 설계 2) 산업용 카메라 ASIC: - FPGA 방식 - Simulator: Xilinx사의 Vivado - 사용 예시: 센서 이미지 처리 ASIC 설계 및 생산 흐름 크게 4단계로 이루어진다. 1) Verilog로 설계 (Front-end) 2) 각종 gate, or 등으로 동작 회로 구성 (Front-end) 3) 실제 반도체 칩에 형상화함 (Back-end) 4) Wafer에 공정 Front-end & Back-end 개발자의 설계 부분 총 4단계로, 1) 칩의 동작 방식을 알고리즘으로 구성 2) RTL 코딩으로 R에 .. 2021. 4. 11.
[C++/MFC] String to int/float/double 변환 String ▶ int stoi 사용 std::string strRubber = "Good afternoon"; int nRubber = stoi(strRubber); String ▶ float stof 사용 std::string strRubber = "Good afternoon"; float fRubber = stof(strRubber); String ▶ double stod 사용 std::string strRubber = "Good afternoon"; double dRubber = stod(strRubber); 2021. 4. 10.
[C++/MFC] int to String 변환 int ▶ String to_string 사용 int nRubber = 50; std::string strRubber = to_string(nRubber); 2021. 4. 10.
[C++/MFC] String to CString 변환 String ▶ CString c_str() 사용 std::string stdStr = "String"; CString cStr = stdStr.c_str(); 2021. 4. 10.