- RTL 설계 직무 면접 가이드 시즌 2: Reset, FIFO, Formal, STA
2026-11-02 / 시즌 1에서 다룬 주제에 이어 reset 해제, 동기식과 비동기식 FIFO, formal property, STA 제약 조건을 설계 판단 중심으로 정리합니다.
- W5100, W5500 계열 HW TCP/IP 칩과 개발 자료
2026-11-02 / Hardwired TCP/IP(TOE)의 구조와 설계상 장단점, W5100 계열과 W5300, W6100의 차이, 공개 개발 자료 및 검증 관점을 소개합니다.
- RTL 설계 직무 면접 가이드 시즌 1: STA, CDC, AXI, 저전력
2026-11-02 / STA 타이밍 클로저, CDC, AXI 파이프라이닝, 합성 코딩과 저전력 설계를 기초 개념부터 실무 관점까지 정리합니다.
- UVM sequence와 driver 사이에서 response를 주고받는 방법
2026-10-20 / UVM sequence의 body task에서 요청을 보내고 driver의 item_done(response)로 읽기 결과를 돌려받는 기본 흐름입니다.
- Emacs Verilog mode AUTO_TEMPLATE로 입력 tie-off하기
2026-10-20 / Verilog mode AUTO_TEMPLATE에서 SystemVerilog '0로 입력을 tie-off하고 미사용 출력은 구분된 net에 연결합니다.
- Verilog와 SystemVerilog filelist를 find로 만드는 방법
2026-10-20 / find로 HDL 파일을 모아 정렬하고, shell 옵션으로 선택한 filelist를 도구에 전달하는 기본 패턴입니다.
- Tcl 명령을 여러 줄로 나눠 작성하는 방법
2026-10-20 / Tcl에서 백슬래시 줄 연결과 중괄호로 묶은 script body의 차이를 구분해 여러 줄 명령을 작성합니다.
- Tcl 리스트에서 여러 값을 안전하게 제외하는 방법
2026-10-20 / 제외할 값 목록을 순회하며 원본 Tcl 리스트의 일치 항목을 빼고 나머지 순서와 중복을 유지합니다.
- 비동기 reset은 왜 해제할 때 동기화해야 할까
2026-10-20 / 비동기 reset은 즉시 assert하고 각 clock domain에서 deassert를 동기화해 reset recovery/removal 문제를 줄입니다.
- SystemVerilog에서 rising edge를 한 clock pulse로 만들기
2026-10-20 / 동기화된 level 신호의 이전 값을 저장해 rising edge에 한 cycle 동안 유지되는 pulse를 만드는 방법입니다.
- AXI4 burst에서 AxSIZE와 AxLEN 계산하기
2026-10-19 / AxSIZE는 beat당 byte 수의 log2, AxLEN은 beat 수 minus one이며 bus width와 4KB boundary 제약도 확인해야 합니다.
- SystemVerilog package를 공유할 때 compile order 확인하기
2026-10-19 / SystemVerilog package에 공통 type과 상수를 정의하고, scoped import와 compile order를 관리하는 기본 예제입니다.
- Verilog 곱셈 연산자 *는 FPGA에서 어떻게 합성될까
2026-10-19 / Verilog의 * 연산자는 합성 가능하지만 DSP 사용 여부와 결과 폭은 operand, FPGA 자원과 synthesis 설정을 확인해야 합니다.
- SystemVerilog 배열을 flat bus로 묶고 byte slice 선택하기
2026-10-19 / 배열 원소를 고정 폭 flat bus에 매핑하고 indexed part-select의 +: 문법으로 byte 단위 slice를 선택합니다.
- Verilog parameter는 named override로 지정하고 defparam은 피하기
2026-10-19 / 재사용 모듈의 폭과 설정값은 parameter로 노출하고, 인스턴스에서는 이름이 있는 parameter override를 사용하는 기준입니다.
- Verilog 숫자 literal과 signed vector의 폭 확인하기
2026-10-19 / Sized literal, signed 선언, 부호 확장과 잘림을 확인해 Verilog 산술에서 의도한 값과 폭을 유지하는 방법입니다.
- Verilog case 문에서 default와 latch를 함께 확인하는 방법
2026-10-19 / Verilog case와 if-else의 선택 기준, 조합 블록의 기본 할당, default branch로 latch를 피하는 방법을 정리합니다.
- WaveDrom으로 clock과 bus timing diagram 그리기
2026-10-19 / WaveDrom Editor에서 WaveJSON으로 clock, control, bus 값을 표현하고 diagram을 확인하는 짧은 예제입니다.
- Verilog testbench를 시작할 때 HDL과 cocotb 중 고르는 기준
2026-10-19 / 간단한 HDL testbench와 Python cocotb 중 선택하는 기준, 현재 cocotb 2.x의 기본 test 구성과 검증 순서를 정리합니다.
- Vivado FPGA 내부 RAM 구성과 COE 초기화 방법
2026-10-19 / Vivado에서 추론형 RAM, XPM_MEMORY_SPRAM, Block Memory Generator의 역할을 구분하고 COE 초기값을 적용하는 방법입니다.
- Vivado FIFO Generator에서 8-bit, 1024-depth FIFO 설정하기
2026-10-19 / Vivado FIFO Generator에서 데이터 폭과 깊이, reset, status 옵션을 확인하고 8-bit × 1024-entry FIFO를 구성하는 기준입니다.
- 코아시아넥셀 RTL 설계 직무 조사와 면접 준비 노트
2026-10-14 / 코아시아넥셀 채용 정보를 확인할 때 살펴볼 항목과 RTL 설계 직무 면접 준비 주제를 정리합니다.
- Vivado에서 MCS 파일을 SPIx4로 만드는 방법
2026-07-22 / Vivado 7 Series 설계에서 CONFIG_MODE, SPI_BUSWIDTH, CONFIGRATE를 설정하고 write_cfgmem으로 SPIx4 MCS 파일을 만드는 방법입니다.
- Windows에서 Nexys A7 UART를 Tera Term으로 확인하는 방법
2026-07-22 / Nexys A7의 USB-UART를 Windows COM 포트와 Tera Term에 연결하고 baud rate와 8N1 설정을 맞추는 순서를 정리합니다.
- Vivado에서 Nexys A7 bitstream을 생성하고 FPGA에 올리는 방법
2026-07-22 / Vivado Generate Bitstream부터 Hardware Manager의 Auto Connect와 Program Device까지 Nexys A7 FPGA를 programming하는 순서를 정리합니다.
- Windows에 AMD Vivado를 설치하는 방법
2026-07-20 / AMD 공식 다운로드 페이지에서 Windows용 Vivado installer를 받고 필요한 FPGA device family만 선택해 설치하는 순서를 정리합니다.
- Vivado에서 Nexys A7 핀을 XDC로 할당하는 방법
2026-07-20 / Vivado 프로젝트에 XDC constraint 파일을 만들고 Nexys A7의 PACKAGE_PIN, IOSTANDARD, clock을 할당하는 순서를 정리합니다.
- Verilog blocking과 non-blocking은 언제 나눠 써야 하나
2026-07-14 / Verilog 조합회로에는 blocking 할당을, clock 기반 순차회로에는 non-blocking 할당을 사용하는 이유와 주의점을 정리합니다.