Tôi nghĩ rằng có thể có một quan niệm sai lầm xung quanh những gì một thực sự là một FPGA và khi nó được sử dụng trong các thiết kế. Vì vậy, hãy để tôi cố gắng giải thích phần đó đầu tiên.
FPGA và khi người ta có thể muốn có một ...
Có nguy cơ đơn giản hóa, một bộ vi xử lý ít hơn một bộ xử lý có thể 'cấu hình lại được'.
Tại sao ai đó muốn có một bộ vi xử lý 'có thể cấu hình lại'? Chà, vì chi phí quá cao để chế tạo bộ xử lý silicon đủ khả năng để làm điều đó cho một, hai hoặc thậm chí hai trăm chip. Bạn cần phải chạy hàng ngàn chip để làm cho nó khả thi về mặt kinh tế.
Vì lần đầu tiên không có thiết kế nào không có lỗi, nên việc đi theo con đường silicon có hiệu quả cam kết với một công ty ít nhất hai lần nếu không chạy thử nghiệm nhiều hơn, tất cả đều có chi phí chế tạo lớn.
Điều đó về cơ bản có nghĩa là rất ít công ty thương mại sẽ quan tâm đến việc thiết kế và đưa vào chế tạo bất cứ thứ gì khác ngoài chip với sức hấp dẫn thương mại đủ rộng.
Vì vậy, nếu bạn đưa ra một thiết kế tuyệt vời để chứng minh cho bộ vi xử lý tùy chỉnh, thì bạn có thể cố gắng đưa ý tưởng của mình vào ngân sách hạn hẹp bằng cách triển khai nó trong một đồ họa, trong đó chip thực tế chỉ là một bộ sưu tập cổng và 'Chương trình' (thường là VHDL hoặc Verilog) sắp xếp các cổng đó thành một bộ vi xử lý thực tế.
Nhưng đó hoàn toàn là một con đường hoàn toàn khác (thiết kế bộ vi xử lý!) ...
Điều đó dẫn tôi đến đề nghị rằng
... Các GPU không cần thiết cho robot - ít nhất là ngay từ đầu
Những gì bạn cần cho robot là một bộ xử lý . Một FPGA chỉ là một loại bộ xử lý đặc biệt (có thể cấu hình lại).
Bạn hỏi liệu bạn 'nên'? Điều đó phụ thuộc vào kiến thức của bạn cũng như sở thích thực sự của bạn nằm ở đâu - thiết kế bộ vi xử lý trước hay robot trước?
Nếu vi xử lý là niềm đam mê của bạn, thì bằng mọi cách! Và robotics là một lĩnh vực ứng dụng tuyệt vời cho các bộ vi xử lý tùy chỉnh - có lẽ là vỏ thị giác với nhiều đường dẫn quyết định song song được xử lý trực tiếp trong phần cứng, hoặc nhân kéo căng đặc biệt trong phần cứng - về cơ bản mọi thứ mà bộ xử lý chung không thể xử lý tốt.
Nhưng nếu bạn đang thiết kế bộ vi xử lý trong các GPU, thì dĩ nhiên bạn sẽ cần phải có tất cả những kiến thức cấp thấp mà bạn đề cập, và hơn thế nữa - vì về cơ bản, bạn sẽ thiết kế bộ xử lý của riêng mình. Điều này thực sự không liên quan gì đến robot, mặc dù ứng dụng mục tiêu của bạn có thể là robot.
Hầu hết các nhà thiết kế có thể tìm thấy một bộ xử lý hiện có sẽ làm hầu hết những gì họ cần.
Vì vậy, tôi nghĩ rằng bạn có thể không cần một đồ họa.
Một lộ trình khởi đầu: từ khả năng thương mại đến (có thể) một ...
Theo tôi, mục tiêu đầu tiên là cố gắng đưa tất cả các khái niệm sáng tạo của bạn được xây dựng thành một robot hoạt động (bản thân nó là một thách thức khá lớn).
Nếu bạn thấy rằng bạn có các tắc nghẽn xử lý cụ thể và đáng kể trong thiết kế của mình, thì mục tiêu tiếp theo là tối ưu hóa việc lựa chọn / thiết kế bộ xử lý của bạn, vẫn là các chip có sẵn trên thị trường. Có thể lớn hơn, nhanh hơn (đánh đổi bằng rút điện, tản nhiệt). Có thể nhỏ hơn, các chip chuyên dụng xử lý các tác vụ cụ thể và giao tiếp với bộ não chính (đánh đổi với các biến chứng thuật toán / logic).
Chỉ khi có các khả năng mà bạn sẽ không thể xử lý chip thương mại, thì bạn mới có thể xem xét triển khai bộ xử lý chuyên dụng bên trong một GPU bởi vì tại thời điểm đó, sẽ có những lợi thế rất rõ ràng mà bạn hy vọng đạt được bằng cách tự lăn ', Và bạn có thể tập trung vào việc thực hiện các khả năng đó, với các giao diện phù hợp với phần còn lại của thiết kế.
Mặt khác, bạn có khả năng bị theo dõi phụ từ mục tiêu chính của mình (mà tôi sẽ giả định là thực sự chế tạo robot!)
Điểm mấu chốt: Các GPU là một sự xao lãng khi bắt đầu chế tạo robot --- cho đến khi bạn hoàn toàn đi theo con đường robot - và đã đạt được một số thành công lớn trong thiết kế bộ vi xử lý / điện tử kỹ thuật số ở đâu đó trên đường đi.