안녕하세요 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 확대 파형

Arty A7-35T 구매 불가
0
19
2
git hub 404 error 도움 부탁드립니다.
1
37
2
LT스파이스 라이브러리 다운이 안됩니다.
0
28
2
어떤 방식으로 이 강의를 듣고 공부를 해야 하는지 고민 됩니다.
0
31
2
Verilog 코딩 스타일
0
125
2
xilinx 권고와 차이
0
266
2
강의자료
0
121
1
open hardware manager에서 보드 인식 못하는 문제
0
383
2
ifelse, 삼항연산자에 대해서 질문 있습니다.
0
432
1
RAM ip를 이용하여 FIFO 기능을 구현할 수도 있나요?
0
332
1
SPI MASTER 질문
0
256
1
SPI master testbench 질문
0
337
1
자사 개발보드 관련
0
369
2
안녕하세요. IP Packaging 관련 질문 있습니다.
0
322
1
안녕하세요. verilog 활용 관련 문의드립니다.
0
353
1
안녕하세요 fpga_intro_v16 192p에 질문있습니다!
0
344
1
안녕하세요 SLVAE 컨트롤러에 대한 질문이 있습니다
0
387
1
안녕하세요 I2C Register 모듈에 대해서 질문이있습니다.
0
419
1
SPI에서 Master 내의 miso 값 update 과정에서 질문있습니다.
1
886
1
SPI Master 부분 질문입니다.
1
618
3
I2C Master 모듈관련 질문입니다.
0
1197
1
memory configuration
0
852
1
UART, SPI구현
0
672
1
SPI와 I2C의 차이
2
2019
1





