ตัวอย่างการออกแบบหน่วยความจํา Demo AXI

แนะนําสําหรับ:

  • อุปกรณ์: ไม่ทราบ

  • Quartus®: v13.0

author-image

โดย

ตัวอย่างการออกแบบนี้แสดงให้เห็นอินเตอร์เฟซ AMBA* AXI*-3 Slave บนส่วนประกอบหน่วยความจําแบบกําหนดเอง Verilog ที่เรียบง่ายสําหรับระบบ Qsys คุณสามารถใช้ตัวอย่างนี้เป็นพื้นฐานสําหรับอินเทอร์เฟซ AXI Slave แบบกําหนดเองของคุณ ส่วนประกอบนี้ยังมาพร้อมกับอินเทอร์เฟซ Avalon® Streaming (Avalon-ST) และอินเทอร์เฟซ Avalon® Memory-Mapped (Avalon-MM) ซึ่งแสดงให้เห็นว่าสามารถใช้มาตรฐานอินเทอร์เฟซหลายมาตรฐานในส่วนประกอบเดียวได้อย่างไร

Quartus® II Handbookใช้ตัวอย่างนี้เพื่อแสดงกระบวนการบรรจุส่วนประกอบทรัพย์สินทางปัญญา (IP) พร้อมด้วยคําสั่ง Tcl เครื่องมือแก้ไขส่วนประกอบและฮาร์ดแวร์แบบกําหนดเอง คุณสามารถใช้ไฟล์ HDL ในตัวอย่างนี้เพื่อช่วยให้คุณเรียนรู้วิธีใช้ Component Editor เพื่อสร้างไฟล์ Tcl (_hw.tcl)ฮาร์ดแวร์ง่ายๆ ของคุณเองตามที่ระบุไว้ในบทการสร้างส่วนประกอบ Qsys (PDF) นอกจากนี้คุณยังสามารถดูไฟล์_hw.tclที่ให้มาเพื่อดูการใช้คําสั่ง Tcl ของฮาร์ดแวร์ขั้นสูง รวมถึงพารามิเตอร์ที่สืบทอดมา การเรียกตรวจสอบ และการเรียกอย่างละเอียดเพื่อปรับแต่ง UI การให้พารามิเตอร์ใน Qsys และนําเสนออินเทอร์เฟซเป็นตัวเลือก สําหรับรายละเอียดเกี่ยวกับคําสั่ง Tcl ของฮาร์ดแวร์ โปรดดูบทที่Component Interface Tcl Reference (PDF)

สําหรับข้อมูลเพิ่มเติมเกี่ยวกับการใช้ Qsys เพื่อสร้างระบบที่รวมส่วนประกอบแบบกําหนดเอง โปรดดูบท การสร้างระบบที่มี Qsys (PDF) ใน Quartus II Handbook

การใช้ตัวอย่างการออกแบบนี้

ดาวน์โหลดไฟล์ demo_axi3_memory.zip และดึงข้อมูล ตัวอย่างการออกแบบนี้ต้องใช้ Altera® Complete Design Suite (ACDS) v13.0 หรือใหม่กว่า

ไฟล์ ZIP ประกอบด้วยไฟล์ส่วนประกอบ IP ต่อไปนี้ในไดเรกทอรีย่อย/ip:

  • ไฟล์ออกแบบ demo_axi_memory.sv และ single_clock_ram.sv

  • ไฟล์ Tcl ฮาร์ดแวร์แบบกําหนดเอง demo_axi_memory_hw.tcl เพื่อบรรจุส่วนประกอบสําหรับ Qsys
  • ไฟล์แพคเกจ SystemVerilog ที่ใช้ในการสร้างข้อความในเอาต์พุตการจําลอง , /verification_lib/verbosity_pkg.sv (ซึ่งสามารถพบได้ในไดเรกทอรีการติดตั้งซอฟต์แวร์ Quartus II เป็น /ip/altera/sopc_builder_ip/verification/lib/verbosity_pkg.sv)

ในการใช้ส่วนประกอบนี้ในระบบ Qsys ของคุณเอง ให้คัดลอกไดเรกทอรีย่อย /ipจากไฟล์ ZIP ที่แตกออกมาไปยังไดเรกทอรีโครงการ Quartus II ของคุณ เมื่อคุณสร้างหรือเปิดระบบ Qsys ในโครงการ Qsys จะตรวจจับส่วนประกอบ IP ในไดเรกทอรีย่อย/ipและเพิ่มส่วนประกอบลงในรายการในส่วนโครงการของไลบรารีภายใต้หมวดหมู่หน่วยความจําและตัวควบคุมหน่วยความจํา/บนชิป

ไฟล์ ZIP ยังมีไฟล์ต่อไปนี้เพื่อจําลองส่วนประกอบแบบสแตนด์อโลนในไดเรกทอรีย่อย/ip/simulation:

  • ไฟล์ testbench tb_mem.sv
  • สคริปต์ run_sim.tcl เพื่อทําการจําลองใน Mentor Graphics® ModelSim* พร้อมไฟล์ mem.do เพื่อแสดงรูปคลื่นที่แสดงการทํางานของส่วนประกอบ

หากต้องการรันการจําลองใน ModelSim ให้ตั้งค่าไดเรกทอรีการทํางานของคุณเป็น ไดเรกทอรีย่อย /ip/simulation จากไฟล์ ZIP ที่แตกออกมา พิมพ์ source run_sim.tcl

