설계독학맛비 YouTube/00 쉬어가기

[설계독학] [쉬어가기 7장] Timing Diagram 을 아름답고 쉽게 만들어봐요. (WaveDrom Tutorial)

반응형

설계독학에서 진행 중인 쉬어가기의 내용입니다.

모든 글의 저작권은 맛있는비빔밥에게 있습니다. ^^

설계독학 유튜브

youtu.be/PGS8xbvBBgQ

 

Intro

안녕하세요. 설계독학의 맛비입니다.

오늘은 쉬어가기 7번째 시간으로 WaveDrom 이란 Tool 을 소개해 드리려고 합니다.
설계독학 영상중에서 이 Tool 을 이용해서 그림을 그린적이 있어요.

verilog HDL 17 장 그림

 

wavedrom 이란 간단한 text 를 기술해서 Timing Diagram 을 그리는 Open, 무료 Tool 입니다.

Timing Diagram 이란. 시간을 x 축에 놓은 상태에서 신호들의 관계를 기술한 도표? 그림입니다.

즉 wavedrom 을 사용하면 문장을 기술해서, 시간에 따른 신호들의 상태를 보여주는 그림을 그릴 수 있다.. 생각하시면 되겠습니다.

 

여러분들이 디지털회로 설계 과제를 할때, 혹은 회사에서 설계한 모듈의 신호의 상태를 보여주고 싶을 때 Timing Diagram 을 그리게 되요.

보통 Timing Diagram 그리라고 하면, 이제 그림판? 같은 좀더 고급지면 visio 를 통해서 그림을 그립니다. 예를 들면 이런식이죠.

Clock 그리고 신호 그리고, 마우스의 현란한 손놀림이 필요합니다.

 

저는 개인적으로 Wavedorm 을 추천드립니다.

처음에는 뭔가 싶은데, 일단 본인의 양식을 갖고 있다면, 쉽고 아름답게 Timing Diagram 을 그리실 수 있어요.

 

오늘 저와함께 이해해서 만들어 볼 그림은 다음과 같습니다.

Simple Timing Diagram

이 그림을 문장으로 기술 하는 방법을 이해해 볼 꺼에요.

잘 따라와 주세요. 그럼 시작하겠습니다.

 

본문

 

먼저 wavedrom 홈페이지에 접속해 보겠습니다.

wavedrom.com/

 

WaveDrom - Digital timing diagram everywhere

 

wavedrom.com

접속하면 상단 메뉴에  Tutorial, Editor, Source, Twitter 를 볼 수 있습니다.

오늘 제가 알려드리는 것 외에 추가적으로 필요하시면 Tutorial 을 보시는 것을 추천 드립니다. 고급 내용들이 있습니다.

 

오늘은 과감하게 Editor 를 누릅니다. Default 로 저같은 경우에는 다음 text 들이 있었어요.

{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.'}
]}

혹시나 여러분들이 저와 같은 화면이 안나올 수 있으니까, 일단은 다 지우고 새로 작성해 보겠습니다.

천천히 살펴볼께요.

 

text 창에 기술하는 rule 은 name, wave, data 순으로 기술합니다. 

그리고 블레이스의 열고 닫음은 쌍을 맞춰주셔야 해요.

 

자 먼저 기본이 되는 Clock 을 그려볼꺼에요. 

이름은 clk 라고 적을께요. 그리고 positive edge 에 동기화 되어 있다를 나타내기 위해 p 를 씁니다.

그리고 쩜쩜쩜을 찍어볼께요 몇개를 찍느냐 에 따라 Clock 의 Cycle 수가 결정이 되요. 참 쉽죠?

그 다음 한 10 cycle 만 할까요? 이렇게 clock 신호를 만들 수 있습니다.

 

그 다음은 1 bit 의 Level 을 표현해 볼꺼에요.

negative reset 을 표현해 볼께요. 

우선 처음 값은 '1' 로 시작을 합니다. 그러다가 중간에 reset 이 걸려요. 

1을 연속으로 찍으면 level 1 의 모양에 꺽쇠로 파이게 되니까, level 을 유지할 때는 . dot 으로 표현해 주세요.

쭉 가다가 0 으로 내려야 겠죠. 그리고 나서 '1' 로 다시 올리구요. 이렇게 그려주시면 됩니다.

 

마지막으로 Data 를 그려볼꺼에요.

1 bit 이면 0,1 만 있어서 앞서 해본 표현 방법으로 충분하죠.

Data 를 사용하면, Multi bit 의 상태를 표현할 수 있어요. 

State 머신을 표현해볼께요. Core 의 기본 상태인 IDLE, RUN, DONE 을 그려보겠습니다.

다음과 같이 그리고, data는 0,1 다음 2,3,4,5, 죠? 그 값을 통해서 그릴 수 있어요.

색이 바뀌는 것을 확인 할 수 있죠. 참 쉽죠?

 

참고로 | (vertical bar) 를 wave 에 기술해 주면, 물결 그림이 생겨요. 중략이죠.

 

이정도 지식만 알면 다음 그림을 그릴 수 있습니다. (댓글에 링크 있어요.)

들어가서 복사 붙여넣기, 끝 이죠.

 

오늘 설명드린 내용으로만 그렸습니다. 좀더 고급스럽게 그리고 싶으시면 Tutorial 을 참고해 주시구요.

 

정리하고 마무리 해볼께요.

wavedrom 이란 text 를 기술해서 Timing Diagram 을 그리는 Open Tool 입니다.

 

도움이 되셨다면 구독 좋아요 눌러주시면 힘이 됩니다.

코로나 조심하시고, 그럼 다음시간에 봬요 :)

반응형