답변:
나의 "hello world"FPGA 프로젝트는 PWM 및 직렬 스트림 입력을 갖춘 LED 어레이 컨트롤러였습니다. 최종 결과는 좋았지 만 ( http://lbw.axe-man.org/led1.wmv ) Altera Quartus Schematic Editor로 VHDL 부분이 어떻게 묘사되었는지 확인했습니다.
프로그래밍에 관심이있는 것 같아 간단한 마이크로 프로세서를 만들 수 있습니다.
opencores.org를 확인하고 흥미로운 프로젝트를 찾으십시오. Sigasi HDT를 다운로드하여 VHDL 문법을 빠르게 익힐 수 있습니다 .
나는에서 한스 작업 즐길 hardhack 온 올해 Rekonstrukt의 FPGA를의 기본 synthisizer를 구축하는 프로젝트. LED 프로젝트도 훌륭하지만 FPGA를 스테레오에 연결하는 것과 같은 것은 없다. 이 프로젝트는 지원하는 오픈 코어 프로세서를 기반으로하기 때문에 LED 프로젝트와 같이 처음부터 구축하지 않습니다. 처음에는 프로젝트에 기본적으로 FPGA를로드하는 방법을 배우고 FORTH의 엔벨로프를 사용할 수 있습니다. 그러나 FPGA 내부에 대해 더 배우기 시작하는 곳은 기능을 추가하고 싶을 때입니다. 그런 다음 VHDL을 파야합니다.
내가 즐기는 프로젝트는 FPGA에서 Milton Bradley Simon Game을 구현하는 것이 었습니다.
우리 대학의 EDA 수업은 여러분이 언급 한 것과 같은 게시판을 사용합니다. 구현 된 프로젝트 중 일부는 다음과 같습니다.
그것은 당신에게 몇 가지 아이디어를 줄 수 있습니다.
두 번째로 opencores.org 아이디어와 마이크로 프로세서를 구현하겠습니다. Xilinx FPGA가 있으므로 microblaze 또는 picoblaze로 무언가를 할 수도 있습니다.
편집 : 서식.
나는 얼마 전 xilinx virtex core를위한 vhdl 코드를 작성했다. 알람 시계 구현이었습니다. 이것이 내가 한 일입니다.
헹굼, 반복 1-3. 비트 스트림 생성은 자일링스의 IDE에 모두 통합되어 있다고 지적했다. HDL로 구현하려면 명확한 로직 세트 만 있으면됩니다. 나머지는 IDE에서 수행합니다.
수치 제어 발진기는 재미있을 것입니다. 방금 Arduino 호환 보드 ( http://tinyurl.com/ydmz2su 참조 ) 로 디자인을 했지만 FPGA에 적합합니다.
다음은 몇 가지 디자인 참조입니다.
Snell, John 1988 "실시간으로 최대 256 개의 저 왜곡 사인파를 생성하는 디지털 발진기의 설계"컴퓨터 음악의 기초. 매사추세츠 케임브리지 : MIT Press
Moore, F. Richard 1988 "정현파 디지털 발진기에 대한 테이블 조회 잡음"컴퓨터 음악의 기초. 매사추세츠 케임브리지 : MIT Press
내가하고있는 일은 약간의 CPU를 만드는 것입니다. 모든 기본 사항을 다루는 반올림 방법입니다.
VHDL에서 대규모 프로젝트의 모든 기본 사항을 다루고 VHDL 디자인 (클럭, 입력, 출력, 로직, 버스 및 순차적 디자인)의 모든 핵심 주제뿐만 아니라 많은 핵심 전자 및 컴퓨터에 노출됩니다. 레지스터, 데이터 연산, 메모리 및 컴퓨터 산술과 같은 설계 및 아키텍처 개념.
덧셈과 뺄셈만으로 시작한 다음 학습하면서 더 많은 기능을 추가하여 완전한 기능 (단순하지만 ... 또는 "레트로"라고 부르는) 컴퓨터까지 작동합니다. 적어도 저의 계획입니다.
또한, 칩에 자신 만의 맞춤형 컴퓨터를 설치하는 것은 매우 멋지다 :) 16 비트 라즈베리 파이처럼 : P
다른 일반적인 FPGA 프로젝트 :
음악 신디사이저
-DSP 효과 생성기
-MIDI 컨트롤러 / 인터럽터
비트 코인 광부
비디오 게임 콘솔 에뮬레이터
커스텀 아두 이노 쉴드
-병렬 프로세서 (기존 컴퓨터로는 크지 않은 특정 수학 문제에 매우 유용)
로봇 / 제어 시스템
-데이터 수집 (Op 앰프로 작업하는 방법을 알고 있다면 FPGA를위한 오실로스코프 설계가 거의 없음)
VHDL 자체는 끔찍하게 복잡하지 않습니다. 기억해야 할 가장 중요한 점은 마이크로 컨트롤러 용 프로그램을 작성하지 않고 실제 전자 디지털 회로를 설계하고 있다는 것입니다. 시뮬레이션은 기본적으로 한 줄씩 실행되는 프로그램이 아니므로 C와 피상적 인 유사성을 보지 마십시오. VHDL은 매우 다른 패러다임입니다.