인프런 커뮤니티 질문&답변

설계독학맛비님의 프로필 이미지
설계독학맛비

작성한 질문수

설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)

r_valid 관련 질문드립니다. (14장 Pipeline)

해결된 질문

작성

·

255

1

열심히 달았는데, 지우셔서 남겨둡니다 :)

 

안녕하세요.

제공 해 주신 power_of_8.v에서 r_value 신호를 이용하여 뭔가 체크하는 것이 없는 것 같습니다.

그럼 power_of_8 module의 output인 o_valid 신호를 다른 module에서 input으로 받아 o_power_of_8 신호의 데이터가 valid한지를 판단하기 위해서 사용하는 것인가요?

=================================

안녕하세요 :)

r_value ? 라는 신호가 있었나요..? (검색하니까 없는데, r_valid 를 의미하는 거다 생각하고 답변드리겠습니다.)

현재 예제에서는,

Throughtput 이 1 cycle 에 매번 Data 가 출력되도록 pipeline 되어 있습니다. 

즉 input valid 의 파형을, output valid 가 그대로 따라가도록 되어 있다는 이야기 이고,

r_valid 를 사용하지 않아도 ouput valid 에 맞춰서 Data 를 출력할 수 있는 모듈이 되겠습니다. 다만 o_power_of_8 신호가 유효한 시점의 Sync 를 맞춰줄 필요는 있습니다.

그래서 r_valid 를 사용했습니다.

추가로 더 적자면, =========================

실제로 해당 모듈의 앞뒤로 Blackbox 모듈이 붙는다면, "Ready / Valid handshake" (이거는 FPGA 6,7,8 장? AXI 할때 나오는데) I/F 를 사용합니다.

이때는 r_valid 를 사용해서 설계할 것 같습니다. 

질문과는 관련이 없을 수 있지만 handshake 를 사용하는 이유에 대해 적어드리자면,

Blackbox 모듈은 말그대로 설계자가 알지 못하는 모듈이 설계모듈 앞 뒤에 사용되는 겁니다. 그 말은 언제 Data 를 주고 받을 수 있는지 모르구요. 이 모호성을 해소하기 위해서 handshake I/F 를 사용합니다. 구글링해서 공부해보세요.

=========================

그럼 power_of_8 module의 output인 o_valid 신호를 다른 module에서 input으로 받아 o_power_of_8 신호의 데이터가 valid한지를 판단하기 위해서 사용하는 것인가요?

네,  power_of_8 모듈의 출력을 입력으로 사용하는 뒤의 모듈에게, 유효한(valid) Data 의 timing (시점) 을 알려주기 위해서 사용합니다.

즐공하세요 :)

답변 1

1

무플방지!

설계독학맛비님의 프로필 이미지
설계독학맛비

작성한 질문수

질문하기