โครงการมือใหม่ใน FPGA หรือไม่?


11

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

ดังนั้นนักเรียนที่อยากรู้อยากเห็นจะทำอย่างไรฉันจึงตรวจสอบว่า FPGA คืออะไรจริง ๆ และสิ่งที่ฉันเป็นช้อนป้อนในชั้นเรียน และฉันตัดสินใจที่จะทำโครงการ FPGA ง่าย ๆ ฉันใช้ Basys2 Spartan-3E FPGA และฉันคุ้นเคยกับตรรกะดิจิทัลและใช้ ISE เพื่อผลักประตูลอจิกรอบ ๆ แต่ฉันไม่รู้ VHDL / Verilog (ฉันแน่ใจว่าฉันสามารถหยิบมันขึ้นมาได้อย่างง่ายดาย)

ไม่มีใครมีแนวคิดโครงการใด ๆ สำหรับผู้เริ่มต้นหรือไม่? ฉันสาธิตการทดลองหลายครั้ง แต่ก็ไม่แฟนซีเกินไป


สิ่งที่ปรารถนา: การแสดงวิดีโอ 1080p, ... สิ่งที่ฉันพูดว่าหยุดที่นั่น :-)
รัสเซลแมคมาฮอน

1
ตรวจสอบเว็บไซต์fpga4fun.com
armf

3
ระวัง fpga4fun.com dev-boards เอกสารของพวกเขาเป็นอึและพวกเขาปฏิเสธที่จะปล่อยแผนงาน dev บอร์ด
Connor Wolf

คำตอบ:


5

ฉันพบว่า "FPGA Prototyping โดย Verilog ตัวอย่างของ Pong Chu: Xilinx Spartan-3 Version" เป็นหนังสือที่มีประโยชน์มาก มันมีไว้สำหรับบอร์ด Spartan-3 ที่แตกต่างจากที่คุณพูดถึง แต่ควรจะมีประโยชน์

นอกจากนี้ยังมีรุ่น VHDL ถ้าคุณอยากไปเส้นทางนั้น


4

คุณมี VGA ในลักษณะนั้น วิดีโอสร้างความสนใจในประสบการณ์ของฉันเสมอ :)

นี่เป็นแผนที่คุณอาจต้องการลอง (ไม่จำเป็นต้องใช้ framebuffer):

  1. รับหน้าจอ VGA สีที่บริสุทธิ์
  2. แสดงแนวนอนจางจากสีดำเป็นสีทึบ
  3. ตอนนี้จางลงในแนวตั้งจากสีดำเป็นสีแดงและในแนวนอนจากสีดำเป็นสีเขียว 3a (สร้างพื้นหลังที่ระบุอัลกอริทึมที่น่าสนใจมากขึ้นซึ่งคุณสามารถแสดงผลแบบเรียลไทม์)
  4. สร้างเอนจิ้นแบบ sprite อย่างง่ายซึ่งจะซ้อนทับรูปร่างเล็ก ๆ ตามอำเภอใจ ณ ตำแหน่งที่กำหนด - คุณสามารถใช้ 1 BRAM สำหรับข้อมูลเทพดา
  5. แสดงสไปรต์ที่แตกต่างกันสองสามอัน
  6. สร้างตรรกะการอัปเดตบางอย่างเพื่อให้สไปรต์เด้งไปมา (และปิดกัน) - เพิ่มการตรวจจับการชนเข้ากับตรรกะสไปรท์
  7. สร้างสไปรท์ "พาย" ที่คุณสามารถควบคุมได้ด้วยสวิตช์ใช้เพื่อหยุดสไปรต์ที่จะออกจากหน้าจอ
  8. เพิ่มกลไกการให้คะแนน

ฉันคิดว่ามันควรจะพอดีกับ 250E (นาฬิกา VGA ช้าในแง่ของ FPGA ดังนั้นคุณสามารถเพิ่มขึ้น 4-8 เท่าด้วย DCM ซึ่งจะทำให้เอนจิ้นหนึ่งสไปรต์มัลติเพล็กซ์มากกว่าหนึ่งสไปรต์ตัวอย่าง)


