Newbie dự án trên một FPGA?


11

Tôi còn hai tuần nữa để hoàn thành khóa học thiết kế logic kỹ thuật số đại học đầu tiên của mình và dường như sẽ không có một dự án cuối cùng - chỉ là một kỳ thi cuối cùng tẻ nhạt.

Vì vậy, như bất kỳ sinh viên tò mò nào sẽ làm, tôi đã xem xét các GPU thực sự là gì và tôi đang được cho ăn gì trong lớp. Và tôi đã quyết định hoàn thành một dự án đơn giản. Tôi đang sử dụng một Basys2 Spartan-3E, và tôi quen với logic kỹ thuật số và sử dụng ISE để đẩy các cổng logic xung quanh, nhưng tôi không biết VHDL / Verilog (Tôi chắc chắn rằng tôi có thể dễ dàng lấy nó).

Có ai có bất kỳ ý tưởng dự án cho người mới bắt đầu? Tôi đã thực hiện rất nhiều cuộc biểu tình trong phòng thí nghiệm, nhưng không có gì quá lạ mắt.


Danh sách mong muốn: Hiển thị video 1080p, ... những gì tôi nói dừng lại ở đó :-)
Russell McMahon

1
Kiểm tra trang web fpga4fun.com .
armf

3
Coi chừng fpga4fun.com dev-board. Tài liệu của họ là tào lao, và họ từ chối phát hành sơ đồ dev-board .
Sói Connor

Câu trả lời:


5

Tôi đã tìm thấy "Nguyên mẫu tạo mẫu của FPGA Chu của Ví dụ: Phiên bản Xilinx Spartan-3" là một cuốn sách rất hữu ích. Nó có nghĩa là cho một bảng Spartan-3 khác với bảng bạn đã đề cập, nhưng vẫn sẽ hữu ích.

Ngoài ra còn có phiên bản VHDL nếu bạn muốn đi theo con đường đó


4

Bạn có VGA trên đó bởi vẻ ngoài của nó. Video luôn làm cho hứng thú với trải nghiệm của tôi :)

Đây là một kế hoạch bạn có thể muốn thử (không yêu cầu bộ đệm khung):

  1. Hiển thị màn hình VGA màu tinh khiết
  2. hiển thị một phai ngang từ màu đen sang màu rắn
  3. Bây giờ mờ dần theo chiều dọc từ đen sang đỏ và theo chiều ngang từ đen sang xanh 3a. (tạo một nền tảng được chỉ định theo thuật toán thú vị hơn mà bạn có thể kết xuất trong thời gian thực)
  4. tạo một công cụ sprite đơn giản sẽ che phủ một hình dạng nhỏ tùy ý tại một vị trí tùy ý - bạn có thể sử dụng 1 BRAM cho dữ liệu sprite
  5. hiển thị một vài họa tiết khác nhau (mỗi loại 1 BRAM)
  6. tạo một số logic cập nhật để làm cho các họa tiết nảy xung quanh (và tắt lẫn nhau) - thêm phát hiện va chạm vào logic sprite.
  7. tạo một sprite "mái chèo" mà bạn có thể điều khiển bằng các công tắc, sử dụng nó để ngăn chặn các sprite đi ra khỏi màn hình
  8. Thêm một số cơ chế tính điểm

Tôi nghĩ rằng tất cả nên phù hợp với 250E. (Đồng hồ VGA chậm về mặt thuật ngữ, vì vậy bạn có thể nhân lên gấp 4-8 lần với DCM, điều này sẽ cho phép một động cơ sprite ghép kênh trên nhiều hơn một thể hiện sprite)


3

Khóa học trực tuyến miễn phí này được viết bởi Hamster là tuyệt vời và được viết với Basys 2Nexys 2 trong tâm trí.

