ฉันคิดว่าอาจมีความเข้าใจผิดเกี่ยวกับสิ่งที่ FPGA เป็นจริงและเมื่อใช้ในการออกแบบ ขอผมอธิบายส่วนนั้นก่อน
FPGA และเมื่อหนึ่งอาจต้องการที่จะมี ...
ที่มีความเสี่ยงจากความเรียบง่าย FPGA นั้นเล็กกว่าตัวประมวลผลที่เป็น 'กำหนดค่าใหม่' เพียงเล็กน้อย
ทำไมบางคนถึงต้องการไมโครโปรเซสเซอร์แบบ 'ตั้งค่าใหม่ได้' ก็เพราะว่ามันมีค่าใช้จ่ายมากเกินไปในการสร้างตัวประมวลผลซิลิกอนเพื่อที่จะทำสำหรับหนึ่งสองหรือสองร้อย คุณต้องใช้ชิปเป็นพัน ๆ ชุดเพื่อให้เป็นไปได้ทางเศรษฐกิจ
เนื่องจากไม่มีการออกแบบที่ปราศจากข้อผิดพลาดในรอบแรกการไปตามเส้นทางซิลิคอนจะทำให้ บริษัท ต้องดำเนินการทดสอบอย่างน้อยสองถ้าไม่มีการทดสอบเพิ่มเติม
ซึ่งหมายความว่า บริษัท การค้าเพียงไม่กี่แห่งที่มีความสนใจในการออกแบบและนำไปผลิตสิ่งอื่นนอกเหนือจากชิปที่มีความน่าสนใจในเชิงพาณิชย์มากพอ
ดังนั้นถ้าคุณคิดการออกแบบที่ยอดเยี่ยมที่ให้เหตุผลกับไมโครโปรเซสเซอร์ที่กำหนดเองคุณอาจพยายามทำให้ความคิดของคุณมีชีวิตชีวาด้วยงบประมาณเชือกผูกรองเท้าโดยการนำไปใช้ใน FPGA ซึ่งชิปจริงเป็นเพียงการรวบรวมประตูและ 'program' (โดยทั่วไปคือ VHDL หรือ Verilog) จะจัดเรียงประตูเหล่านั้นให้เป็นไมโครโปรเซสเซอร์จริง
แต่นั่นก็เป็นวิธีที่แตกต่างกันโดยสิ้นเชิง (การออกแบบไมโครโปรเซสเซอร์!) ...
ซึ่งทำให้ฉันแนะนำว่า
... FPGA ไม่จำเป็นสำหรับหุ่นยนต์ - อย่างน้อยตอนเริ่มต้น
สิ่งที่คุณต้องการสำหรับหุ่นยนต์เป็นตัวประมวลผล FPGA เป็นเพียงโปรเซสเซอร์ชนิดพิเศษ (ตั้งค่าใหม่ได้)
คุณถามว่าคุณ 'ควร'? ขึ้นอยู่กับความรู้ของคุณรวมถึงความสนใจที่แท้จริงของคุณ - การออกแบบไมโครโปรเซสเซอร์ก่อนหรือหุ่นยนต์เป็นอันดับแรก
หากไมโครโปรเซสเซอร์เป็นที่ชื่นชอบของคุณคุณก็สามารถทำได้! และหุ่นยนต์เป็นพื้นที่แอปพลิเคชั่นที่ยอดเยี่ยมสำหรับไมโครโพรเซสเซอร์ที่กำหนดเอง - บางทีเป็นคอร์เทกซ์สายตาที่มีเส้นทางการตัดสินใจแบบขนานจำนวนมากที่จัดการโดยตรงในฮาร์ดแวร์หรือการคูณเมตริกซ์พิเศษในฮาร์ดแวร์ - โดยทั่วไปแล้วสิ่งที่โปรเซสเซอร์ทั่วไปไม่สามารถจัดการได้ดี
แต่ถ้าคุณกำลังจะออกแบบไมโครโพรเซสเซอร์ใน FPGAs แน่นอนว่าคุณต้องมีความรู้ระดับต่ำทั้งหมดที่คุณพูดถึงและอื่น ๆ - เพราะพื้นฐานคุณจะต้องออกแบบโปรเซสเซอร์ของคุณเอง ซึ่งไม่เกี่ยวกับหุ่นยนต์แม้ว่าแอปพลิเคชันเป้าหมายของคุณอาจเป็นหุ่นยนต์ก็ตาม
นักออกแบบส่วนใหญ่อาจพบโปรเซสเซอร์ที่มีอยู่ซึ่งจะทำสิ่งที่พวกเขาต้องการมากที่สุด
ดังนั้นฉันคิดว่าคุณอาจไม่ต้องการ FPGA
แผนงานเริ่มต้น: จากความสามารถเชิงพาณิชย์ไปจนถึง (อาจ) FPGA ...
เป้าหมายแรกในความคิดของฉันคือพยายามทำให้แนวคิดสร้างสรรค์ทั้งหมดของคุณเป็นหุ่นยนต์ที่ใช้งานได้
หากคุณพบว่าคุณมีคอขวดในการประมวลผลที่เฉพาะเจาะจงและมีความสำคัญในการออกแบบของคุณเป้าหมายต่อไปคือปรับการเลือก / ออกแบบโปรเซสเซอร์ของคุณให้เหมาะสมที่สุด อาจใหญ่กว่าเร็วกว่า (แลกด้วยการดึงพลังความร้อนที่กระจายออก) อาจมีขนาดเล็กลงชิปเฉพาะจัดการกับงานเฉพาะและการเชื่อมต่อกับสมองหลัก (การแลกเปลี่ยนกับอัลกอริทึม / ภาวะแทรกซ้อนตรรกะ)
เฉพาะในกรณีที่มีความสามารถที่คุณจะไม่สามารถรับชิปเชิงพาณิชย์เพื่อจัดการคุณอาจพิจารณาใช้โปรเซสเซอร์พิเศษภายใน FPGA เพราะ ณ จุดนั้นจะมีข้อได้เปรียบที่ชัดเจนมากที่คุณหวังว่าจะได้รับโดย 'กลิ้งของคุณเอง 'และคุณสามารถมุ่งเน้นไปที่การใช้ความสามารถเหล่านั้นด้วยอินเทอร์เฟซที่เหมาะสมกับการออกแบบที่เหลือของคุณ
มิฉะนั้นคุณมีโอกาสที่จะได้รับการติดตามด้านข้างจากเป้าหมายหลักของคุณ (ซึ่งฉันจะถือว่าเป็นการสร้างหุ่นยนต์จริง ๆ !)
Bottom line: FPGAs เป็นสิ่งที่ทำให้ไขว้เขวจากการเริ่มต้นใช้งานในหุ่นยนต์ --- จนกว่าคุณจะเข้าหาทางไปตามถนนหุ่นยนต์ - และได้รับการสับที่แข็งแกร่งในการออกแบบอิเล็กทรอนิกส์ / ไมโครโปรเซสเซอร์ดิจิตอลที่ใดที่หนึ่งตลอดทาง