위 사이트에서 Timing Diagram을 편리하게 생성할 수 있다.
처음 접속하여 Editor에 들어가면 아래와 같이 기본 예시를 보여준다.
{signal: [
{name: 'clk', wave: 'p.....|...'},
{name: 'dat', wave: 'x.345x|=.x', data: ['head', 'body', 'tail', 'data']},
{name: 'req', wave: '0.1..0|1.0'},
{},
{name: 'ack', wave: '1.....|01.'}
]}
위 코드를 통해 아래와 같은 Timing Diagram이 생성되는 것을 확인할 수 있다.
WaveDrom의 기본 구성은 아래와 같이 signal로 시작하게 된다.
{signal:[
]}
signal로 감싼 뒤 name, wave, data라는 3개의 필드를 사용한다.
'name'은 단어 그대로 이름을 나타낸다.
'wave'도 마찬가지로 파형을 나타낸다.
- p, n을 통해 상승, 하강 엣지를 나타낸다.
- '.'을 통해 이전 파형을 동일하게 유지한다.
- '숫자'를 통해 Data(뒤에 나올)를 나타낸다.
- '|'를 통해 끊김을 표현한다.
'data'는 필수 요소는 아니지만 특정 다수 Bit를 특정 네이밍할 때 사용한다.
FIFO 설계 Timing Diagram 작성 예시
{signal:[
{name:'wclk', wave:'p.............'},
{name:'rclk', wave:'hlhlhlhlhlhlhl'},
{name:'din', wave:'x.23456789....', data:["01","03","05","07","09","0b","0c","10","11","13","15","17","19"]},
{name:'dout', wave:'2.....3.4.....', data:["00","01","02","03","04"]},
{name:'push', wave:'l.h......l....'},
{name:'pop', wave:'l....h...l....'},
{name:'full', wave:'l.............'},
{name:'empty', wave:'h.l...........' }
]}
위와 같이 이전에 설계한 FIFO에 대한 Timing Diagram을 그릴 수 있다.
Timing Diagram을 그려야 하는 상황에 활용하면 좋을 것 같다.
728x90
'Semiconductor > 0. Digital, Analog, 회로 이론' 카테고리의 다른 글
컴퓨터 구조 및 CPU 동작 원리 (1) - 기본 개념 (0) | 2024.10.14 |
---|---|
AXI4-Lite Interface에 대하여 (+ Template Code) (0) | 2024.09.26 |
AMBA - AXI 이론편 (0) | 2024.09.04 |
AMBA - AMBA 이론편 (0) | 2024.09.04 |
FIFO - Asynchronous, CDC, Metastability, Synchronizer, GrayCounter (2) (0) | 2024.08.22 |