บอร์ด FPGA ที่แนะนำ [ปิด]


11

นี่คือการมองครั้งแรกของฉันใน FPGA แต่มีพื้นฐานอย่างหนักในการพัฒนาซอฟต์แวร์ ต้องการซื้อบอร์ดเพื่อเรียนรู้ด้วย แต่ท้ายที่สุดก็สามารถใช้คอมพิวเตอร์ Z80 สไตล์ต้นปี 80 (คิดว่ารุ่น TRS80 ที่ฉันพูด)

ฉันเคยดู Spartan 3E และ Spartan 6 บอร์ด แต่ไม่แน่ใจในความแตกต่างของประสิทธิภาพ / ความจุ

สิ่งที่ฉันคิดคืออะไร:

  • มีที่ว่างเพียงพอสำหรับ:
    • จำลอง Z80 โดยใช้ opencores T80 softcore
    • อุปกรณ์ต่อพ่วงจำลองบนตัวเครื่องเช่นตัวควบคุมวิดีโอตัวควบคุมเสียง (1 บิตง่าย) ตัวควบคุมฟลอปปี้
    • บางทีตัวควบคุม picoblaze สองตัวใช้ปุ่มออนบอร์ดสำหรับการเลือกภาพฟลอปปี้ ฯลฯ ...
  • ตัวเชื่อมต่อ VGA (16 สีน่าจะพอเพียง 256 โบนัส)
  • ช่องเสียบคีย์บอร์ด PS2
  • แฟลชออนบอร์ดเพียงพอที่จะเก็บอิมเมจดิสก์เสมือนและ ROM ระบบจำนวนหนึ่ง (16Mb น่าจะเพียงพอ)
  • บนจอแสดงผลบนจอแอลซีดีจะดี LED แบบ 4x7 เซ็กเมนต์น่าจะเพียงพอแล้ว
  • ซ็อกเก็ตแฟลชการ์ดบางประเภทจะดี แต่ไม่จำเป็น
  • เชื่อมต่อสายไฟเพื่อวิ่งออกไฟอาจผ่านชุดไฟ

นี่คือบอร์ดที่ฉันกำลังพิจารณา:

  • Nexys ™ 3 FPGA Board สปาร์ตัน -6
  • Spartan 3E Starter Board
  • คณะกรรมการพัฒนาสปาร์ตัน 3E-1600
  • Basys ™ 2 FPGA Board สปาร์ตัน -3E (500K) + 16M Flash pMod
  • Basys ™ 2 FPGA Board สปาร์ตัน -3E (1200K) + 16M Flash pMod

แก้ไข: เพิ่งสังเกตว่า Basys ไม่มี onboard RAM ดังนั้นฉันจึงถูก จำกัด FPGA RAM - ไม่เหมาะ

สิ่งสำคัญที่ฉันไม่แน่ใจคือพื้นที่เหลืออยู่เท่าใดหลังจากโหลดซอฟต์คอร์ T80 แล้ว คำแนะนำใด ๆ ที่ชื่นชมอย่างมาก


6
ฉันขอแนะนำให้เรียนรู้ Verilog หรือ VHDL ก่อน ยุ่งกับมันในการจำลอง ตรวจสอบให้แน่ใจว่าคุณถูกตัดออกไปสำหรับการทำงานของ FPGA สิ่งที่แปลกประหลาดกับ FPGA ก็คือคุณจะใช้เวลาส่วนใหญ่ในการพัฒนาของคุณ (ในฐานะผู้เริ่มต้น) ที่ทำงานในเครื่องจำลองและม้านั่งทดสอบ
Earlz

คำตอบ:


6

ในขณะที่เป้าหมายทะเยอทะยานเป็นสิ่งที่ดีคำแนะนำของฉันคือการเริ่มต้นเล็ก เล็กกว่ามาก โครงการที่คุณเสนอจะเป็นเรื่องยากสำหรับผู้ออกแบบ FPGA ระดับกลางและแทบจะเป็นไปไม่ได้สำหรับผู้เริ่มต้น ฉันเป็นผู้สนับสนุนหลักของ FPGA และอยากเห็นคุณประสบความสำเร็จ - การเริ่มต้นด้วยโครงการที่มีความทะเยอทะยานอาจส่งผลให้เกิดความยุ่งยากและอาจละทิ้งการออกแบบ FPGA ไปพร้อมกัน

ให้ฉันใส่มันในแง่ซอฟต์แวร์: โครงการนี้จะเป็นเหมือนคนที่ไม่เคยทำซอฟต์แวร์ที่เขียนคอมไพเลอร์ C ที่สมบูรณ์ - ตั้งแต่เริ่มต้น

