inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

no19999님의 게시글

no19999 no19999

@no199992698

수강평 작성수
1
평균평점
5.0

게시글 5

질문&답변

Timig관련 질문있습니다.

아 16강에 F/F이된다는 말씀을 이제야 이해했습니다ㅠㅠㅠㅠ감사합니다 해결했습니다!

좋아요수
2
댓글수
4
조회수
620

질문&답변

Timig관련 질문있습니다.

우선 코드 이해도가 높지못해 질문을 모호하게 드린거같아 죄송합니다. 제가 write, read 동작 구분을 제대로 못해 질문에 혼선이 생겼던거같습니다. 다음과 같은 이유로 16장에서 코드를 수정하신게 맞으신지 궁금합니다! // first one always @(posedge clk or negedge reset_n) begin if(!reset_n) begin r_core_data[0] r_core_delay 신호가 들어가면 2번조건이 실행돼 BRAM0번에 값을 read해 r_core_data에 저장 후 5사이클 delay된 후 그 값이 BRAM1에 write됩니다. 근데 읽어오는 과정(위에 코드)에서 저렇게 |r_core_delay 조건이 붙게되면 시작시 BRAM0 0번지가 아닌 1번지에 값을 읽어오며 시작됩니다.(write 0 시점에는 BRAM 0번지에 reset값이 들어감(ex. reset값이 5엿다면 5, 1, 2, 3 ... 순으로 write된다.)

좋아요수
2
댓글수
4
조회수
620

질문&답변

Timig관련 질문있습니다.

이제야 16강을 보는중인데 해결될것같습니다! 감사합니다ㅎㅎㅎ

좋아요수
2
댓글수
4
조회수
620

질문&답변

Timig관련 질문있습니다.

추가로 d0_b1에 (r_core_data[0]에 addr 0번지는 뛰어넘고 1번지 data부터 저장되기 때문에) 1번지 data(1)부터 write하는걸로 이해했는데 맞나요? 추가로 제가 이해한 flow는 다음과 같습니다. (화살표는 다음사이클로 넘어감을 의미) r_valid = 1 -> r_core_delay = 00001 ( r_core_data block 조건 충족 (시작) ) -> r_core_data[0] = mem_data[1번지] (0번지에는 reset data write)

좋아요수
2
댓글수
4
조회수
620