Cá nhân tôi đã sử dụng Basys 2 và học được một loạt từ khóa học này. Nó đi qua tất cả các khía cạnh của bảng Basys và rất nhiều khái niệm để có được hầu hết các dự án ngoài khóa học được thực hiện.


2

Như mọi thứ khác, hãy bắt đầu với một dự án hello world , trong trường hợp này - nháy đèn LED - và biến thời gian của nó chỉ để giải trí.

Để làm điều đó, bạn sẽ cần học cách xây dựng bộ đếm trong Verilog / VHDL. Đó là một khởi đầu tốt để tìm hiểu sự phức tạp của HDL bởi vì bạn sẽ học cách:

  1. Suy ra các hoạt động phần cứng - sử dụng mã RTL thay vì mã mức cổng. Bạn sẽ tìm hiểu cách thiết kế bộ đếm lên / xuống có thể tải trước, có thể đặt lại với mã RTL.
  2. Tìm hiểu cách thực hiện thiết kế đồng bộ - đó là điều mà hầu hết các GPU đều tốt cho dù sao và là cơ bản của hầu hết tất cả các thiết kế hệ thống kỹ thuật số.
  3. Tìm hiểu cách giao tiếp với thế giới bên ngoài - sử dụng I / O của FPGA. Điều này sẽ dạy cho bạn cách cấu hình và thực hiện mọi thứ trên một đồ họa.

Khi đã xong, đi đến opencores và bắt đầu hack tại các dự án lớn hơn. Bạn sẽ tìm thấy rất nhiều dự án thú vị khác của một số thành viên của chúng tôi ở đây, bao gồm cả các dự án của bạn thực sự. :)


1

Martin gợi ý bạn có khả năng VGA.

Điều gì về một "khung ảnh" phong nha cho phép kiểm soát ảnh tốt hơn bất kỳ thứ gì thường có sẵn.

  • Hầu hết xử lý các thư mục con kém.

  • Không ai cho phép đặt hàng hiển thị ngẫu nhiên - đó là một lợi thế rất lớn khi bạn có số lượng ảnh lớn.

  • Khả năng tạo một trình chiếu dựa trên các bức ảnh được chọn một phần thưởng. (Xem Irfanview để biết ví dụ).

  • Thêm điểm - thêm khả năng chơi MP3. Âm nhạc xen kẽ với hình ảnh.

  • Lưu trữ dữ liệu SD Flash.

  • USB?

  • 802.11? (quá nhiều để hy vọng.)



0

Cuốn sách của Hamblen et al có đầy đủ các dự án thú vị cho các bảng Altera Cyclone DE1 và DE2; Mã VHDL được cung cấp. Thực hiện một số trong số chúng trên bảng Spartan-3E của bạn.


0

Một trong những điều đầu tiên cần làm là chỉ cần tải xuống (từ nhà cung cấp hoặc trang web đam mê) và xây dựng dự án khung xương nối đầu vào với đầu ra - điều này có thể cực kỳ khó chịu để làm việc cho đến khi bạn có một số kinh nghiệm.

Sau đó, bạn có thể bắt đầu đưa logic vào giữa các máy trạng thái cho các ví dụ giả định như bạn đã có trong lớp hoặc các máy phức tạp hơn như các trình tạo video mà những người khác đang khuyến nghị. Các khối phức tạp hơn như bộ xử lý DIY đơn giản, v.v ...


0

Khi tôi tham gia khóa học VHDL của mình, tôi đã tạo ra một bộ vi xử lý với ALU với một vài hướng dẫn, giao tiếp bộ nhớ và trình tự sắp xếp vi mô. Phải mất nhiều thời gian hơn bạn nghĩ sẽ mất, đặc biệt nếu bạn muốn làm cho nó mạnh mẽ.


Ditto (nó phải là một giảng viên yêu thích). Đó là một thử thách tốt đáng ngạc nhiên và khiến tôi thực sự suy nghĩ về cách các bộ xử lý thực sự hoạt động.
Al Bennett
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.