본문 바로가기
나의 전자 공부방/SOC

2. AXI4_Lite Verilog 설계 [완료]

by 나만의생각 2023. 7. 20.

AXI의 write Address와 writeData를 클럭에 맞춰서 정확한 타이밍에 주는게 어려웠던 것 같습니다. 정확한 타이밍을 주기위해서 현재상태를 나타내는 구간, 현재상태에서 값을 주는 구간을 나누어서 만들었습니다. 이 과정에서 Master와 slave를 Axi_Master, Axi_Slaver다른 모듈로 만들었는데  이 두 다른 모듈의 서로의 타이밍을 정확하게 맞추는것이 어려웠습니다.

RTL합성을 완료한후 FPGA검증을 위해 Synthsis를 해보았을때 multiple drive가 나와 RTL합성에서 AW_curstate 부분의 값들의 신호들이 다른 AR부분에 들어가있는것을 보아 수정하였습니다.

이 AXI설계를 통해 시뮬레이션을 꼼꼼하게 정확한 타이밍에 내가 원하는 결과가 도출되게 검증하고, 합성을 할때 critical warnning의 multiple drive을 없애는 것을 배웠습니다.

 

데이터 시트를 참고하여 AXI를 구성해보았습니다.

AXI_WRITE

 

AXI_READ

AXI WRITE의 시뮬레이션입니다. 

 

 

 

AXI_WriteChannel부분

 

 

AXI_READ채널부분

 

 

Write한값이 동일한주소에 Read Data로 나온것으로보아 성공적으로 만들었다고 알수있습니다.

 

아래영상은 FPGA보드를 통한 검증을 진행하였습니다.

 

 

 

다음내용은 다음에.

'나의 전자 공부방 > SOC' 카테고리의 다른 글

1. [SOC] AXI 4 LITE를 설계해보기  (0) 2023.07.18