lab12 를 진행하며 질문이 있습니다!
안녕하세요 맛비님. Lab12 를 강의를 듣고, 혼자서 코드를 수정하며 진행중에 있는데 몇가지 질문이 있습니다! (코드 질문은 아닙니다ㅎㅎ)
해당 lab 의 목적은 AXI4-Lite 인터페이스를 이용해서 레지스터에 접근하고, 레지스터의 내용을 통해 BRAM 에 access 하는 과정으로 알고 있습니다.
그렇다면 설계하신 myip_v1_0_S00_AXI 모듈 외부에서 AXI4-Lite 를 이용해 0x08 혹은 0x0C 레지스터에 접근하고 해당 레지스터의 output 을 이용해 BRAM 으로 접근하는것이 맞는 동작이 아닐까 싶어서요!
AXI4-Lite -> Register -> BRAM 으로 이루어져야 할 것 같은데 현재는 AXI4-Lite ->Register, BRAM 동시접근 형태로 되어 있는 것 같아서 여쭤보고 싶습니다.
(예전에 들었을 때 모듈 외부에서 들어오는 신호들은 F/F 으로 한번 latch 해서 사용하는게 타이밍적으로 안전하다... 라는 말도 들었던 것 같아서 그렇습니다...ㅎㅎ)R 채널의 rresp 는 따로 delay 를 주지는 않으신 것으로 봤는데... 현재 코드상에서는 모두 OKAY 를 주기 때문에 따로 문제될 것 같지는 않지만 delay 를 주는게 맞겠죠...?
R 채널을 통해 Read 를 수행하실 때 0x0C 에 접근하여 BRAM 내부 데이터를 읽어오는 부분 때문에 무조건적으로 rvalid 에 1cycle delay 를 주신 것을 확인하였습니다. 그런데 만약 0x08 번지같이 BRAM 에 access 하지 않는 address 를 읽어온다면 굳이 rvalid 에 1cycle delay 를 줄 필요가 없겠죠? 해당 부분은 BRAM access 하는 address 이거나, 아닌 케이스로 나누어서 따로 rvalid 를 assign 하면 될까요?
답변 1
1
안녕하세요 :)
AXI4-Lite -> Register -> BRAM 으로 이루어져야 할 것 같은데 현재는 AXI4-Lite ->Register, BRAM 동시접근 형태로 되어 있는 것 같아서 여쭤보고 싶습니다.
(예전에 들었을 때 모듈 외부에서 들어오는 신호들은 F/F 으로 한번 latch 해서 사용하는게 타이밍적으로 안전하다... 라는 말도 들었던 것 같아서 그렇습니다...ㅎㅎ)-> 네, 알고계신 방법도 맞아요. 정답은 없습니다. 타이밍적으로 문제가 된다면, F/F 으로 치셔야해요.
위 내용의 답변과 동일한 형태인데.. 정답은 없습니다. 현재 상태가 Timing met 을 잘 하고 있어서요. 문제가 된다면 latching 하시면 되겠습니다.
타이밍 관련해서는 코드를 봐야겠지만, 말씀하신대로 cycle sync 에 문제가 없다면 바꾸셔도 됩니다.
추상적으로 답변을 드렸는데요.
결론은
설계자가 결정하면 됩니다.
(1 cycle 딜레이 되고 area 를 소비해서 Timing met 관점에서 바라볼지 등등을 직접 판단하는 거에요.)
이는 주어진 상황에 따라 다르며,
현 예제의 설계자는 저이기에, 현재 드린 예제는 모두 정상동작하고 문제가 없다 판단됩니다.
재민님이 판단하기에 문제가 되시면 수정하세요. 그것 또한 값진 경험이고 공부입니다.
즐공하세요 :)
UART0, 1 중 선택
1
50
2
datamoverbram모듈질문
1
63
2
vitis 설치엣 alveo kria versal 등 옵션을 끄고 설치를 했습니다.
1
96
2
vitis 설치 관련 질문 있습니다!
1
84
2
FPGA 공식문서 읽는법
1
95
2
보드 추가의 클릭창이 없습니다.
1
70
2
Edit in IP Packager에서 코드 수정 후 IP 수정하면 simulation에서 수정된 코드로 작동이 안됩니다
1
81
2
BRAM의 Read / Write를 다 수행했는지 확인할 때 사용되는 num_cnt / i_num_cnt 관련 질문
1
106
1
Vitis 코드 작성
1
130
2
vivado 및 vitis 리눅스 환경 설치 관련 질문드립니다.
1
289
3
[9장 led 점등 시간 제어 불가]
1
81
2
Platform Invalid 오류
1
145
3
WSL 설치 관련 문의드립니다!!
1
96
2
Vivado 툴, 파일 질문드립니다!
1
150
2
9장 LED 점등 안됨
1
109
3
Edit in IP Packager 이후에
1
82
1
Fpga 로직
1
89
2
pmu-fw is not running
1
126
2
Create Project에 대해서 궁금해요
1
89
2
장치관리자 USB 포트
1
98
2
FPGA 7장 AXI_LITE I/F질문
1
89
1
bram mover에서 합성할때
1
77
2
타이밍 위반 질문
1
78
2
rvalid 초기화
1
66
2





