verilog wire 와 reg 그리고,, net > 과학기술Q&A

본문 바로가기

verilog wire 와 reg 그리고,, net

페이지 정보

작성일2010-03-22 12:24

본문

제가 verilog 공부를 시작했습니다.

사실 책도 오늘 보기 시작했습니다.

wire 와 reg 구분짓는게 상당히 애매하네요,,, 시작하는 입장이서 그렇지만

경험적으로 공부를 해 나아가다 보면 어느정도 감이 잡히지 않을까 생각하지만..

어떠한 개념으로 잡아나가는게 좋을까요?

wire가 net에 포함되는 개념으로 접근해야 하나요?...

댓글 3

Jason님의 댓글

Jason

  net = input, wire, output
reg = reg, output

데이터 흐름(기억이 가물가물...)
net=>reg(o)
net=>net(o)
reg=>net(x)
ex)input=>wire(o)
    input=>reg(o)
    reg=>output(o)
    wire=>output(o)
    reg=>wire(x)

wire는 FPGA내부에서 모듈끼리 데이터를 주고받는데 사용되고
reg는 wire를 통해 전송된 데이터를 저장하는데 사용됩니다.
wire는 말 그대로 전선이라 데이터를 계속 출력 또는 저장 할 수 없지요
시뮬레이션을 돌려보면 짧은 순간에 데이터를 출력하고 tristate로 돌아가는 것을 볼 수 있습니다.

저도 경험적으로 공부해본거라서 조언이 좀 어색하네요..
Verilog HDL 디지털 설계와 합성의 길잡이 (파란표지) 홍릉출판사.
이 책이 제일나아요.
그리고 로직을 짜서 시뮬레이션을 돌려보고 실습용보드가 있다면 실습해보는게 좋습니다. 전 주로 모터제어용 로직을 짜봐서 SoC를 공부하기 위해 하시는 거라면 조언거리가 없네요;;

어두운날개님의 댓글

어두운날개

  wire랑 net은 같은거고요.

reg는 always나 initial문장 안에서만 assign(즉, 값의 변화)가 가능합니다.
반대로 wire는 always나 initial문장 '밖'에서만 assign(즉, 값의 변화)가 가능합니다.

reg는 그러므로 주로 case나 if문장이랑 주로 같이 다니고, wire는 ?랑 같이 다닙니다.

주로 reg를 레지스터를 합성할때 많이 쓰는데, 이때는 reset/clock 규칙을 잘 따라 줘야 합니다.

문법에서 시작하지말고 그냥 예제 코드를 많이 읽어보세요. 패턴대로 짜야 합성툴이 프로그래머의 의도를 잘 이해하고 그대로 회로를 만들어 줍니다. 문법에는 맞는데, 잘 쓰지 않는 패턴으로 코딩을 하면 시뮬레이션은 되는데 합성은 안되는 경우가 허다가게 많게 됩니다. 

환님의 댓글

  답변달아주신 Jason, 어두운 날개님 감사합니다.

문법보다 예문을 보면서 감을 익히는게 정말 나은것 같습니다 .

과학기술Q&A

SLIDE UP

모바일에서는 읽기만 가능합니다.
PC 버전 보기
© 2002 - 2015 scieng.net