inflearn logo
강의

講義

知識共有

Verilog FPGA プログラム 1 (Arty A7-35T)

안녕하세요 i2c master 부분에 관련하여 질문있습니다.

解決済みの質問

612

YEONG

投稿した質問数 6

0

reg scl_o;

always @(posedge mclk or negedge reset)

begin

if(~reset) scl_o <= 1'b1;

else scl_o <= s_idle ? 1'b1 :

s_start_runw ? ((srw_cnt1==period2) ? ((srw_cnt2==5'd20) ? 1'b0 : ~srw_cnt2[0]) : scl_o) :

s_runw ? (( rw_cnt1==period2) ? ((rw_cnt2 ==5'd19) ? 1'b0 : rw_cnt2[0]) : scl_o) :

s_stop_runw ? ((prw_cnt1==period2) ? ((prw_cnt2==5'd19) ? 1'b0 : ((prw_cnt2>=5'd20)&&(prw_cnt2<=5'd22)) ? 1'b1 : prw_cnt2[0]) : scl_o) :

 

s_start_runw ? ((srw_cnt1==period2) ? ((srw_cnt2==5'd20) ? 1'b0 : ~srw_cnt2[0]) : scl_o) :

s_runw ? (( rw_cnt1==period2) ? ((rw_cnt2 ==5'd19) ? 1'b0 : rw_cnt2[0]) : scl_o) :

이 부분에서 ~srw_cnt2[0] 부분과 rw_cnt2[0]부분을 왜 이렇게 설계하신건지 알수있을까요?

verilog-hdl fpga

回答 1

0

alex

아래 파형 참조하세요.
(파형이 잘 안보이면, 브라우저를 확대해서 보세요)
(1) s_start_runw 전체 파형
(2) s_runw 전체 파형
파형에서 알 수 있듯이, s_start_runw 구간에서는 scl_o : H -> L -> H -> L 로 변하고
s_runw 구간에서는 scl_o : L -> H -> L -> H 로 변하기 때문입니다.

(3) ~ (7) 파형도 참조하세요.
(3) s_start_runw 전체 파형
(4) 첫번째 red line 확대 파형
(5) 두번째 red line 확대 파형
(6) 세번째 red line 확대 파형
(7) 네번째 red line 확대 파형

image

[HDL 32장-2부] 참고 링크 관련

1

36

2

강의 만료일 연장 신청

0

33

2

기초예제 파일 불러오기 문의

0

26

2

Zybo 환경에서 PL RTL UART 보드 검증 방법

0

31

2

Verilog 코딩 스타일

0

119

2

xilinx 권고와 차이

0

248

2

강의자료

0

115

1

open hardware manager에서 보드 인식 못하는 문제

0

345

2

ifelse, 삼항연산자에 대해서 질문 있습니다.

0

425

1

RAM ip를 이용하여 FIFO 기능을 구현할 수도 있나요?

0

327

1

SPI MASTER 질문

0

248

1

SPI master testbench 질문

0

327

1

자사 개발보드 관련

0

357

2

안녕하세요. IP Packaging 관련 질문 있습니다.

0

317

1

안녕하세요. verilog 활용 관련 문의드립니다.

0

342

1

안녕하세요 fpga_intro_v16 192p에 질문있습니다!

0

336

1

안녕하세요 SLVAE 컨트롤러에 대한 질문이 있습니다

0

371

1

안녕하세요 I2C Register 모듈에 대해서 질문이있습니다.

0

416

1

SPI에서 Master 내의 miso 값 update 과정에서 질문있습니다.

1

878

1

SPI Master 부분 질문입니다.

1

612

3

I2C Master 모듈관련 질문입니다.

0

1182

1

memory configuration

0

841

1

UART, SPI구현

0

657

1

SPI와 I2C의 차이

2

1981

1