โปรเซสเซอร์ฝังตัว Altera Nios V
ข้อมูลจำเพาะ
- ชื่อสินค้า: โปรเซสเซอร์ Nios V
- Software Compatibility: Quartus Prime Software and Platform Designer
- ประเภทโปรเซสเซอร์: Altera FPGA
- ระบบหน่วยความจำ: หน่วยความจำแบบระเหยและแบบไม่ระเหย
- อินเทอร์เฟซการสื่อสาร: ตัวแทน UART
Nios V Processor Hardware System Design
To design the Nios V Processor hardware system, follow these steps:
- Create Nios V Processor system design using Platform Designer.
- บูรณาการระบบเข้ากับโครงการ Quartus Prime
- Design memory system including volatile and non-volatile memory.
- นำนาฬิกาและรีเซ็ตมาใช้ตามแนวทางปฏิบัติที่ดีที่สุด
- กำหนดค่าเริ่มต้นและตัวแทน UART เพื่อการทำงานที่มีประสิทธิภาพ
Nios V Processor Software System Design
การออกแบบระบบซอฟต์แวร์สำหรับ Nios V Processor:
- ติดตามกระแสการพัฒนาซอฟต์แวร์สำหรับ Nios V Processor
- Create Board Support Package Project and Application Project.
Nios V Processor Configuration and Booting Solutions
สำหรับการกำหนดค่าและบูตโปรเซสเซอร์ Nios V:
- Understand the introduction to configuration and booting solutions.
- เชื่อมโยงแอปพลิเคชันเพื่อการทำงานที่ราบรื่น
About the Nios® V Embedded Processor
1.1. Altera® FPGA และโปรเซสเซอร์แบบฝังตัวview
อุปกรณ์ Altera FPGA สามารถใช้ตรรกะที่ทำงานเป็นไมโครโปรเซสเซอร์แบบสมบูรณ์พร้อมทั้งมีตัวเลือกมากมาย
ข้อแตกต่างที่สำคัญระหว่างไมโครโปรเซสเซอร์แบบแยกส่วนและ Altera FPGA คือ แฟบริคของ Altera FPGA ไม่มีลอจิกใดๆ เมื่อเปิดเครื่อง โปรเซสเซอร์ Nios® V เป็นโปรเซสเซอร์ทรัพย์สินทางปัญญา (IP) แบบอ่อนตามข้อกำหนด RISC-V ก่อนที่คุณจะรันซอฟต์แวร์บนระบบที่ใช้โปรเซสเซอร์ Nios V คุณต้องกำหนดค่าอุปกรณ์ Altera FPGA ด้วยการออกแบบฮาร์ดแวร์ที่มีโปรเซสเซอร์ Nios V คุณสามารถวางโปรเซสเซอร์ Nios V ไว้ที่ใดก็ได้บน Altera FPGA ขึ้นอยู่กับข้อกำหนดของการออกแบบ
หากต้องการให้ระบบฝังตัว Altera® FPGA ที่ใช้ IP ของคุณทำงานเป็นระบบที่ใช้ไมโครโปรเซสเซอร์แบบแยกส่วน ระบบของคุณควรมีสิ่งต่อไปนี้: · AJTAG อินเทอร์เฟซเพื่อรองรับการกำหนดค่า Altera FPGA ฮาร์ดแวร์และซอฟต์แวร์
การแก้จุดบกพร่อง · กลไกการกำหนดค่า Altera FPGA แบบเพิ่มพลัง
หากระบบของคุณมีความสามารถเหล่านี้ คุณสามารถเริ่มต้นปรับแต่งการออกแบบของคุณจากการออกแบบฮาร์ดแวร์ที่ผ่านการทดสอบล่วงหน้าแล้วซึ่งโหลดไว้ใน Altera FPGA การใช้ Altera FPGA ยังช่วยให้คุณปรับเปลี่ยนการออกแบบได้อย่างรวดเร็วเพื่อแก้ไขปัญหาหรือเพิ่มฟังก์ชันการทำงานใหม่ๆ คุณสามารถทดสอบการออกแบบฮาร์ดแวร์ใหม่เหล่านี้ได้อย่างง่ายดายโดยการกำหนดค่า Altera FPGA ใหม่โดยใช้ J ของระบบTAG อินเทอร์เฟซ
เจTAG อินเทอร์เฟซรองรับการพัฒนาฮาร์ดแวร์และซอฟต์แวร์ คุณสามารถทำงานต่อไปนี้ได้โดยใช้ JTAG อินเทอร์เฟซ: · กำหนดค่า Altera FPGA · ดาวน์โหลดและแก้ไขซอฟต์แวร์ · สื่อสารกับ Altera FPGA ผ่านอินเทอร์เฟซแบบ UART (JTAG ยูเออาร์ที
เทอร์มินัล) · ดีบักฮาร์ดแวร์ (ด้วยเครื่องวิเคราะห์ลอจิกแบบฝัง Signal Tap) · โปรแกรมหน่วยความจำแฟลช
หลังจากที่คุณกำหนดค่า Altera FPGA ด้วยการออกแบบที่ใช้โปรเซสเซอร์ Nios V แล้ว ขั้นตอนการพัฒนาซอฟต์แวร์จะคล้ายกับขั้นตอนสำหรับการออกแบบไมโครคอนโทรลเลอร์แบบแยกส่วน
ข้อมูลที่เกี่ยวข้อง · AN 985: บทช่วยสอนเกี่ยวกับโปรเซสเซอร์ Nios V
คู่มือเริ่มต้นอย่างรวดเร็วเกี่ยวกับการสร้างระบบโปรเซสเซอร์ Nios V ง่ายๆ และการรันแอปพลิเคชัน Hello World
© Altera Corporation Altera, โลโก้ Altera, โลโก้ 'a' และเครื่องหมายอื่นๆ ของ Altera เป็นเครื่องหมายการค้าของ Altera Corporation Altera ขอสงวนสิทธิ์ในการเปลี่ยนแปลงผลิตภัณฑ์และบริการใดๆ ได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบล่วงหน้า Altera ไม่รับผิดชอบใดๆ ที่เกิดขึ้นจากการใช้หรือการใช้ข้อมูล ผลิตภัณฑ์ หรือบริการใดๆ ที่อธิบายไว้ในที่นี้ เว้นแต่จะได้รับความยินยอมเป็นลายลักษณ์อักษรจาก Altera อย่างชัดแจ้ง ขอแนะนำให้ลูกค้าของ Altera ศึกษาข้อมูลจำเพาะของอุปกรณ์เวอร์ชันล่าสุดก่อนที่จะใช้ข้อมูลที่เผยแพร่ และก่อนทำการสั่งซื้อผลิตภัณฑ์หรือบริการ *ชื่อและแบรนด์อื่นๆ อาจเป็นทรัพย์สินของผู้อื่น
1. เกี่ยวกับโปรเซสเซอร์ฝังตัว Nios® V 726952 | 2025.07.16
คู่มืออ้างอิงโปรเซสเซอร์ Nios V ให้ข้อมูลเกี่ยวกับเกณฑ์มาตรฐานประสิทธิภาพโปรเซสเซอร์ Nios V สถาปัตยกรรมโปรเซสเซอร์ โมเดลการเขียนโปรแกรม และการใช้งานหลัก
· คู่มือผู้ใช้ IP ของอุปกรณ์ต่อพ่วงแบบฝัง · คู่มือสำหรับนักพัฒนาซอฟต์แวร์โปรเซสเซอร์ Nios V
อธิบายสภาพแวดล้อมการพัฒนาซอฟต์แวร์โปรเซสเซอร์ Nios V เครื่องมือที่มีให้ใช้งาน และกระบวนการสร้างซอฟต์แวร์เพื่อรันบนโปรเซสเซอร์ Nios V · คู่มือผู้ใช้ Ashling* RiscFree* Integrated Development Environment (IDE) สำหรับ Altera FPGA อธิบายสภาพแวดล้อมการพัฒนาแบบบูรณาการ (IDE) RiscFree* สำหรับ Altera FPGA HPS ที่ใช้ Arm* และโปรเซสเซอร์หลัก Nios V · หมายเหตุการเผยแพร่ Altera FPGA IP ของโปรเซสเซอร์ Nios V
1.2. การสนับสนุนซอฟต์แวร์ Quartus® Prime
ขั้นตอนการสร้างโปรเซสเซอร์ Nios V จะแตกต่างกันระหว่างซอฟต์แวร์ Quartus® Prime Pro Edition และซอฟต์แวร์ Quartus Prime Standard Edition โปรดดู AN 980: การสนับสนุนซอฟต์แวร์ Quartus Prime สำหรับโปรเซสเซอร์ Nios V
ข้อมูลที่เกี่ยวข้อง AN 980: โปรเซสเซอร์ Nios V รองรับซอฟต์แวร์ Quartus Prime
1.3. การอนุญาตสิทธิ์โปรเซสเซอร์ Nios V
โปรเซสเซอร์ Nios V แต่ละรุ่นจะมีรหัสลิขสิทธิ์ของตัวเอง เมื่อคุณได้รับรหัสลิขสิทธิ์แล้ว คุณสามารถใช้รหัสลิขสิทธิ์เดียวกันนี้กับทุกโปรเจกต์ที่ใช้โปรเซสเซอร์ Nios V ได้จนถึงวันหมดอายุ คุณสามารถซื้อใบอนุญาต Nios V Processor Altera FPGA IP ได้โดยไม่มีค่าใช้จ่าย
รายชื่อคีย์ลิขสิทธิ์ของโปรเซสเซอร์ Nios V สามารถดูได้ที่ศูนย์อนุญาตสิทธิ์แบบบริการตนเอง Altera FPGA คลิกแท็บ "ลงทะเบียนเพื่อประเมินผล" หรือ "สิทธิ์ใช้งานฟรี" แล้วเลือกตัวเลือกที่เกี่ยวข้องเพื่อส่งคำขอ
รูปที่ 1 ศูนย์อนุญาตสิทธิ์แบบบริการตนเอง Altera FPGA
ด้วยรหัสลิขสิทธิ์ คุณสามารถ:
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 7
1. เกี่ยวกับโปรเซสเซอร์ฝังตัว Nios® V 726952 | 2025.07.16
· นำโปรเซสเซอร์ Nios V ไปใช้ในระบบของคุณ · จำลองพฤติกรรมของระบบโปรเซสเซอร์ Nios V · ตรวจสอบฟังก์ชันการทำงานของการออกแบบ เช่น ขนาดและความเร็ว · สร้างโปรแกรมอุปกรณ์ files. · เขียนโปรแกรมอุปกรณ์และตรวจสอบการออกแบบในฮาร์ดแวร์
คุณไม่จำเป็นต้องมีใบอนุญาตในการพัฒนาซอฟต์แวร์ใน Ashling* RiscFree* IDE สำหรับ Altera FPGA
ข้อมูลที่เกี่ยวข้อง · ศูนย์อนุญาตสิทธิ์แบบบริการตนเอง Altera FPGA
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรับคีย์ลิขสิทธิ์ Nios V Processor Altera FPGA IP · การติดตั้งและการอนุญาตสิทธิ์ซอฟต์แวร์ Altera FPGA สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการออกใบอนุญาตซอฟต์แวร์ Altera FPGA และการตั้งค่าเซิร์ฟเวอร์ใบอนุญาตคงที่และเซิร์ฟเวอร์ใบอนุญาตเครือข่าย
1.4. การออกแบบระบบฝังตัว
รูปภาพต่อไปนี้แสดงให้เห็นขั้นตอนการออกแบบระบบที่ใช้โปรเซสเซอร์ Nios V แบบง่าย ๆ ซึ่งรวมถึงการพัฒนาทั้งฮาร์ดแวร์และซอฟต์แวร์
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 8
ส่งคำติชม
1. เกี่ยวกับโปรเซสเซอร์ฝังตัว Nios® V 726952 | 2025.07.16
รูปที่ 2.
การออกแบบระบบโปรเซสเซอร์ Nios V
แนวคิดของระบบ
วิเคราะห์ความต้องการของระบบ
นิออส® วี
แกนประมวลผลและส่วนประกอบมาตรฐาน
กำหนดและสร้างระบบใน
ผู้ออกแบบแพลตฟอร์ม
การไหลของฮาร์ดแวร์: บูรณาการและคอมไพล์โครงการ Intel Quartus Prime
Software Flow: พัฒนาและสร้างซอฟต์แวร์ข้อเสนอ Nios V
การไหลของฮาร์ดแวร์: ดาวน์โหลดการออกแบบ FPGA
ไปที่บอร์ดเป้าหมาย
การไหลของซอฟต์แวร์: ทดสอบและแก้ไขข้อบกพร่องซอฟต์แวร์โปรเซสเซอร์ Nios V
ซอฟต์แวร์ไม่ตรงตามข้อกำหนดใช่ไหม?
ใช่
ฮาร์ดแวร์ไม่ตรงตามข้อกำหนดใช่ไหม? ใช่
ระบบสมบูรณ์
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 9
726952 | 2025.07.16 ส่งคำติชม
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
รูปที่ 3.
แผนภาพต่อไปนี้แสดงการออกแบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ทั่วไป ขั้นตอนการออกแบบฮาร์ดแวร์ระบบโปรเซสเซอร์ Nios V
เริ่ม
Nios V Cores และส่วนประกอบมาตรฐาน
ใช้ Platform Designer เพื่อออกแบบระบบที่ใช้ Nios V
สร้างการออกแบบนักออกแบบแพลตฟอร์ม
บูรณาการระบบออกแบบแพลตฟอร์มกับโครงการ Intel Quartus Prime
กำหนดตำแหน่งพิน ข้อกำหนดด้านเวลา และข้อจำกัดด้านการออกแบบอื่นๆ
คอมไพล์ฮาร์ดแวร์สำหรับอุปกรณ์เป้าหมายใน Intel Quartus Prime
พร้อมดาวน์โหลด
2.1. การสร้างการออกแบบระบบโปรเซสเซอร์ Nios V ด้วย Platform Designer
ซอฟต์แวร์ Quartus Prime มาพร้อมกับเครื่องมือผสานรวมระบบ Platform Designer ที่ช่วยลดความยุ่งยากในการกำหนดและผสานรวมแกนประมวลผล IP ของโปรเซสเซอร์ Nios V และ IP อื่นๆ เข้ากับการออกแบบระบบ Altera FPGA Platform Designer จะสร้างตรรกะการเชื่อมต่อโดยอัตโนมัติจากการเชื่อมต่อระดับสูงที่กำหนด ระบบอัตโนมัติของการเชื่อมต่อช่วยลดภาระงานที่สิ้นเปลืองเวลาในการระบุการเชื่อมต่อ HDL ระดับระบบ
© Altera Corporation Altera, โลโก้ Altera, โลโก้ 'a' และเครื่องหมายอื่นๆ ของ Altera เป็นเครื่องหมายการค้าของ Altera Corporation Altera ขอสงวนสิทธิ์ในการเปลี่ยนแปลงผลิตภัณฑ์และบริการใดๆ ได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบล่วงหน้า Altera ไม่รับผิดชอบใดๆ ที่เกิดขึ้นจากการใช้หรือการใช้ข้อมูล ผลิตภัณฑ์ หรือบริการใดๆ ที่อธิบายไว้ในที่นี้ เว้นแต่จะได้รับความยินยอมเป็นลายลักษณ์อักษรจาก Altera อย่างชัดแจ้ง ขอแนะนำให้ลูกค้าของ Altera ศึกษาข้อมูลจำเพาะของอุปกรณ์เวอร์ชันล่าสุดก่อนที่จะใช้ข้อมูลที่เผยแพร่ และก่อนทำการสั่งซื้อผลิตภัณฑ์หรือบริการ *ชื่อและแบรนด์อื่นๆ อาจเป็นทรัพย์สินของผู้อื่น
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
หลังจากวิเคราะห์ความต้องการฮาร์ดแวร์ของระบบแล้ว คุณจะใช้ Quartus Prime เพื่อระบุคอร์ประมวลผล หน่วยความจำ และส่วนประกอบอื่นๆ ของ Nios V ที่ระบบของคุณต้องการ โปรแกรมออกแบบแพลตฟอร์มจะสร้างตรรกะการเชื่อมต่อโดยอัตโนมัติเพื่อรวมส่วนประกอบต่างๆ เข้ากับระบบฮาร์ดแวร์
2.1.1. การสร้างอินสแตนซ์โปรเซสเซอร์ Nios V Altera FPGA IP
You can instantiate any of the processor IP cores in Platform Designer IP Catalog Processors and Peripherals Embedded Processors.
แกน IP ของโปรเซสเซอร์แต่ละตัวรองรับตัวเลือกการกำหนดค่าที่แตกต่างกันตามสถาปัตยกรรมเฉพาะ คุณสามารถกำหนดค่าเหล่านี้เพื่อให้เหมาะกับความต้องการด้านการออกแบบของคุณมากขึ้น
ตารางที่ 1.
ตัวเลือกการกำหนดค่าข้ามตัวแปรหลัก
ตัวเลือกการกำหนดค่า
โปรเซสเซอร์ Nios V/c
โปรเซสเซอร์ Nios V/m
ดีบักการใช้งานคำขอรีเซ็ต
—
กับดัก ข้อยกเว้น และการขัดจังหวะ
สถาปัตยกรรมซีพียู
อีซีซี
แคช ภูมิภาครอบนอก และ TCM
—
—
คำแนะนำที่กำหนดเอง
—
—
ล็อคสเต็ป
—
—
โปรเซสเซอร์ Nios V/g
2.1.1.1. การสร้าง Nios V/c Compact Microcontroller Altera FPGA IP รูปที่ 4 Nios V/c Compact Microcontroller Altera FPGA IP
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 11
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
2.1.1.1.1. แท็บสถาปัตยกรรม CPU
ตารางที่ 2.
แท็บสถาปัตยกรรม CPU
คุณสมบัติ
คำอธิบาย
เปิดใช้งานอินเทอร์เฟซ Avalon® เปิดใช้งานอินเทอร์เฟซ Avalon สำหรับตัวจัดการคำสั่งและตัวจัดการข้อมูล หากปิดใช้งาน ระบบจะใช้อินเทอร์เฟซ AXI4-Lite
คุณค่า CSR ของมาร์ทิด
· ตัวเลือก IP ไม่ถูกต้อง · ห้ามใช้ค่า CSR ของ mhartid ในโปรเซสเซอร์ Nios V/c
2.1.1.1.2. ใช้แท็บคำขอรีเซ็ต
ตารางที่ 3.
ใช้พารามิเตอร์แท็บคำขอรีเซ็ต
ใช้แท็บคำขอรีเซ็ต
คำอธิบาย
เพิ่มอินเทอร์เฟซการร้องขอการรีเซ็ต
· เปิดใช้งานตัวเลือกนี้เพื่อเปิดเผยพอร์ตรีเซ็ตในเครื่องซึ่งมาสเตอร์ในเครื่องสามารถใช้เพื่อสั่งให้โปรเซสเซอร์ Nios V รีเซ็ตโดยไม่ส่งผลกระทบต่อส่วนประกอบอื่น ๆ ในระบบโปรเซสเซอร์ Nios V
อินเทอร์เฟซการรีเซ็ตประกอบด้วยสัญญาณอินพุต resetreq และสัญญาณเอาต์พุต ack
· คุณสามารถร้องขอการรีเซ็ตโปรเซสเซอร์หลัก Nios V ได้โดยยืนยันสัญญาณ resetreq
สัญญาณ resetreq จะต้องคงอยู่จนกว่าโปรเซสเซอร์จะยืนยันสัญญาณ ack หากสัญญาณไม่คงอยู่ อาจทำให้โปรเซสเซอร์อยู่ในสถานะที่ไม่สามารถกำหนดได้
· โปรเซสเซอร์ Nios V ตอบสนองว่าการรีเซ็ตสำเร็จโดยยืนยันสัญญาณตอบรับ
หลังจากโปรเซสเซอร์รีเซ็ตสำเร็จแล้ว การยืนยันสัญญาณ ack อาจเกิดขึ้นเป็นระยะๆ หลายครั้ง จนกระทั่งการยกเลิกการยืนยันสัญญาณ resetreq
2.1.1.1.3. แท็บ Traps, Exceptions และ Interrupts
ตารางที่ 4.
พารามิเตอร์แท็บ Traps, Exceptions และการขัดจังหวะ
กับดัก ข้อยกเว้น และการขัดจังหวะ
คำอธิบาย
รีเซ็ตตัวแทน
หน่วยความจำที่โฮสต์เวกเตอร์การรีเซ็ต (ที่อยู่การรีเซ็ตของโปรเซสเซอร์ Nios V) ซึ่งรหัสการรีเซ็ตตั้งอยู่
· คุณสามารถเลือกโมดูลหน่วยความจำใดๆ ที่เชื่อมต่อกับมาสเตอร์คำสั่งโปรเซสเซอร์ Nios V และรองรับโดยโฟลว์การบูตโปรเซสเซอร์ Nios V เป็นตัวแทนการรีเซ็ต
รีเซ็ตออฟเซ็ต
· ระบุค่าออฟเซ็ตของเวกเตอร์การรีเซ็ตที่สัมพันธ์กับที่อยู่ฐานของตัวแทนการรีเซ็ตที่เลือก · Platform Designer จะให้ค่าเริ่มต้นสำหรับค่าออฟเซ็ตการรีเซ็ตโดยอัตโนมัติ
บันทึก:
Platform Designer มีตัวเลือก Absolute ซึ่งช่วยให้คุณระบุที่อยู่แบบ Absolute ใน Reset Offset ได้ ใช้ตัวเลือกนี้เมื่อหน่วยความจำที่เก็บเวกเตอร์รีเซ็ตอยู่นอกระบบและระบบย่อยของโปรเซสเซอร์
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 12
ส่งคำติชม
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
2.1.1.1.4. แท็บ ECC
ตารางที่ 5.
แท็บ ECC
อีซีซี
เปิดใช้งานการตรวจจับข้อผิดพลาดและการรายงานสถานะ
คำอธิบาย
· เปิดใช้งานตัวเลือกนี้เพื่อใช้คุณสมบัติ ECC สำหรับบล็อก RAM ภายในโปรเซสเซอร์ Nios V · คุณสมบัติ ECC ตรวจจับข้อผิดพลาดสูงสุด 2 บิตและตอบสนองตามพฤติกรรมต่อไปนี้:
— หากเป็นข้อผิดพลาด 1 บิตที่แก้ไขได้ โปรเซสเซอร์จะยังคงทำงานต่อไปหลังจากแก้ไขข้อผิดพลาดในไพพ์ไลน์ของโปรเซสเซอร์แล้ว อย่างไรก็ตาม การแก้ไขจะไม่ปรากฏในหน่วยความจำต้นทาง
— หากข้อผิดพลาดไม่สามารถแก้ไขได้ โปรเซสเซอร์จะยังคงทำงานต่อไปโดยไม่แก้ไขข้อผิดพลาดในไปป์ไลน์ของโปรเซสเซอร์และหน่วยความจำต้นทาง ซึ่งอาจทำให้โปรเซสเซอร์เข้าสู่สถานะที่ไม่แน่นอน
2.1.1.2. การสร้างอินสแตนซ์ Nios V/m Microcontroller Altera FPGA IP รูปที่ 5. Nios V/m Microcontroller Altera FPGA IP
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 13
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
2.1.1.2.1. แท็บดีบัก
ตารางที่ 6.
พารามิเตอร์แท็บดีบัก
แท็บดีบัก
คำอธิบาย
เปิดใช้งานการดีบัก
เปิดใช้งานการรีเซ็ตจากโมดูลดีบัก
· เปิดใช้งานตัวเลือกนี้เพื่อเพิ่ม JTAG โมดูลการเชื่อมต่อเป้าหมายกับโปรเซสเซอร์ Nios V · JTAG โมดูลการเชื่อมต่อเป้าหมายช่วยให้สามารถเชื่อมต่อกับโปรเซสเซอร์ Nios V ผ่านทาง
JTAG พินอินเทอร์เฟซของ FPGA · การเชื่อมต่อนี้ให้ความสามารถพื้นฐานดังต่อไปนี้:
— เริ่มและหยุดโปรเซสเซอร์ Nios V — ตรวจสอบและแก้ไขรีจิสเตอร์และหน่วยความจำ — ดาวน์โหลดแอปพลิเคชัน Nios V .elf file ไปยังหน่วยความจำของโปรเซสเซอร์ในขณะรันไทม์ผ่าน
ดาวน์โหลด niosv — ดีบักแอปพลิเคชันที่ทำงานบนโปรเซสเซอร์ Nios V · เชื่อมต่อพอร์ต dm_agent เข้ากับคำสั่งโปรเซสเซอร์และบัสข้อมูล ตรวจสอบให้แน่ใจว่าที่อยู่ฐานระหว่างบัสทั้งสองตรงกัน
· เปิดใช้งานตัวเลือกนี้เพื่อเปิดเผยพอร์ต dbg_reset_out และ ndm_reset_in · JTAG คำสั่ง debugger หรือ niosv-download -r จะทริกเกอร์ dbg_reset_out ซึ่ง
อนุญาตให้โปรเซสเซอร์ Nios V รีเซ็ตอุปกรณ์ต่อพ่วงระบบที่เชื่อมต่อกับพอร์ตนี้ · คุณต้องเชื่อมต่ออินเทอร์เฟซ dbg_reset_out กับ ndm_reset_in แทนการรีเซ็ต
อินเทอร์เฟซสำหรับทริกเกอร์การรีเซ็ตไปยังแกนประมวลผลและโมดูลตัวจับเวลา คุณต้องไม่เชื่อมต่ออินเทอร์เฟซ dbg_reset_out กับอินเทอร์เฟซการรีเซ็ต เพื่อป้องกันพฤติกรรมที่ไม่แน่นอน
2.1.1.2.2. ใช้แท็บคำขอรีเซ็ต
ตารางที่ 7.
ใช้พารามิเตอร์แท็บคำขอรีเซ็ต
ใช้แท็บคำขอรีเซ็ต
คำอธิบาย
เพิ่มอินเทอร์เฟซการร้องขอการรีเซ็ต
· เปิดใช้งานตัวเลือกนี้เพื่อเปิดเผยพอร์ตรีเซ็ตในเครื่องซึ่งมาสเตอร์ในเครื่องสามารถใช้เพื่อสั่งให้โปรเซสเซอร์ Nios V รีเซ็ตโดยไม่ส่งผลกระทบต่อส่วนประกอบอื่น ๆ ในระบบโปรเซสเซอร์ Nios V
อินเทอร์เฟซการรีเซ็ตประกอบด้วยสัญญาณอินพุต resetreq และสัญญาณเอาต์พุต ack
· คุณสามารถร้องขอการรีเซ็ตโปรเซสเซอร์หลัก Nios V ได้โดยยืนยันสัญญาณ resetreq
สัญญาณ resetreq จะต้องคงอยู่จนกว่าโปรเซสเซอร์จะยืนยันสัญญาณ ack หากสัญญาณไม่คงอยู่ อาจทำให้โปรเซสเซอร์อยู่ในสถานะที่ไม่สามารถกำหนดได้
การยืนยันสัญญาณ resetreq ในโหมดดีบักไม่มีผลต่อสถานะของโปรเซสเซอร์
· โปรเซสเซอร์ Nios V ตอบสนองว่าการรีเซ็ตสำเร็จโดยยืนยันสัญญาณตอบรับ
หลังจากโปรเซสเซอร์รีเซ็ตสำเร็จแล้ว การยืนยันสัญญาณ ack อาจเกิดขึ้นเป็นระยะๆ หลายครั้ง จนกระทั่งการยกเลิกการยืนยันสัญญาณ resetreq
2.1.1.2.3. แท็บ Traps, Exceptions และ Interrupts
ตารางที่ 8.
แท็บกับดัก ข้อยกเว้น และการขัดจังหวะ
แท็บกับดัก ข้อยกเว้น และการขัดจังหวะ
คำอธิบาย
รีเซ็ตตัวแทน
หน่วยความจำที่โฮสต์เวกเตอร์การรีเซ็ต (ที่อยู่การรีเซ็ตของโปรเซสเซอร์ Nios V) ซึ่งรหัสการรีเซ็ตตั้งอยู่
· คุณสามารถเลือกโมดูลหน่วยความจำใดๆ ที่เชื่อมต่อกับมาสเตอร์คำสั่งโปรเซสเซอร์ Nios V และรองรับโดยโฟลว์การบูตโปรเซสเซอร์ Nios V เป็นตัวแทนการรีเซ็ต
รีเซ็ตโหมดขัดจังหวะออฟเซ็ต
· ระบุค่าออฟเซ็ตของเวกเตอร์การรีเซ็ตที่สัมพันธ์กับที่อยู่ฐานของตัวแทนการรีเซ็ตที่เลือก · Platform Designer จะให้ค่าเริ่มต้นสำหรับค่าออฟเซ็ตการรีเซ็ตโดยอัตโนมัติ
ระบุประเภทของตัวควบคุมการขัดจังหวะแบบ Direct หรือ Vectored หมายเหตุ: โปรเซสเซอร์ Nios V/m แบบไม่ Pipeline ไม่รองรับการขัดจังหวะแบบ Vectored
ดังนั้น หลีกเลี่ยงการใช้โหมดขัดจังหวะแบบเวกเตอร์เมื่อโปรเซสเซอร์อยู่ในโหมด Nonpipelined
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 14
ส่งคำติชม
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
บันทึก:
Platform Designer มีตัวเลือก Absolute ซึ่งช่วยให้คุณระบุที่อยู่แบบ Absolute ใน Reset Offset ได้ ใช้ตัวเลือกนี้เมื่อหน่วยความจำที่เก็บเวกเตอร์รีเซ็ตอยู่นอกระบบและระบบย่อยของโปรเซสเซอร์
2.1.1.2.4. สถาปัตยกรรมซีพียู
ตารางที่ 9.
พารามิเตอร์แท็บสถาปัตยกรรม CPU
สถาปัตยกรรมซีพียู
คำอธิบาย
เปิดใช้งาน Pipelining ใน CPU
· เปิดใช้งานตัวเลือกนี้เพื่อสร้างโปรเซสเซอร์ Nios V/m แบบไพพ์ไลน์ — IPC สูงขึ้นโดยแลกกับพื้นที่ลอจิกที่สูงขึ้นและความถี่ Fmax ที่ต่ำลง
· ปิดใช้งานตัวเลือกนี้เพื่อสร้างโปรเซสเซอร์ Nios V/m ที่ไม่ใช้ไพพ์ไลน์ — มีประสิทธิภาพแกนกลางที่คล้ายคลึงกันกับโปรเซสเซอร์ Nios V/c — รองรับความสามารถในการดีบักและขัดจังหวะ — พื้นที่ลอจิกต่ำกว่าและความถี่ Fmax สูงกว่าโดยแลกกับ IPC ที่ต่ำกว่า
เปิดใช้งานอินเทอร์เฟซ Avalon
เปิดใช้งาน Avalon Interface สำหรับตัวจัดการคำสั่งและตัวจัดการข้อมูล หากปิดใช้งาน ระบบจะใช้อินเทอร์เฟซ AXI4-Lite
คุณค่า CSR ของมาร์ทิด
ค่า Hart ID register (mhartid) จะเป็น 0 ตามค่าเริ่มต้น กำหนดค่าระหว่าง 0 ถึง 4094 เข้ากันได้กับ Altera FPGA Avalon Mutex Core HAL API
ข้อมูลที่เกี่ยวข้อง คู่มือผู้ใช้ Embedded Peripheral IP – Intel FPGA Avalon® Mutex Core
2.1.1.2.5. แท็บ ECC
ตารางที่ 10 แท็บ ECC
การตรวจจับข้อผิดพลาดและการรายงานสถานะที่เปิดใช้งาน ECC
คำอธิบาย
· เปิดใช้งานตัวเลือกนี้เพื่อใช้คุณสมบัติ ECC สำหรับบล็อก RAM ภายในโปรเซสเซอร์ Nios V · คุณสมบัติ ECC ตรวจจับข้อผิดพลาดสูงสุด 2 บิตและตอบสนองตามพฤติกรรมต่อไปนี้:
— หากเป็นข้อผิดพลาด 1 บิตที่แก้ไขได้ โปรเซสเซอร์จะยังคงทำงานต่อไปหลังจากแก้ไขข้อผิดพลาดในไพพ์ไลน์ของโปรเซสเซอร์แล้ว อย่างไรก็ตาม การแก้ไขจะไม่ปรากฏในหน่วยความจำต้นทาง
— หากข้อผิดพลาดไม่สามารถแก้ไขได้ โปรเซสเซอร์จะยังคงทำงานต่อไปโดยไม่แก้ไขข้อผิดพลาดในไปป์ไลน์ของโปรเซสเซอร์และหน่วยความจำต้นทาง ซึ่งอาจทำให้โปรเซสเซอร์เข้าสู่สถานะที่ไม่แน่นอน
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 15
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
2.1.1.3 การสร้างอินสแตนซ์ Nios V/g โปรเซสเซอร์เอนกประสงค์ Altera FPGA IP
รูปที่ 6 โปรเซสเซอร์อเนกประสงค์ Nios V/g Altera FPGA IP – ตอนที่ 1
รูปที่ 7.
Nios V/g โปรเซสเซอร์เอนกประสงค์ Altera FPGA IP – ตอนที่ 2 (ปิดตัวควบคุมการขัดจังหวะระดับแกนกลาง)
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 16
ส่งคำติชม
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
รูปที่ 8.
Nios V/g โปรเซสเซอร์เอนกประสงค์ Altera FPGA IP – ตอนที่ 2 (เปิดใช้งานตัวควบคุมการขัดจังหวะระดับแกนกลาง)
รูปที่ 9 โปรเซสเซอร์อเนกประสงค์ Nios V/g Altera FPGA IP – ตอนที่ 3
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 17
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
รูปที่ 10 โปรเซสเซอร์อเนกประสงค์ Nios V/g Altera FPGA IP – ตอนที่ 4
2.1.1.3.1. สถาปัตยกรรมซีพียู
ตารางที่ 11 พารามิเตอร์สถาปัตยกรรม CPU
แท็บสถาปัตยกรรม CPU เปิดใช้งานหน่วยจุดลอยตัว
คำอธิบาย เปิดใช้งานตัวเลือกนี้เพื่อเพิ่มหน่วยจุดลอยตัว (ส่วนขยาย "F") ในแกนประมวลผล
เปิดใช้งานการทำนายสาขา
เปิดใช้งานการทำนายสาขาแบบคงที่ (ถ่ายย้อนหลังและไม่ได้ถ่ายไปข้างหน้า) สำหรับคำสั่งสาขา
คุณค่า CSR ของมาร์ทิด
ค่า Hart ID register (mhartid) จะเป็น 0 ตามค่าเริ่มต้น กำหนดค่าระหว่าง 0 ถึง 4094 เข้ากันได้กับ Altera FPGA Avalon Mutex Core HAL API
ปิดใช้งานคำสั่ง FSQRT และ FDIV สำหรับ FPU
· ลบการดำเนินการรากที่สองของจุดลอยตัว (FSQRT) และการหารจุดลอยตัว (FDIV) ใน FPU
· ใช้การจำลองซอฟต์แวร์กับทั้งสองคำสั่งในระหว่างการรันไทม์
ข้อมูลที่เกี่ยวข้อง คู่มือผู้ใช้ Embedded Peripheral IP – Intel FPGA Avalon® Mutex Core
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 18
ส่งคำติชม
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
2.1.1.3.2. แท็บดีบัก
ตารางที่ 12 พารามิเตอร์แท็บดีบัก
แท็บดีบัก
คำอธิบาย
เปิดใช้งานการดีบัก
เปิดใช้งานการรีเซ็ตจากโมดูลดีบัก
· เปิดใช้งานตัวเลือกนี้เพื่อเพิ่ม JTAG โมดูลการเชื่อมต่อเป้าหมายกับโปรเซสเซอร์ Nios V · JTAG โมดูลการเชื่อมต่อเป้าหมายช่วยให้สามารถเชื่อมต่อกับโปรเซสเซอร์ Nios V ผ่านทาง
JTAG พินอินเทอร์เฟซของ FPGA · การเชื่อมต่อนี้ให้ความสามารถพื้นฐานดังต่อไปนี้:
— เริ่มและหยุดโปรเซสเซอร์ Nios V — ตรวจสอบและแก้ไขรีจิสเตอร์และหน่วยความจำ — ดาวน์โหลดแอปพลิเคชัน Nios V .elf file ไปยังหน่วยความจำของโปรเซสเซอร์ในขณะรันไทม์ผ่าน
ดาวน์โหลด niosv — ดีบักแอปพลิเคชันที่ทำงานบนโปรเซสเซอร์ Nios V · เชื่อมต่อพอร์ต dm_agent เข้ากับคำสั่งโปรเซสเซอร์และบัสข้อมูล ตรวจสอบให้แน่ใจว่าที่อยู่ฐานระหว่างบัสทั้งสองตรงกัน
· เปิดใช้งานตัวเลือกนี้เพื่อเปิดเผยพอร์ต dbg_reset_out และ ndm_reset_in · JTAG คำสั่ง debugger หรือ niosv-download -r จะทริกเกอร์ dbg_reset_out ซึ่ง
อนุญาตให้โปรเซสเซอร์ Nios V รีเซ็ตอุปกรณ์ต่อพ่วงระบบที่เชื่อมต่อกับพอร์ตนี้ · คุณต้องเชื่อมต่ออินเทอร์เฟซ dbg_reset_out กับ ndm_reset_in แทนการรีเซ็ต
อินเทอร์เฟซสำหรับทริกเกอร์การรีเซ็ตไปยังแกนประมวลผลและโมดูลตัวจับเวลา คุณต้องไม่เชื่อมต่ออินเทอร์เฟซ dbg_reset_out กับอินเทอร์เฟซการรีเซ็ต เพื่อป้องกันพฤติกรรมที่ไม่แน่นอน
2.1.1.3.3. แท็บ Lockstep ตารางที่ 13. แท็บ Lockstep
พารามิเตอร์ เปิดใช้งานช่วงเวลาหมดเวลาเริ่มต้นของ Lockstep เปิดใช้งานอินเทอร์เฟซการรีเซ็ตแบบขยาย
คำอธิบาย · เปิดใช้งานระบบ Lockstep แบบดูอัลคอร์ · ค่าเริ่มต้นของการหมดเวลาที่ตั้งโปรแกรมได้เมื่อออกจากการรีเซ็ต (ระหว่าง 0 ถึง 255) · เปิดใช้งาน Extended Reset Interface เสริมสำหรับ Extended Reset Control · เมื่อปิดใช้งาน fRSmartComp จะนำ Basic Reset Control ไปใช้
2.1.1.3.4. ใช้แท็บคำขอรีเซ็ต
ตารางที่ 14 ใช้พารามิเตอร์แท็บคำขอรีเซ็ต
ใช้แท็บคำขอรีเซ็ต
คำอธิบาย
เพิ่มอินเทอร์เฟซการร้องขอการรีเซ็ต
· เปิดใช้งานตัวเลือกนี้เพื่อเปิดเผยพอร์ตรีเซ็ตในเครื่องซึ่งมาสเตอร์ในเครื่องสามารถใช้เพื่อสั่งให้โปรเซสเซอร์ Nios V รีเซ็ตโดยไม่ส่งผลกระทบต่อส่วนประกอบอื่น ๆ ในระบบโปรเซสเซอร์ Nios V
อินเทอร์เฟซการรีเซ็ตประกอบด้วยสัญญาณอินพุต resetreq และสัญญาณเอาต์พุต ack
· คุณสามารถร้องขอการรีเซ็ตโปรเซสเซอร์หลัก Nios V ได้โดยยืนยันสัญญาณ resetreq
สัญญาณ resetreq จะต้องคงอยู่จนกว่าโปรเซสเซอร์จะยืนยันสัญญาณ ack หากสัญญาณไม่คงอยู่ อาจทำให้โปรเซสเซอร์อยู่ในสถานะที่ไม่สามารถกำหนดได้
การยืนยันสัญญาณ resetreq ในโหมดดีบักไม่มีผลต่อสถานะของโปรเซสเซอร์
· โปรเซสเซอร์ Nios V ตอบสนองว่าการรีเซ็ตสำเร็จโดยยืนยันสัญญาณตอบรับ
หลังจากโปรเซสเซอร์รีเซ็ตสำเร็จแล้ว การยืนยันสัญญาณ ack อาจเกิดขึ้นเป็นระยะๆ หลายครั้ง จนกระทั่งการยกเลิกการยืนยันสัญญาณ resetreq
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 19
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
2.1.1.3.5. แท็บ Traps, Exceptions และ Interrupts
ตารางที่ 15.
แท็บกับดัก ข้อยกเว้น และการขัดจังหวะ เมื่อเปิดใช้งานตัวควบคุมการขัดจังหวะระดับหลัก
แท็บกับดัก ข้อยกเว้น และการขัดจังหวะ
รีเซ็ตตัวแทน
คำอธิบาย
หน่วยความจำที่โฮสต์เวกเตอร์การรีเซ็ต (ที่อยู่การรีเซ็ตของโปรเซสเซอร์ Nios V) ซึ่งรหัสการรีเซ็ตตั้งอยู่
· คุณสามารถเลือกโมดูลหน่วยความจำใดๆ ที่เชื่อมต่อกับมาสเตอร์คำสั่งโปรเซสเซอร์ Nios V และรองรับโดยโฟลว์การบูตโปรเซสเซอร์ Nios V เป็นตัวแทนการรีเซ็ต
รีเซ็ตออฟเซ็ต
· ระบุค่าออฟเซ็ตของเวกเตอร์การรีเซ็ตที่สัมพันธ์กับที่อยู่ฐานของตัวแทนการรีเซ็ตที่เลือก · Platform Designer จะให้ค่าเริ่มต้นสำหรับค่าออฟเซ็ตการรีเซ็ตโดยอัตโนมัติ
เปิดใช้งานตัวควบคุมการขัดจังหวะระดับแกนหลัก (CLIC)
· เปิดใช้งาน CLIC เพื่อรองรับการขัดจังหวะเชิงป้องกันและเงื่อนไขทริกเกอร์การขัดจังหวะที่กำหนดค่าได้
· เมื่อเปิดใช้งาน คุณสามารถกำหนดค่าจำนวนการขัดจังหวะแพลตฟอร์ม ตั้งเงื่อนไขการทริกเกอร์ และกำหนดการขัดจังหวะบางส่วนเป็นการแย่งชิงก่อน
การลงทะเบียนเงาของโหมดขัดจังหวะ Files
ระบุประเภทการขัดจังหวะเป็นโดยตรงหรือเวกเตอร์ เปิดใช้งานรีจิสเตอร์เงาเพื่อลดการสลับบริบทเมื่อขัดจังหวะ
ตารางที่ 16.
กับดัก ข้อยกเว้น และการขัดจังหวะเมื่อเปิดใช้งานตัวควบคุมการขัดจังหวะระดับแกนหลัก
กับดัก ข้อยกเว้น และการขัดจังหวะ
คำอธิบาย
รีเซ็ตตัวแทน
รีเซ็ตออฟเซ็ต
เปิดใช้งานตัวควบคุมการขัดจังหวะระดับแกนหลัก (CLIC)
หน่วยความจำที่โฮสต์เวกเตอร์การรีเซ็ต (ที่อยู่การรีเซ็ตของโปรเซสเซอร์ Nios V) ซึ่งรหัสการรีเซ็ตตั้งอยู่
· คุณสามารถเลือกโมดูลหน่วยความจำใดๆ ที่เชื่อมต่อกับมาสเตอร์คำสั่งโปรเซสเซอร์ Nios V และรองรับโดยโฟลว์การบูตโปรเซสเซอร์ Nios V เป็นตัวแทนการรีเซ็ต
· ระบุค่าออฟเซ็ตของเวกเตอร์การรีเซ็ตที่สัมพันธ์กับที่อยู่ฐานของตัวแทนการรีเซ็ตที่เลือก · Platform Designer จะให้ค่าเริ่มต้นสำหรับค่าออฟเซ็ตการรีเซ็ตโดยอัตโนมัติ
· เปิดใช้งาน CLIC เพื่อรองรับการขัดจังหวะแบบเชิงรุกและเงื่อนไขทริกเกอร์การขัดจังหวะที่กำหนดค่าได้ · เมื่อเปิดใช้งาน คุณสามารถกำหนดค่าจำนวนการขัดจังหวะแพลตฟอร์ม ตั้งค่าเงื่อนไขทริกเกอร์
และกำหนดการขัดจังหวะบางส่วนเป็นการชิงเชิงรุก
โหมดขัดจังหวะ
· ระบุประเภทการขัดจังหวะเป็น แบบตรง แบบเวกเตอร์ หรือ แบบ CLIC
ทะเบียนเงา Files
· เปิดใช้งานรีจิสเตอร์เงาเพื่อลดการสลับบริบทเมื่อเกิดการขัดจังหวะ
· เสนอสองแนวทาง:
— จำนวนระดับการขัดจังหวะ CLIC
— จำนวนระดับการขัดจังหวะ CLIC – 1: ตัวเลือกนี้มีประโยชน์เมื่อคุณต้องการจำนวนรีจิสเตอร์ file สำเนาให้พอดีกับจำนวนบล็อก M20K หรือ M9K
· เปิดใช้งานโปรเซสเซอร์ Nios V เพื่อใช้รีจิสเตอร์เงา fileซึ่งช่วยลดภาระในการสลับบริบทเมื่อเกิดการขัดจังหวะ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการลงทะเบียนเงา fileโปรดดูคู่มืออ้างอิงโปรเซสเซอร์ Nios V
จำนวนแหล่งขัดจังหวะแพลตฟอร์ม
· ระบุจำนวนการขัดจังหวะแพลตฟอร์มระหว่าง 16 ถึง 2048
หมายเหตุ: CLIC รองรับอินพุตการขัดจังหวะสูงสุด 2064 รายการ และอินพุตการขัดจังหวะ 16 รายการแรกยังเชื่อมต่อกับตัวควบคุมการขัดจังหวะพื้นฐานอีกด้วย
การจัดตำแหน่งตารางเวกเตอร์ CLIC
· กำหนดโดยอัตโนมัติตามจำนวนแหล่งขัดจังหวะแพลตฟอร์ม · หากคุณใช้การจัดตำแหน่งที่ต่ำกว่าค่าที่แนะนำ CLIC จะเพิ่มตรรกะ
ความซับซ้อนโดยการเพิ่มตัวบวกพิเศษเพื่อดำเนินการคำนวณเวกเตอร์ · หากคุณใช้การจัดตำแหน่งที่ต่ำกว่าค่าที่แนะนำ จะทำให้ค่าเพิ่มขึ้น
ความซับซ้อนของตรรกะใน CLIC
ต่อเนื่อง…
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 20
ส่งคำติชม
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
กับดัก ข้อยกเว้น และการขัดจังหวะ
จำนวนระดับการขัดจังหวะ
จำนวนลำดับความสำคัญของการขัดจังหวะต่อระดับ
ขั้วขัดจังหวะที่กำหนดค่าได้ รองรับการขัดจังหวะแบบทริกเกอร์ขอบ
คำอธิบาย
· ระบุจำนวนระดับการขัดจังหวะ โดยเพิ่มระดับ 0 ให้กับโค้ดแอปพลิเคชัน การขัดจังหวะในระดับที่สูงกว่าสามารถขัดจังหวะ (pre-empt) ตัวจัดการที่กำลังทำงานอยู่สำหรับการขัดจังหวะระดับที่ต่ำกว่าได้
· เมื่อระดับการขัดจังหวะที่ไม่ใช่ศูนย์เป็นตัวเลือกเดียวสำหรับการขัดจังหวะ โค้ดแอปพลิเคชันจะอยู่ที่ระดับต่ำสุด 0 เสมอ หมายเหตุ: การกำหนดค่าระดับและลำดับความสำคัญของการขัดจังหวะขณะรันไทม์จะทำในรีจิสเตอร์ 8 บิตตัวเดียว หากจำนวนระดับการขัดจังหวะคือ 256 จะไม่สามารถกำหนดค่าลำดับความสำคัญของการขัดจังหวะขณะรันไทม์ได้ มิฉะนั้น จำนวนลำดับความสำคัญสูงสุดที่กำหนดค่าได้คือ 256 / (จำนวนระดับการขัดจังหวะ - 1)
· ระบุจำนวนลำดับความสำคัญของการขัดจังหวะ ซึ่ง CLIC ใช้เพื่อกำหนดลำดับการเรียกใช้ตัวจัดการการขัดจังหวะแบบ non-preempting หมายเหตุ: การเชื่อมต่อค่าไบนารีของระดับการขัดจังหวะที่เลือกและลำดับความสำคัญของการขัดจังหวะที่เลือกต้องน้อยกว่า 8 บิต
· ช่วยให้คุณกำหนดค่าขั้วการขัดจังหวะระหว่างรันไทม์ · ขั้วเริ่มต้นคือขั้วบวก
· ช่วยให้คุณกำหนดค่าเงื่อนไขการทริกเกอร์การขัดจังหวะระหว่างรันไทม์ เช่น ทริกเกอร์ระดับสูง หรือทริกเกอร์ขอบบวก (เมื่อขั้วการขัดจังหวะเป็นบวกในขั้วการขัดจังหวะที่กำหนดค่าได้)
· เงื่อนไขการทริกเกอร์เริ่มต้นคือการขัดจังหวะระดับ
บันทึก:
Platform Designer มีตัวเลือก Absolute ซึ่งช่วยให้คุณระบุที่อยู่แบบ Absolute ใน Reset Offset ได้ ใช้ตัวเลือกนี้เมื่อหน่วยความจำที่เก็บเวกเตอร์รีเซ็ตอยู่นอกระบบและระบบย่อยของโปรเซสเซอร์
ข้อมูลที่เกี่ยวข้อง คู่มืออ้างอิงโปรเซสเซอร์ Nios® V
2.1.1.3.6. แท็บการกำหนดค่าหน่วยความจำ
ตารางที่ 17 พารามิเตอร์แท็บการกำหนดค่าหน่วยความจำ
หมวดหมู่
แท็บการกำหนดค่าหน่วยความจำ
คำอธิบาย
แคช
ขนาดแคชข้อมูล
· ระบุขนาดของแคชข้อมูล · ขนาดที่ถูกต้องคือตั้งแต่ 0 กิโลไบต์ (KB) ถึง 16 KB · ปิดแคชข้อมูลเมื่อขนาดเป็น 0 KB
ขนาดแคชคำสั่ง
· ระบุขนาดของแคชคำสั่ง · ขนาดที่ถูกต้องคือตั้งแต่ 0 KB ถึง 16 KB · ปิดแคชคำสั่งเมื่อขนาดเป็น 0 KB
บริเวณรอบนอก A และ B
ขนาด
· ระบุขนาดของภูมิภาครอบนอก
· ขนาดที่ถูกต้องคือตั้งแต่ 64 KB ถึง 2 กิกะไบต์ (GB) หรือไม่มี การเลือกไม่มีจะปิดใช้งานพื้นที่รอบข้าง
ที่อยู่ฐาน
· ระบุที่อยู่ฐานของภูมิภาครอบนอกหลังจากที่คุณเลือกขนาด
· ที่อยู่ทั้งหมดในภูมิภาครอบนอกจะสร้างการเข้าถึงข้อมูลที่ไม่สามารถแคชได้
· ที่อยู่ฐานของภูมิภาครอบนอกจะต้องจัดตำแหน่งให้ตรงกับขนาดของภูมิภาครอบนอก
ความทรงจำที่เชื่อมโยงกันอย่างแน่นหนา
ขนาด
· ระบุขนาดของหน่วยความจำที่เชื่อมโยงกันอย่างแน่นหนา — ขนาดที่ถูกต้องคือตั้งแต่ 0 MB ถึง 512 MB
การเริ่มต้นที่อยู่ฐาน File
· ระบุที่อยู่ฐานของหน่วยความจำที่เชื่อมโยงกันอย่างแน่นหนา · ระบุการเริ่มต้นระบบ file เพื่อหน่วยความจำที่เชื่อมโยงกันอย่างแน่นหนา
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 21
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
บันทึก:
ในระบบโปรเซสเซอร์ Nios V ที่เปิดใช้งานแคช คุณต้องวางอุปกรณ์ต่อพ่วงของระบบไว้ภายในขอบเขตอุปกรณ์ต่อพ่วง คุณสามารถใช้ขอบเขตอุปกรณ์ต่อพ่วงเพื่อกำหนดธุรกรรมที่ไม่สามารถแคชได้สำหรับอุปกรณ์ต่อพ่วง เช่น UART, PIO, DMA และอื่นๆ
2.1.1.3.7. แท็บ ECC
ตารางที่ 18 แท็บ ECC
การตรวจจับข้อผิดพลาดและการรายงานสถานะที่เปิดใช้งาน ECC
เปิดใช้งานการแก้ไขบิตเดี่ยว
คำอธิบาย
· เปิดใช้งานตัวเลือกนี้เพื่อใช้คุณสมบัติ ECC สำหรับบล็อก RAM ภายในโปรเซสเซอร์ Nios V · คุณสมบัติ ECC ตรวจจับข้อผิดพลาดสูงสุด 2 บิตและตอบสนองตามพฤติกรรมต่อไปนี้:
— หากเป็นข้อผิดพลาดแบบบิตเดียวที่สามารถแก้ไขได้ และปิดใช้งานการแก้ไขบิตเดียว โปรเซสเซอร์จะยังคงทำงานต่อไปหลังจากแก้ไขข้อผิดพลาดในไพพ์ไลน์ของโปรเซสเซอร์แล้ว อย่างไรก็ตาม การแก้ไขจะไม่ปรากฏในหน่วยความจำต้นทาง
— หากเป็นข้อผิดพลาดบิตเดียวที่แก้ไขได้และเปิดใช้งานการแก้ไขบิตเดียว โปรเซสเซอร์จะทำงานต่อไปหลังจากแก้ไขข้อผิดพลาดในไปป์ไลน์ของโปรเซสเซอร์และหน่วยความจำต้นทางแล้ว
— หากเป็นข้อผิดพลาดที่ไม่สามารถแก้ไขได้ โปรเซสเซอร์จะหยุดการทำงาน
เปิดใช้งานการแก้ไขบิตเดี่ยวบนบล็อกหน่วยความจำที่ฝังอยู่ในแกนกลาง
2.1.1.3.8. แท็บคำสั่งแบบกำหนดเอง
บันทึก:
แท็บนี้ใช้ได้เฉพาะกับโปรเซสเซอร์คอร์ Nios V/g เท่านั้น
ตารางอินเทอร์เฟซฮาร์ดแวร์คำสั่งแบบกำหนดเองของ Nios V
ตารางแมโครซอฟต์แวร์คำสั่งที่กำหนดเอง Nios V
คำอธิบาย
· โปรเซสเซอร์ Nios V ใช้ตารางนี้เพื่อกำหนดอินเทอร์เฟซตัวจัดการคำสั่งที่กำหนดเอง
อินเทอร์เฟซตัวจัดการคำสั่งแบบกำหนดเองที่กำหนดไว้ได้รับการเข้ารหัสอย่างเฉพาะเจาะจงโดย Opcode (CUSTOM0-3) และฟังก์ชัน 3 บิต7[6:4]
· คุณสามารถกำหนดอินเทอร์เฟซผู้จัดการคำสั่งแบบกำหนดเองได้สูงสุด 32 รายการ
· โปรเซสเซอร์ Nios V ใช้ตารางนี้เพื่อกำหนดการเข้ารหัสซอฟต์แวร์คำสั่งแบบกำหนดเองสำหรับอินเทอร์เฟซตัวจัดการคำสั่งแบบกำหนดเองที่กำหนดไว้
· สำหรับการเข้ารหัสซอฟต์แวร์คำสั่งที่กำหนดเองแต่ละรายการนั้น Opcode (CUSTOM0-3) และการเข้ารหัส funct3[7:6] 4 บิตจะต้องสัมพันธ์กับการเข้ารหัสอินเทอร์เฟซตัวจัดการคำสั่งที่กำหนดเองที่กำหนดไว้ในตารางอินเทอร์เฟซฮาร์ดแวร์คำสั่งที่กำหนดเอง
คุณสามารถใช้ funct7[6:4], funct7[3:0] และ funct3[2:0] เพื่อกำหนดการเข้ารหัสเพิ่มเติมสำหรับคำสั่งที่กำหนดเอง หรือระบุเป็น X เพื่อส่งเป็นอาร์กิวเมนต์คำสั่งเพิ่มเติม
· โปรเซสเซอร์ Nios V มอบการเข้ารหัสซอฟต์แวร์คำสั่งที่กำหนดเองตามที่กำหนดไว้เป็น C-macros ที่สร้างขึ้นใน system.h และปฏิบัติตามรูปแบบคำสั่ง RISC-V ชนิด R
· อาจใช้ตัวช่วยจำเพื่อกำหนดชื่อที่กำหนดเองสำหรับ: — C-Macros ที่สร้างขึ้นใน system.h
— ตัวช่วยในการดีบัก GDB ที่สร้างขึ้นใน custom_instruction_debug.xml
ข้อมูลที่เกี่ยวข้อง
AN 977: คำสั่งที่กำหนดเองของโปรเซสเซอร์ Nios V สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคำสั่งที่กำหนดเองซึ่งช่วยให้คุณปรับแต่งโปรเซสเซอร์ Nios® V เพื่อตอบสนองความต้องการของแอปพลิเคชันเฉพาะ
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 22
ส่งคำติชม
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม 726952 | 2025.07.16 ก.ค. XNUMX
2.1.2. การกำหนดการออกแบบส่วนประกอบของระบบ
ใช้ Platform Designer เพื่อกำหนดคุณลักษณะฮาร์ดแวร์ของระบบโปรเซสเซอร์ Nios V และเพิ่มส่วนประกอบที่ต้องการ แผนภาพต่อไปนี้แสดงการออกแบบระบบโปรเซสเซอร์ Nios V ขั้นพื้นฐาน โดยมีส่วนประกอบดังต่อไปนี้: · แกนประมวลผล Nios V · หน่วยความจำบนชิป · JTAG UART · ตัวจับเวลาช่วงเวลา (ตัวเลือก)(1)
เมื่อเพิ่มหน่วยความจำออนชิปใหม่ลงในระบบ Platform Designer ให้ดำเนินการ Sync System Infos เพื่อสะท้อนส่วนประกอบหน่วยความจำที่เพิ่มเข้ามาในการรีเซ็ต หรือคุณสามารถเปิดใช้งาน Auto Sync ใน Platform Designer เพื่อสะท้อนการเปลี่ยนแปลงส่วนประกอบล่าสุดโดยอัตโนมัติ
รูปที่ 11 ตัวอย่างampการเชื่อมต่อโปรเซสเซอร์ Nios V กับอุปกรณ์ต่อพ่วงอื่น ๆ ใน Platform Designer
(1) คุณมีตัวเลือกในการใช้ฟีเจอร์ตัวจับเวลาภายใน Nios V เพื่อแทนที่ตัวจับเวลาช่วงภายนอกใน Platform Designer
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 23
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
คุณต้องกำหนดพินการดำเนินการเพื่อส่งออกเป็นช่องทางในระบบ Platform Designer ของคุณด้วย เช่นampรายการพินการทำงานของระบบ FPGA ที่เหมาะสมถูกกำหนดไว้ด้านล่าง แต่ไม่จำกัดเพียง:
· นาฬิกา
·รีเซ็ต
· สัญญาณ I/O
2.1.3. การระบุที่อยู่ฐานและลำดับความสำคัญของคำขอขัดจังหวะ
หากต้องการระบุว่าส่วนประกอบที่เพิ่มเข้าไปในการออกแบบจะโต้ตอบกันอย่างไรเพื่อสร้างระบบ คุณต้องกำหนดที่อยู่ฐานสำหรับส่วนประกอบตัวแทนแต่ละส่วนและกำหนดลำดับความสำคัญของคำขอขัดจังหวะ (IRQ) สำหรับ JTAG UART และตัวจับเวลาช่วง Platform Designer มีคำสั่ง Assign Base Addresses ซึ่งจะกำหนดที่อยู่ฐานที่เหมาะสมให้กับทุกส่วนประกอบในระบบโดยอัตโนมัติ อย่างไรก็ตาม คุณสามารถปรับเปลี่ยนที่อยู่ฐานได้ตามความต้องการ
ต่อไปนี้เป็นแนวทางบางประการสำหรับการกำหนดที่อยู่ฐาน:
· แกนประมวลผล Nios V มีช่วงแอดเดรส 32 บิต ในการเข้าถึงส่วนประกอบของเอเจนต์ แอดเดรสฐานต้องอยู่ในช่วงระหว่าง 0x00000000 ถึง 0xFFFFFFFF
· โปรแกรม Nios V ใช้ค่าคงที่เชิงสัญลักษณ์เพื่ออ้างอิงถึงที่อยู่ คุณไม่จำเป็นต้องเลือกค่าที่อยู่ซึ่งจำง่าย
· ค่าแอดเดรสที่แยกความแตกต่างของส่วนประกอบด้วยความแตกต่างของแอดเดรสเพียงหนึ่งบิตจะทำให้ฮาร์ดแวร์มีประสิทธิภาพมากขึ้น คุณไม่จำเป็นต้องบีบอัดแอดเดรสฐานทั้งหมดให้อยู่ในช่วงแอดเดรสที่เล็กที่สุดเท่าที่จะเป็นไปได้ เนื่องจากการบีบอัดอาจทำให้ฮาร์ดแวร์มีประสิทธิภาพน้อยลง
· Platform Designer จะไม่พยายามจัดเรียงส่วนประกอบหน่วยความจำแยกกันในช่วงหน่วยความจำที่ต่อเนื่องกัน ตัวอย่างเช่นampหากคุณต้องการให้ส่วนประกอบหน่วยความจำ On-Chip หลายรายการสามารถระบุที่อยู่เป็นช่วงหน่วยความจำที่ต่อเนื่องกัน คุณต้องกำหนดที่อยู่ฐานอย่างชัดเจน
Platform Designer ยังมีคำสั่งอัตโนมัติที่เรียกว่า Assign Interrupt Numbers ซึ่งเชื่อมต่อสัญญาณ IRQ เพื่อสร้างผลลัพธ์ฮาร์ดแวร์ที่ถูกต้อง อย่างไรก็ตาม การกำหนด IRQ ให้มีประสิทธิภาพจำเป็นต้องอาศัยความเข้าใจในพฤติกรรมการตอบสนองของระบบโดยรวม Platform Designer ไม่สามารถคาดเดาอย่างมีหลักการเกี่ยวกับการกำหนด IRQ ที่ดีที่สุดได้
ค่า IRQ ต่ำสุดจะมีลำดับความสำคัญสูงสุด ในระบบอุดมคติ Altera แนะนำให้ส่วนประกอบตัวจับเวลามี IRQ ลำดับความสำคัญสูงสุด นั่นคือค่าต่ำสุด เพื่อรักษาความแม่นยำของสัญญาณนาฬิกาของระบบ
ในบางกรณี คุณอาจกำหนดลำดับความสำคัญที่สูงกว่าให้กับอุปกรณ์ต่อพ่วงแบบเรียลไทม์ (เช่น ตัวควบคุมวิดีโอ) ซึ่งต้องการอัตราการขัดจังหวะที่สูงกว่าส่วนประกอบตัวจับเวลา
ข้อมูลที่เกี่ยวข้อง
คู่มือผู้ใช้ Quartus Prime Pro Edition: ข้อมูลเพิ่มเติมเกี่ยวกับการสร้างระบบด้วย Platform Designer
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 24
ส่งคำติชม
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม 726952 | 2025.07.16 ก.ค. XNUMX
2.2. การบูรณาการระบบออกแบบแพลตฟอร์มเข้ากับโครงการ Quartus Prime
หลังจากสร้างการออกแบบระบบ Nios V ใน Platform Designer แล้ว ให้ดำเนินการงานต่อไปนี้เพื่อรวมโมดูลระบบ Nios V เข้ากับโครงการออกแบบ FPGA ของ Quartus Prime · สร้างตัวอย่างโมดูลระบบ Nios V ในโครงการ Quartus Prime · เชื่อมต่อสัญญาณจากโมดูลระบบ Nios V ไปยังสัญญาณอื่นในลอจิก FPGA · กำหนดตำแหน่งพินทางกายภาพ · จำกัดการออกแบบ FPGA
2.2.1 การสร้างโมดูลระบบโปรเซสเซอร์ Nios V ในโครงการ Quartus Prime
Platform Designer จะสร้างเอนทิตีการออกแบบโมดูลระบบ ซึ่งคุณสามารถสร้างอินสแตนซ์ใน Quartus Prime ได้ วิธีการสร้างอินสแตนซ์โมดูลระบบจะขึ้นอยู่กับวิธีการป้อนข้อมูลการออกแบบสำหรับโครงการ Quartus Prime โดยรวม ตัวอย่างเช่นample หากคุณใช้ Verilog HDL สำหรับรายการออกแบบ ให้สร้างอินสแตนซ์โมดูลระบบที่ใช้ Verilog หากคุณต้องการใช้วิธีแบบแผนภาพบล็อกสำหรับรายการออกแบบ ให้สร้างอินสแตนซ์สัญลักษณ์โมดูลระบบ .bdf file.
2.2.2. การเชื่อมต่อสัญญาณและการกำหนดตำแหน่งพินทางกายภาพ
หากต้องการเชื่อมต่อการออกแบบ Altera FPGA ของคุณกับการออกแบบระดับบอร์ด ให้ดำเนินการดังต่อไปนี้: · ระบุระดับสูงสุด file สำหรับการออกแบบและสัญญาณของคุณเพื่อเชื่อมต่อกับ Altera ภายนอก
พินอุปกรณ์ FPGA · ทำความเข้าใจพินที่จะเชื่อมต่อผ่านคู่มือผู้ใช้การออกแบบระดับบอร์ดของคุณหรือ
แผนผัง · กำหนดสัญญาณในดีไซน์ระดับสูงสุดให้กับพอร์ตบนอุปกรณ์ Altera FPGA ของคุณด้วยพิน
เครื่องมือการมอบหมายงาน
ระบบ Platform Designer ของคุณสามารถเป็นการออกแบบระดับสูงสุดได้ อย่างไรก็ตาม Altera FPGA ยังสามารถรวมตรรกะเพิ่มเติมตามความต้องการของคุณได้ด้วย จึงสามารถนำเสนอการออกแบบระดับสูงสุดที่กำหนดเองได้ file. ระดับสูงสุด file เชื่อมต่อสัญญาณโมดูลระบบโปรเซสเซอร์ Nios V เข้ากับลอจิกการออกแบบ FPGA ของ Altera อื่นๆ
ข้อมูลที่เกี่ยวข้อง คู่มือผู้ใช้ Quartus Prime Pro Edition: ข้อจำกัดด้านการออกแบบ
2.2.3. การจำกัดการออกแบบ FPGA ของ Altera
การออกแบบระบบ Altera FPGA ที่เหมาะสมจะต้องมีข้อจำกัดในการออกแบบ เพื่อให้มั่นใจว่าการออกแบบเป็นไปตามข้อกำหนดการปิดเวลาและข้อจำกัดทางตรรกะอื่นๆ คุณต้องจำกัดการออกแบบ Altera FPGA ของคุณให้เป็นไปตามข้อกำหนดเหล่านี้อย่างชัดเจน โดยใช้เครื่องมือที่มีอยู่ในซอฟต์แวร์ Quartus Prime หรือผู้ให้บริการ EDA บุคคลที่สาม ซอฟต์แวร์ Quartus Prime จะใช้ข้อจำกัดที่ให้ไว้ในขั้นตอนการคอมไพล์เพื่อให้ได้ผลลัพธ์การจัดวางที่เหมาะสมที่สุด
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 25
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
ข้อมูลที่เกี่ยวข้อง · คู่มือผู้ใช้ Quartus Prime Pro Edition: ข้อจำกัดด้านการออกแบบ · พันธมิตร EDA บุคคลที่สาม · คู่มือผู้ใช้ Quartus Prime Pro Edition: เครื่องวิเคราะห์เวลา
2.3. การออกแบบระบบหน่วยความจำโปรเซสเซอร์ Nios V
ส่วนนี้จะอธิบายแนวทางปฏิบัติที่ดีที่สุดในการเลือกอุปกรณ์หน่วยความจำในระบบฝังตัว Platform Designer ที่ใช้โปรเซสเซอร์ Nios V และการบรรลุประสิทธิภาพสูงสุด อุปกรณ์หน่วยความจำมีบทบาทสำคัญในการปรับปรุงประสิทธิภาพโดยรวมของระบบฝังตัว หน่วยความจำระบบฝังตัวทำหน้าที่จัดเก็บคำสั่งโปรแกรมและข้อมูล
2.3.1. หน่วยความจำระเหย
ความแตกต่างหลักประการหนึ่งของหน่วยความจำประเภทหนึ่งคือความสามารถในการลบเลือน หน่วยความจำแบบลบเลือนจะเก็บข้อมูลไว้เฉพาะในขณะที่คุณจ่ายไฟให้กับอุปกรณ์หน่วยความจำเท่านั้น ทันทีที่คุณตัดไฟ หน่วยความจำก็จะสูญเสียข้อมูลทั้งหมดไป
Exampหน่วยความจำระเหยง่าย ได้แก่ RAM, แคช และรีจิสเตอร์ ซึ่งเป็นหน่วยความจำประเภทความเร็วสูงที่ช่วยเพิ่มประสิทธิภาพการทำงาน Altera ขอแนะนำให้คุณโหลดและดำเนินการคำสั่งโปรเซสเซอร์ Nios V ใน RAM และจับคู่แกนประมวลผล Nios V IP กับ On-Chip Memory IP หรือ External Memory Interface IP เพื่อประสิทธิภาพสูงสุด
เพื่อปรับปรุงประสิทธิภาพ คุณสามารถกำจัดส่วนประกอบการปรับแต่ง Platform Designer เพิ่มเติมได้โดยการจับคู่ประเภทหรือความกว้างของอินเทอร์เฟซตัวจัดการข้อมูลโปรเซสเซอร์ Nios V กับ RAM สำหรับบูต ตัวอย่างเช่นampคุณสามารถกำหนดค่าหน่วยความจำ On-Chip II ด้วยอินเทอร์เฟซ AXI-32 4 บิต ซึ่งตรงกับอินเทอร์เฟซตัวจัดการข้อมูล Nios V
ข้อมูลที่เกี่ยวข้อง · ศูนย์สนับสนุน IP อินเทอร์เฟซหน่วยความจำภายนอก · หน่วยความจำบนชิป (RAM หรือ ROM) Altera FPGA IP · หน่วยความจำบนชิป II (RAM หรือ ROM) Altera FPGA IP · แอปพลิเคชันโปรเซสเซอร์ Nios V ดำเนินการภายในสถานที่จาก OCRAM บนหน้า 54
2.3.1.1. การกำหนดค่าหน่วยความจำบนชิป RAM หรือ ROM
คุณสามารถกำหนดค่า IP ของหน่วยความจำบนชิป Altera FPGA เป็น RAM หรือ ROM ได้ · RAM ให้ความสามารถในการอ่านและเขียนและมีลักษณะผันผวน หากคุณ
การบูตโปรเซสเซอร์ Nios V จากแรมบนชิป คุณต้องตรวจสอบให้แน่ใจว่าเนื้อหาการบูตได้รับการเก็บรักษาไว้และไม่เสียหายในกรณีที่มีการรีเซ็ตระหว่างรันไทม์ · หากโปรเซสเซอร์ Nios V บูตจาก ROM ข้อผิดพลาดของซอฟต์แวร์ใดๆ บนโปรเซสเซอร์ Nios V จะไม่สามารถเขียนทับเนื้อหาในหน่วยความจำบนชิปโดยไม่ได้ตั้งใจได้ ซึ่งจะช่วยลดความเสี่ยงที่ซอฟต์แวร์บูตจะเสียหาย
ข้อมูลที่เกี่ยวข้อง · หน่วยความจำบนชิป (RAM หรือ ROM) Altera FPGA IP · หน่วยความจำบนชิป II (RAM หรือ ROM) Altera FPGA IP · แอปพลิเคชันโปรเซสเซอร์ Nios V ดำเนินการภายในสถานที่จาก OCRAM บนหน้า 54
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 26
ส่งคำติชม
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม 726952 | 2025.07.16 ก.ค. XNUMX
2.3.1.2. แคช
หน่วยความจำแบบออนชิปมักถูกนำมาใช้เพื่อใช้งานฟังก์ชันแคชเนื่องจากมีความหน่วงต่ำ โปรเซสเซอร์ Nios V ใช้หน่วยความจำแบบออนชิปสำหรับแคชคำสั่งและข้อมูล ความจุที่จำกัดของหน่วยความจำแบบออนชิปมักไม่ใช่ปัญหาสำหรับแคชเนื่องจากโดยทั่วไปแล้วมีขนาดเล็ก
แคชมักใช้ภายใต้เงื่อนไขต่อไปนี้:
หน่วยความจำปกติจะอยู่นอกชิปและมีเวลาในการเข้าถึงนานกว่าหน่วยความจำบนชิป
ส่วนที่สำคัญต่อประสิทธิภาพของโค้ดซอฟต์แวร์สามารถใส่ลงในแคชคำสั่งได้ ซึ่งจะช่วยปรับปรุงประสิทธิภาพของระบบ
ส่วนของข้อมูลที่ใช้งานบ่อยและมีความสำคัญต่อประสิทธิภาพมากที่สุดสามารถใส่ในแคชข้อมูลได้ ซึ่งจะช่วยปรับปรุงประสิทธิภาพของระบบ
การเปิดใช้งานแคชในโปรเซสเซอร์ Nios V จะสร้างลำดับชั้นของหน่วยความจำซึ่งจะลดเวลาในการเข้าถึงหน่วยความจำให้เหลือน้อยที่สุด
2.3.1.2.1. บริเวณรอบนอก
ห้ามแคช IP อุปกรณ์ต่อพ่วงแบบฝังตัวใดๆ เช่น UART, I2C และ SPI ขอแนะนำอย่างยิ่งให้ใช้แคชสำหรับหน่วยความจำภายนอกที่ได้รับผลกระทบจากระยะเวลาการเข้าถึงที่ยาวนาน ในขณะที่หน่วยความจำภายในแบบออนชิปอาจถูกยกเว้นเนื่องจากระยะเวลาการเข้าถึงที่สั้น ห้ามแคช IP อุปกรณ์ต่อพ่วงแบบฝังตัวใดๆ เช่น UART, I2C และ SPI ยกเว้นหน่วยความจำ สิ่งนี้สำคัญเนื่องจากเหตุการณ์จากอุปกรณ์ภายนอก เช่น อุปกรณ์เอเจนต์ที่กำลังอัปเดต soft IP จะไม่ถูกแคชโดยแคชของโปรเซสเซอร์ ซึ่งส่งผลให้โปรเซสเซอร์ไม่ได้รับข้อมูล เหตุการณ์เหล่านี้อาจไม่ได้รับการตรวจพบจนกว่าคุณจะล้างแคช ซึ่งอาจนำไปสู่พฤติกรรมที่ไม่พึงประสงค์ในระบบของคุณ สรุปคือ พื้นที่ที่แมปหน่วยความจำของ IP อุปกรณ์ต่อพ่วงแบบฝังตัวนั้นไม่สามารถแคชได้ และต้องอยู่ภายในพื้นที่อุปกรณ์ต่อพ่วงของโปรเซสเซอร์
หากต้องการตั้งค่าภูมิภาครอบนอก ให้ทำตามขั้นตอนเหล่านี้:
1. เปิด Address Map ของระบบใน Platform Designer
2. ไปที่แผนที่ที่อยู่ของ Instruction Manager และ Data Manager ของโปรเซสเซอร์
3. ระบุอุปกรณ์ต่อพ่วงและหน่วยความจำในระบบของคุณ
รูปที่ 12 ตัวอย่างampแผนที่ที่อยู่ของเลอ
หมายเหตุ: ลูกศรสีน้ำเงินชี้ไปที่หน่วยความจำ 4. จัดกลุ่มอุปกรณ์ต่อพ่วง:
ก. หน่วยความจำที่สามารถแคชได้ ข. อุปกรณ์ต่อพ่วงที่ไม่สามารถแคชได้
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 27
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
ตารางที่ 19 ภูมิภาคที่สามารถแคชได้และไม่สามารถแคชได้
ผู้ใต้บังคับบัญชา
แผนผังที่อยู่
สถานะ
ภูมิภาครอบนอก
ขนาด
ที่อยู่ฐาน
user_application_mem.s1
0x0 ~ 0x3ffff
สามารถแคชได้
ไม่มีข้อมูล
ไม่มีข้อมูล
cpu.dm_agent bootcopier_rom.s1
0x40000 ~ 0x4ffff 0x50000 ~ 0x517ff
ไม่สามารถแคชได้ แคชได้
65536 ไบต์ N/A
0x40000 ไม่มี
bootcopier_ram.s1 cpu.timer_sw_agent mailbox.avmm
0x52000 ~ 0x537ff 0x54000 ~ 0x5403f 0x54040 ~ 0x5407f
แคชได้ ไม่สามารถแคชได้ ไม่สามารถแคชได้
144 ไบต์ (ขนาดขั้นต่ำคือ 65536 ไบต์)
ขนาด 0x54000
sysid_qsys_0.ควบคุมทาส
0x54080~0x54087
ไม่สามารถแคชได้
uart.avalon_jtag_ทาส
0x54088 ~ 0x5408f
ไม่สามารถแคชได้
5. จัดตำแหน่งบริเวณรอบนอกให้ตรงกับขนาดที่เฉพาะเจาะจง:
· สำหรับอดีตample ถ้าขนาดคือ 65536 ไบต์ จะเท่ากับ 0x10000 ไบต์ ดังนั้น ที่อยู่ฐานที่อนุญาตจะต้องเป็นทวีคูณของ 0x10000
· CPU.dm_agent ใช้ที่อยู่ฐาน 0x40000 ซึ่งเป็นผลคูณของ 0x10000 ดังนั้น Peripheral Region A ที่มีขนาด 65536 ไบต์และที่อยู่ฐาน 0x40000 จึงตรงตามข้อกำหนด
· ที่อยู่ฐานของคอลเลกชันของภูมิภาคที่ไม่สามารถแคชได้ที่ 0x54000 ไม่ใช่ตัวคูณของ 0x10000 คุณต้องกำหนดที่อยู่ฐานใหม่เป็น 0x60000 หรือตัวคูณอื่นๆ ของ 0x10000 ดังนั้น ภูมิภาครอบนอก B ซึ่งมีขนาด 65536 ไบต์ และที่อยู่ฐาน 0x60000 จึงตรงตามเกณฑ์
ตารางที่ 20 ภูมิภาคที่สามารถแคชได้และไม่สามารถแคชได้พร้อมการกำหนดใหม่
ผู้ใต้บังคับบัญชา
แผนผังที่อยู่
สถานะ
ภูมิภาครอบนอก
ขนาด
ที่อยู่ฐาน
user_application_mem.s1
0x0 ~ 0x3ffff
สามารถแคชได้
ไม่มีข้อมูล
ไม่มีข้อมูล
ซีพียู.dm_เอเจนต์
0x40000 ~ 0x4ffff
ไม่สามารถแคชได้ 65536 ไบต์
ขนาด 0x40000
บูตโคเพียร์_รอม.s1
0x50000 ~ 0x517ff
สามารถแคชได้
ไม่มีข้อมูล
ไม่มีข้อมูล
bootcopier_ram.s1 cpu.timer_sw_agent mailbox.avmm sysid_qsys_0.control_slave
0x52000 ~ 0x537ff 0x60000 ~ 0x6003f 0x60040 ~ 0x6007f 0x60080 ~ 0x60087
แคชได้ ไม่สามารถแคชได้ ไม่สามารถแคชได้ ไม่สามารถแคชได้
144 ไบต์ (ขนาดขั้นต่ำคือ 65536 ไบต์)
ขนาด 0x60000
uart.avalon_jtag_ทาส
0x60088 ~ 0x6008f
ไม่สามารถแคชได้
2.3.1.3. หน่วยความจำที่เชื่อมโยงกันอย่างแน่นหนา
หน่วยความจำแบบผูกติดแน่น (TCM) ถูกนำมาใช้งานโดยใช้หน่วยความจำบนชิป เนื่องจากมีความหน่วงต่ำจึงเหมาะสมกับงาน TCM คือหน่วยความจำที่ถูกแมปในพื้นที่แอดเดรสทั่วไป แต่มีอินเทอร์เฟซเฉพาะสำหรับไมโครโปรเซสเซอร์ และมีคุณสมบัติประสิทธิภาพสูงและความหน่วงต่ำเช่นเดียวกับหน่วยความจำแคช นอกจากนี้ TCM ยังมีอินเทอร์เฟซรองสำหรับโฮสต์ภายนอกอีกด้วย โปรเซสเซอร์และโฮสต์ภายนอกมีระดับสิทธิ์การใช้งานเดียวกันในการจัดการ TCM
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 28
ส่งคำติชม
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
บันทึก:
เมื่อพอร์ตย่อยของ TCM เชื่อมต่อกับโฮสต์ภายนอก พอร์ตนั้นอาจแสดงผลด้วยที่อยู่ฐานที่แตกต่างจากที่อยู่ฐานที่กำหนดไว้ในแกนประมวลผล Altera แนะนำให้จัดเรียงที่อยู่ทั้งสองให้เป็นค่าเดียวกัน
2.3.1.4. อินเทอร์เฟซหน่วยความจำภายนอก (EMIF)
EMIF (External Memory Interface) ทำงานคล้ายกับ SRAM (Static Random Access Memory) แต่เป็นแบบไดนามิกและจำเป็นต้องมีการรีเฟรชเป็นระยะเพื่อรักษาเนื้อหา เซลล์หน่วยความจำแบบไดนามิกใน EMIF มีขนาดเล็กกว่าเซลล์หน่วยความจำแบบคงที่ใน SRAM มาก ส่งผลให้มีความจุสูงกว่าและมีต้นทุนต่ำกว่า
นอกเหนือจากข้อกำหนดการรีเฟรชแล้ว EMIF ยังมีข้อกำหนดเฉพาะด้านอินเทอร์เฟซ ซึ่งมักจำเป็นต้องใช้ฮาร์ดแวร์คอนโทรลเลอร์เฉพาะทาง ซึ่งแตกต่างจาก SRAM ที่มีชุดแอดเดรสคงที่ EMIF จะจัดระเบียบพื้นที่หน่วยความจำเป็นแบงก์ แถว และคอลัมน์ การสลับระหว่างแบงก์และแถวทำให้เกิดโอเวอร์เฮด ดังนั้นคุณต้องเรียงลำดับการเข้าถึงหน่วยความจำอย่างระมัดระวังเพื่อใช้ EMIF อย่างมีประสิทธิภาพ นอกจากนี้ EMIF ยังมัลติเพล็กซ์แอดเดรสแถวและคอลัมน์บนแอดเดรสเดียวกัน ซึ่งช่วยลดจำนวนพินที่จำเป็นสำหรับขนาด EMIF ที่กำหนด
EMIF เวอร์ชันความเร็วสูง เช่น DDR, DDR2, DDR3, DDR4 และ DDR5 กำหนดข้อกำหนดความสมบูรณ์ของสัญญาณที่เข้มงวด ซึ่งนักออกแบบ PCB จะต้องพิจารณา
อุปกรณ์ EMIF จัดอยู่ในประเภท RAM ที่คุ้มค่าที่สุดและมีความจุสูงที่สุด ทำให้เป็นตัวเลือกที่ได้รับความนิยม ส่วนประกอบสำคัญของอินเทอร์เฟซ EMIF คือ EMIF IP ซึ่งจัดการงานที่เกี่ยวข้องกับการมัลติเพล็กซ์แอดเดรส การรีเฟรช และการสลับระหว่างแถวและแบงก์ การออกแบบนี้ช่วยให้ระบบส่วนที่เหลือสามารถเข้าถึง EMIF ได้โดยไม่จำเป็นต้องเข้าใจสถาปัตยกรรมภายใน
ข้อมูลที่เกี่ยวข้อง อินเทอร์เฟซหน่วยความจำภายนอก ศูนย์สนับสนุน IP
2.3.1.4.1. ที่อยู่ขยายช่วง IP
Address Span Extender Altera FPGA IP ช่วยให้อินเทอร์เฟซโฮสต์ที่แมปหน่วยความจำสามารถเข้าถึงแผนที่ที่อยู่ที่มีขนาดใหญ่หรือเล็กกว่าความกว้างของสัญญาณที่อยู่ได้ Address Span Extender IP จะแบ่งพื้นที่ที่สามารถระบุที่อยู่ได้ออกเป็นหลายหน้าต่างแยกกัน เพื่อให้โฮสต์สามารถเข้าถึงส่วนที่เหมาะสมของหน่วยความจำผ่านหน้าต่างได้
Address Span Extender ไม่จำกัดความกว้างของโฮสต์และเอเจนต์ไว้ที่การกำหนดค่า 32 บิตและ 64 บิต คุณสามารถใช้ Address Span Extender กับหน้าต่างแอดเดรส 1-64 บิตได้
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 29
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
รูปที่ 13 ตัวขยายช่วงที่อยู่ Altera FPGA IP
ที่อยู่ตัวแทน
ตัวขยายช่วงที่อยู่
A
ตารางการทำแผนที่
พอร์ตควบคุม A
…
รีจิสเตอร์ควบคุม 0 รีจิสเตอร์ควบคุม Z-1
ที่อยู่โฮสต์ขยาย H
ข้อมูลที่เกี่ยวข้อง
คู่มือผู้ใช้ Quartus® Prime Pro Edition: Platform Designer โปรดดูหัวข้อ Address Span Extender Intel® FPGA IP เพื่อดูข้อมูลเพิ่มเติม
2.3.1.4.2. การใช้ Address Span Extender IP กับโปรเซสเซอร์ Nios V
โปรเซสเซอร์ Nios V แบบ 32 บิตสามารถระบุแอดเดรสสแปนได้สูงสุด 4 GB หาก EMIF มีหน่วยความจำมากกว่า 4 GB แสดงว่าเกินแอดเดรสสแปนสูงสุดที่รองรับ ส่งผลให้ระบบ Platform Designer แสดงผลผิดพลาด จำเป็นต้องใช้ Address Span Extender IP เพื่อแก้ไขปัญหานี้โดยการแบ่งแอดเดรส EMIF เดียวออกเป็นหลายหน้าต่างย่อย
Altera ขอแนะนำให้คุณพิจารณาพารามิเตอร์ต่อไปนี้
ตารางที่ 21 พารามิเตอร์ตัวขยายช่วงที่อยู่
พารามิเตอร์
การตั้งค่าที่แนะนำ
ความกว้างของเส้นทางข้อมูล
ความกว้างของที่อยู่ไบต์หลักที่ขยาย
เลือก 32 บิต ซึ่งสัมพันธ์กับโปรเซสเซอร์ 32 บิต ขึ้นอยู่กับขนาดหน่วยความจำ EMIF
ความกว้างของที่อยู่คำสเลฟ ความกว้างของจำนวนเบิร์สต์
เลือก 2 GB หรือน้อยกว่า ช่วงที่อยู่ที่เหลือของโปรเซสเซอร์ Nios V จะถูกสงวนไว้สำหรับ soft IP แบบฝังตัวอื่นๆ
เริ่มด้วยค่า 1 และค่อยๆ เพิ่มค่านี้เพื่อเพิ่มประสิทธิภาพ
จำนวนหน้าต่างย่อย
เลือก 1 หน้าต่างย่อยหากคุณกำลังเชื่อมต่อ EMIF กับโปรเซสเซอร์ Nios V ในฐานะคำสั่งและหน่วยความจำข้อมูล หรือทั้งสองอย่าง การสลับระหว่างหน้าต่างย่อยหลายหน้าต่างขณะที่โปรเซสเซอร์ Nios V กำลังทำงานจาก EMIF ถือเป็นอันตราย
เปิดใช้งานพอร์ตควบคุมสเลฟ
ปิดใช้งานพอร์ตควบคุมสเลฟหากคุณกำลังเชื่อมต่อ EMIF เข้ากับโปรเซสเซอร์ Nios V ในฐานะหน่วยความจำคำสั่งและ/หรือข้อมูล ข้อกังวลเดียวกับจำนวนหน้าต่างย่อย
การอ่านที่รอดำเนินการสูงสุด
เริ่มด้วยค่า 1 และค่อยๆ เพิ่มค่านี้เพื่อเพิ่มประสิทธิภาพ
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 30
ส่งคำติชม
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม 726952 | 2025.07.16 ก.ค. XNUMX
รูปที่ 14 การเชื่อมต่อคำสั่งและตัวจัดการข้อมูลกับ Address Span Extender
รูปที่ 15 การแมปที่อยู่
โปรดทราบว่า Address Span Extender สามารถเข้าถึงพื้นที่หน่วยความจำ 8GB ทั้งหมดของ EMIF ได้ อย่างไรก็ตาม ผ่านทาง Address Span Extender โปรเซสเซอร์ Nios V สามารถเข้าถึงพื้นที่หน่วยความจำ 1GB แรกของ EMIF ได้เท่านั้น
รูปที่ 16 แผนผังบล็อกแบบง่าย
ระบบออกแบบแพลตฟอร์ม
เหลือ 3 GB
ที่อยู่โปรเซสเซอร์ Nios V
span สำหรับการฝังตัว
NNioios sVV PProrocecsesor r
M
ซอฟท์ไอพีในระบบเดียวกัน
หน้าต่าง 1 GB
ช่วงที่อยู่
S
เครื่องขยายสัญญาณ
M
เฉพาะ 1 GB แรกเท่านั้น
ของหน่วยความจำ EMIF เชื่อมต่อกับ Nios V
อีเอ็มไอเอฟ
โปรเซสเซอร์
8GB
S
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 31
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
2.3.1.4.3. การกำหนดอุปกรณ์หน่วยความจำแบบลิงก์เกอร์ Address Span Extender 1. กำหนด Address Span Extender (EMIF) เป็นเวกเตอร์รีเซ็ต หรือคุณสามารถกำหนดเวกเตอร์รีเซ็ตของโปรเซสเซอร์ Nios V ให้กับหน่วยความจำอื่นๆ เช่น OCRAM หรืออุปกรณ์แฟลชได้
รูปที่ 17 ตัวเลือกหลายตัวเป็นเวกเตอร์รีเซ็ต
อย่างไรก็ตาม ตัวแก้ไขแพ็คเกจสนับสนุนบอร์ด (Board Support Package: BSP) ไม่สามารถลงทะเบียน Address Span Extender (EMIF) เป็นหน่วยความจำที่ถูกต้องได้โดยอัตโนมัติ คุณจะเห็นสถานการณ์สองแบบที่แตกต่างกัน ขึ้นอยู่กับตัวเลือกที่คุณเลือก ดังแสดงในภาพต่อไปนี้ รูปที่ 18 ข้อผิดพลาด BSP เมื่อกำหนด Address Span Extender (EMIF) เป็น Reset Vector
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 32
ส่งคำติชม
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม 726952 | 2025.07.16 ก.ค. XNUMX
รูปที่ 19 EMIF ที่หายไปเมื่อกำหนดหน่วยความจำอื่นเป็นเวกเตอร์รีเซ็ต
2. คุณต้องเพิ่ม Address Span Extender (EMIF) ด้วยตนเองโดยใช้ Add Memory Device, Add Linker Memory Region และ Add Linker Section Mappings ในแท็บ BSP Linker Script
3. ทำตามขั้นตอนเหล่านี้:
ก. กำหนดช่วงที่อยู่ของ Address Span Extender โดยใช้ Memory Map (ตัวอย่างample ในรูปต่อไปนี้ใช้ช่วง Address Span Extender จาก 0x0 ถึง 0x3fff_ffff)
รูปที่ 20 แผนที่หน่วยความจำ
ข. คลิก "เพิ่มอุปกรณ์หน่วยความจำ" และกรอกข้อมูลตามข้อมูลใน Memory Map ของการออกแบบของคุณ: i. ชื่ออุปกรณ์: emif_ddr4 หมายเหตุ: ตรวจสอบให้แน่ใจว่าคุณคัดลอกชื่อเดียวกันจาก Memory Map ii. ที่อยู่ฐาน: 0x0 iii. ขนาด: 0x40000000
c. คลิกเพิ่มเพื่อเพิ่มพื้นที่หน่วยความจำลิงก์เกอร์ใหม่:
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 33
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
ตารางที่ 22 การเพิ่มภูมิภาคหน่วยความจำลิงก์เกอร์
ขั้นตอน
รีเซ็ตเวกเตอร์
อีเอ็มไอเอฟ_ดีดีอาร์4
ความทรงจำอื่น ๆ
1
เพิ่มพื้นที่หน่วยความจำ Linker ใหม่ที่เรียกว่ารีเซ็ต เพิ่มพื้นที่หน่วยความจำ Linker ใหม่สำหรับ
· ชื่อภูมิภาค: รีเซ็ต
อีเอ็มไอเอฟ_ดีดีอาร์4
· ขนาดภูมิภาค: 0x20
· ชื่อภูมิภาค: emif_ddr4
· อุปกรณ์หน่วยความจำ: emif_ddr4
· ขนาดภูมิภาค: 0x40000000
· ออฟเซ็ตหน่วยความจำ: 0x0
· อุปกรณ์หน่วยความจำ: emif_ddr4
· ออฟเซ็ตหน่วยความจำ: 0x0
2
เพิ่มพื้นที่หน่วยความจำ Linker ใหม่สำหรับ
เหลือ emif_ddr4
· ชื่อภูมิภาค: emif_ddr4
· ขนาดภูมิภาค: 0x3fffffe0
· อุปกรณ์หน่วยความจำ: emif_ddr4
· ออฟเซ็ตหน่วยความจำ: 0x20
รูปที่ 21 ภูมิภาคลิงก์เกอร์เมื่อกำหนด Address Span Extender (EMIF) เป็นเวกเตอร์รีเซ็ต
รูปที่ 22 ภูมิภาคลิงก์เกอร์เมื่อกำหนดหน่วยความจำอื่นเป็นเวกเตอร์รีเซ็ต
d. เมื่อเพิ่ม emif_ddr4 ลงใน BSP แล้ว คุณสามารถเลือก emif_ddrXNUMX สำหรับส่วนลิงก์เกอร์ใดก็ได้
รูปที่ 23 เพิ่ม Address Span Extender (EMIF) สำเร็จแล้ว
e. ไม่ต้องสนใจคำเตือนเกี่ยวกับอุปกรณ์หน่วยความจำ emif_ddr4 ไม่ปรากฏในการออกแบบ SOPC
f. ดำเนินการสร้าง BSP
ข้อมูลที่เกี่ยวข้อง บทนำเกี่ยวกับวิธีการบูตโปรเซสเซอร์ Nios V บนหน้า 51
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 34
ส่งคำติชม
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม 726952 | 2025.07.16 ก.ค. XNUMX
2.3.2. หน่วยความจำแบบไม่ลบเลือน
หน่วยความจำแบบไม่ลบเลือนจะเก็บรักษาข้อมูลไว้แม้ไฟดับ จึงเป็นตัวเลือกที่ดีสำหรับจัดเก็บข้อมูลที่ระบบต้องดึงข้อมูลหลังจากปิดเครื่องแล้ว โดยทั่วไปหน่วยความจำแบบไม่ลบเลือนจะจัดเก็บรหัสการบูตของโปรเซสเซอร์ การตั้งค่าแอปพลิเคชันแบบถาวร และข้อมูลการกำหนดค่า Altera FPGA แม้ว่าหน่วยความจำแบบไม่ลบเลือนจะมีข้อดีหลายประการtagการเก็บรักษาข้อมูลไว้เมื่อถอดปลั๊กไฟจะช้ากว่าหน่วยความจำแบบลบเลือนมาก และมักจะมีขั้นตอนการเขียนและลบที่ซับซ้อนกว่า หน่วยความจำแบบไม่ลบเลือนมักจะรับประกันว่าจะลบได้เฉพาะจำนวนครั้งที่กำหนดเท่านั้น ซึ่งหลังจากนั้นอาจล้มเหลวได้
Exampหน่วยความจำแบบไม่ลบเลือนประกอบด้วยแฟลช, EPROM และ EEPROM ทุกประเภท Altera ขอแนะนำให้คุณเก็บบิตสตรีมของ Altera FPGA และอิมเมจโปรแกรม Nios V ไว้ในหน่วยความจำแบบไม่ลบเลือน และใช้แฟลชแบบอนุกรมเป็นอุปกรณ์บูตสำหรับโปรเซสเซอร์ Nios V
ข้อมูลที่เกี่ยวข้อง
· คู่มือผู้ใช้ Altera FPGA IP อินเทอร์เฟซแฟลชแบบอนุกรมทั่วไป
· คู่มือผู้ใช้ Mailbox Client Altera FPGA IP · คู่มือผู้ใช้ MAX® 10 Flash Memory Core: On-Chip Flash Altera FPGA IP Core
2.4 แนวทางปฏิบัติที่ดีที่สุดสำหรับนาฬิกาและการรีเซ็ต
การทำความเข้าใจว่าโดเมนสัญญาณนาฬิกาและรีเซ็ตของโปรเซสเซอร์ Nios V โต้ตอบกับอุปกรณ์ต่อพ่วงทุกตัวที่เชื่อมต่ออยู่นั้นมีความสำคัญอย่างไร ระบบโปรเซสเซอร์ Nios V แบบง่าย ๆ เริ่มต้นด้วยโดเมนสัญญาณนาฬิกาเดียว และอาจซับซ้อนขึ้นหากใช้ระบบโดเมนหลายสัญญาณนาฬิกาเมื่อโดเมนสัญญาณนาฬิกาเร็วไปชนกับโดเมนสัญญาณนาฬิกาช้า คุณจำเป็นต้องสังเกตและทำความเข้าใจว่าโดเมนต่าง ๆ เหล่านี้เรียงลำดับจากนอกช่วงรีเซ็ตอย่างไร และตรวจสอบให้แน่ใจว่าไม่มีปัญหาใด ๆ เกิดขึ้น
เพื่อแนวทางปฏิบัติที่ดีที่สุด Altera ขอแนะนำให้วางโปรเซสเซอร์ Nios V และหน่วยความจำสำหรับบูตไว้ในโดเมนสัญญาณนาฬิกาเดียวกัน อย่าปล่อยให้โปรเซสเซอร์ Nios V รีเซ็ตในโดเมนสัญญาณนาฬิกาที่เร็วเมื่อบูตจากหน่วยความจำที่อยู่ในโดเมนสัญญาณนาฬิกาที่ช้ามาก ซึ่งอาจทำให้เกิดข้อผิดพลาดในการดึงคำสั่ง คุณอาจต้องใช้การจัดลำดับด้วยตนเองมากกว่าที่ Platform Designer กำหนดให้เป็นค่าเริ่มต้น และวางแผนโทโพโลยีการรีเซ็ตและปล่อยระบบให้เหมาะสมตามกรณีการใช้งานของคุณ หากคุณต้องการรีเซ็ตระบบหลังจากที่ระบบเริ่มทำงานและทำงานไประยะหนึ่ง ให้ใช้ข้อควรพิจารณาเดียวกันนี้กับการจัดลำดับการรีเซ็ตระบบและข้อกำหนดการเริ่มต้นระบบหลังการรีเซ็ต
2.4.1. ระบบ JTAG นาฬิกา
การระบุข้อจำกัดของสัญญาณนาฬิกาในระบบโปรเซสเซอร์ Nios V ทุกระบบถือเป็นข้อพิจารณาที่สำคัญในการออกแบบระบบ และจำเป็นต่อความถูกต้องและพฤติกรรมที่กำหนดได้ Quartus Prime Timing Analyzer จะทำการวิเคราะห์เวลาแบบคงที่เพื่อตรวจสอบประสิทธิภาพการจับเวลาของลอจิกทั้งหมดในการออกแบบของคุณ โดยใช้วิธีการจำกัด การวิเคราะห์ และการรายงานมาตรฐานอุตสาหกรรม
Example 1. นาฬิกาพื้นฐาน 100 MHz พร้อมรอบการทำงาน 50/50 และความถี่ 16 MHz JTAG นาฬิกา
#*************************************************************** # สร้างนาฬิกา 100MHz #**************************************************************** create_clock -name {clk} -period 10 [get_ports {clk}] #************************ สร้าง 16MHz JTAG นาฬิกา #************************
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 35
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
create_clock -name {altera_reserved_tck} -period 62.500 [get_ports {altera_reserved_tck}] set_clock_groups -asynchronous -group [get_clocks {altera_reserved_tck}] ข้อมูลที่เกี่ยวข้อง คู่มือเครื่องวิเคราะห์ Quartus Prime Timing
2.4.2. อินเทอร์เฟซคำขอรีเซ็ต
โปรเซสเซอร์ Nios V มีระบบขอรีเซ็ตเพิ่มเติม ระบบขอรีเซ็ตประกอบด้วยสัญญาณ reset_req และ reset_req_ack
วิธีเปิดใช้งานคำขอรีเซ็ตใน Platform Designer: 1. เปิดตัวแก้ไขพารามิเตอร์ IP ของโปรเซสเซอร์ Nios V 2. ในการตั้งค่าใช้คำขอรีเซ็ต ให้เปิดใช้งานอินเทอร์เฟซเพิ่มคำขอรีเซ็ต
ตัวเลือก.
รูปที่ 24 การเปิดใช้งานคำขอรีเซ็ตโปรเซสเซอร์ Nios V
สัญญาณ reset_req ทำหน้าที่เหมือนการขัดจังหวะ เมื่อคุณยืนยัน reset_req คุณกำลังร้องขอให้รีเซ็ตไปยังแกนกลาง แกนกลางจะรอให้ธุรกรรมบัสที่ค้างอยู่ดำเนินการจนเสร็จสิ้น ตัวอย่างเช่นample หากมีธุรกรรมการเข้าถึงหน่วยความจำที่รอดำเนินการอยู่ คอร์จะรอการตอบสนองที่สมบูรณ์ เช่นเดียวกัน คอร์จะยอมรับการตอบสนองคำสั่งใดๆ ที่รอดำเนินการอยู่ แต่จะไม่ส่งคำขอคำสั่งหลังจากได้รับสัญญาณ reset_req
การดำเนินการรีเซ็ตประกอบด้วยขั้นตอนต่อไปนี้: 1. ดำเนินการค้างอยู่ทั้งหมดให้เสร็จสมบูรณ์ 2. ล้างไปป์ไลน์ภายใน 3. ตั้งค่าตัวนับโปรแกรมเป็นเวกเตอร์รีเซ็ต 4. รีเซ็ตแกนหลัก การดำเนินการรีเซ็ตทั้งหมดใช้เวลาหลายรอบสัญญาณนาฬิกา คำสั่ง reset_req จะต้องคงสถานะไว้จนกว่าจะยืนยันคำสั่ง reset_req_ack ซึ่งแสดงว่าการดำเนินการรีเซ็ตแกนหลักเสร็จสมบูรณ์แล้ว หากไม่ดำเนินการดังกล่าว สถานะของแกนหลักจะไม่แน่นอน
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 36
ส่งคำติชม
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม 726952 | 2025.07.16 ก.ค. XNUMX
2.4.2.1. กรณีการใช้งานทั่วไป
คุณสามารถยืนยันสัญญาณ reset_req จากการเปิดเครื่องเพื่อป้องกันไม่ให้แกนประมวลผล Nios V เริ่มการทำงานของโปรแกรมจากเวกเตอร์การรีเซ็ต จนกว่าโฮสต์ FPGA อื่นๆ ในระบบจะเริ่มต้นหน่วยความจำบูตของโปรเซสเซอร์ Nios V ในกรณีนี้ ระบบย่อยทั้งหมดจะได้รับการรีเซ็ตฮาร์ดแวร์ใหม่ โปรเซสเซอร์ Nios V จะถูกระงับไว้ในสถานะคำขอรีเซ็ตอย่างไม่มีกำหนด จนกว่าโฮสต์ FPGA อื่นๆ จะเริ่มต้นหน่วยความจำบูตของโปรเซสเซอร์
· ในระบบที่คุณต้องรีเซ็ตแกนประมวลผล Nios V โดยไม่รบกวนระบบส่วนที่เหลือ คุณสามารถยืนยันสัญญาณ reset_req เพื่อหยุดการทำงานปัจจุบันของแกนประมวลผลและรีสตาร์ทโปรเซสเซอร์จากเวกเตอร์รีเซ็ตทันทีเมื่อระบบปล่อยสัญญาณ reset_req_ack
· โฮสต์ภายนอกสามารถใช้อินเทอร์เฟซการร้องขอการรีเซ็ตเพื่ออำนวยความสะดวกในการใช้งานงานต่อไปนี้:
— หยุดโปรแกรมโปรเซสเซอร์ Nios V ในปัจจุบัน
— โหลดโปรแกรมใหม่ลงในหน่วยความจำการบูตของโปรเซสเซอร์ Nios V
— อนุญาตให้โปรเซสเซอร์เริ่มดำเนินการโปรแกรมใหม่
Altera ขอแนะนำให้คุณใช้กลไกการหมดเวลาเพื่อตรวจสอบสถานะของสัญญาณ reset_req_ack หากแกนประมวลผล Nios V ตกอยู่ในสภาวะรอแบบไม่มีที่สิ้นสุดและหยุดทำงานโดยไม่ทราบสาเหตุ reset_req_ack จะไม่สามารถยืนยันสถานะได้ตลอดไป กลไกการหมดเวลาช่วยให้คุณสามารถ:
กำหนดระยะเวลาการหมดเวลาการกู้คืนและดำเนินการกู้คืนระบบด้วยการรีเซ็ตระดับระบบ
· ดำเนินการรีเซ็ตระดับฮาร์ดแวร์
2.4.3. รีเซ็ต IP รีลีส
อุปกรณ์ที่ใช้ Altera SDM ใช้สถาปัตยกรรมแบบขนานที่อิงตามเซกเตอร์ ซึ่งกระจายตรรกะของแกนหลักไปยังหลายเซกเตอร์ Altera ขอแนะนำให้คุณใช้ Reset Release Altera FPGA IP เป็นหนึ่งในอินพุตเริ่มต้นของวงจรรีเซ็ต อุปกรณ์ที่ใช้ Intel® SDM ประกอบด้วยอุปกรณ์ Stratix® 10 และ AgilexTM อุปกรณ์ที่ใช้บล็อกควบคุมจะไม่ได้รับผลกระทบจากข้อกำหนดนี้
ข้อมูลที่เกี่ยวข้อง
AN 891: การใช้ Reset Release Altera FPGA IP
2.5. การกำหนดตัวแทนเริ่มต้น
Platform Designer ช่วยให้คุณสามารถระบุเอเจนต์เริ่มต้นซึ่งทำหน้าที่เป็นเอเจนต์เริ่มต้นสำหรับการตอบสนองต่อข้อผิดพลาด เอเจนต์เริ่มต้นที่คุณกำหนดจะให้บริการตอบสนองต่อข้อผิดพลาดสำหรับโฮสต์ที่พยายามเข้าถึงแผนที่ที่อยู่แบบไม่ถอดรหัส
สถานการณ์ต่อไปนี้จะทำให้เกิดเหตุการณ์ที่ไม่ได้ถอดรหัส:
· การละเมิดสถานะความปลอดภัยการทำธุรกรรมรถบัส
· การเข้าถึงธุรกรรมไปยังพื้นที่หน่วยความจำที่ไม่ได้กำหนด
· เหตุการณ์ข้อยกเว้นและอื่นๆ
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 37
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
ควรกำหนดตัวแทนเริ่มต้นเพื่อจัดการกับเหตุการณ์ดังกล่าว โดยที่ธุรกรรมที่ไม่ได้กำหนดจะถูกเปลี่ยนเส้นทางไปยังตัวแทนเริ่มต้นและตอบสนองต่อโปรเซสเซอร์ Nios V ด้วยการตอบสนองข้อผิดพลาดในภายหลัง
ข้อมูลที่เกี่ยวข้อง
· คู่มือผู้ใช้ Quartus Prime Pro Edition: นักออกแบบแพลตฟอร์ม การกำหนดตัวแทนเริ่มต้น
· คู่มือผู้ใช้ Quartus Prime Pro Edition: Platform Designer การตอบสนองข้อผิดพลาดของ Slave Altera FPGA IP
· Github – ส่วนประกอบการรีเซ็ตเสริมสำหรับ Qsys
2.6. การกำหนดตัวแทน UART สำหรับการพิมพ์
การพิมพ์มีประโยชน์สำหรับการดีบักแอปพลิเคชันซอฟต์แวร์ รวมถึงการตรวจสอบสถานะของระบบ Altera ขอแนะนำให้พิมพ์ข้อมูลพื้นฐาน เช่น ข้อความเริ่มต้น ข้อความแสดงข้อผิดพลาด และความคืบหน้าการทำงานของแอปพลิเคชันซอฟต์แวร์
หลีกเลี่ยงการใช้ฟังก์ชันไลบรารี printf() ในสถานการณ์ต่อไปนี้: · ไลบรารี printf() ทำให้แอปพลิเคชันหยุดทำงานหากไม่มีโฮสต์อ่านเอาต์พุต
ข้อนี้ใช้ได้กับเจTAG เฉพาะ UART เท่านั้น · ไลบรารี printf() ใช้หน่วยความจำโปรแกรมจำนวนมาก
2.6.1. การป้องกันการหยุดรถโดย JTAG ยูเออาร์ที
ตารางที่ 23 ความแตกต่างระหว่าง UART แบบดั้งเดิมและ JTAG ยูเออาร์ที
ประเภท UART UART แบบดั้งเดิม
คำอธิบาย
ส่งข้อมูลอนุกรมโดยไม่คำนึงว่าโฮสต์ภายนอกกำลังรับฟังอยู่หรือไม่ หากไม่มีโฮสต์อ่านข้อมูลอนุกรม ข้อมูลจะสูญหาย
JTAG ยูเออาร์ที
เขียนข้อมูลที่ส่งไปยังบัฟเฟอร์เอาต์พุตและอาศัยโฮสต์ภายนอกในการอ่านจากบัฟเฟอร์เพื่อล้างข้อมูล
เจTAG ไดรเวอร์ UART จะรอเมื่อบัฟเฟอร์เอาต์พุตเต็ม JTAG ไดรเวอร์ UART รอให้โฮสต์ภายนอกอ่านข้อมูลจากบัฟเฟอร์เอาต์พุตก่อนจึงจะเขียนข้อมูลส่งเพิ่มเติม กระบวนการนี้ช่วยป้องกันการสูญเสียข้อมูลส่ง
อย่างไรก็ตาม เมื่อไม่จำเป็นต้องแก้ไขข้อบกพร่องของระบบ เช่น ในระหว่างการผลิต ระบบฝังตัวจะถูกปรับใช้โดยไม่ต้องมีพีซีโฮสต์ที่เชื่อมต่อกับ JTAG UART หากระบบเลือก JTAG UART ในฐานะตัวแทน UART อาจทำให้ระบบหยุดชะงักเนื่องจากไม่มีโฮสต์ภายนอกเชื่อมต่ออยู่
เพื่อป้องกันการดับเครื่องโดยเจTAG UART ใช้กับตัวเลือกต่อไปนี้:
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 38
ส่งคำติชม
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
ตารางที่ 24 การป้องกันการหยุดนิ่งโดย JTAG ยูเออาร์ที
ตัวเลือก
ไม่มีอินเทอร์เฟซ UART และไดรเวอร์อยู่
ใช้อินเทอร์เฟซ UART และไดรเวอร์อื่น
พรีเซิร์ฟ เจTAG อินเทอร์เฟซ UART (ไม่มีไดรเวอร์)
ระหว่างการพัฒนาฮาร์ดแวร์ (ใน Platform Designer)
ระหว่างการพัฒนาซอฟต์แวร์ (ในตัวแก้ไขแพ็คเกจสนับสนุนบอร์ด)
ลบเจTAG UART จากระบบ
กำหนดค่า hal.stdin, hal.stdout และ hal.stderr เป็น None
แทนที่ JTAG UART พร้อมซอฟต์แวร์อื่น ๆ กำหนดค่า hal.stdin, hal.stdout และ hal.stderr
ยูเออาร์ทีไอพี
พร้อมด้วย IP UART แบบอ่อนอื่นๆ
พรีเซิร์ฟ เจTAG UART ในระบบ
· กำหนดค่า hal.stdin, hal.stdout และ hal.stderr เป็น None ในตัวแก้ไขแพ็คเกจการสนับสนุนบอร์ด
· ปิดใช้งาน JTAG ไดรเวอร์ UART ในแท็บไดรเวอร์ BSP
2.7. เจTAG สัญญาณ
โมดูลดีบักโปรเซสเซอร์ Nios V ใช้ JTAG อินเทอร์เฟซสำหรับการดาวน์โหลดซอฟต์แวร์ ELF และการดีบักซอฟต์แวร์ เมื่อคุณดีบักการออกแบบของคุณด้วย JTAG อินเทอร์เฟซ JTAG สัญญาณ TCK, TMS, TDI และ TDO ถูกนำมาใช้เป็นส่วนหนึ่งของการออกแบบ โดยระบุ JTAG ข้อจำกัดของสัญญาณในระบบโปรเซสเซอร์ Nios V ทุกระบบถือเป็นการพิจารณาการออกแบบระบบที่สำคัญ และจำเป็นต่อความถูกต้องและพฤติกรรมที่กำหนดได้
Altera แนะนำให้ความถี่สัญญาณนาฬิกาของระบบการออกแบบใดๆ ต้องมีอย่างน้อยสี่เท่าของ JTAG ความถี่สัญญาณนาฬิกาเพื่อให้แน่ใจว่าแกนเครื่องมือวัดบนชิป (OCI) ทำงานได้อย่างถูกต้อง
ข้อมูลที่เกี่ยวข้อง · คู่มือเครื่องวิเคราะห์เวลาหลักของ Quartus®: JTAG สัญญาณ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเจTAG แนวทางข้อจำกัดด้านเวลา · KDB: เหตุใดการดาวน์โหลด niosv จึงล้มเหลวเมื่อใช้โปรเซสเซอร์ Nios® V/m แบบไม่ผ่านกระบวนการไพพ์ไลน์ที่
JTAG ความถี่ 24MHz หรือ 16Mhz?
2.8. การเพิ่มประสิทธิภาพระบบออกแบบแพลตฟอร์ม
Platform Designer มอบเครื่องมือสำหรับเพิ่มประสิทธิภาพการทำงานของระบบเชื่อมต่อสำหรับการออกแบบ FPGA ของ Altera
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 39
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม
726952 | 2025.07.16
รูปที่ 25 ตัวอย่างการเพิ่มประสิทธิภาพampเลส
อดีตampภาพที่แสดงในภาพประกอบแสดงขั้นตอนต่อไปนี้:
1. เพิ่ม Pipeline Bridge เพื่อบรรเทาเส้นทางวิกฤตโดยวางไว้: ก. ระหว่าง Instruction Manager และตัวแทน ข. ระหว่าง Data Manager และตัวแทน
2. ใช้ True Dual port On-Chip RAM โดยแต่ละพอร์ตจะอุทิศให้กับ Instruction Manager และ Data Manager ตามลำดับ
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 40
ส่งคำติชม
2. การออกแบบระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V ด้วยซอฟต์แวร์ Quartus Prime และโปรแกรมออกแบบแพลตฟอร์ม 726952 | 2025.07.16 ก.ค. XNUMX
โปรดดูลิงก์ที่เกี่ยวข้องด้านล่าง ซึ่งนำเสนอเทคนิคต่างๆ สำหรับการใช้ประโยชน์จากเครื่องมือที่มีอยู่และการแลกเปลี่ยนของการใช้งานแต่ละอย่าง
ข้อมูลที่เกี่ยวข้อง · คู่มือผู้ใช้ Quartus® Prime Pro Edition: นักออกแบบแพลตฟอร์ม
โปรดดูหัวข้อการเพิ่มประสิทธิภาพการทำงานของระบบ Platform Designer เพื่อดูข้อมูลเพิ่มเติม · คู่มือผู้ใช้ Quartus® Prime Standard Edition: Platform Designer โปรดดูหัวข้อการเพิ่มประสิทธิภาพการทำงานของระบบ Platform Designer เพื่อดูข้อมูลเพิ่มเติม
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 41
726952 | 2025.07.16 ส่งคำติชม
3. การออกแบบระบบซอฟต์แวร์โปรเซสเซอร์ Nios V
บทนี้จะอธิบายขั้นตอนการพัฒนาซอฟต์แวร์โปรเซสเซอร์ Nios V และเครื่องมือซอฟต์แวร์ที่คุณสามารถใช้ในการพัฒนาระบบออกแบบฝังตัวของคุณ เนื้อหานี้ทำหน้าที่เป็นคู่มือview ก่อนที่จะพัฒนาระบบซอฟต์แวร์โปรเซสเซอร์ Nios V
รูปที่ 26 ขั้นตอนการออกแบบซอฟต์แวร์
เริ่ม
สร้าง BSP ใน Platform Designer โดยใช้ BSP Editor
สร้าง BSP โดยใช้เชลล์คำสั่ง Nios V
สร้างแอปพลิเคชัน CMake Build File การใช้เชลล์คำสั่ง Nios V
บันทึก:
นำเข้า BSP และแอปพลิเคชัน CMake Build File
สร้างแอปพลิเคชันโปรเซสเซอร์ Nios V โดยใช้
RiscFree IDE สำหรับ Intel FPGA
สร้างแอปพลิเคชัน Nios V Processor โดยใช้
ตัวแก้ไขโค้ดต้นฉบับบรรทัดคำสั่ง CMake และ Make
คำสั่ง
จบ
Altera ขอแนะนำให้คุณใช้ชุดพัฒนา FPGA ของ Altera หรือบอร์ดต้นแบบที่ออกแบบเฉพาะสำหรับการพัฒนาและแก้ไขข้อบกพร่องของซอฟต์แวร์ อุปกรณ์ต่อพ่วงและฟีเจอร์ระดับระบบหลายอย่างจะใช้งานได้เฉพาะเมื่อซอฟต์แวร์ของคุณทำงานบนบอร์ดจริงเท่านั้น
© Altera Corporation Altera, โลโก้ Altera, โลโก้ 'a' และเครื่องหมายอื่นๆ ของ Altera เป็นเครื่องหมายการค้าของ Altera Corporation Altera ขอสงวนสิทธิ์ในการเปลี่ยนแปลงผลิตภัณฑ์และบริการใดๆ ได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบล่วงหน้า Altera ไม่รับผิดชอบใดๆ ที่เกิดขึ้นจากการใช้หรือการใช้ข้อมูล ผลิตภัณฑ์ หรือบริการใดๆ ที่อธิบายไว้ในที่นี้ เว้นแต่จะได้รับความยินยอมเป็นลายลักษณ์อักษรจาก Altera อย่างชัดแจ้ง ขอแนะนำให้ลูกค้าของ Altera ศึกษาข้อมูลจำเพาะของอุปกรณ์เวอร์ชันล่าสุดก่อนที่จะใช้ข้อมูลที่เผยแพร่ และก่อนทำการสั่งซื้อผลิตภัณฑ์หรือบริการ *ชื่อและแบรนด์อื่นๆ อาจเป็นทรัพย์สินของผู้อื่น
3. การออกแบบระบบซอฟต์แวร์โปรเซสเซอร์ Nios V 726952 | 2025.07.16
3.1. ขั้นตอนการพัฒนาซอฟต์แวร์โปรเซสเซอร์ Nios V
3.1.1. โครงการแพ็คเกจสนับสนุนคณะกรรมการ
โปรเจ็กต์ Nios V Board Support Package (BSP) เป็นไลบรารีเฉพาะที่ประกอบด้วยโค้ดสนับสนุนเฉพาะระบบ BSP จัดเตรียมสภาพแวดล้อมรันไทม์ซอฟต์แวร์ที่ปรับแต่งมาสำหรับโปรเซสเซอร์หนึ่งตัวในระบบฮาร์ดแวร์โปรเซสเซอร์ Nios V
ซอฟต์แวร์ Quartus Prime นำเสนอเครื่องมือยูทิลิตี้ Nios V Board Support Package Editor และ niosv-bsp เพื่อปรับเปลี่ยนการตั้งค่าที่ควบคุมพฤติกรรมของ BSP
BSP ประกอบด้วยองค์ประกอบต่อไปนี้: · ชั้นการแยกฮาร์ดแวร์ · ไดรเวอร์อุปกรณ์ · แพ็คเกจซอฟต์แวร์เสริม · ระบบปฏิบัติการแบบเรียลไทม์เสริม
3.1.2. โครงการประยุกต์ใช้งาน
โปรเจ็กต์แอปพลิเคชัน Nios VC/C++ มีคุณลักษณะดังต่อไปนี้: · ประกอบด้วยคอลเลกชันของโค้ดต้นฉบับและ CMakeLists.txt
— CMakeLists.txt คอมไพล์โค้ดต้นฉบับและเชื่อมโยงกับ BSP และไลบรารีตัวเลือกหนึ่งรายการหรือมากกว่า เพื่อสร้าง .elf file
· หนึ่งในแหล่งที่มา files มีฟังก์ชัน main() · รวมถึงโค้ดที่เรียกใช้ฟังก์ชันในไลบรารีและ BSP
Altera นำเสนอเครื่องมือยูทิลิตี้ niosv-app ในเครื่องมือยูทิลิตี้ซอฟต์แวร์ Quartus Prime เพื่อสร้างแอปพลิเคชัน CMakeLists.txt และ RiscFree IDE สำหรับ Altera FPGA เพื่อปรับเปลี่ยนโค้ดต้นฉบับในสภาพแวดล้อมที่ใช้ Eclipse
3.2. เครื่องมือพัฒนาแบบฝังตัว Altera FPGA
โปรเซสเซอร์ Nios V รองรับเครื่องมือต่อไปนี้สำหรับการพัฒนาซอฟต์แวร์: · อินเทอร์เฟซผู้ใช้แบบกราฟิก (GUI) – เครื่องมือพัฒนาแบบกราฟิกที่มีอยู่ใน
ทั้งระบบปฏิบัติการ Windows* และ Linux* (OS) — ตัวแก้ไขแพ็กเกจสนับสนุนบอร์ด Nios V (ตัวแก้ไข Nios V BSP) — Ashling RiscFree IDE สำหรับ Altera FPGA · เครื่องมือบรรทัดคำสั่ง (CLI) – เครื่องมือพัฒนาที่เริ่มต้นจาก Nios V Command Shell เครื่องมือแต่ละอันมีเอกสารประกอบของตัวเองในรูปแบบความช่วยเหลือที่เข้าถึงได้จากบรรทัดคำสั่ง เปิด Nios V Command Shell แล้วพิมพ์คำสั่งต่อไปนี้: –ช่วย view เมนูวิธีใช้ — เครื่องมือยูทิลิตี้ Nios V — File เครื่องมือแปลงรูปแบบ — เครื่องมือยูทิลิตี้อื่นๆ
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 43
3. การออกแบบระบบซอฟต์แวร์โปรเซสเซอร์ Nios V 726952 | 2025.07.16
ตารางที่ 25 สรุปงานเครื่องมือ GUI และเครื่องมือบรรทัดคำสั่ง
งาน
เครื่องมือ GUI
เครื่องมือบรรทัดคำสั่ง
การสร้าง BSP
Nios V BSP Editor
· ในซอฟต์แวร์ Quartus Prime Pro Edition: niosv-bsp -c -s=<.qsys file> -ต= [ตัวเลือก] การตั้งค่า bsp
· ในซอฟต์แวร์ Quartus Prime Standard Edition: niosv-bsp -c -s=<.sopcinfo file> -ต= [ตัวเลือก] การตั้งค่า bsp
การสร้าง BSP โดยใช้ .bsp ที่มีอยู่ file
การอัปเดต BSP
ตัวแก้ไข Nios V BSP ตัวแก้ไข Nios V BSP
niosv-bsp -g [ตัวเลือก] การตั้งค่า.bsp niosv-bsp -u [ตัวเลือก] การตั้งค่า.bsp
การตรวจสอบ BSP
Nios V BSP Editor
niosv-bsp -q -E= [ตัวเลือก] การตั้งค่า bsp
การสร้างแอปพลิเคชัน
–
niosv-app -a= -ข= -s= fileไดเร็กทอรี s> [ตัวเลือก]
การสร้างไลบรารีของผู้ใช้
–
niosv-app -l= -s= fileไดเร็กทอรี s> -p= [ตัวเลือก]
การแก้ไขแอปพลิเคชัน การแก้ไขไลบรารีผู้ใช้ การสร้างแอปพลิเคชัน
RiscFree IDE สำหรับ Altera FPGA
RiscFree IDE สำหรับ Altera FPGA
RiscFree IDE สำหรับ Altera FPGA
ตัวแก้ไขแหล่งที่มาของบรรทัดคำสั่งใด ๆ
ตัวแก้ไขแหล่งที่มาของบรรทัดคำสั่งใด ๆ
· ทำ · ทำ cmake
การสร้างห้องสมุดผู้ใช้
RiscFree IDE สำหรับ Altera FPGA
· ทำ · ทำ cmake
การดาวน์โหลดแอปพลิเคชัน ELF
การแปลงไฟล์ .elf file
RiscFree IDE สำหรับ Altera FPGA
–
ดาวน์โหลด niosv
· elf2flash · elf2hex
ข้อมูลที่เกี่ยวข้อง
คู่มือผู้ใช้ Ashling RiscFree Integrated Development Environment (IDE) สำหรับ Altera FPGA
3.2.1. ตัวแก้ไขแพ็คเกจสนับสนุนบอร์ดโปรเซสเซอร์ Nios V
คุณสามารถใช้ตัวแก้ไข BSP ของโปรเซสเซอร์ Nios V เพื่อดำเนินการงานต่อไปนี้: · สร้างหรือแก้ไขโครงการ BSP ของโปรเซสเซอร์ Nios V · แก้ไขการตั้งค่า ภูมิภาคลิงก์เกอร์ และการแมปส่วน · เลือกแพ็คเกจซอฟต์แวร์และไดรเวอร์อุปกรณ์
ความสามารถของ BSP Editor ประกอบด้วยความสามารถของยูทิลิตี้ niosv-bsp โปรเจ็กต์ใดๆ ที่สร้างใน BSP Editor ก็สามารถสร้างได้โดยใช้ยูทิลิตี้บรรทัดคำสั่งเช่นกัน
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 44
ส่งคำติชม
3. การออกแบบระบบซอฟต์แวร์โปรเซสเซอร์ Nios V 726952 | 2025.07.16
บันทึก:
สำหรับซอฟต์แวร์ Quartus Prime Standard Edition โปรดดู AN 980: การสนับสนุนซอฟต์แวร์ Quartus Prime ของโปรเซสเซอร์ Nios V เพื่อดูขั้นตอนในการเรียกใช้ GUI ของ BSP Editor
หากต้องการเปิดใช้งาน BSP Editor ให้ทำตามขั้นตอนเหล่านี้: 1. เปิด Platform Designer และไปที่ File เมนู.
ก. เพื่อเปิดการตั้งค่า BSP ที่มีอยู่ fileคลิก เปิด… ข. เพื่อสร้าง BSP ใหม่ ให้คลิก BSP ใหม่… 2. เลือกแท็บ BSP Editor และระบุรายละเอียดที่เหมาะสม
รูปที่ 27 เปิดใช้งาน BSP Editor
ข้อมูลที่เกี่ยวข้อง AN 980: โปรเซสเซอร์ Nios V รองรับซอฟต์แวร์ Quartus Prime
3.2.2. RiscFree IDE สำหรับ Altera FPGA
RiscFree IDE สำหรับ Altera FPGA เป็น IDE ที่ใช้ Eclipse สำหรับโปรเซสเซอร์ Nios V Altera ขอแนะนำให้คุณพัฒนาซอฟต์แวร์โปรเซสเซอร์ Nios V ใน IDE นี้ด้วยเหตุผลดังต่อไปนี้: · คุณสมบัติต่างๆ ได้รับการพัฒนาและตรวจสอบแล้วว่าสามารถใช้งานร่วมกับ Nios V ได้
ขั้นตอนการสร้างโปรเซสเซอร์ · มาพร้อมกับชุดเครื่องมือและเครื่องมือสนับสนุนที่จำเป็นทั้งหมด ซึ่งช่วยให้คุณ
เพื่อเริ่มต้นการพัฒนาโปรเซสเซอร์ Nios V ได้อย่างง่ายดาย
ข้อมูลที่เกี่ยวข้อง คู่มือผู้ใช้ Ashling RiscFree Integrated Development Environment (IDE) สำหรับ Altera FPGA
3.2.3. เครื่องมือยูทิลิตี้ Nios V
คุณสามารถสร้าง แก้ไข และสร้างโปรแกรม Nios V ด้วยคำสั่งที่พิมพ์ในบรรทัดคำสั่งหรือฝังไว้ในสคริปต์ เครื่องมือบรรทัดคำสั่ง Nios V ที่อธิบายไว้ในส่วนนี้อยู่ใน ไดเร็กทอรี /niosv/bin
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 45
3. การออกแบบระบบซอฟต์แวร์โปรเซสเซอร์ Nios V 726952 | 2025.07.16
ตารางที่ 26 เครื่องมือยูทิลิตี้ Nios V
เครื่องมือบรรทัดคำสั่ง
สรุป
แอป niosv niosv-bsp niosv-download niosv-shell niosv-stack-report
เพื่อสร้างและกำหนดค่าโครงการแอปพลิเคชัน
เพื่อสร้างหรืออัปเดตการตั้งค่า BSP file และสร้าง BSP fileส. เพื่อดาวน์โหลด ELF file ไปยังโปรเซสเซอร์ Nios® V
เพื่อเปิด Nios V Command Shell เพื่อแจ้งให้คุณทราบถึงพื้นที่หน่วยความจำที่เหลืออยู่สำหรับแอปพลิเคชันของคุณ .elf สำหรับการใช้งานแบบสแต็กหรือฮีป
3.2.4. File เครื่องมือแปลงรูปแบบ
File การแปลงรูปแบบบางครั้งจำเป็นเมื่อส่งข้อมูลจากยูทิลิตี้หนึ่งไปยังอีกยูทิลิตี้หนึ่ง file เครื่องมือแปลงรูปแบบอยู่ใน
ไดเร็กทอรีการติดตั้งซอฟต์แวร์>/niosv/bin
ตารางที่ 27. File เครื่องมือแปลงรูปแบบ
เครื่องมือบรรทัดคำสั่ง elf2flash elf2hex
สรุปการแปล .elf file เป็นรูปแบบ .srec สำหรับการเขียนโปรแกรมหน่วยความจำแฟลช เพื่อแปลไฟล์ .elf file เป็นรูปแบบ .hex สำหรับการเริ่มต้นหน่วยความจำ
3.2.5. เครื่องมือยูทิลิตี้อื่นๆ
คุณอาจจำเป็นต้องใช้เครื่องมือบรรทัดคำสั่งต่อไปนี้เมื่อสร้างระบบที่ใช้โปรเซสเซอร์ Nios V เครื่องมือบรรทัดคำสั่งเหล่านี้จัดทำโดย Intel /quartus/bin หรือได้รับมาจาก
เครื่องมือโอเพ่นซอร์ส
ตารางที่ 28 เครื่องมือบรรทัดคำสั่งอื่นๆ
เครื่องมือบรรทัดคำสั่ง
พิมพ์
สรุป
ปลายทางสุดท้าย
จัดทำโดย Intel
เพื่อตรวจสอบ stdout และ stderr และเพื่อให้ข้อมูลอินพุตแก่โปรเซสเซอร์ Nios® V
ระบบย่อยผ่าน stdin เครื่องมือนี้ใช้ได้กับ J เท่านั้นTAG UART IP เมื่อเชื่อมต่อกับโปรเซสเซอร์ Nios® V
โอเพนโอซีดี
Intel จัดให้เพื่อดำเนินการ OpenOCD
โอเพนโอซีดี-ซีเอฟจี-เจน
จัดทำโดย Intel · เพื่อสร้างการกำหนดค่า OpenOCD file. · เพื่อแสดง JTAG ดัชนีอุปกรณ์โซ่
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 46
ส่งคำติชม
726952 | 2025.07.16 ส่งคำติชม
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต
คุณสามารถกำหนดค่าโปรเซสเซอร์ Nios V ให้บูตและรันซอฟต์แวร์จากตำแหน่งหน่วยความจำที่แตกต่างกันได้ หน่วยความจำสำหรับบูต ได้แก่ แฟลช Quad Serial Peripheral Interface (QSPI), หน่วยความจำบนชิป (OCRAM) หรือหน่วยความจำแบบ Tightly Coupled Memory (TCM)
ข้อมูลที่เกี่ยวข้อง · เงื่อนไขการกระตุ้นพลังเพิ่มในหน้า 193 · การกระตุ้นพลังเพิ่ม
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับทริกเกอร์เพิ่มพลัง
4.1. บทนำ
โปรเซสเซอร์ Nios V รองรับกระบวนการบูตสองประเภท: · Execute-in-Place (XIP) โดยใช้ฟังก์ชัน alt_load() · โปรแกรมที่คัดลอกไปยัง RAM โดยใช้ boot copier การพัฒนาโปรแกรมฝังตัวใน Nios V ขึ้นอยู่กับ Hardware Abstraction Layer (HAL) HAL มอบโปรแกรมบูตโหลดเดอร์ขนาดเล็ก (หรือที่เรียกว่า boot copier) ที่คัดลอกส่วนลิงก์เกอร์ที่เกี่ยวข้องจากหน่วยความจำบูตไปยังตำแหน่งรันไทม์ขณะบูต คุณสามารถระบุตำแหน่งรันไทม์ของโปรแกรมและหน่วยความจำข้อมูลได้โดยการปรับแต่งการตั้งค่า Board Support Package (BSP) Editor หัวข้อนี้จะอธิบาย: · ตัวคัดลอกบูตโปรเซสเซอร์ Nios V ที่บูตระบบโปรเซสเซอร์ Nios V ของคุณตาม
การเลือกหน่วยความจำบูต · ตัวเลือกการบูตโปรเซสเซอร์ Nios V และขั้นตอนทั่วไป · โซลูชันการเขียนโปรแกรม Nios V สำหรับหน่วยความจำบูตที่เลือก
4.2. การเชื่อมโยงแอปพลิเคชัน
เมื่อคุณสร้างโครงการโปรเซสเซอร์ Nios V ตัวแก้ไข BSP จะสร้างลิงก์เกอร์ที่เกี่ยวข้องสองตัว files: · linker.x: คำสั่งตัวเชื่อมโยง file ว่าแอปพลิเคชันที่สร้างขึ้นนั้นfile การใช้
เพื่อสร้างไบนารี .elf file· linker.h: ประกอบด้วยข้อมูลเกี่ยวกับเค้าโครงหน่วยความจำของลิงก์เกอร์ การปรับเปลี่ยนการตั้งค่าลิงก์เกอร์ทั้งหมดที่คุณทำกับโครงการ BSP จะส่งผลต่อเนื้อหาของลิงก์เกอร์ทั้งสองนี้ fileแอปพลิเคชันโปรเซสเซอร์ Nios V ทุกตัวจะมีส่วนประกอบของลิงก์เกอร์ดังต่อไปนี้:
© Altera Corporation Altera, โลโก้ Altera, โลโก้ 'a' และเครื่องหมายอื่นๆ ของ Altera เป็นเครื่องหมายการค้าของ Altera Corporation Altera ขอสงวนสิทธิ์ในการเปลี่ยนแปลงผลิตภัณฑ์และบริการใดๆ ได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบล่วงหน้า Altera ไม่รับผิดชอบใดๆ ที่เกิดขึ้นจากการใช้หรือการใช้ข้อมูล ผลิตภัณฑ์ หรือบริการใดๆ ที่อธิบายไว้ในที่นี้ เว้นแต่จะได้รับความยินยอมเป็นลายลักษณ์อักษรจาก Altera อย่างชัดแจ้ง ขอแนะนำให้ลูกค้าของ Altera ศึกษาข้อมูลจำเพาะของอุปกรณ์เวอร์ชันล่าสุดก่อนที่จะใช้ข้อมูลที่เผยแพร่ และก่อนทำการสั่งซื้อผลิตภัณฑ์หรือบริการ *ชื่อและแบรนด์อื่นๆ อาจเป็นทรัพย์สินของผู้อื่น
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
ตารางที่ 29 ส่วนของลิงก์เกอร์
.ข้อความ
ส่วนของลิงก์เกอร์
.โรดาต้า
.ข้อมูลย้อนหลัง
.bss
.กอง
.สแต็ค
คำอธิบาย รหัสปฏิบัติการ ข้อมูลแบบอ่านอย่างเดียวใดๆ ที่ใช้ในการรันโปรแกรม เก็บข้อมูลการอ่าน-เขียนที่ใช้ในการรันโปรแกรม ประกอบด้วยข้อมูลคงที่ที่ไม่ได้กำหนดค่าเริ่มต้น ประกอบด้วยหน่วยความจำที่จัดสรรแบบไดนามิก จัดเก็บพารามิเตอร์การเรียกใช้ฟังก์ชันและข้อมูลชั่วคราวอื่นๆ
คุณสามารถเพิ่มส่วนตัวเชื่อมเพิ่มเติมลงใน .elf ได้ file เพื่อเก็บโค้ดและข้อมูลที่กำหนดเอง ส่วนลิงก์เกอร์เหล่านี้จะถูกวางไว้ในพื้นที่หน่วยความจำที่มีชื่อ ซึ่งถูกกำหนดให้สอดคล้องกับอุปกรณ์หน่วยความจำกายภาพและที่อยู่ โดยค่าเริ่มต้น BSP Editor จะสร้างส่วนลิงก์เกอร์เหล่านี้โดยอัตโนมัติ อย่างไรก็ตาม คุณสามารถควบคุมส่วนลิงก์เกอร์สำหรับแอปพลิเคชันเฉพาะได้
4.2.1. การเชื่อมโยงพฤติกรรม
ส่วนนี้จะอธิบายพฤติกรรมการเชื่อมโยงเริ่มต้นของ BSP Editor และวิธีการควบคุมพฤติกรรมการเชื่อมโยง
4.2.1.1. การเชื่อมโยง BSP เริ่มต้น
ในระหว่างการกำหนดค่า BSP เครื่องมือจะดำเนินการขั้นตอนต่อไปนี้โดยอัตโนมัติ:
1. กำหนดชื่อภูมิภาคหน่วยความจำ: กำหนดชื่อให้กับอุปกรณ์หน่วยความจำระบบแต่ละเครื่องและเพิ่มชื่อแต่ละชื่อลงในตัวเชื่อมโยง file เป็นพื้นที่ความจำ
2. ค้นหาหน่วยความจำที่ใหญ่ที่สุด: ระบุพื้นที่หน่วยความจำอ่านและเขียนที่ใหญ่ที่สุดในตัวเชื่อมโยง file.
3. กำหนดส่วนตัวเชื่อมลิงก์: วางส่วนตัวเชื่อมลิงก์เริ่มต้น (.text, .rodata, .rwdata, .bss, .heap และ .stack) ในพื้นที่หน่วยความจำที่ระบุในขั้นตอนก่อนหน้านี้
4. การเขียน files: เขียน linker.x และ linker.h files.
โดยทั่วไป แผนการจัดสรรส่วนตัวเชื่อมโยงจะทำงานได้ในระหว่างกระบวนการพัฒนาซอฟต์แวร์ เนื่องจากรับประกันว่าแอปพลิเคชันจะทำงานได้หากหน่วยความจำมีขนาดใหญ่เพียงพอ
กฎสำหรับพฤติกรรมการเชื่อมโยงเริ่มต้นมีอยู่ในสคริปต์ Tcl ที่สร้างโดย Altera bsp-set-defaults.tcl และ bsp-linker-utils.tcl ที่พบใน ไดเร็กทอรี /niosv/scripts/bsp-defaults คำสั่ง niosv-bsp จะเรียกใช้สคริปต์เหล่านี้ อย่าแก้ไขสคริปต์เหล่านี้โดยตรง
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 48
ส่งคำติชม
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
4.2.1.2. การเชื่อมโยง BSP ที่กำหนดค่าได้
คุณสามารถจัดการพฤติกรรมการเชื่อมโยงเริ่มต้นได้ในแท็บ "Linker Script" ของ BSP Editor จัดการสคริปต์ Linker โดยใช้วิธีการต่อไปนี้: · เพิ่มพื้นที่หน่วยความจำ: แมปชื่อพื้นที่หน่วยความจำไปยังอุปกรณ์หน่วยความจำทางกายภาพ · เพิ่มการแมปส่วน: แมปชื่อส่วนไปยังพื้นที่หน่วยความจำ BSP
โปรแกรมแก้ไขช่วยให้คุณสามารถ view แผนที่หน่วยความจำก่อนและหลังการเปลี่ยนแปลง
4.3 วิธีการบูตโปรเซสเซอร์ Nios V
มีหลายวิธีในการบูตโปรเซสเซอร์ Nios V ในอุปกรณ์ Altera FPGA วิธีการบูตโปรเซสเซอร์ Nios V จะแตกต่างกันไปตามการเลือกหน่วยความจำแฟลชและตระกูลอุปกรณ์
ตารางที่ 30 หน่วยความจำแฟลชที่รองรับพร้อมตัวเลือกการบูตที่เกี่ยวข้อง
หน่วยความจำบูตที่รองรับ
อุปกรณ์
แฟลชบนชิป (สำหรับการกำหนดค่าภายใน)
รองรับอุปกรณ์ได้สูงสุด 10 เครื่องเท่านั้น (พร้อม On-Chip Flash IP)
QSPI Flash วัตถุประสงค์ทั่วไป (สำหรับข้อมูลผู้ใช้เท่านั้น)
อุปกรณ์ FPGA ที่รองรับทั้งหมด (พร้อม Generic Serial Flash Interface FPGA IP)
การกำหนดค่า QSPI Flash (สำหรับการกำหนดค่า Active Serial)
การควบคุมแบบบล็อก
อุปกรณ์ (พร้อม Generic
อินเทอร์เฟซแฟลชแบบอนุกรม Intel FPGA IP)(2)
วิธีการบูตโปรเซสเซอร์ Nios V
ตำแหน่งรันไทม์ของแอปพลิเคชัน
เครื่องคัดลอกบูต
แอปพลิเคชันโปรเซสเซอร์ Nios V ดำเนินการจากแฟลชบนชิป
แฟลชออนชิป (XIP) + OCRAM/ RAM ภายนอก (สำหรับส่วนข้อมูลที่เขียนได้)
ฟังก์ชัน alt_load()
แอปพลิเคชันโปรเซสเซอร์ Nios V คัดลอกจากแฟลชบนชิปไปยัง RAM โดยใช้เครื่องคัดลอกการบูต
OCRAM/RAM ภายนอก
การนำ Bootloader มาใช้ซ้ำผ่าน GSFI
แอปพลิเคชันโปรเซสเซอร์ Nios V ดำเนินการจากแฟลช QSPI วัตถุประสงค์ทั่วไป
แฟลช QSPI วัตถุประสงค์ทั่วไป (XIP) + OCRAM/ RAM ภายนอก (สำหรับส่วนข้อมูลที่เขียนได้)
ฟังก์ชัน alt_load()
แอปพลิเคชันโปรเซสเซอร์ Nios V คัดลอกจากแฟลช QSPI วัตถุประสงค์ทั่วไปไปยัง RAM โดยใช้เครื่องคัดลอกบูต
OCRAM/RAM ภายนอก
Bootloader ผ่าน GSFI
แอปพลิเคชันโปรเซสเซอร์ Nios V ดำเนินการจากแฟลช QSPI การกำหนดค่า
การกำหนดค่าแฟลช QSPI (XIP) + OCRAM/ RAM ภายนอก (สำหรับส่วนข้อมูลที่เขียนได้)
ฟังก์ชัน alt_load()
แอปพลิเคชันโปรเซสเซอร์ Nios V คัดลอกจากแฟลช QSPI การกำหนดค่าไปยัง RAM โดยใช้เครื่องคัดลอกการบูต
OCRAM/ External RAM Bootloader ผ่าน GSFI ต่อ…
(2) ดูที่ AN 980: การสนับสนุนซอฟต์แวร์ Quartus Prime โปรเซสเซอร์ Nios V สำหรับรายการอุปกรณ์
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 49
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
หน่วยความจำบูตที่รองรับ
หน่วยความจำบนชิป (OCRAM) หน่วยความจำที่จับคู่กันอย่างแน่นหนา (TCM)
อุปกรณ์
อุปกรณ์ที่ใช้ SDM (พร้อม Mailbox Client Intel FPGA IP) (2)
อุปกรณ์ Altera FPGA ที่รองรับทั้งหมด (2)
อุปกรณ์ Altera FPGA ที่รองรับทั้งหมด (2)
วิธีการบูตโปรเซสเซอร์ Nios V
แอปพลิเคชันโปรเซสเซอร์ Nios V คัดลอกจากแฟลช QSPI การกำหนดค่าไปยัง RAM โดยใช้เครื่องคัดลอกการบูต
แอปพลิเคชันโปรเซสเซอร์ Nios V ดำเนินการจาก OCRAM
แอปพลิเคชันโปรเซสเซอร์ Nios V ดำเนินการในสถานที่จาก TCM
ตำแหน่งรันไทม์ของแอปพลิเคชัน
เครื่องคัดลอกบูต
OCRAM/ บูตโหลดเดอร์ RAM ภายนอกผ่าน SDM
โอแรม
ฟังก์ชัน alt_load()
คำสั่ง TCM (XIP) ไม่มี + ข้อมูล TCM (สำหรับส่วนข้อมูลที่เขียนได้)
รูปที่ 28 ขั้นตอนการบูตโปรเซสเซอร์ Nios V
รีเซ็ต
โปรเซสเซอร์กระโดดเพื่อรีเซ็ตเวกเตอร์ (เริ่มรหัสบูต)
รหัสแอปพลิเคชันอาจถูกคัดลอกไปยังตำแหน่งหน่วยความจำอื่น (ขึ้นอยู่กับตัวเลือกการบูต)
รหัสการบูตจะเริ่มต้นโปรเซสเซอร์
ขึ้นอยู่กับตัวเลือกการบูต รหัสการบูตอาจคัดลอกค่าเริ่มต้นสำหรับข้อมูล/รหัสไปยังพื้นที่หน่วยความจำอื่น (alt_load)
โค้ดการบูตจะเริ่มต้นโค้ดแอปพลิเคชันและพื้นที่หน่วยความจำข้อมูล
โค้ดการบูตจะเริ่มต้นอุปกรณ์ต่อพ่วงระบบทั้งหมดด้วยไดรเวอร์ HAL (alt_main)
ทางเข้าหลัก
ข้อมูลที่เกี่ยวข้อง · คู่มือผู้ใช้ Altera FPGA IP อินเทอร์เฟซแฟลชอนุกรมทั่วไป
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 50
ส่งคำติชม
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
· คู่มือผู้ใช้ Mailbox Client Altera FPGA IP · AN 980: การสนับสนุนซอฟต์แวร์ Quartus Prime สำหรับโปรเซสเซอร์ Nios V
4.4 บทนำเกี่ยวกับวิธีการบูตโปรเซสเซอร์ Nios V
ระบบประมวลผล Nios V จำเป็นต้องกำหนดค่าอิมเมจซอฟต์แวร์ในหน่วยความจำระบบก่อนที่หน่วยประมวลผลจะสามารถเริ่มดำเนินการโปรแกรมแอปพลิเคชันได้ โปรดดูส่วนลิงก์เกอร์สำหรับส่วนลิงก์เกอร์เริ่มต้น
ตัวแก้ไข BSP สร้างสคริปต์ลิงก์เกอร์ที่ทำหน้าที่ต่อไปนี้: · ตรวจสอบให้แน่ใจว่าซอฟต์แวร์โปรเซสเซอร์เชื่อมโยงตามการตั้งค่าลิงก์เกอร์
ของตัวแก้ไข BSP และกำหนดตำแหน่งที่ซอฟต์แวร์อยู่ในหน่วยความจำ · วางตำแหน่งภูมิภาคโค้ดของโปรเซสเซอร์ในส่วนประกอบหน่วยความจำตาม
ส่วนประกอบหน่วยความจำที่ได้รับมอบหมาย
หัวข้อต่อไปนี้จะอธิบายวิธีการบูตโปรเซสเซอร์ Nios V ที่มีอยู่โดยย่อ
4.4.1. แอปพลิเคชันโปรเซสเซอร์ Nios V ดำเนินการแบบ In-Place จากการบูตแฟลช
Altera ได้ออกแบบตัวควบคุมแฟลชเพื่อให้โปรเซสเซอร์ Nios V สามารถเข้าถึงแอดเดรสของแฟลชสำหรับบูตได้ทันทีหลังจากรีเซ็ตระบบ โดยไม่จำเป็นต้องเริ่มต้นตัวควบคุมหน่วยความจำหรืออุปกรณ์หน่วยความจำ ซึ่งช่วยให้โปรเซสเซอร์ Nios V สามารถรันโค้ดแอปพลิเคชันที่เก็บไว้ในอุปกรณ์บูตได้โดยตรงโดยไม่ต้องใช้เครื่องคัดลอกบูตเพื่อคัดลอกโค้ดไปยังหน่วยความจำประเภทอื่น ตัวควบคุมแฟลชประกอบด้วย: · แฟลชแบบออนชิปพร้อม IP แบบออนชิปแฟลช (เฉพาะในอุปกรณ์ MAX® 10) · แฟลช QSPI อเนกประสงค์พร้อม IP อินเทอร์เฟซแฟลชแบบอนุกรมทั่วไป · แฟลช QSPI สำหรับการกำหนดค่าพร้อม IP อินเทอร์เฟซแฟลชแบบอนุกรมทั่วไป (ยกเว้น MAX 10)
อุปกรณ์)
เมื่อแอปพลิเคชันโปรเซสเซอร์ Nios V ดำเนินการจากแฟลชบูต ตัวแก้ไข BSP จะดำเนินการฟังก์ชันต่อไปนี้: · ตั้งค่าส่วนลิงก์เกอร์ .text ไปยังพื้นที่หน่วยความจำแฟลชบูต · ตั้งค่าส่วนลิงก์เกอร์ .bss, .rodata, .rwdata, .stack และ .heap ไปยัง RAM
พื้นที่หน่วยความจำ คุณต้องเปิดใช้งานฟังก์ชัน alt_load() ในการตั้งค่า BSP เพื่อคัดลอกส่วนข้อมูล (.rodata, .rwdata,, .exceptions) ไปยัง RAM เมื่อรีเซ็ตระบบ ส่วนโค้ด (.text) จะยังคงอยู่ในพื้นที่หน่วยความจำแฟลชสำหรับบูต
ข้อมูลที่เกี่ยวข้อง · คู่มือผู้ใช้ Altera FPGA IP อินเทอร์เฟซแฟลชแบบอนุกรมทั่วไป · คู่มือผู้ใช้หน่วยความจำแฟลช Altera MAX 10
4.4.1.1. alt_load()
คุณสามารถเปิดใช้งานฟังก์ชัน alt_load() ในโค้ด HAL ได้โดยใช้ BSP Editor
เมื่อใช้ในโฟลว์การบูตแบบดำเนินการในสถานที่ ฟังก์ชัน alt_load() จะดำเนินการงานต่อไปนี้:
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 51
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
· ทำหน้าที่เป็นเครื่องคัดลอกบูตขนาดเล็กที่คัดลอกส่วนหน่วยความจำไปยัง RAM ตามการตั้งค่า BSP
· คัดลอกส่วนข้อมูล (.rodata, .rwdata, .exceptions) ไปยัง RAM แต่ไม่ใช่ส่วนโค้ด (.text) ส่วนโค้ด (.text) เป็นส่วนแบบอ่านอย่างเดียวและยังคงอยู่ในพื้นที่บูตหน่วยความจำแฟลช การแบ่งพาร์ติชันนี้ช่วยลดการใช้ RAM แต่อาจจำกัดประสิทธิภาพการทำงานของโค้ด เนื่องจากการเข้าถึงหน่วยความจำแฟลชจะช้ากว่าการเข้าถึง RAM บนชิป
ตารางต่อไปนี้แสดงรายการการตั้งค่าและฟังก์ชันของ BSP Editor:
ตารางที่ 31 การตั้งค่าตัวแก้ไข BSP
การตั้งค่าตัวแก้ไข BSP hal.linker.enable_alt_load hal.linker.enable_alt_load_copy_rodata hal.linker.enable_alt_load_copy_rwdata hal.linker.enable_alt_load_copy_exceptions
ฟังก์ชัน เปิดใช้งานฟังก์ชัน alt_load() alt_load() คัดลอกส่วน .rodata ไปยัง RAM alt_load() คัดลอกส่วน .rwdata ไปยัง RAM alt_load() คัดลอกส่วน .exceptions ไปยัง RAM
4.4.2. แอปพลิเคชันโปรเซสเซอร์ Nios V คัดลอกจาก Boot Flash ไปยัง RAM โดยใช้ Boot Copier
โปรเซสเซอร์ Nios V และ HAL ประกอบด้วยเครื่องคัดลอกบูตที่ให้ฟังก์ชันการทำงานเพียงพอสำหรับแอปพลิเคชันโปรเซสเซอร์ Nios V ส่วนใหญ่ และสะดวกต่อการใช้งานร่วมกับกระแสการพัฒนาซอฟต์แวร์ Nios V
เมื่อแอปพลิเคชันใช้ตัวคัดลอกบูต ระบบจะตั้งค่าส่วนลิงก์เกอร์ทั้งหมด (.text, .heap, .rwdata, .rodata, .bss, .stack) ลงใน RAM ภายในหรือภายนอก การใช้ตัวคัดลอกบูตเพื่อคัดลอกแอปพลิเคชันโปรเซสเซอร์ Nios V จากแฟลชบูตไปยัง RAM ภายในหรือภายนอกเพื่อดำเนินการ จะช่วยปรับปรุงประสิทธิภาพการดำเนินการ
สำหรับตัวเลือกการบูตนี้ โปรเซสเซอร์ Nios V จะเริ่มรันซอฟต์แวร์คัดลอกการบูตหลังจากรีเซ็ตระบบ ซอฟต์แวร์จะคัดลอกแอปพลิเคชันจากแฟลชบูตไปยัง RAM ภายในหรือภายนอก เมื่อกระบวนการเสร็จสิ้น โปรเซสเซอร์ Nios V จะถ่ายโอนการควบคุมโปรแกรมไปยังแอปพลิเคชัน
บันทึก:
หากเครื่องคัดลอกบูตอยู่ในแฟลช ก็ไม่จำเป็นต้องเรียกฟังก์ชัน alt_load() เนื่องจากทั้งสองฟังก์ชันมีวัตถุประสงค์เดียวกัน
4.4.2.1. บูตโหลดเดอร์โปรเซสเซอร์ Nios V ผ่านอินเทอร์เฟซแฟลชซีเรียลทั่วไป
Bootloader ผ่าน GSFI คือตัวคัดลอกการบูตของโปรเซสเซอร์ Nios V ที่รองรับหน่วยความจำแฟลช QSPI ในอุปกรณ์ที่ใช้บล็อกควบคุม Bootloader ผ่าน GSFI มีคุณสมบัติดังต่อไปนี้:
· ค้นหาแอปพลิเคชันซอฟต์แวร์ในหน่วยความจำแบบไม่ลบเลือน
· แกะและคัดลอกภาพแอปพลิเคชันซอฟต์แวร์ไปยัง RAM
· สลับการทำงานของโปรเซสเซอร์ไปยังโค้ดแอปพลิเคชันใน RAM โดยอัตโนมัติหลังจากการคัดลอกเสร็จสิ้น
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 52
ส่งคำติชม
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
อิมเมจการบูตจะอยู่หลังเครื่องถ่ายเอกสารบูต คุณต้องตรวจสอบให้แน่ใจว่าโปรเซสเซอร์ Nios V รีเซ็ตจุดออฟเซ็ตไปยังจุดเริ่มต้นของเครื่องถ่ายเอกสารบูต รูปภาพ: แผนผังหน่วยความจำสำหรับแฟลช QSPI พร้อม Bootloader ผ่าน GSFI แผนผังหน่วยความจำสำหรับแฟลช QSPI พร้อม Bootloader ผ่าน GSFI แสดงแผนผังหน่วยความจำแฟลชสำหรับแฟลช QSPI เมื่อใช้เครื่องถ่ายเอกสารบูต แผนผังหน่วยความจำนี้สมมติว่าหน่วยความจำแฟลชจัดเก็บอิมเมจ FPGA และซอฟต์แวร์แอปพลิเคชัน
ตารางที่ 32 Bootloader ผ่าน GSFI สำหรับโปรเซสเซอร์ Nios V Core
โปรเซสเซอร์คอร์ Nios V
โปรเซสเซอร์ Nios V/m
Bootloader ผ่าน GSFI File ที่ตั้ง
/niosv/ส่วนประกอบ/bootloader/ niosv_m_bootloader.srec
โปรเซสเซอร์ Nios V/g
/niosv/ส่วนประกอบ/bootloader/ niosv_g_bootloader.srec
รูปที่ 29 แผนที่หน่วยความจำสำหรับ QSPI Flash พร้อม Bootloader ผ่าน GSFI
ข้อมูลลูกค้า (*.hex)
รหัสสมัคร
บันทึก:
รีเซ็ตเวกเตอร์ออฟเซ็ต
เครื่องคัดลอกบูต
0x01E00000
ภาพ FPGA (*.sof)
ขนาด 0x00000000
1. ในตอนเริ่มต้นของแผนที่หน่วยความจำคือภาพ FPGA ตามด้วยข้อมูลของคุณ ซึ่งประกอบด้วยเครื่องคัดลอกบูตและโค้ดแอปพลิเคชัน
2. คุณต้องตั้งค่าออฟเซ็ตการรีเซ็ตโปรเซสเซอร์ Nios V ใน Platform Designer และชี้ไปที่จุดเริ่มต้นของเครื่องคัดลอกการบูต
3. ขนาดของภาพ FPGA ไม่ทราบแน่ชัด คุณสามารถทราบขนาดที่แน่นอนได้หลังจากการคอมไพล์โครงการ Quartus Prime เท่านั้น คุณต้องกำหนดขอบเขตบนสำหรับขนาดของภาพ Altera FPGA ตัวอย่างเช่นampถ้าขนาดของภาพ FPGA คาดว่าจะน้อยกว่า 0x01E00000 ให้ตั้งค่า Reset Offset เป็น 0x01E00000 ใน Platform Designer ซึ่งถือเป็นจุดเริ่มต้นของเครื่องคัดลอกการบูตด้วย
4. แนวทางการออกแบบที่ดีประกอบด้วยการตั้งค่าออฟเซ็ตเวกเตอร์รีเซ็ตที่ขอบเขตเซกเตอร์แฟลชเพื่อให้แน่ใจว่าไม่มีการลบบางส่วนของภาพ FPGA เกิดขึ้นในกรณีที่มีการอัปเดตแอปพลิเคชันซอฟต์แวร์
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 53
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
4.4.2.2. บูตโหลดเดอร์โปรเซสเซอร์ Nios V ผ่าน Secure Device Manager
Bootloader ผ่าน Secure Device Manager (SDM) คือรหัสแอปพลิเคชัน HAL ที่ใช้ไดรเวอร์ Mailbox Client Altera FPGA IP HAL สำหรับการบูตโปรเซสเซอร์ Altera ขอแนะนำแอปพลิเคชัน bootloader นี้เมื่อใช้แฟลช QSPI การกำหนดค่าในอุปกรณ์ที่ใช้ SDM เพื่อบูตโปรเซสเซอร์ Nios V
เมื่อรีเซ็ตระบบแล้ว โปรเซสเซอร์ Nios V จะบูต Bootloader ผ่าน SDM จากหน่วยความจำบนชิปขนาดเล็กก่อน จากนั้นจึงดำเนินการ Bootloader ผ่าน SDM เพื่อสื่อสารกับแฟลช QSPI การกำหนดค่าโดยใช้ Mailbox Client IP
Bootloader ผ่าน SDM จะดำเนินการงานต่อไปนี้: · ค้นหาซอฟต์แวร์ Nios V ในแฟลช QSPI การกำหนดค่า · คัดลอกซอฟต์แวร์ Nios V ลงใน RAM บนชิปหรือ RAM ภายนอก · สลับการทำงานของโปรเซสเซอร์ไปยังซอฟต์แวร์ Nios V ภายใน RAM บนชิปหรือ
แรมภายนอก
เมื่อกระบวนการเสร็จสมบูรณ์ Bootloader ผ่าน SDM จะโอนการควบคุมโปรแกรมไปยังแอปพลิเคชันของผู้ใช้ Altera ขอแนะนำการจัดระเบียบหน่วยความจำตามที่ระบุไว้ในหัวข้อ การจัดระเบียบหน่วยความจำสำหรับ Bootloader ผ่าน SDM
รูปที่ 30 กระบวนการ Bootloader ผ่าน SDM
การกำหนดค่า
แฟลช
2
ซอฟต์แวร์ Nios V
ส.ด.เอ็ม.
อุปกรณ์ FPGA ที่ใช้ SDM
IP ไคลเอนต์กล่องจดหมาย
FPGA ลอจิก Nios V
แรมภายนอก 4 ตัว
ซอฟต์แวร์ Nios V
ออนชิป 4
อีเอ็มไอเอฟ
แรม
หน่วยความจำบนชิป
IP
นิออส วี
1
ซอฟต์แวร์
บูตโหลดเดอร์ผ่าน SDM
3
3
1. โปรเซสเซอร์ Nios V รัน Bootloader ผ่าน SDM จากหน่วยความจำบนชิป
2. Bootloader ผ่าน SDM จะสื่อสารกับแฟลชการกำหนดค่าและค้นหาซอฟต์แวร์ Nios V
3. Bootloader ผ่าน SDM จะคัดลอกซอฟต์แวร์ Nios V จาก Configuration Flash ลงใน RAM บนชิป / RAM ภายนอก
4. Bootloader ผ่าน SDM จะสลับการทำงานของโปรเซสเซอร์ Nios V ไปที่ซอฟต์แวร์ Nios V ใน RAM บนชิป / RAM ภายนอก
4.4.3 แอปพลิเคชันโปรเซสเซอร์ Nios V ดำเนินการภายในจาก OCRAM
ในวิธีนี้ ที่อยู่รีเซ็ตของโปรเซสเซอร์ Nios V จะถูกตั้งค่าเป็นที่อยู่ฐานของหน่วยความจำบนชิป (OCRAM) ไบนารีแอปพลิเคชัน (.hex) file จะถูกโหลดเข้าสู่ OCRAM เมื่อกำหนดค่า FPGA หลังจากคอมไพล์การออกแบบฮาร์ดแวร์ในซอฟต์แวร์ Quartus Prime แล้ว เมื่อโปรเซสเซอร์ Nios V รีเซ็ต แอปพลิเคชันจะเริ่มทำงานและแยกไปยังจุดเข้าใช้งาน
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 54
ส่งคำติชม
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
บันทึก:
· Execute-In-Place จาก OCRAM ไม่จำเป็นต้องใช้เครื่องคัดลอกแบบบูต เนื่องจากแอปพลิเคชันโปรเซสเซอร์ Nios V มีอยู่แล้วในขณะรีเซ็ตระบบ
· Altera ขอแนะนำให้เปิดใช้งาน alt_load() สำหรับวิธีการบูตนี้เพื่อให้ซอฟต์แวร์ที่ฝังไว้ทำงานเหมือนกันทุกประการเมื่อรีเซ็ตโดยไม่ต้องกำหนดค่าอิมเมจอุปกรณ์ FPGA ใหม่
· คุณต้องเปิดใช้งานฟังก์ชัน alt_load() ในการตั้งค่า BSP เพื่อคัดลอกส่วน .rwdata เมื่อรีเซ็ตระบบ ในวิธีนี้ ค่าเริ่มต้นของตัวแปรที่กำหนดค่าเริ่มต้นจะถูกจัดเก็บแยกต่างหากจากตัวแปรที่เกี่ยวข้อง เพื่อหลีกเลี่ยงการเขียนทับเมื่อโปรแกรมทำงาน
4.4.4 แอปพลิเคชันโปรเซสเซอร์ Nios V ดำเนินการภายในสถานที่จาก TCM
วิธี execute-in-place จะตั้งค่าที่อยู่รีเซ็ตของโปรเซสเซอร์ Nios V ให้เป็นที่อยู่พื้นฐานของหน่วยความจำแบบ tightly coupled (TCM) ไบนารีแอปพลิเคชัน (.hex) file จะถูกโหลดเข้าสู่ TCM เมื่อคุณกำหนดค่า FPGA หลังจากที่คุณคอมไพล์การออกแบบฮาร์ดแวร์ในซอฟต์แวร์ Quartus Prime เมื่อโปรเซสเซอร์ Nios V รีเซ็ต แอปพลิเคชันจะเริ่มทำงานและแยกสาขาไปยังจุดเข้า
บันทึก:
Execute-In-Place จาก TCM ไม่จำเป็นต้องใช้เครื่องคัดลอกแบบบูต เนื่องจากแอปพลิเคชันโปรเซสเซอร์ Nios V มีอยู่ในสถานที่แล้วเมื่อรีเซ็ตระบบ
4.5. การบูตโปรเซสเซอร์ Nios V จากแฟลชบนชิป (UFM)
โปรเซสเซอร์ Nios V สามารถบูตและรันซอฟต์แวร์จากแฟลชบนชิป (UFM) ได้ในอุปกรณ์ FPGA MAX 10 โปรเซสเซอร์ Nios V รองรับสองตัวเลือกการบูตต่อไปนี้โดยใช้แฟลชบนชิปในโหมดการกำหนดค่าภายใน:
· แอปพลิเคชันโปรเซสเซอร์ Nios V ดำเนินการจากแฟลชบนชิป
· แอปพลิเคชันโปรเซสเซอร์ Nios V จะถูกคัดลอกจากแฟลชบนชิปไปยัง RAM โดยใช้เครื่องคัดลอกการบูต
ตารางที่ 33 หน่วยความจำแฟลชที่รองรับพร้อมตัวเลือกการบูตที่เกี่ยวข้อง
หน่วยความจำบูตที่รองรับ
วิธีการบูต Nios V
ตำแหน่งรันไทม์ของแอปพลิเคชัน
เครื่องคัดลอกบูต
สูงสุด 10 อุปกรณ์เท่านั้น (พร้อม OnChip Flash IP)
แอปพลิเคชันโปรเซสเซอร์ Nios V ดำเนินการจากแฟลชบนชิป
แอปพลิเคชันโปรเซสเซอร์ Nios V คัดลอกจากแฟลชบนชิปไปยัง RAM โดยใช้เครื่องคัดลอกการบูต
แฟลชออนชิป (XIP) + OCRAM/ RAM ภายนอก (สำหรับส่วนข้อมูลที่เขียนได้)
ฟังก์ชัน alt_load()
OCRAM/ แรมภายนอก
การนำ Bootloader มาใช้ซ้ำผ่าน GSFI
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 55
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
รูปที่ 31.
การออกแบบ การกำหนดค่า และขั้นตอนการบูต
ออกแบบ · สร้างโครงการของคุณโดยใช้ Nios V Processor โดยใช้ Platform Designer · ตรวจสอบให้แน่ใจว่ามี RAM ภายนอกหรือ RAM บนชิปในการออกแบบระบบ
การกำหนดค่าและการรวบรวม FPGA
· ตั้งค่าโหมดการกำหนดค่าภายในเดียวกันใน On-chip Flash IP ในซอฟต์แวร์ Platform Designer และ Quartus Prime · ตั้งค่าตัวแทนการรีเซ็ตโปรเซสเซอร์ Nios V เป็น On-chip Flash · เลือกวิธีการเริ่มต้น UFM ที่คุณต้องการ · สร้างการออกแบบของคุณใน Platform Designer · คอมไพล์โครงการของคุณในซอฟต์แวร์ Quartus Prime
โครงการแอปพลิเคชันผู้ใช้ BSP · สร้างโปรเซสเซอร์ Nios V HAL BSP บนพื้นฐานของ .sopcinfo file สร้างโดย Platform Designer · แก้ไขการตั้งค่า BSP ของโปรเซสเซอร์ Nios V และสคริปต์ Linker ใน BSP Editor · สร้างโครงการ BSP
โครงการแอปพลิเคชันผู้ใช้ · พัฒนาโค้ดแอปพลิเคชันโปรเซสเซอร์ Nios V · คอมไพล์แอปพลิเคชันโปรเซสเซอร์ Nios V และสร้างแอปพลิเคชันโปรเซสเซอร์ Nios V (.hex) file· คอมไพล์โครงการของคุณใหม่ในซอฟต์แวร์ Quartus Prime หากคุณเลือกตัวเลือกการเริ่มต้นเนื้อหาหน่วยความจำใน Intel FPGA On-Chip Flash IP
การเขียนโปรแกรม Fileการแปลง ดาวน์โหลด และรัน · สร้างไฟล์แฟลชบนชิป .pof file การใช้โปรแกรมแปลง Fileคุณสมบัติเด่นในซอฟต์แวร์ Quartus Prime
· โปรแกรม .pof file ลงในอุปกรณ์ MAX 10 ของคุณ · ปิดและเปิดฮาร์ดแวร์ของคุณใหม่
4.5.1. คำอธิบายแฟลชบนชิป FPGA MAX 10
อุปกรณ์ FPGA MAX 10 มีแฟลชบนชิปที่แบ่งออกเป็นสองส่วน: · หน่วยความจำแฟลชการกำหนดค่า (CFM) — จัดเก็บข้อมูลการกำหนดค่าฮาร์ดแวร์สำหรับ
FPGA สูงสุด 10 ตัว · หน่วยความจำแฟลชของผู้ใช้ (UFM) — จัดเก็บข้อมูลผู้ใช้หรือแอปพลิเคชันซอฟต์แวร์
สถาปัตยกรรม UFM ของอุปกรณ์ MAX 10 เป็นการผสมผสานระหว่าง IP แบบซอฟท์และแบบฮาร์ด คุณสามารถเข้าถึง UFM ได้โดยใช้ On-Chip Flash IP Core ในซอฟต์แวร์ Quartus Prime เท่านั้น
แกน IP แบบแฟลชบนชิปรองรับคุณสมบัติต่อไปนี้: · การเข้าถึงการอ่านหรือเขียนไปยังเซกเตอร์ UFM และ CFM (หากเปิดใช้งานใน Platform Designer)
โดยใช้ข้อมูล Avalon MM และอินเทอร์เฟซสเลฟควบคุม · รองรับการลบหน้า ลบเซกเตอร์ และเขียนเซกเตอร์ · โมเดลจำลองสำหรับการเข้าถึงการอ่าน/เขียน UFM โดยใช้เครื่องมือจำลอง EDA ต่างๆ
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 56
ส่งคำติชม
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
ตารางที่ 34 พื้นที่แฟลชบนชิปในอุปกรณ์ FPGA MAX 10
ภูมิภาคแฟลช
ฟังก์ชันการทำงาน
การกำหนดค่าหน่วยความจำแฟลช (เซกเตอร์ CFM0-2)
การกำหนดค่า FPGA file พื้นที่จัดเก็บ
หน่วยความจำแฟลชของผู้ใช้ (เซกเตอร์ UFM0-1)
แอปพลิเคชันโปรเซสเซอร์ Nios V และข้อมูลผู้ใช้
อุปกรณ์ MAX 10 FPGA รองรับโหมดการกำหนดค่าหลายโหมด และบางโหมดอนุญาตให้ใช้ CFM1 และ CFM2 เป็นพื้นที่ UFM เพิ่มเติม ตารางต่อไปนี้แสดงตำแหน่งจัดเก็บภาพการกำหนดค่า FPGA โดยอิงตามโหมดการกำหนดค่าของ MAX 10 FPGA
ตารางที่ 35 ตำแหน่งจัดเก็บภาพการกำหนดค่า FPGA
โหมดการกำหนดค่า รูปภาพบีบอัดคู่
CFM2 บีบอัดรูปภาพ 2
ซีเอฟเอ็ม1
CFM0 บีบอัดรูปภาพ 1
รูปภาพเดี่ยวที่ไม่มีการบีบอัด
ยูเอฟเอ็มเสมือนจริง
รูปภาพที่ไม่ได้บีบอัด
รูปภาพเดี่ยวที่ไม่มีการบีบอัดพร้อมการเริ่มต้นหน่วยความจำ
ภาพที่ไม่ได้บีบอัด (พร้อมเนื้อหาหน่วยความจำบนชิปที่กำหนดค่าไว้ล่วงหน้า)
รูปภาพบีบอัดเดี่ยวพร้อมเนื้อหาหน่วยความจำบนชิปที่เริ่มต้นไว้ล่วงหน้า
รูปภาพบีบอัดเดี่ยว
ยูเอฟเอ็มเสมือนจริง
รูปภาพที่ถูกบีบอัด
คุณต้องใช้แกนกลางแฟลช IP บนชิปเพื่อเข้าถึงหน่วยความจำแฟลชใน FPGA สูงสุด 10 ตัว คุณสามารถสร้างอินสแตนซ์และเชื่อมต่อแกนกลางแฟลช IP บนชิปเข้ากับซอฟต์แวร์ Quartus Prime ได้ โปรเซสเซอร์ซอฟต์คอร์ Nios V ใช้อินเตอร์คอนเนคต์ Platform Designer เพื่อสื่อสารกับแกนกลางแฟลช IP บนชิป
รูปที่ 32 การเชื่อมต่อระหว่าง On-chip Flash IP และโปรเซสเซอร์ Nios V
บันทึก:
ตรวจสอบให้แน่ใจว่าพอร์ต CSR ของแฟลชบนชิปเชื่อมต่อกับตัวจัดการข้อมูลโปรเซสเซอร์ Nios V เพื่อให้โปรเซสเซอร์สามารถควบคุมการเขียนและการลบข้อมูลได้
แกน IP แฟลชบนชิปช่วยให้สามารถเข้าถึงเซกเตอร์แฟลชได้ 0 เซกเตอร์ ได้แก่ UFM1, UFM0, CFM1, CFM2 และ CFMXNUMX
ข้อมูลสำคัญเกี่ยวกับเซกเตอร์ UFM และ CFM: · เซกเตอร์ CFM มีไว้สำหรับการจัดเก็บข้อมูลการกำหนดค่า (บิตสตรีม) (*.pof)
ข้อมูลผู้ใช้สามารถเก็บไว้ในเซกเตอร์ UFM และอาจถูกซ่อนไว้ได้ หากเลือกการตั้งค่าที่ถูกต้องในเครื่องมือ Platform Designer
· อุปกรณ์บางชนิดไม่มีเซกเตอร์ UFM1 คุณสามารถดูตาราง: ขนาดเซกเตอร์ UFM และ CFM สำหรับเซกเตอร์ที่มีอยู่ในอุปกรณ์ MAX 10 FPGA แต่ละตัว
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 57
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
· คุณสามารถกำหนดค่า CFM2 ให้เป็น UFM เสมือนได้โดยเลือกโหมดการกำหนดค่า Single Uncompressed Image
· คุณสามารถกำหนดค่า CFM2 และ CFM1 ให้เป็น UFM เสมือนได้โดยเลือกโหมดการกำหนดค่า Single Uncompressed Image
· ขนาดของแต่ละเซกเตอร์จะแตกต่างกันไปตามอุปกรณ์ FPGA MAX 10 ที่เลือก
ตารางที่ 36.
ขนาดภาค UFM และ CFM
ตารางนี้แสดงขนาดของอาร์เรย์ UFM และ CFM
อุปกรณ์
จำนวนหน้าต่อภาค
ยูเอฟเอ็ม1 ยูเอฟเอ็ม0 ซีเอฟเอ็ม2 ซีเอฟเอ็ม1 ซีเอฟเอ็ม0
ขนาดหน้ากระดาษ (กิโลบิต)
ผู้ใช้สูงสุด
ขนาดหน่วยความจำแฟลช (Kbit) (3)
ขนาดหน่วยความจำการกำหนดค่าทั้งหมด (Kbit)
10M02 3
3
0
0
34 16
96
544
10M04 0
8
41 29 70 16
1248
2240
10M08 8
8
41 29 70 16
1376
2240
10M16 4
4
38 28 66 32
2368
4224
10M25 4
4
52 40 92 32
3200
5888
10M40 4
4
48 36 84 64
5888
10752
10M50 4
4
48 36 84 64
5888
10752
ขนาด OCRAM (กิโลบิต)
108 189 378 549 675 1260 1638
ข้อมูลที่เกี่ยวข้อง · คู่มือผู้ใช้การกำหนดค่า FPGA MAX 10 · คู่มือผู้ใช้หน่วยความจำแฟลช Altera MAX 10
4.5.2. แอปพลิเคชันโปรเซสเซอร์ Nios V ดำเนินการภายในสถานที่จาก UFM
โซลูชัน Execute-In-Place จาก UFM เหมาะสำหรับแอปพลิเคชันโปรเซสเซอร์ Nios V ที่ต้องการการใช้งานหน่วยความจำบนชิปอย่างจำกัด ฟังก์ชัน alt_load() ทำงานเป็นตัวคัดลอกการบูตขนาดเล็กที่คัดลอกส่วนข้อมูล (.rodata, .rwdata หรือ .exceptions) จากหน่วยความจำบูตไปยัง RAM ตามการตั้งค่า BSP ส่วนโค้ด (.text)
ซึ่งเป็นส่วนที่อ่านอย่างเดียว ยังคงอยู่ในพื้นที่หน่วยความจำแฟลชออนชิป MAX 10 การตั้งค่านี้จะลดการใช้ RAM ให้เหลือน้อยที่สุด แต่อาจจำกัดประสิทธิภาพการทำงานของโค้ด เนื่องจากการเข้าถึงหน่วยความจำแฟลชจะช้ากว่า RAM บนชิป
แอปพลิเคชันโปรเซสเซอร์ Nios V ถูกเขียนโปรแกรมไว้ในเซกเตอร์ UFM เวกเตอร์รีเซ็ตของโปรเซสเซอร์ Nios V จะชี้ไปยังแอดเดรสฐาน UFM เพื่อรันโค้ดจาก UFM หลังจากระบบรีเซ็ต
หากคุณใช้โปรแกรมดีบักระดับซอร์สเพื่อดีบักแอปพลิเคชันของคุณ คุณต้องใช้ฮาร์ดแวร์เบรกพอยต์ เนื่องจาก UFM ไม่รองรับการเข้าถึงหน่วยความจำแบบสุ่ม ซึ่งจำเป็นสำหรับการดีบักแบบซอฟต์เบรกพอยต์
บันทึก:
คุณไม่สามารถลบหรือเขียน UFM ได้ในขณะที่กำลังดำเนินการอยู่ใน MAX 10 ให้สลับไปใช้วิธีการบูตเครื่องคัดลอกหากคุณต้องการลบหรือเขียน UFM
(3) ค่าสูงสุดที่เป็นไปได้ ซึ่งขึ้นอยู่กับโหมดการกำหนดค่าที่คุณเลือก
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 58
ส่งคำติชม
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
รูปที่ 33 แอปพลิเคชัน XIP ของโปรเซสเซอร์ Nios V จาก UFM
อุปกรณ์สูงสุด 10 เครื่อง
.POF
Nios V ฮาร์ดแวร์ .SOF
ซอฟต์แวร์ Nios V .HEX
โปรแกรมเมอร์ Quartus
แฟลชบนชิป
ซีเอฟเอ็ม
ฮาร์ดแวร์ Nios V
ยูเอฟเอ็ม
ซอฟต์แวร์ Nios V
การกำหนดค่าภายใน
IP แฟลชบนชิป
ลอจิก FPGA
โปรเซสเซอร์ Nios V
แรมบนชิป
ภายนอก
แรม
อีเอ็มไอเอฟ
IP
4.5.2.1. ขั้นตอนการออกแบบฮาร์ดแวร์
หัวข้อต่อไปนี้จะอธิบายวิธีการทีละขั้นตอนในการสร้างระบบที่สามารถบูตได้สำหรับแอปพลิเคชันโปรเซสเซอร์ Nios V จาก On-Chip Flash ตัวอย่างample ด้านล่างนี้สร้างขึ้นโดยใช้อุปกรณ์ MAX 10
การตั้งค่าส่วนประกอบ IP
1. สร้างโปรเจ็กต์โปรเซสเซอร์ Nios V ของคุณโดยใช้ Quartus Prime และ Platform Designer 2. ตรวจสอบให้แน่ใจว่าได้เพิ่ม RAM ภายนอกหรือหน่วยความจำบนชิป (OCRAM) ลงในแพลตฟอร์มของคุณแล้ว
ระบบออกแบบ
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 59
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
รูปที่ 34 ตัวอย่างampการเชื่อมต่อ IP ใน Platform Designer สำหรับการบูต Nios V จาก OnChip Flash (UFM)
3. ในตัวแก้ไขพารามิเตอร์ IP ของแฟลชบนชิป ให้ตั้งค่าโหมดการกำหนดค่าเป็นหนึ่งในค่าต่อไปนี้ ตามความต้องการในการออกแบบของคุณ: · รูปภาพเดี่ยวที่ไม่มีการบีบอัด · รูปภาพเดี่ยวที่มีการบีบอัด · รูปภาพเดี่ยวที่ไม่มีการบีบอัดพร้อมการเริ่มต้นหน่วยความจำ · รูปภาพเดี่ยวที่มีการบีบอัดพร้อมการเริ่มต้นหน่วยความจำ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ Dual Compressed Images โปรดดูคู่มือผู้ใช้การกำหนดค่า FPGA MAX 10 – การอัปเกรดระบบระยะไกล
บันทึก:
คุณต้องกำหนดการเข้าถึงแบบซ่อนให้กับทุกภูมิภาค CFM ใน IP แฟลชบนชิป
รูปที่ 35 การเลือกโหมดการกำหนดค่าในตัวแก้ไขพารามิเตอร์แฟลชบนชิป
การตั้งค่า IP แฟลชบนชิป – การเริ่มต้น UFM คุณสามารถเลือกหนึ่งในวิธีต่อไปนี้ตามความต้องการของคุณ:
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 60
ส่งคำติชม
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
บันทึก:
ขั้นตอนในบทย่อยถัดไป (การออกแบบซอฟต์แวร์และการเขียนโปรแกรม) ขึ้นอยู่กับการเลือกที่คุณเลือกที่นี่
· วิธีที่ 1: เริ่มต้นข้อมูล UFM ใน SOF ในระหว่างการคอมไพล์
Quartus Prime จะรวมข้อมูลการเริ่มต้น UFM ไว้ใน SOF ระหว่างการคอมไพล์ จำเป็นต้องคอมไพล์ SOF ใหม่หากมีการเปลี่ยนแปลงในข้อมูล UFM
1. เลือก เริ่มต้นเนื้อหาแฟลช และ เปิดใช้งานการเริ่มต้นที่ไม่ใช่ค่าเริ่มต้น file.
รูปที่ 36 การเริ่มต้นเนื้อหา Flash และเปิดใช้งานการเริ่มต้นที่ไม่ใช่ค่าเริ่มต้น File
2. ระบุเส้นทางของไฟล์ .hex ที่สร้างขึ้น file (จากคำสั่ง elf2hex) ใน hex หรือ mif ที่ผู้ใช้สร้างขึ้น file.
รูปที่ 37 การเพิ่ม .hex File เส้นทาง
· วิธีที่ 2: รวมข้อมูล UFM เข้ากับ SOF ที่รวบรวมไว้ในระหว่างการสร้าง POF
ข้อมูล UFM จะถูกรวมกับ SOF ที่รวบรวมไว้เมื่อแปลงโปรแกรม files. คุณไม่จำเป็นต้องคอมไพล์ SOF ใหม่ แม้ว่าข้อมูล UFM จะเปลี่ยนแปลงก็ตาม ในระหว่างการพัฒนา คุณไม่จำเป็นต้องคอมไพล์ SOF ใหม่ files สำหรับการเปลี่ยนแปลงในแอปพลิเคชัน Alter แนะนำวิธีนี้สำหรับนักพัฒนาแอปพลิเคชัน
1. ยกเลิกการเลือกการเริ่มต้นเนื้อหาแฟลช
รูปที่ 38 การเริ่มต้นเนื้อหา Flash ด้วยการเริ่มต้นที่ไม่ใช่ค่าเริ่มต้น File
รีเซ็ตการตั้งค่าตัวแทนสำหรับโปรเซสเซอร์ Nios V ดำเนินการวิธี In-Place
1. ในตัวแก้ไขพารามิเตอร์โปรเซสเซอร์ Nios V ให้ตั้งค่าตัวแทนการรีเซ็ตเป็นแฟลชบนชิป
รูปที่ 39 การตั้งค่าตัวแก้ไขพารามิเตอร์โปรเซสเซอร์ Nios V พร้อมตัวแทนรีเซ็ตที่ตั้งเป็นแฟลชบนชิป
2. คลิก Generate HDL เมื่อกล่องโต้ตอบ Generation ปรากฏขึ้น 3. ระบุเอาต์พุต file ตัวเลือกการสร้างและคลิกสร้าง
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 61
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
Quartus Prime Software Settings 1. In the Quartus Prime software, click Assignments Device Device and Pin
Options Configuration. Set the Configuration mode according to the setting in On-Chip Flash IP. Figure 40. Configuration Mode Selection in Quartus Prime Software
2. คลิกตกลงเพื่อออกจากหน้าต่างตัวเลือกอุปกรณ์และพิน
3. คลิก ตกลง เพื่อออกจากหน้าต่างอุปกรณ์
4. Click Processing Start Compilation to compile your project and generate the .sof file.
บันทึก:
หากการตั้งค่าโหมดการกำหนดค่าในซอฟต์แวร์ Quartus Prime และตัวแก้ไขพารามิเตอร์ Platform Designer แตกต่างกัน โปรเจ็กต์ Quartus Prime จะล้มเหลวโดยมีข้อความแสดงข้อผิดพลาดดังต่อไปนี้
รูปที่ 41.
ข้อความแสดงข้อผิดพลาดสำหรับการตั้งค่าโหมดการกำหนดค่าที่แตกต่างกัน ข้อผิดพลาด (14740): โหมดการกำหนดค่าบนอะตอม “q_sys:q_sys_inst| altera_onchip_flash:onchip_flash_1|altera_onchip_flash_block: altera_onchip_flash_block|ufm_block” ไม่ตรงกับการตั้งค่าโครงการ โปรดอัปเดตและสร้างระบบ Qsys ใหม่ให้ตรงกับการตั้งค่าโครงการ
ข้อมูลที่เกี่ยวข้อง คู่มือผู้ใช้การกำหนดค่า MAX 10 FPGA
4.5.2.2. ขั้นตอนการออกแบบซอฟต์แวร์
ส่วนนี้อธิบายขั้นตอนการออกแบบสำหรับการสร้างและสร้างโครงการซอฟต์แวร์โปรเซสเซอร์ Nios V เพื่อให้กระบวนการสร้างเป็นไปอย่างราบรื่น ขอแนะนำให้คุณสร้างไดเร็กทอรีทรีที่คล้ายกันในโครงการออกแบบของคุณ ขั้นตอนการออกแบบซอฟต์แวร์ต่อไปนี้อ้างอิงจากไดเร็กทอรีทรีนี้
ในการสร้างไดเร็กทอรีโครงการซอฟต์แวร์ ให้ทำตามขั้นตอนเหล่านี้: 1. ในโฟลเดอร์โครงการออกแบบของคุณ ให้สร้างโฟลเดอร์ชื่อซอฟต์แวร์ 2. ในโฟลเดอร์ซอฟต์แวร์ ให้สร้างโฟลเดอร์สองโฟลเดอร์ชื่อ hal_app และ hal_bsp
รูปที่ 42 โครงสร้างไดเรกทอรีโครงการซอฟต์แวร์
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 62
ส่งคำติชม
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
การสร้างโครงการแอปพลิเคชัน BSP
หากต้องการเปิดใช้งาน BSP Editor ให้ทำตามขั้นตอนเหล่านี้: 1. ป้อน Nios V Command Shell 2. เรียกใช้ BSP Editor ด้วยคำสั่ง niosv-bsp-editor 3. ใน BSP Editor ให้คลิก File BSP ใหม่เพื่อเริ่มโครงการ BSP ของคุณ 4. กำหนดค่าการตั้งค่าต่อไปนี้:
· ข้อมูล SOPC File ชื่อ: ระบุ SOPCINFO file (.sopcinfo) · ชื่อ CPU: เลือกโปรเซสเซอร์ Nios V · ระบบปฏิบัติการ: เลือกระบบปฏิบัติการของโปรเซสเซอร์ Nios V · เวอร์ชัน: ปล่อยให้เป็นค่าเริ่มต้น · ไดเรกทอรีเป้าหมาย BSP: เลือกเส้นทางไดเรกทอรีของโครงการ BSP คุณสามารถ
ตั้งค่าไว้ล่วงหน้าที่ /software/hal_bsp โดยเปิดใช้งาน ใช้ตำแหน่งเริ่มต้น · การตั้งค่า BSP File ชื่อ: พิมพ์ชื่อของการตั้งค่า BSP File. · สคริปต์ Tcl เพิ่มเติม: จัดทำสคริปต์ BSP Tcl โดยเปิดใช้งาน เปิดใช้งานสคริปต์ Tcl เพิ่มเติม 5. คลิก ตกลง
รูปที่ 43 การกำหนดค่า BSP ใหม่
การกำหนดค่า BSP Editor และการสร้างโครงการ BSP
You can define the processor’s exception vector either in On-Chip Memory (OCRAM) or On-Chip Flash based on your design preference. Setting the exception vector memory to OCRAM/External RAM is recommended to make the interrupt processing faster. 1. Go to Main Settings Advanced hal.linker. 2. If you select On-Chip Flash as exception vector,
ก. เปิดใช้งานการตั้งค่าต่อไปนี้:
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 63
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
· allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata รูปที่ 44 การตั้งค่า Advanced.hal.linker
ข. คลิกที่แท็บ Linker Script ใน BSP Editor ค. ตั้งค่าขอบเขต .exceptions และ .text ในชื่อส่วน Linker เป็น
แฟลชบนชิป d. ตั้งค่าภูมิภาคที่เหลือในรายการชื่อส่วนลิงก์เกอร์เป็นแฟลชบนชิป
หน่วยความจำ (OCRAM) หรือ RAM ภายนอก
รูปที่ 45 การตั้งค่าภูมิภาคลิงก์เกอร์ (หน่วยความจำเวกเตอร์ข้อยกเว้น: แฟลชบนชิป)
3. หากคุณเลือก OCRAM/External RAM เป็นเวกเตอร์ข้อยกเว้น ก. เปิดใช้งานการตั้งค่าต่อไปนี้: · allow_code_at_reset · enable_alt_load · enable_alt_load_copy_rodata · enable_alt_load_copy_rwdata · enable_alt_load_copy_exception
รูปที่ 46 การตั้งค่าภูมิภาคลิงก์เกอร์ (หน่วยความจำเวกเตอร์ข้อยกเว้น: OCRAM/RAM ภายนอก)
ข. คลิกที่แท็บ Linker Script ใน BSP Editor
c. ตั้งค่าภูมิภาคข้อความในชื่อส่วนตัวลิงก์เกอร์เป็น On-Chip Flash
d. ตั้งค่าส่วนที่เหลือของภูมิภาคในรายการชื่อส่วนลิงก์เกอร์ให้เป็นหน่วยความจำบนชิป (OCRAM) หรือ RAM ภายนอก
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 64
ส่งคำติชม
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
รูปที่ 47 การตั้งค่าภูมิภาคลิงก์เกอร์ (หน่วยความจำเวกเตอร์ข้อยกเว้น: OCRAM)
4. คลิกสร้าง เพื่อสร้างโครงการ BSP การสร้างโครงการแอปพลิเคชันผู้ใช้ File 1. ไปที่โฟลเดอร์ซอฟต์แวร์/hal_app และสร้างแหล่งที่มาของแอปพลิเคชันของคุณ
โค้ด 2. เปิดใช้งาน Nios V Command Shell 3. ดำเนินการคำสั่งด้านล่างเพื่อสร้างแอปพลิเคชัน CMakeLists.txt
niosv-app –app-dir=software/hal_app –bsp-dir=software/hal_bsp –srcs=software/hal_app/<user application>
การสร้างโปรเจ็กต์แอปพลิเคชันผู้ใช้ คุณสามารถเลือกสร้างโปรเจ็กต์แอปพลิเคชันผู้ใช้โดยใช้ Ashling RiscFree IDE สำหรับ Altera FPGA หรือผ่านอินเทอร์เฟซบรรทัดคำสั่ง (CLI) หากคุณต้องการใช้ CLI คุณสามารถสร้างแอปพลิเคชันผู้ใช้ได้โดยใช้คำสั่งต่อไปนี้: cmake -G “Unix Makefiles” -B ซอฟต์แวร์/hal_app/build -S ซอฟต์แวร์/hal_app make -C ซอฟต์แวร์/hal_app/build
แอปพลิเคชัน (.elf) file ถูกสร้างขึ้นในโฟลเดอร์ software/hal_app/build การสร้าง HEX File คุณต้องสร้างไฟล์ .hex file จากแอปพลิเคชันของคุณ .elf fileเพื่อให้คุณสามารถสร้างไฟล์ .pof ได้ file เหมาะสำหรับการเขียนโปรแกรมอุปกรณ์ 1. เปิดใช้งาน Nios V Command Shell 2. สำหรับแอปพลิเคชันโปรเซสเซอร์ Nios V บูตจากแฟลชบนชิป ให้ใช้คำสั่งต่อไปนี้
บรรทัดคำสั่งเพื่อแปลงไฟล์ ELF เป็น HEX สำหรับแอปพลิเคชันของคุณ คำสั่งนี้จะสร้างแอปพลิเคชันของผู้ใช้ (onchip_flash.hex) file. ซอฟต์แวร์ elf2hex/hal_app/build/ .elf -o onchip_flash.hex
-b <base address of On-Chip Flash UFM region> -w 8 -e <end address of On-Chip Flash UFM region> 3. Recompile the hardware design if you check Initialize memory content option in On-Chip Flash IP (Method 1). This is to include the software data (.HEX) in the SOF file.
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 65
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
4.5.2.3. การเขียนโปรแกรม 1. ใน Quartus Prime คลิก File แปลงโปรแกรม Files. 2. ภายใต้การเขียนโปรแกรมเอาต์พุต fileเลือกวัตถุโปรแกรมเมอร์ File (.pof) เป็นการเขียนโปรแกรม file ประเภท 3. ตั้งค่าโหมดเป็นการกำหนดค่าภายใน
รูปที่ 48 การแปลงโปรแกรม File การตั้งค่า
4. คลิก ตัวเลือก/ข้อมูลการบูต… หน้าต่างตัวเลือกอุปกรณ์ MAX 10 จะปรากฏขึ้น 5. ตามการตั้งค่าการเริ่มต้นเนื้อหาแฟลชใน IP แฟลชบนชิป ให้ดำเนินการ
ขั้นตอนใดขั้นตอนหนึ่งต่อไปนี้: · หากเลือกการเริ่มต้นเนื้อหาแฟลช (วิธีที่ 1) ข้อมูลการเริ่มต้น UFM
ถูกรวมอยู่ใน SOF ระหว่างการรวบรวม Quartus Prime — เลือก Page_0 สำหรับตัวเลือก UFM source: คลิก OK และดำเนินการต่อ
ถัดไป รูปที่ 49 การตั้งค่า Page_0 สำหรับ UFM Source หากเลือก Initialize Flash Content
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 66
ส่งคำติชม
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
· หากไม่ได้เลือกการเริ่มต้นเนื้อหาแฟลช (วิธีที่ 2) ให้เลือกโหลดหน่วยความจำ file สำหรับตัวเลือกแหล่งที่มาของ UFM เรียกดู On-chip Flash HEX ที่สร้างขึ้น file (onchip_flash.hex) ใน File เส้นทาง: แล้วคลิกตกลง ขั้นตอนนี้จะเพิ่มข้อมูล UFM ลงใน SOF แยกต่างหาก file ระหว่างการเขียนโปรแกรม file การแปลง
รูปที่ 50 การตั้งค่าหน่วยความจำโหลด File สำหรับแหล่ง UFM หากไม่ได้เลือกการเริ่มต้นเนื้อหาแฟลช
6. ในการแปลงโปรแกรม File กล่องโต้ตอบที่อินพุต files เพื่อแปลงส่วนคลิกเพิ่ม File… และชี้ไปที่ไฟล์ Quartus Prime ที่สร้างขึ้น .sof file.
รูปที่ 51 อินพุต Files เพื่อแปลงในโปรแกรมแปลง Files สำหรับโหมดภาพเดี่ยว
7. คลิกสร้างเพื่อสร้างไฟล์ .pof file. 8. ตั้งโปรแกรม .pof file ลงในอุปกรณ์ MAX 10 ของคุณ 9. ปิดและเปิดฮาร์ดแวร์ของคุณใหม่
4.5.3. แอปพลิเคชันโปรเซสเซอร์ Nios V คัดลอกจาก UFM ไปยัง RAM โดยใช้ Boot Copier
Altera ขอแนะนำโซลูชันนี้สำหรับการออกแบบระบบโปรเซสเซอร์ MAX 10 FPGA Nios V ที่ต้องการการพัฒนาซอฟต์แวร์แอปพลิเคชันซ้ำหลายครั้งและต้องการประสิทธิภาพสูงของระบบ ตัวคัดลอกการบูตจะอยู่ภายใน UFM ที่ตำแหน่งออฟเซ็ตซึ่งเป็นแอดเดรสเดียวกับเวกเตอร์รีเซ็ต ส่วนแอปพลิเคชัน Nios V จะตั้งอยู่ถัดจากตัวคัดลอกการบูต
สำหรับตัวเลือกการบูตนี้ โปรเซสเซอร์ Nios V จะเริ่มดำเนินการคัดลอกการบูตหลังจากรีเซ็ตระบบ เพื่อคัดลอกแอปพลิเคชันจากเซกเตอร์ UFM ไปยัง OCRAM หรือ RAM ภายนอก เมื่อการคัดลอกเสร็จสมบูรณ์ โปรเซสเซอร์ Nios V จะถ่ายโอนการควบคุมโปรแกรมไปยังแอปพลิเคชัน
บันทึก:
เครื่องคัดลอกบูตที่ใช้จะเหมือนกับเครื่องโหลดบูตผ่าน GSFI
ส่งคำติชม
คู่มือการออกแบบโปรเซสเซอร์ฝังตัว Nios® V 67
4. การกำหนดค่าโปรเซสเซอร์ Nios V และโซลูชันการบูต 726952 | 2025.07.16
รูปที่ 52 แอปพลิเคชัน Nios V คัดลอกจาก UFM ไปยัง RAM โดยใช้ Boot Copier
อุปกรณ์สูงสุด 10 เครื่อง
.POF
Nios V ฮาร์ดแวร์ .SOF
ซอฟต์แวร์ Nios V .HEX
บูตโหลดเดอร์ .SREC
โปรแกรมเมอร์ Quartus
RAM ภายนอก
ซอฟต์แวร์ Nios V
แฟลชบนชิป
ซีเอฟเอ็ม
นิออส วี ฮาร์ดวา
เอกสาร / แหล่งข้อมูล
![]() |
โปรเซสเซอร์ฝังตัว Altera Nios V [พีดีเอฟ] คู่มือการใช้งาน Nios V, Nios Vm, Nios Vg, Nios Vc, โปรเซสเซอร์ฝังตัว Nios V, Nios V, โปรเซสเซอร์ฝังตัว, โปรเซสเซอร์ |