เริ่มเล็กลงแล้วคุณจะมีความสุขมากขึ้น

แก้ไข: เพิ่มเนื้อหาด้านล่าง

สิ่งที่กล่าวมาทั้งหมดนั้นเป็นเรื่องยากที่จะให้คำแนะนำที่ดีแก่คณะกรรมการ เหตุผลนี้คือบอร์ดใด ๆ ที่ฉันแนะนำสำหรับใครบางคนที่ไม่มีประสบการณ์ FPGA นั้นไม่ใช่บอร์ดเดียวกันที่ฉันแนะนำสำหรับการทำโปรเจ็กต์ประเภท CPU บอร์ดเริ่มต้นอาจมีราคา 50-100 ดอลลาร์สหรัฐในขณะที่บอร์ดสำหรับการทำ CPU + VGA + Flash_Card + ไม่ว่าจะเป็น 1,000-2,000 ดอลลาร์สหรัฐก็ตาม

นอกจากนี้ยังมีโอกาสสูงที่เมื่อคุณทำการออกแบบ FPGA อย่างง่ายสองครั้งคุณจะเปลี่ยนใจและต้องการทำโครงการอื่นในภายหลัง

คำแนะนำของฉันคือให้คุณซื้อกระดานง่าย ๆ ในราคาต่ำกว่า US $ 100 ก่อน จากนั้นเมื่อคุณพร้อมที่จะรับมือกับโครงการขนาดใหญ่คุณสามารถซื้อบอร์ดที่มีราคาแพงกว่าซึ่งใกล้เคียงกับสิ่งที่คุณต้องการ (ไม่ว่าในเวลาใด)

บอร์ดที่ฉันชอบคืออันนี้: http://www.xilinx.com/products/boards-and-kits/AES-S6MB-LX9.htm

มันราคาไม่แพงใช้ชิ้นส่วนรุ่นปัจจุบันมาจากการผลิต Tier-1 และยังสามารถทำสิ่ง CPU ง่ายๆ


ขอบคุณ David ฉันรู้อย่างแน่นอนว่าสิ่งที่ฉันแนะนำมีความทะเยอทะยาน แต่ฉันก็คิดเกี่ยวกับความจริงที่ว่ามีเครื่องรุ่นเก่าจำนวนหนึ่งที่ออกแบบมาแล้วเช่นนี้ซึ่งสนุกที่จะดาวน์โหลดและเล่นด้วย - นั่นคือเหตุผลที่ฉัน ต้องการบางสิ่งบางอย่างที่มีความสามารถตั้งแต่เริ่มต้น แบรด
แบรด

1
@Brad - หากคุณมีเครื่องที่คุณต้องการดาวน์โหลดและเล่นกับใช้บอร์ดที่ได้รับการออกแบบมาสำหรับ มันจะเป็นความพยายามอันยิ่งใหญ่เพียงแค่ส่งโครงการจากบอร์ดหนึ่งไปยังอีกบอร์ดหนึ่ง
Kevin Vermeer

@David Kessner - ในขณะที่นี่คือคำแนะนำโครงการที่ดีสำหรับการเลือกแพลตฟอร์มเพื่อใช้งานมันเหมาะสมที่จะเลือกสิ่งที่จะสนับสนุนความพยายามมากกว่าหลายเดือนไม่ใช่แค่การทดลองครั้งแรก นั่นคือสิ่งที่ผู้โพสต์ถามและไม่ใช่สิ่งที่คำตอบของคุณสัมผัสอย่างแท้จริง
Chris Stratton

@ Chris Stratton ขอบคุณสำหรับคำวิจารณ์ ฉันได้เพิ่มคำตอบแล้ว

ไม่แน่ใจว่าทำไมคุณคิดว่าบอร์ดสำหรับการ์ด CPU + VGA + จะมีราคา $ 1,000 เจ็ดปีที่แล้วฉันมีฮาร์ดไดรฟ์ IDE เชื่อมต่อกับวิดีโอชุดสปาร์ตัน 3 ดอลลาร์ที่เล่นด้วยกัน $ 100 มันค่อนข้างค่อนข้าง จำกัด และตอนนี้บอร์ดราคา $ 150 แต่เมื่อลิงก์ของคุณชี้ไปคุณจะได้รับบอร์ดที่มีหน่วยความจำหลายเมกะไบต์ในราคาต่ำกว่า $ 100 นั่นควรจะเพียงพอสำหรับการเลียนแบบระบบจากยุค 8 บิต ฉันคาดหวังว่า SDcard ที่ดำเนินการในโหมด spi จะเปรียบเทียบความเร็วในเกณฑ์ดีอย่างน้อยกับส่วนต่อประสานฟลอปปี้ของยุคนั้น ระวังแรงดันไฟฟ้า I / O ที่ต่ำมากใน FPGAs ที่ใหม่กว่า
Chris Stratton

