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

유정님의 프로필 이미지
유정

작성한 질문수

Verilog FPGA Program 1 (Arty A7-35T)

SPI master testbench 질문

작성

·

191

0

안녕하세요! SPI contoller ch.5 소스 코드에서 궁금한 점이 있어 질문 남깁니다.

timing 규격상 sck_index 값이 48일 때 send -> done 로 transition이 일어난다고 알고 있는데요

49까지 count 되는 경우에 delay 문제가 없는지 궁금합니다.

감사합니다.

답변 1

0

alex님의 프로필 이미지
alex
지식공유자

안녕하세요.

sck_index 값은 ss, sck, mosi 신호 생성을 위한 내부 신호입니다.
따라서 sck_index값이 1-clock 동안 잠시 49로 바뀌었다가 다시 0로 바뀌는 것은 전혀 문제가 되지 않습니다.
그러나 주의해야 할 것은 sck_index 값이 1-clock 동안 49로 바뀌는 것으로 인하여 ss, sck, mosi 신호가 잘못된다면 주의해야 합니다. 예를 들어 sck, ss가 1-clock 동안 1로 바뀐다거나(불필요한 신호가 생성됨) 한다면 이는 잘못된 것이기 때문에 그 부분이 발생하지 않도록 처리해 주어야 합니다.

아래는 ss, sck, mosi의 전체 파형을 보여줍니다. 전체 파형은 이상없이 잘 동작하고 있기 때문에 문제가 되지는 않습니다.
(사실 ss 신호가 좀 더 일찍 H->L 로 바뀌거나, 좀 더 늦게 L-H로 바뀐다고 해도 문제가 되지는 않습니다. spi slave에서 신호를 받아서 처리할 때에는 sck보다 높은 주파수(main clock)로 처리하기 때문입니다. 강의에서도 spi master를 구현하는 clock은 100Mhz를 사용합니다)
image

감사합니다 ~!!

유정님의 프로필 이미지
유정

작성한 질문수

질문하기