작성
·
328
1
=================
현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)
강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)
이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)
개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..
글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)
서로 예의를 지키며 존중하는 문화를 만들어가요.
질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )
먼저 유사한 질문이 있었는지 검색해보세요.
잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
==================시뮬레이션을 돌리고 clock diagram을 보고 공부를 하다보니 의문점이 생겨 질문드립니다..!
테스트벤치에서 처음 입력을 넣어줄 때, 즉 130ns일 때, i_valid와 i_value를 동시에 넣어주는 것으로 이해를 했습니다. i_valid는 바로 130ns에서 입력이 1로 나오는데 i_value는 10ns 후인 140ns부터 입력이 들어가더라구요.. 왜 이렇게 되는지 혹시 강의에서 잠깐 언급하신 delay와 관련이 있는 것인지 궁금합니다
i_valid와 i_value를 넣어주면 3개의 flip_flop이 있으므로 입력이 들어간 후 한 cycle, 두 cycle, 그리고 3cycle이 시작될 때 출력으로 나온다고 강의에서 이해했습니다. 여기서는 한 cycle이 10ns입니다. 그러면 i_valid와 o_valid를 보았을 때, 130ns에서 i_valid가 들어가면 세 번째 cycle이 시작되는 150ns에서 o_valid가 나오기 시작할 것이라 생각했는데 155ns부터 출력이 나오는데 혹시 왜 이런 것일까요??
답변 1
0
안녕하세요 :)
130 ns 에서 값이 있습니다. "0"
130 ns -> 0
140 ns -> 1
150 ns -> 2
...
현재 설계한 로직이, Clock 의 positive edge 를 기준으로 동작하기 때문입니다.
DUT 내의 always@(posedge clk) 를 확인하시면 됩니다.
rising edge 가 5ns 지점에서 clock 이 gen 되어있네요.
즐공하세요 :)