Core 개수 늘리는 법
363
작성한 질문수 3
안녕하세요 맛비님 실습관련해서 몇 가지 질문을 드립니다!
- Core 개수를 늘려보고 싶은데 고민 중인 것이 있습니다. Memory I/F는 32bit의 data를 읽어오는데 만약 64bit의 data를 읽어서 4개의 연산을 하고 싶다면 어떻게 해야 할까요? I/F에서 core에 data를 전달해 주기 전에 F/F을 더 추가하고 예를 들면 cnt를 사용해서 clk을 2번을 cnt하면 반전되는 새로운 clk을 만들어서 마지막 F/F을 이 clk에 동기화 시켜 Core에 data를 넣어줘야 할까요?
2. 위의 경우 결과를 BRAM에 다시 write하려면 delay를 넣어줘야 할 것 같은데 이렇게 설계하는 것이 맞는 방식인 건가요?
3. 맛비님은 더 많은 bit를 연산할 때 어떻게 하시나요? (64bit 뿐만 아니라 96bit ... 등)
답변 1
0
안녕하세요 :)
먼저 정답은 없습니다. (방법은 설계자가 판단해야한다는 이야기고, 저라면..? 이렇게 하겠다 로 적겠습니다.)
- Core 개수를 늘려보고 싶은데 고민 중인 것이 있습니다. Memory I/F는 32bit의 data를 읽어오는데 만약 64bit의 data를 읽어서 4개의 연산을 하고 싶다면 어떻게 해야 할까요? I/F에서 core에 data를 전달해 주기 전에 F/F을 더 추가하고 예를 들면 cnt를 사용해서 clk을 2번을 cnt하면 반전되는 새로운 clk을 만들어서 마지막 F/F을 이 clk에 동기화 시켜 Core에 data를 넣어줘야 할까요?
대략 내용을 bit 가 두배 늘었으니, 32bit * 2 cycle 로 64 bit 을 사용하겠다. 이렇게 이해를 했습니다.
위의 이야기는 다음과 같이 확장이 됩니다.
32bit의 width 를 가지는 memory 에서 2 cycle 처리를 해도되고, 아니면 64bit width 의 memory 에서 2 cycle 처리하셔도 됩니다.
64bit width 를 갖는 memory 를 사용하면서 performance 를 64 bit data 에 맞춰주려면, 64 bit data width 를 갖는 I/F 사용이 필요합니다.
현 강의에서는 AXI4-Lite 의 data bit width 가 32 bit 이기 때문에, bit width 가 늘어난 만큼의 performance 향상을 보실 수 없을꺼에요. AXI4 를 공부하셔야합니다.
결론은 위에서 제가 기술한 내용 중 하나를 상황에 맞게 선택하시면 됩니다.
2. 위의 경우 결과를 BRAM에 다시 write하려면 delay를 넣어줘야 할 것 같은데 이렇게 설계하는 것이 맞는 방식인 건가요?
"32bit의 width 를 가지는 memory 에서 2 cycle 처리를 해도되고, 아니면 64bit width 의 memory 에서 2 cycle 처리하셔도 됩니다." 이거라면 결국 delay 가 필요하겠죠?
3. 맛비님은 더 많은 bit를 연산할 때 어떻게 하시나요? (64bit 뿐만 아니라 96bit ... 등)
다음 방법을 선택할 것 같아요. bit width 가 늘어난 만큼의 performance 향상을 위해서,
"64bit width 를 갖는 memory 를 사용하면서 performance 를 64 bit data 에 맞춰주려면, 64 bit data width 를 갖는 I/F 사용이 필요합니다.
현 강의에서는 AXI4-Lite 의 data bit width 가 32 bit 이기 때문에, bit width 가 늘어난 만큼의 performance 향상을 보실 수 없을꺼에요. AXI4 를 공부하셔야합니다."
직접 만들어보시면서 경험을 쌓아보시는 것을 추천드립니다.
즐공하세요 :)
HW가속기 설계에서 더 보완할 수 있는 방법이 있을까요?
1
57
2
UART0, 1 중 선택
1
90
2
datamoverbram모듈질문
1
85
2
vitis 설치엣 alveo kria versal 등 옵션을 끄고 설치를 했습니다.
1
119
2
vitis 설치 관련 질문 있습니다!
1
112
2
FPGA 공식문서 읽는법
1
115
2
보드 추가의 클릭창이 없습니다.
1
85
2
Edit in IP Packager에서 코드 수정 후 IP 수정하면 simulation에서 수정된 코드로 작동이 안됩니다
1
99
2
BRAM의 Read / Write를 다 수행했는지 확인할 때 사용되는 num_cnt / i_num_cnt 관련 질문
1
118
1
Vitis 코드 작성
1
139
2
vivado 및 vitis 리눅스 환경 설치 관련 질문드립니다.
1
319
3
[9장 led 점등 시간 제어 불가]
1
93
2
Platform Invalid 오류
1
167
3
WSL 설치 관련 문의드립니다!!
1
116
2
Vivado 툴, 파일 질문드립니다!
1
180
2
9장 LED 점등 안됨
1
129
3
Edit in IP Packager 이후에
1
98
1
Fpga 로직
1
105
2
pmu-fw is not running
1
148
2
Create Project에 대해서 궁금해요
1
102
2
장치관리자 USB 포트
1
117
2
FPGA 7장 AXI_LITE I/F질문
1
95
1
bram mover에서 합성할때
1
88
2
타이밍 위반 질문
1
88
2





