Posts
All the articles I've posted.
- FPGA/ASICUpdated:
Emacs Verilog mode AUTO_TEMPLATE로 입력 tie-off하기
Verilog mode AUTO_TEMPLATE에서 SystemVerilog '0로 입력을 tie-off하고 미사용 출력은 구분된 net에 연결합니다.
- FPGA/ASICUpdated:
Verilog와 SystemVerilog filelist를 find로 만드는 방법
find로 HDL 파일을 모아 정렬하고, shell 옵션으로 선택한 filelist를 도구에 전달하는 기본 패턴입니다.
- FPGA/ASICUpdated:
SystemVerilog에서 rising edge를 한 clock pulse로 만들기
동기화된 level 신호의 이전 값을 저장해 rising edge에 한 cycle 동안 유지되는 pulse를 만드는 방법입니다.
- FPGA/ASICUpdated:
Tcl 명령을 여러 줄로 나눠 작성하는 방법
Tcl에서 백슬래시 줄 연결과 중괄호로 묶은 script body의 차이를 구분해 여러 줄 명령을 작성합니다.
- FPGA/ASICUpdated:
Tcl 리스트에서 여러 값을 안전하게 제외하는 방법
제외할 값 목록을 순회하며 원본 Tcl 리스트의 일치 항목을 빼고 나머지 순서와 중복을 유지합니다.
- FPGA/ASICUpdated:
비동기 reset은 왜 해제할 때 동기화해야 할까
비동기 reset은 즉시 assert하고 각 clock domain에서 deassert를 동기화해 reset recovery/removal 문제를 줄입니다.
- FPGA/ASICUpdated:
AXI4 burst에서 AxSIZE와 AxLEN 계산하기
AxSIZE는 beat당 byte 수의 log2, AxLEN은 beat 수 minus one이며 bus width와 4KB boundary 제약도 확인해야 합니다.
- FPGA/ASICUpdated:
Verilog testbench를 시작할 때 HDL과 cocotb 중 고르는 기준
간단한 HDL testbench와 Python cocotb 중 선택하는 기준, 현재 cocotb 2.x의 기본 test 구성과 검증 순서를 정리합니다.
- FPGA/ASICUpdated:
WaveDrom으로 clock과 bus timing diagram 그리기
WaveDrom Editor에서 WaveJSON으로 clock, control, bus 값을 표현하고 diagram을 확인하는 짧은 예제입니다.
- FPGA/ASICUpdated:
SystemVerilog 배열을 flat bus로 묶고 byte slice 선택하기
배열 원소를 고정 폭 flat bus에 매핑하고 indexed part-select의 +: 문법으로 byte 단위 slice를 선택합니다.