강의

멘토링

커뮤니티

Inflearn Community Q&A

semisgdh's profile image
semisgdh

asked

Design Self-Study Tastebi's Practical Verilog HDL Season 1 (From Clock to Internal Memory)

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

Resolved

Written on

·

295

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 (시점) 을 알려주기 위해서 사용합니다.

즐공하세요 :)

fpga임베디드verilog-hdl

Answer 1

1

semisgdh님의 프로필 이미지
semisgdh
Questioner

무플방지!

semisgdh's profile image
semisgdh

asked

Ask a question