3

นี้แน่นอนออนไลน์ฟรีเขียนโดยหนูแฮมสเตอร์เป็นที่น่าตื่นตาตื่นใจและมีการเขียนด้วยBasys 2และNexys 2ในใจ

ฉันเองใช้ Basys 2 และเรียนรู้จากการผ่านหลักสูตรนี้ มันผ่านทุกแง่มุมของ Basys board และแนวคิดมากมายสำหรับการทำโปรเจ็กต์ส่วนใหญ่นอกหลักสูตร


2

เริ่มต้นด้วยโปรเจคHello worldในกรณีนี้ - กะพริบไฟ LED - และสร้างตัวแปรระยะเวลาเพื่อความสนุก

ในการทำเช่นนั้นคุณจะต้องเรียนรู้วิธีสร้างตัวนับใน Verilog / VHDL นั่นเป็นการเริ่มต้นที่ดีในการเรียนรู้ความซับซ้อนของ HDL เพราะคุณจะได้เรียนรู้วิธี:

  1. การดำเนินงานของฮาร์ดแวร์ต่ำกว่า - ใช้รหัส RTL แทนรหัสระดับประตู คุณจะได้เรียนรู้วิธีการออกแบบตัวนับขึ้น / ลงที่สามารถโหลดได้ล่วงหน้าด้วยรหัส RTL
  2. เรียนรู้วิธีการออกแบบแบบซิงโครนัสซึ่งเป็นสิ่งที่ FPGA ส่วนใหญ่ดีสำหรับอยู่ดีและเป็นพื้นฐานของการออกแบบระบบดิจิตอลเกือบทั้งหมด
  3. เรียนรู้วิธีการติดต่อกับโลกภายนอกโดยใช้ I / O ของ FPGA สิ่งนี้จะสอนวิธีกำหนดค่าและนำสิ่งต่าง ๆ ไปใช้ใน FPGA

เมื่อเสร็จแล้วให้ไปที่opencoresและเริ่มแฮ็คในโครงการขนาดใหญ่ คุณจะได้พบกับโครงการสนุก ๆ มากมายจากสมาชิกของเราที่นี่รวมถึงโครงการของคุณอย่างแท้จริง :)


1

Martin แนะนำให้คุณมีความสามารถระดับ VGA

สิ่งที่เกี่ยวกับ "กรอบรูป" ที่เหมาะสมที่ช่วยให้การควบคุมภาพถ่ายดีกว่าที่มีอยู่ทั่วไป

  • จัดการไดเรกทอรีย่อยส่วนใหญ่ไม่ดี

  • ไม่อนุญาตให้มีการเรียงลำดับการแสดงผลแบบสุ่ม - ซึ่งเป็นข้อได้เปรียบที่สำคัญมากเมื่อคุณมีภาพถ่ายจำนวนมาก

  • ความสามารถในการสร้างสไลด์โชว์ตามโบนัสรูปภาพที่เลือก (ดูตัวอย่างของ Irfanview)

  • คะแนนพิเศษ - เพิ่มความสามารถในการเล่น MP3 สอดแทรกเพลงด้วยภาพถ่าย

  • แหล่งข้อมูล SD Flash

  • ยูเอสบี?

  • 802.11? (หวังมากเกินไป)



0

หนังสือของ Hamblen et al เต็มไปด้วยโครงการที่น่าสนใจสำหรับกระดาน Altera Cyclone DE1 และ DE2; มีการจัดหารหัส VHDL นำบางส่วนมาใช้กับบอร์ด Spartan-3E ของคุณ


0

หนึ่งในสิ่งแรกที่ต้องทำคือเพียงดาวน์โหลด (จากผู้จำหน่ายหรือไซต์ผู้ที่ชื่นชอบ) และสร้างโครงกระดูกที่เชื่อมต่ออินพุตกับเอาท์พุท - สิ่งนี้น่าหงุดหงิดอย่างยิ่งที่จะทำงานจนกว่าคุณจะมีประสบการณ์

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


0

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


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