안녕하세요 i2c master 부분에 관련하여 질문있습니다.
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]부분을 왜 이렇게 설계하신건지 알수있을까요?
回答 1
0
아래 파형 참조하세요.
(파형이 잘 안보이면, 브라우저를 확대해서 보세요)
(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 확대 파형

[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

