Skip to content
DevBJ
Go back

WaveDrom으로 clock과 bus timing diagram 그리기

Updated:
Editor

WaveDrom Editor에 signal 이름과 wave 문자열을 넣으면 clock과 bus timing diagram을 만들 수 있다. 각 문자는 한 period를 나타내며 .은 직전 상태를 한 period 연장한다.

clock과 bus 예제

{
  signal: [
    { name: "clk",  wave: "p......." },
    { name: "req",  wave: "0.1..0.." },
    { name: "data", wave: "x.==.x..", data: ["A5", "5A"] },
    { name: "ack",  wave: "1...0.1." }
  ]
}

WaveDrom tutorial의 WaveJSON 형식이다. p는 clock waveform, 0과 1은 low/high, x는 unknown, =는 multi-bit data cell을 나타낸다. data 항목은 bus cell에 표시할 label이다.

그리는 순서

  1. WaveDrom Editor를 연다.
  2. 기본 예제를 붙여 넣고 신호 이름과 wave string을 바꾼다.
  3. 각 signal의 wave 길이가 같은 시간 범위를 표현하는지 확인한다.
  4. data label, group, edge annotation을 필요한 경우에만 추가한다.
  5. 렌더링 결과를 protocol timing과 대조한 뒤 이미지로 내보낸다.

WaveDrom 그림은 입력한 timing을 시각화할 뿐, RTL simulation 결과를 자동으로 검증하지 않는다. 실제 waveform과 spec timing을 기준으로 transition과 sampling edge를 확인한다.

공식 자료

원문 기록

한 줄 요약

WaveDrom은 신호 timing을 텍스트로 도식화하는 도구이며, 그려진 diagram은 실제 simulation과 protocol 기준으로 다시 확인해야 한다.


Share this post on:

Previous Post
Verilog testbench를 시작할 때 HDL과 cocotb 중 고르는 기준
Next Post
SystemVerilog 배열을 flat bus로 묶고 byte slice 선택하기