2

น่าเสียดายที่มันคือ vhdl ฉันจะบอกว่าเริ่มต้นด้วย verilator หรือ icarus verilog บางทีอาจใช้ ghdl แทน ข้อเสนอแนะแรกคือการจำลองสภาพแวดล้อมเริ่มต้นสร้างสิ่งนี้ที่นั่น

ก่อนที่จะเลือกบอร์ด fpga คุณต้องเข้าใจว่ามันจะใหญ่ขนาดไหนเครื่องมือต่าง ๆ นั้นฟรีหรือฟรีด้วยการเสียสละที่อยู่อีเมลของคุณและข้อมูลอื่น ๆ ลองใช้ lattice, altera, xilinx, etc tools เริ่มด้วย T80 core อย่างเคร่งครัดและ fpg ที่เป็นเป้าหมายเหล่านี้ที่คุณกำลังดูอยู่ ฉันเดาว่าทุกสิ่งที่คุณต้องการเพิ่มนั้นจะเพิ่มขึ้นอย่างมากไม่ว่าคุณจะคิดเป็นเปอร์เซ็นต์ใดเมื่อคุณใช้ T80 core ฉันเดิมพันหลักเพียงอย่างเดียวคุณจะสามารถกำจัดผู้สมัครบางส่วน

บางทีบอร์ด fpgaarcade ซึ่งในบางรูปแบบได้ใช้แกน T80 เป็นสิ่งที่คุณกำลังมองหา ... เมื่อมันพร้อมใช้งาน

ฉันต้องเห็นด้วยอย่างสมบูรณ์กับ David คนอื่นหากคุณยังไม่ได้เป็นนักพัฒนา fpga / board มืออาชีพนี่ไม่ใช่ตำแหน่งที่คุณเริ่มต้นคุณกำลังมองหาที่ทำงานหลายปีอาจจะซื้อบอร์ดหลายพันดอลลาร์ตามที่คุณต้องการ ทำลายพวกเขาด้วยความผิดพลาด ฯลฯ หากคุณมีเงินจำนวนมากในการกำจัดของคุณบางทีคุณควรจ้างที่ปรึกษาเพื่อแนะนำคุณตลอดกระบวนการ หรือมีบอร์ดที่สร้างขึ้นเพื่อสเป็ค

มีพลังมากขึ้นสำหรับคุณถ้านี่เป็นสิ่งที่คุณต้องการจริงๆเพียงแค่ฉลาดเกี่ยวกับมันเริ่มจากแกนกลางและโปรแกรมง่าย ๆ บางอย่างที่กะพริบไฟ led บางดวงและทำงานในแบบของคุณช้าๆ ฉันขอแนะนำเส้นทางการจำลอง นอกเหนือจากความพึงพอใจทันทีอย่าไปยุ่งกับซิลิกอนจนกว่าคุณจะอยู่ไกลออกไปตามถนน จากนั้นคุณจะมีการออกแบบมากขึ้นและสามารถใช้เครื่องมือเพื่อดูว่ามันเหมาะสมกับอะไร ถ้าคุณไม่สามารถทำให้สิ่งนี้ทำงานในสถานการณ์จำลองคุณอาจจะไม่ได้ใช้มันในซิลิคอน


1
ขอบคุณพวกฉันได้รับคำแนะนำของคุณและตัดสินใจที่จะก้าวจากความทะเยอทะยานไปสู่สถานการณ์ที่ไม่แน่นอน หยิบขึ้นมา PIC เล็กโปรแกรมเมอร์ / dev ชุดคณะกรรมการและเหล็กบัดกรี ...
แบรด

จนถึงสิ้นปีนี้มีบอร์ด cpld, pico something (machx02) ที่รองรับ mico8 core ที่ขายในราคา $ 29 พวกเขาอ้างว่าพวกเขากำลังจะแก้ไข แต่ร้านค้าของพวกเขามีราคาผิดและไม่ใช่การขาย แต่ผู้ค้าปลีกหนึ่งราย / บางคนมีราคาที่เหมาะสม ประมาณ $ 50 คุณสามารถ brevia บอร์ดของพวกเขาซึ่งเป็น fpga กับบล็อกตรรกะมากขึ้นและฝังตัวประมวลผลตัวอย่างเพิ่มเติม นอกจากนี้ยังมี gameduino ardino shield ที่มี xilinx และ vga ซึ่งเป็นโอเพ่นซอร์สทั้งหมดที่คุณสามารถเล่นกับการสร้างวิดีโอที่ทำงานเพื่อบรรลุเป้าหมายในการจำลองการ์ด / ระบบเดิม
old_timer

