ซอฟต์แวร์ & amp; วิศวกรรมคอมพิวเตอร์
สร้างและแก้ไข การเริ่มการใช้งานหน่วยความจําและการจัดการ
Table of Contents
VHDL (VHSIC indic Entertainment) เป็นภาษาที่ทรงพลังที่ใช้ในการออกแบบและเลียนแบบระบบดิจิตอล รวมถึงความทรงจําฝังลึกใน FPGA และ ASAIC ออกแบบขึ้นมา
การเข้าใจ VHDL สําหรับหน่วยความจําที่ฝังแนบมาด้วย
VHDL ช่วยให้วิศวกรอธิบายพฤติกรรมและโครงสร้างของบล็อกหน่วยความจําภายในระบบดิจิทัลได้ ซึ่งรวมถึงการกําหนดขนาดหน่วยความจํา, ความกว้างข้อมูล และค่าเริ่มต้น แบบจําลอง VHDL สามารถนําไปใช้จําลองพฤติกรรมหน่วยความจําก่อนการปรับใช้อุปกรณ์ การประหยัดเวลาและทรัพยากร
เริ่มการเรียกหน่วยความจําใน VHDL
การเริ่มหน่วยความจําที่ฝังอยู่ใน VHDL เกี่ยวข้องกับการตั้งค่าเริ่มต้นสําหรับเนื้อหาหน่วยความจําที่ Power-up หรือ recorder ซึ่งจะประสบความสําเร็จโดยใช้วิธีการต่าง ๆ:
- [FLT: 0]. สืบค้นแฟ้มการเริ่มระบบ:[[FLT: 1) เรียกเนื้อหาหน่วยความจําจากแฟ้มภายนอกระหว่างจําลองหรือสังเคราะห์ข้อมูล
- [FLT: 0] การเพิ่มค่าปริยาย:[[FLT: 1) กําหนดค่าเริ่มต้นโดยตรงภายในรหัส VHDL
- [FLT: 0] การปรับตั้งตามหลักเหตุผล:[ ล้างหรือตั้งค่าหน่วยความจําระหว่างกระบวนการรีเซ็ต
ตัวอย่างเช่น การเริ่มหน่วยความจําด้วยไฟล์:
[FLT: 0]. mmemory array <= ROM_FILE_CONTENTS;
เทคนิกการจัดการหน่วยความจํา
การ จัด การ เรื่อง ความ จํา อย่าง มี ประสิทธิภาพ ใน วี เอช ดี แอล รวม ไป ถึง การ ควบคุม การ อ่าน และ การ เขียน, การ จัด การ กับ การ เข้า ถึง อย่าง พร้อม เพรียง, และ การ รับ ประกัน ความ ซื่อ สัตย์ มั่นคง ของ ข้อมูล.
- [FLT: 0] การอ่าน/เขียนพอร์ต: การลดสัญญาณสําหรับอ่านและเขียน เปิดใช้งาน, ที่อยู่ และสายข้อมูล (FLT:1).
- [FLT: 0] การรวบรวมหน่วยความจําบล็อก : การใช้ VHDL สร้างอาร์เรย์เหมือนอาร์เรย์ หรือหน่วยความจําที่อุทิศให้กับงานพื้นฐาน
- [FLT: 0] การจัดการความขัดแย้งระหว่างการเข้าถึง: ตรรกะออกแบบเพื่อป้องกันการขัดแย้งในการอ่าน/เขียน หรือการทุจริตข้อมูล
การจัดการที่เหมาะสม ทําให้แน่ใจว่า ความทรงจําที่ฝังตัว ดําเนินการอย่างมีประสิทธิภาพภายในระบบดิจิตอลขนาดใหญ่
ตัวอย่างการใช้งานของหน่วยความจําแบบ VHDL
นี่เป็นตัวอย่างง่ายๆ ของการเริ่มต้นของรอม ด้วยข้อมูลเฉพาะ
[FLT: 0]. สืบค้นเมื่อ 11 พฤษภาคม พ.ศ.
[FLT: 0] ใช้ IEEE.STD LICIC 1164. ALL
[FLT: 0] ใช้ IEEE.NUMERICE STD.ALL
[FLT: 0]. entity รอมคือ
[FLT: 0] พอร์ต (ที่อยู่: in STD LIC VICCER(3 ownto 0;
[FLT: 0] ข้อมูล [FLT] out: Out STD LIC VICECTV(7 ownto 0);
[FLT: 0]. end รอม;
[FLT: 0] architecture of ROM คือ
[FLT: 0] ประเภทหน่วยความจํา ประเภทคืออาร์เรย์ (0 ถึง 15) ของ STD LIC VCOIC VEPEST(7 ลดถึง 0;
[FLT: 0] คงที่ ROMNTS: menu type:= (
[FLT: 0 =] "00000001"
[FLT: 0] 1 =] "00000010"
[FLT: 0] 2 =] "00000100"
[FLT: 0] 3 =] "00001000"
[FLT: 0] อื่น ๆ =] (คนอื่น ๆ =] '0')
[FLT: 0] ] ]
[FLT: 0] หน่วยความจําสัญญาณ:หน่วยความจํา ประเภท:= ROM CNATTS [[FLTT:1]
[FLT: 0]. สืบค้นเมื่อ 20 พฤษภาคม พ.ศ.
[FLT: 0] โพรเซส (adhite)
[FLT: 0] เริ่มต้น
[FLT: 0] ข้อมูลออก [FLT: 1]
[FLT: 0] โพรเซสสิ้นสุด