นอกจากนี้ ไฟล์ ZIP ยังประกอบด้วยไฟล์ซอฟต์แวร์ Quartus II ดังต่อไปนี้:

  • การทดสอบ Qsys System test.qsys อย่างง่ายเพื่อแสดงให้เห็นการสร้างอินสแตนซ์ของส่วนประกอบในระบบ Qsys
  • ไฟล์โครงการซอฟต์แวร์ Dummy Quartus II เพื่อให้คุณสามารถเลือกสร้างและคอมไพล์ระบบ Qsys ทดสอบ: test.qpf, test.qsf, test.sdc

หากต้องการดูส่วนประกอบที่อินสแตนซ์เป็นส่วนหนึ่งของระบบ Qsys ทดสอบ ให้เปิดไฟล์โครงการ test.qpf ในซอฟต์แวร์ Quartus II และเปิดไฟล์ test.qsys ใน Qsys ดับเบิลคลิกที่ส่วนประกอบในคอลัมน์ ชื่อ หรือ คําอธิบาย ของแท็บ เนื้อหาของระบบ (หรือคลิกขวาที่ส่วนประกอบแล้วเลือก แก้ไข) เพื่อดูตัวแก้ไขพารามิเตอร์

การใช้การออกแบบนี้อยู่ภายใต้และอยู่ภายใต้ข้อกําหนดและเงื่อนไขของข้อตกลงสิทธิ์การใช้งานตัวอย่างการออกแบบของ Intel®

รายละเอียดการออกแบบ

ตัวอย่างส่วนประกอบ Qsys ประกอบด้วยอินเทอร์เฟซต่อไปนี้:

อินเตอร์เฟซ AXI-3 Slave

อินเตอร์เฟซ AXI Slave เป็นอินเทอร์เฟซแมปหน่วยความจํากับบล็อกหน่วยความจําบนชิป อินเทอร์เฟซนี้ออกแบบมาให้ควบคุมโดย AXI หรืออินเทอร์เฟซหลัก Avalon-MM ซึ่งสามารถเขียนและอ่านจากบล็อกหน่วยความจําได้ พารามิเตอร์จะระบุความกว้างของสัญญาณ AXI ID, ความกว้างของที่อยู่สเลฟ และความกว้างของข้อมูล

อินเตอร์เฟซ Avalon-ST

เมื่อคุณสร้างอินสแตนซ์ส่วนประกอบนี้ใน Qsys คุณสามารถเลือกเปิดใช้งานหรือปิดใช้งานอินเทอร์เฟซต้นทาง Avalon-ST ที่เป็นทางเลือกได้ อินเทอร์เฟซนี้ได้รับแรงบันดาลใจจากแอปพลิเคชันโทรศัพท์ ซึ่งโทนสี (DTMF, ไม่ว่าง, เสียงเรียกเข้า, เสียงเรียกเข้า ฯลฯ) จะถูกจัดเก็บไว้เป็นการส่งข้อมูลซ้ําของไบต์ที่สามารถสลับได้ตามต้องการไปยังพอร์ตใดพอร์ตหนึ่ง พอร์ต Avalon-ST มีหนึ่งสตรีมดังกล่าว ซึ่งกําหนดโดยที่อยู่เริ่มต้น ที่อยู่หยุด และข้อมูลที่จัดเก็บไว้ใน RAM ระหว่างที่อยู่ทั้งสองดังกล่าว รวมทั้งหมด คําต่างๆ จะออกมาตามลําดับจากที่อยู่เริ่มต้นไปจนถึงที่อยู่หยุด แต่ละคําจะเอาต์พุต MSB ก่อน เวอร์ชันสาธิตนี้จะถือว่าแอดเดรสหยุดนั้นใหญ่กว่าที่อยู่เริ่มต้น

ตัวอย่างเช่น พิจารณาเนื้อหาหน่วยความจําต่อไปนี้:
ที่อยู่เริ่มต้น: 0xbeef_0742
0xdace_32f7
ที่อยู่หยุด: 0xb0de_13ef
ผลที่ได้คือ: be-ef-07-42-da-ce-32-f7-b0-de-13-ef-be-ef-07 ...

อินเตอร์เฟซ Avalon-MM CSR

อินเทอร์เฟซ Avalon-MM เป็นอินเทอร์เฟซการควบคุมและการลงทะเบียนสถานะ (CSR) ที่เรียบง่ายเพื่อควบคุมพอร์ตการสตรีมที่กล่าวถึงข้างต้น ต้องใช้อินเทอร์เฟซนี้เฉพาะเมื่อมีการเปิดใช้งานอินเทอร์เฟซ Avalon-ST และถูกปิดใช้งานเมื่อปิดใช้งานอินเทอร์เฟซ Avalon-ST พารามิเตอร์จะระบุAvalon®ความกว้างของที่อยู่สเลฟและความกว้างของข้อมูล

รีจิสเตอร์ตัวควบคุมจะอยู่ในช่วงแอดเดรสที่แยกจากช่วงแอดเดรสของหน่วยความจํา และสามารถกําหนดแอดเดรสพื้นฐานได้ทุกที่ในแผนผังหน่วยความจําระบบ ตารางต่อไปนี้แสดงรายการวัตถุประสงค์สําหรับการลงทะเบียนการควบคุมแต่ละตัว:

ตัวแก้ไขพารามิเตอร์ Qsys

ภาพหน้าจอต่อไปนี้แสดง UI ตัวแก้ไขพารามิเตอร์สําหรับส่วนประกอบหน่วยความจํา Demo AXI ใน Qsys

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