คุณมีลิงค์โดยตรงสำหรับบอร์ดนั้นหรือไม่? มันมีแหลมความสนใจของฉัน ...
drxzcl

@DrX latticesemi.com/products/developmenthardware/developmentkits/ ...... ฉันซื้อของฉันจากnuhorizons.com/development/devtool.asp?board=257และอาจมีไซต์อื่น ๆ เช่น mouser และ digikey
old_timer

เพียงระมัดระวังเกี่ยวกับการจัดส่ง พวกเขาต้องการ $ 80 เพื่อจัดส่งไปยังแคนาดา ... "FedEx International Priority เป็นทางเลือกเดียวของเรา" - bleh
akohlsmith

1

หากคุณต้องการจำลองคอมพิวเตอร์ที่มีวิดีโอออกมาให้ลองหา RAM ที่มีจำนวนพอใช้เพราะคุณจะต้องใช้ทั้งระบบและหน่วยความจำวิดีโอ เห็นได้ชัดว่าขั้วต่อในตัวสำหรับ VGA นั้นดี แต่ถ้าคุณต้องการทำการจำลองแบบเวลาที่ซื่อสัตย์สำหรับระบบแรก ๆ บางตัวคุณอาจจำเป็นต้องสร้างวิดีโอคอมโพสิตด้วยการกราฟต์บน DAC หรือตัวต้านทาน R2R DAC

แล้วบางทีเลือกที่ใหญ่ที่สุดนับประตูตัวเลือกชิปที่มีอยู่ในคณะกรรมการที่ได้รับการสนับสนุนโดยรุ่นฟรีของเครื่องมืองาน FPGA ชิปขนาดใหญ่โดยปริยายมี block ram มากกว่า (ฉันเคยเห็นการออกแบบจำนวนมากที่ขับเคลื่อนโดยที่มากกว่าจำนวนประตู) แต่คุณอาจเข้าสู่ดินแดนแอปพลิเคชันที่ ram ภายนอกและ FPGA ขนาดเล็กราคาถูกกว่า FPGA ขนาดใหญ่พอที่จะทำทุกอย่าง .

ที่เก็บข้อมูลแฟลชสามารถต่อกิ่งได้ในภายหลัง - ตัวอย่างเช่นการ์ด SD หลายกิกะไบต์ที่ถูกเชื่อมต่อในโหมด SPI

โดยทั่วไปแล้วบอร์ด FPGA มาในระดับ $ 100-200 และจากนั้นชั้นแพงจริงๆ คุณอาจจะก้าวหน้าไปซักหน่อยกับหนึ่งในอดีต


0

ฉันเป็นโปสเตอร์ดั้งเดิมของคำถามนี้ แต่ฉันต้องยังไม่ได้เข้าสู่ระบบหรือยังไม่ได้สร้างบัญชี ...

อย่างไรก็ตามในที่สุดฉันก็วางโครงการไว้เป็นเวลา 4 หรือ 5 เดือน แต่จากนั้นก็ไปกับบอร์ด Nexys3 และตอนนี้ก็มีคอมพิวเตอร์ Microbee แล้วเปิดใช้งาน คุณสามารถอ่านได้ที่นี่: http://www.toptensoftware.com/fpgabee

โดยรวมแล้วฉันมีความสุขมากกับ Nexys3 มันจัดการกับคอร์ T80 พร้อมพื้นที่ว่างมันไม่แพงเกินไป ($ 250) และมีทุกอย่างที่ฉันต้องการ (และอื่น ๆ )

ความผิดหวังหลักคือฉันไม่สามารถใช้อินเทอร์เฟซแป้นพิมพ์ USB-HID ให้ทำงานได้และแม้ว่าฉันจะยังคงพูดคุยกับ Digilent เกี่ยวกับเรื่องนี้ฉันสงสัยว่ามันใช้ได้กับแป้นพิมพ์บางตัวเท่านั้นและฉันไม่สามารถ ค้นหาที่เข้ากันได้ (ฉันลองแป้นพิมพ์ที่แตกต่างกันประมาณ 8 อัน) ไม่มีการออกแบบอ้างอิงสำหรับการทดสอบอุปกรณ์ต่อพ่วงไม่ทดสอบแป้นพิมพ์และฉันได้อ่านของผู้อื่นที่มีปัญหาเดียวกัน


1
หากคุณสนใจเกี่ยวกับบัญชีก่อนหน้าของคุณคุณสามารถตั้งค่าสถานะเพื่อให้รวมเข้าด้วยกัน
stevenvh
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.