2013-10-04 7 views
1

저는 Zedboard를 처음 사용하고 있으며 현재 일반 FPGA 보드에서 작업하고있는 복잡한 하드웨어 가속기를 전송하기 위해 노력하고 있습니다. 어쨌든 저는 실행할 수 있기 전에 걸어서 가고 싶습니다. Zedboard 스피드 웨이 튜토리얼을 끝내고 작은 프로젝트를 가지고 놀고 있습니다. 처음 어떤의 간단한 가산 촉진제 인 다음 PL (프로그래머블 로직)에Zynq SoC의 간단한 덧셈기 제어 신호 - Zedboard

보내기 - 2 참조하면, A 및 B를 등록하는

-THE PL은 행 번호를

-an 인터럽트 추가 PS (CPU)는 계산이 완료되었음을 알립니다. 의 PS는 I 3 개 레지스터를 사용하고,이 디자인 레지 C

에서 결과를 판독하여 ISR에서 말했듯

은 (a, b를, c) 상기 AXI 인터커넥트에, I는 CIP를 사용하여 IP 템플릿을 만들었다.

기본적으로 가장 좋은 방법은 PL에 추가 할 수 있도록 제어 신호를 보내는 것입니다. 그렇다면 PL adder에게 내가 reg a와 b에 두 개의 숫자를 적재하고 이제 그들을 더하고 싶다는 신호를 어떻게 보내야합니까?

- 1 비트 신호 GPIO 인터커넥트를 만들려면 4 번째 1 비트 제어 레지스터를 IP에 추가해야합니까? 아니면 BUS2IPdata 신호를 사용하여이 작업을 수행하는보다 세련된 방법이 있습니까?

또는 거기에 PL 제어 신호를 사용자 지정 PS로 만드는 또 다른 방법이 있습니까?

많은 감사 샘

현재 아이디어 :

BUS2IPWrCE에 따라 user_logic HDL의 스위치 - 빌드, 이것은 등록 BI에 쓰기를 주장한다 그렇게되면 다음은 에이블 신호를 신호 할 수 내 가산기? 아니면 데이터가 곧바로 완전히 작성되지 않는 일부 동시성 문제가 발생합니까?

+1

실행하기 전에 걷기 : 첫 번째 단계로 GPIO를 사용합니다. 그것은 몇 가지 스위치, 레지스터 및 표시 등 (디스플레이?) 잘 처리 할게요. 나중에 하드웨어를 추가로 사용하지 않아도되는 경우 자체 AXI 주변 장치를 개발하거나 GPIO 드라이버가 너무 느립니다. –

답변

0

CIP를 사용하여 AXI perph를 만든 다음 used_logic과 두 개의 새 포트 en 및 interrupt를 수정했습니다. 이 지침에 따라이 외부 연결을 사용했습니다. http://www.programmableplanet.com/author.asp?section_id=2142&doc_id=264841

그런 다음 두 개의 외부 연결을 GPIO 인터페이스에 연결하여 필요한 기능을 제공했습니다.

+1

링크가 더 이상 작동하지 않습니다. – eactor

0

큰 디자인의 경우 GPIO를 사용하여 가속기 일정을 제어하기가 어렵습니다. 필자는 소프트웨어와 하드웨어간에 명령 블록의 FIFO를 설정하는 것이 좋습니다.

예를 들어 주변 장치가 소프트웨어에서 명령을 수신하고 AXI 스트림 마스터를 통해 AXI Stream 슬레이브를 구현하여 결과 표시를 다시 소프트웨어로 보낼 수 있습니다.

응답 FIFO에 값이 있음을 나타내는 인터럽트를 지정할 수 있습니다.

성능을 높이려면 DRAM에 이러한 FIFO를 설정하고 주변 장치에 AXI 읽기/쓰기 마스터를 사용하십시오.