FPGA에서 초보자 프로젝트?


11

대학 첫 디지털 논리 디자인 과정을 마치는 데 2 ​​주가 걸렸으며 최종 프로젝트가 아닌 지루한 최종 시험이있을 것 같습니다.

그래서 궁금한 학생이라면 누구나 실제로 FPGA가 무엇인지, 수업 중에 숟가락으로 먹이는 것이 무엇인지 조사했습니다. 그리고 간단한 FPGA 프로젝트를 완성하기로 결정했습니다. Basys2 Spartan-3E FPGA를 사용하고 있으며 디지털 로직에 익숙하고 로직 게이트를 푸시하기 위해 ISE를 사용하고 있지만 VHDL / Verilog를 모릅니다 (쉽게 선택할 수 있음).

초보자를위한 프로젝트 아이디어가 있습니까? 실험실 실습을 많이했지만 너무 멋진 것은 아닙니다.


위시리스트 : 1080p 비디오 디스플레이, ... 거기서 멈추는 말 :-)
Russell McMahon

1
fpga4fun.com 사이트를 확인 하십시오.
armf

3
fpga4fun.com 개발 보드에주의하십시오. 그들의 문서는 허물이며 개발 보드 회로도 공개 를 거부 합니다 .
코너 울프

답변:


5

나는 Pong Chu의 "Verilog Examples의 FPGA 프로토 타이핑 : Xilinx Spartan-3 Version"이 매우 유용한 책이라는 것을 알았습니다. 그것은 당신이 언급 한 것과 다른 Spartan-3 보드를위한 것이지만 여전히 도움이되어야합니다.

그 길을 가고 싶다면 VHDL 판도 있습니다.


4

당신은 그것에 의해 VGA를 가지고 있습니다. 비디오는 항상 내 경험에 관심을 갖습니다 :)

시도해 볼 수있는 계획은 다음과 같습니다 (프레임 버퍼 필요 없음).

  1. 순수한 컬러 VGA 화면 표시
  2. 검은 색에서 단색으로 가로 페이드 표시
  3. 이제 검은 색에서 빨간색으로 수직으로, 검은 색에서 녹색으로 수평으로 3a 페이드됩니다. (실시간으로 렌더링 할 수있는 더 흥미로운 알고리즘으로 지정된 배경을 만듭니다)
  4. 임의의 위치에 작은 임의의 모양을 오버레이하는 간단한 스프라이트 엔진을 만듭니다-스프라이트 데이터에 1 BRAM을 사용할 수 있습니다
  5. 몇 가지 다른 스프라이트 표시 (각 BRAM 1 개)
  6. 스프라이트가 바운스되도록 (및 서로 떨어져) 업데이트 로직을 생성합니다. 스프라이트 로직에 충돌 감지 기능을 추가합니다.
  7. 스위치로 제어 할 수있는 "패들"스프라이트를 생성하여 스프라이트가 화면에서 사라지는 것을 중지
  8. 점수 매기기 메커니즘 추가

나는 그것이 250E에 모두 맞아야한다고 생각합니다. (VGA 클럭은 FPGA 측면에서 느리기 때문에 하나의 스프라이트 엔진이 하나 이상의 스프라이트 인스턴스에서 멀티플렉싱 할 수 있도록 DCM과 4-8 배를 곱할 수 있습니다)


3

Hamster가 작성한 이 무료 온라인 과정 은 훌륭하며 Basys 2Nexys 2 를 염두에두고 작성되었습니다.

개인적으로 Basys 2를 사용했고이 과정을 통해 많은 것을 배웠습니다. Basys 보드의 모든 측면과 과정 이외의 대부분의 프로젝트를 수행하기위한 많은 개념을 거칩니다.


2

다른 모든 것들과 마찬가지로 ,이 경우 hello world 프로젝트로 시작하십시오 .이 경우 LED를 깜박이고 재미를 위해 기간을 가변으로 만드십시오.

이를 위해서는 Verilog / VHDL에서 카운터를 구축하는 방법을 배워야합니다. 다음과 같은 방법을 배우기 때문에 HDL의 복잡한 내용을 배우는 것이 좋습니다.

  1. 하드웨어 수준 추론-게이트 레벨 코드 대신 RTL 코드 사용. RTL 코드를 사용하여 사전로드 가능, 재설정 가능 업 / 다운 카운터를 설계하는 방법을 배웁니다.
  2. 동기 설계를 수행하는 방법에 대해 알아보십시오. 대부분의 FPGA가 어쨌거나 거의 모든 디지털 시스템 설계의 기본입니다.
  3. FPGA의 I / O를 사용하여 외부 세계와 인터페이스하는 방법을 알아보십시오. 이것은 FPGA에서 구성하고 구현하는 방법을 알려줍니다.

완료되면 오픈 코어 로 가서 더 큰 프로젝트에서 해킹을 시작하십시오. 여기를 포함하여 일부 회원들이 다른 재미있는 프로젝트를 많이 찾을 수 있습니다. :)


1

Martin은 VGA 기능이 있다고 제안합니다.

일반적으로 사용 가능한 것보다 사진을 더 잘 제어 할 수있는 괜찮은 "사진 프레임"은 어떻습니까?

  • 대부분 하위 디렉토리를 제대로 처리하지 않습니다.

  • 없음에 대해서는 무작위 표시 순서가 허용됩니다. 이는 많은 수의 사진이있을 때 매우 큰 이점입니다.

  • 선택한 사진을 기반으로 슬라이드 쇼를 구성하는 기능 보너스. (예는 Irfanview를 참조하십시오).

  • 추가 포인트-MP3 재생 기능을 추가합니다. 사진과 함께 음악을 인터리브하십시오.

  • SD 플래시 데이터 저장소.

  • USB?

  • 802.11? (너무 많이 기대하고 있습니다.)



0

Hamblen et al의 은 Altera Cyclone DE1 및 DE2 보드에 대한 흥미로운 프로젝트로 가득합니다. VHDL 코드가 제공됩니다. Spartan-3E 보드에서 일부를 구현하십시오.


0

가장 먼저해야 할 일 중 하나는 공급 업체 나 열광적 인 사이트에서 다운로드하여 입력을 출력에 연결하는 기본 프로젝트를 만드는 것입니다. 경험이있을 때까지 작업하기가 매우 어려울 수 있습니다.

그런 다음 수업 중에 생각했던 예제 또는 다른 사람들이 권장하는 비디오 생성기와 같은 복잡한 예제를 위해 상태 머신 사이에 로직을 시작할 수 있습니다. 간단한 DIY 프로세서 등과 같은 더 복잡한 블록


0

VHDL 과정을 수강 할 때 몇 가지 지침, 메모리 통신 및 마이크로 명령 시퀀서가있는 ALU가있는 마이크로 프로세서를 만들었습니다. 특히 견고하게 만들려면 예상보다 시간이 오래 걸립니다.


Ditto (강사 좋아하는 것이어야 함). 놀랍게도 좋은 도전이었고 프로세서가 실제로 어떻게 작동하는지 실제로 생각하게 만들었습니다.
Al Bennett
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.