HDL과 검증
Verilog의 wire형과 reg형의 차이로 올바른 것은?
- Areg는 반드시 플립플롭이 되고, wire는 반드시 조합 회로가 된다
- Bwire는 assign문 등으로 연결되는 배선을 나타내고, reg는 always 블록 안에서 값을 대입하는 신호를 나타내지만, reg가 반드시 플립플롭이 되는 것은 아니다
- Cwire는 숫자를, reg는 문자를 넣기 위한 형이다
정답과 해설 보기
정답: B. wire는 assign문 등으로 연결되는 배선을 나타내고, reg는 always 블록 안에서 값을 대입하는 신호를 나타내지만, reg가 반드시 플립플롭이 되는 것은 아니다
Verilog에서는 assign문이나 module의 출력으로 구동되는 신호는 wire, always 블록 안에서 대입되는 신호는 reg로 선언하는 규칙입니다. reg는 "레지스터"의 약자처럼 보이지만, always @(*) 안에서 대입하면 조합 회로가 되며 플립플롭이 되지 않습니다. 플립플롭이 되는지는 클록 에지에서 값을 갱신하는 방식으로 쓰였는지에 따라 결정됩니다. SystemVerilog에서는 둘 다 logic형으로 쓸 수 있습니다.
- A. reg라는 이름이어도 조합 회로가 되는 경우가 있습니다.
- B. 올바릅니다. reg는 always @(*)에서 조합 회로도 됩니다.
- C. 문자를 위한 형이 아닙니다.