해결된 질문
작성
·
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 (시점) 을 알려주기 위해서 사용합니다.
즐공하세요 :)