Timig관련 질문있습니다.
601
작성한 질문수 2
*댓글 먼저봐주시면 감사하겠습니다! 댓글 내용이 이해된다면 게시글 질문도 이해가 될 것 같습니다!
<Data mover BRAM 220번째 라인>
assign we_b1 = r_core_delay[CORE_DELAY-1];여기서 we_b1이 켜지고 (r_core_delay == 1f)
한 사이클 후에
<DPBRAM 55번째 라인>
always @(posedge clk)
begin
if (ce0) begin
if (we0)
ram[addr0] <= d0;
else
q0 <= ram[addr0];
end
endBRAM1에 0이 write돼야되는거아닌가요?
어떻게 we_b1이 켜짐과 동시에 write되는지 이해가 잘 가지 않습니다ㅠㅠㅠ 기본기가 부족해서 그런걸까요..

답변 4
1
추가로 d0_b1에 (r_core_data[0]에 addr 0번지는 뛰어넘고 1번지 data부터 저장되기 때문에) 1번지 data(1)부터 write하는걸로 이해했는데 맞나요?
추가로 제가 이해한 flow는 다음과 같습니다.
(화살표는 다음사이클로 넘어감을 의미)
r_valid = 1
-> r_core_delay = 00001 ( r_core_data block 조건 충족 (시작) )
-> r_core_data[0] = mem_data[1번지]
(0번지에는 reset data write)
1
안녕하세요 :)
추가로 d0_b1에 (r_core_data[0]에 addr 0번지는 뛰어넘고 1번지 data부터 저장되기 때문에) 1번지 data(1)부터 write하는걸로 이해했는데 맞나요?
아닙니다. 0 번지부터 1씩 증가하면서 write 합니다. 즉, 1 번지 부터 write 하는 것이 아닙니다.

위 코드를 보시면,
addr_cnt_write 의 초기 값은 0입니다.
그리고, 157 번째 line 의 o_write && we_b1 일때 counting 이 증가하죠.
0 -> 1 -> 2 -> ...
write 0 시점에, we_b1 까지 같이 확인해보시면 될 것 같아요.
다음 waveform 의 노란색 signal 부분 및 timing 참고 부탁드려요.

0
우선 코드 이해도가 높지못해 질문을 모호하게 드린거같아 죄송합니다. 제가 write, read 동작 구분을 제대로 못해 질문에 혼선이 생겼던거같습니다. 다음과 같은 이유로 16장에서 코드를 수정하신게 맞으신지 궁금합니다!
// first one
always @(posedge clk or negedge reset_n) begin
if(!reset_n) begin
r_core_data[0] <= {DWIDTH{1'b0}};
end else if(|r_core_delay) begin
r_core_data[0] <= mem_data; //(2번 조건)
end
endr_core_delay 신호가 들어가면 2번조건이 실행돼 BRAM0번에 값을 read해 r_core_data에 저장 후 5사이클 delay된 후 그 값이 BRAM1에 write됩니다.
근데 읽어오는 과정(위에 코드)에서 저렇게 |r_core_delay 조건이 붙게되면 시작시 BRAM0 0번지가 아닌 1번지에 값을 읽어오며 시작됩니다.(write 0 시점에는 BRAM 0번지에 reset값이 들어감(ex. reset값이 5엿다면 5, 1, 2, 3 ... 순으로 write된다.)
UART0, 1 중 선택
1
58
2
datamoverbram모듈질문
1
66
2
vitis 설치엣 alveo kria versal 등 옵션을 끄고 설치를 했습니다.
1
101
2
vitis 설치 관련 질문 있습니다!
1
87
2
FPGA 공식문서 읽는법
1
99
2
보드 추가의 클릭창이 없습니다.
1
72
2
Edit in IP Packager에서 코드 수정 후 IP 수정하면 simulation에서 수정된 코드로 작동이 안됩니다
1
83
2
BRAM의 Read / Write를 다 수행했는지 확인할 때 사용되는 num_cnt / i_num_cnt 관련 질문
1
108
1
Vitis 코드 작성
1
130
2
vivado 및 vitis 리눅스 환경 설치 관련 질문드립니다.
1
295
3
[9장 led 점등 시간 제어 불가]
1
83
2
Platform Invalid 오류
1
153
3
WSL 설치 관련 문의드립니다!!
1
98
2
Vivado 툴, 파일 질문드립니다!
1
157
2
9장 LED 점등 안됨
1
113
3
Edit in IP Packager 이후에
1
88
1
Fpga 로직
1
92
2
pmu-fw is not running
1
128
2
Create Project에 대해서 궁금해요
1
91
2
장치관리자 USB 포트
1
102
2
FPGA 7장 AXI_LITE I/F질문
1
91
1
bram mover에서 합성할때
1
80
2
타이밍 위반 질문
1
81
2
rvalid 초기화
1
68
2





