Zynq Training #02 – Creating a simple Axi-Lite accelerator

YouTube-Channel-Art-Template.png


zynq training #02 - 1.PNG
– 이번 강좌에서는 두 개의 숫자를 곱하는 곱셈기를 설계하고, PS와 PL을 AXI4-Lite로 연결한다.
– PL에 위치한 가속기의 첫 번째 레지스터(reg0)에 곱하고자 하는 두 개의 16bit 숫자를 전달하면, 두 번째 레지스터(reg1)에 곱해진 32bit짜리 숫자가 저장된다.
– 실습 내용은 동영상을 보며 따라하는 것이 더 효과적이므로 이에 대한 내용은 생략하고, 중요한 것만 요약함.
– “Tools” 메뉴 아래의 “Create and Package New IP”에서 simpleMultiplier를 만든다. AXI protocol을 지정하면 이에 맞추어 wrapper가 만들어진다. 이렇게 만들어진 wrapper는 아무 기능이 없다. 개발자가 multiplier 코드를 추가하고 wrapper에 적절히 연결해줘야 한다. 내 경우에는 이 단계에서 뭔가 잘 되지 않았다. 추가한 multiplier.v 코드가 ./ip_repo/simpleMultiplier_1.0/hdl/ 아래에 생성되어야 하는데, 여기에 생성되지 않아서 수동으로 넣어주었음. 어쨌든 이렇게 생성한 custom IP는 project에서 갖다쓸 수 있다.

zynq training #02 - 2.PNG
zynq training #02 - 3.PNG
– 강좌에서 simpleMultiplier를 프로그램 개발 단계에서 사용하는 두 가지 방법을 보여준다. generic driver를 사용하는 방식과 simpleMultiplier의 driver를 사용하는 방식을 보여줌. 강좌에서는 두 가지 방식 모두 정확한 값을 보여주는데, 내 경우에는 generic driver는 곱셈의 값이 정확히 나오지만, simpleMultiplier driver의 경우에는 제대로 나오지 않음. 그 원인은 simpleMultiplier driver의 헤더 파일에 simpleMultiplier 주소가 잘못 지정되어 있기 때문이다. block design의 address editor를 열어보면 simpleMultiplier의 시작 주소가 0x43C00000으로 되어 있는데, 헤더 파일에는 0xFFFFFFFF으로 되어있다. 0x43C00000으로 바꿔주면 제대로 동작함.
– IP가 Zynq의 PS와 연결되면 memory mapped 방식으로 통신함. 특정 메모리의 값이 IP의 레지스터들과 매핑됨. 따라서 simpleMultiplier를 사용하기 위해 정해진 메모리 주소에 피연산자를 넣어주면 또다른 미리 정해진 주소에서 연산 결과가 나온다.
– BSP driver setting에서 generic은 이를 generic한 방식으로 구현한 것이고, simpleMultiplier라고 되어 있는 것은 simpleMultiplier specific하게 구현한 것이다. 내부적으로 하는 일은 동일하다고 보면 된다.

Advertisements
Tagged with: , , , , , , , , , , , , , , ,
Posted in FPGA

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Recent Posts
누적 방문자 수
  • 144,076 hits
%d bloggers like this: