ID บทความ: 000081218 ประเภทข้อมูล: การแก้ไขปัญหา การตรวจสอบครั้งล่าสุด: 11/09/2012

โซลูชันก่อนออกก่อน (FIFO) Alteraมีอะไรบ้างสําหรับอุปกรณ์ FLEX 10K® (ไม่ใช่ E)

สิ่งแวดล้อม

BUILT IN - ARTICLE INTRO SECOND COMPONENT
คำอธิบาย ใช้บัฟเฟอร์แบบ First-in First-out (FIFO) เพื่อบัฟเฟอร์ข้อมูลที่ถ่ายโอนจากระบบย่อยหนึ่งไปยังอีกระบบหนึ่งในการออกแบบ ตัวอย่างเช่น บัฟเฟอร์ FIFO จะเก็บข้อมูลที่ขับเคลื่อนจากหลายแหล่งข้อมูลไปยังบัสที่ใช้ร่วมกัน เมื่อบัสไม่ว่าง ข้อมูลจะถูกจัดเก็บไว้ในบัฟเฟอร์ FIFO เมื่อบัสว่าง บัฟเฟอร์ FIFO จะส่งข้อมูลไปยังบัส Altera นําเสนอโซลูชันการออกแบบบัฟเฟอร์ FIFO มากมายสําหรับ FLEX® อุปกรณ์

สําหรับบัฟเฟอร์ FIFO ส่วนใหญ่ แล้ว FLEX 10K Embedded Array Blocks (EABs) จะส่งมอบประสิทธิภาพที่สูงและบล็อก RAM ขนาดใหญ่โดยไม่มีข้อดีข้อเสียของตรรกะ/หน่วยความจํา เนื่องจากอุปกรณ์Alteraจะประหยัดต้นทุน บัฟเฟอร์ FIFO ที่ประกอบขึ้นจากลอจิกเอลิเมนต์ (LEs) จึงสามารถมอบโซลูชันการแข่งขันได้เท่านั้น

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

บทความนี้อธิบายถึงการออกแบบ FIFO ต่อไปนี้:

  • บัฟเฟอร์ FIFO ของหน่วยความจําแทรกสลับ
  • บัฟเฟอร์ FIFO ที่ใช้ร่วมกันตามรอบ
  • บัฟเฟอร์ FIFO ที่ใช้ LE ซิงโครนัส
  • บัฟเฟอร์ FIFO ที่ใช้ LE แบบอะซิงโครนัส

บัฟเฟอร์ FIFO หน่วยความจําแทรกสลับ

หน่วยความจําแทรกสลับบัฟเฟอร์ FIFO เหมาะอย่างยิ่งสําหรับบัฟเฟอร์แบบลึกที่มีสัญญาณนาฬิกาอ่าน/เขียนหนึ่งตัว สําหรับบัฟเฟอร์ FIFO ประเภทนี้ EAB สองตัวจะถูกใช้สําหรับความกว้าง 8 บิตแต่ละตัว คุณสามารถใช้บัฟเฟอร์ FIFO ได้สูงสุด 512 คําลึกโดยไม่ต้องใช้ EAB เพิ่มเติม

EAB แต่ละตัวสามารถอ่านหรือเขียนได้ในรอบนาฬิกาที่กําหนด ด้วยการใช้ EAB สองตัว คุณสามารถปรับใช้การอ่านและเขียนพร้อมกันได้ ข้อมูลจะถูกดึงข้อมูลล่วงหน้าจาก EAB ที่ไม่ได้เขียน ซึ่งป้องกันความขัดแย้งที่อาจเกิดขึ้นหากจําเป็นต้องมีการอ่านและเขียนพร้อมกันใน EAB เดียวกัน บัฟเฟอร์ FIFO นี้สามารถทํางานได้ถึง 80-MHz ในอุปกรณ์ FLEX 10KA

บัฟเฟอร์ FIFO ที่ใช้ร่วมกันตามรอบ

บัฟเฟอร์ FIFO ที่ใช้ร่วมกันตามรอบเหมาะสําหรับการออกแบบที่ใช้ EAB จํานวนมาก เนื่องจากใช้ EAB น้อยกว่าบัฟเฟอร์ FIFO หน่วยความจําแทรกสลับ บัฟเฟอร์ FIFO นี้มีหนึ่งสัญญาณนาฬิกาอ่าน/เขียน และ EABs เป็นทวีคูณโดเมนเวลาด้วยสัญญาณนาฬิกาสองเท่า กล่าวคือ EAB จะถูกอ่านและเขียนบนรอบนาฬิกาเพิ่มขึ้นสองเท่าในภายหลัง เมื่อใช้นาฬิกา 66 MHz คุณสามารถใช้บัฟเฟอร์ FIFO ที่ใช้ร่วมกันตามรอบพร้อมทรูพุต 33-MHz บัฟเฟอร์ FIFO นี้สามารถทํางานได้ถึง 40-MHz ในอุปกรณ์ FLEX 10KA

บัฟเฟอร์ FIFO ที่กําหนด

ในบางแอปพลิเคชัน FIFO ไม่จําเป็นต้องอ่านและเขียนพร้อมกัน ตัวอย่างเช่น การออกแบบโหมดการถ่ายโอนข้อมูลแบบอสมวาร (ATM) อาจมีบัฟเฟอร์ FIFO ที่มีการอ่านหรือเขียนเซลล์ขนาด 53 ไบต์ทั้งเซลล์พร้อมกัน การออกแบบ ATM อาจมีบัฟเฟอร์ FIFO หลายตัวโดยหนึ่งพอร์ตกําลังเขียนเซลล์ไปยังบัฟเฟอร์ FIFO หนึ่งพอร์ต ในขณะที่อีกพอร์ตหนึ่งอ่านเซลล์จากบัฟเฟอร์ FIFO อื่น ในกรณีนี้ไม่จําเป็นต้องอ่านและเขียนพร้อมกัน แอปพลิเคชันที่ไม่จําเป็นต้องมีการอ่านและเขียนพร้อมกันสามารถใช้บัฟเฟอร์ FIFO ที่กําหนด ซึ่งใช้ EAB เพื่อจัดเก็บข้อมูล เนื่องจาก FIFO ที่กําหนดไม่จําเป็นต้องมีการอ่านและเขียนพร้อมกัน จึงไม่จําเป็นต้องใช้ EAB คุณสามารถใช้พารามิเตอร์เพื่อจัดลําดับความสําคัญของการอ่านหรือการเขียนได้ บัฟเฟอร์ FIFO ที่ระบุใช้สัญญาณนาฬิกาอ่าน/เขียนหนึ่งครั้ง เรียกใช้งานมากกว่า 80 MHz ในอุปกรณ์ FLEX 10KA

บัฟเฟอร์ FIFO ที่ใช้ LE ซิงโครนัส

บางครั้งจําเป็นต้องมีบัฟเฟอร์ FIFO มากกว่าสามารถใส่เข้าใน EAB ของอุปกรณ์เป้าหมายได้ หรืออาจต้องใช้บัฟเฟอร์ FIFO ในการออกแบบที่มุ่งเป้าไปยังอุปกรณ์ที่ไม่มี EAB (เช่น อุปกรณ์ FLEX 6000) ในกรณีนี้ บัฟเฟอร์ FIFO ที่ใช้ LE ซิงโครนัส ซึ่งใช้การลงทะเบียนกะเพื่อจัดเก็บข้อมูลในบัฟเฟอร์ FIFO มอบโซลูชันที่คุ้มค่า บัฟเฟอร์ FIFO นี้เหมาะสําหรับบัฟเฟอร์ FIFO ที่ตื้นและกว้างหลายตัวด้วยสัญญาณนาฬิกาอ่าน/เขียนเพียงครั้งเดียว บัฟเฟอร์ FIFO ที่ใช้ LE ซิงโครนัสจะถูกใช้ที่ดีที่สุดในการใช้งานความเร็วสูง และมีประสิทธิภาพมากกว่า 100 MHz

บัฟเฟอร์ FIFO ที่ใช้ LE ไม่ต่อเนื่อง

สําหรับแอปพลิเคชันที่ต้องใช้นาฬิกาอ่านและเขียนที่แตกต่างกัน บัฟเฟอร์ FIFO ที่ใช้ LE แบบอสมวารจะนําเสนอโซลูชันที่สมบูรณ์แบบ ตัวอย่างเช่น บัฟเฟอร์ FIFO อาจบัฟเฟอร์ข้อมูลที่มาจากบัส PCI 33 MHz ไปยังด้านหลัง 50 MHz บัฟเฟอร์ FIFO เหล่านี้เรียกว่า "ไม่ต่อเนื่อง" "สองสัญญาณนาฬิกา" หรือ "ไบซิงโครนัส" บัฟเฟอร์ FIFO ที่ใช้ LE แบบอะซิงโครนัสจะใช้ธนาคารลงทะเบียนเพื่อจัดเก็บข้อมูล ตัวนับการเขียนจะถูกถอดรหัสเพื่อระบุว่าการลงทะเบียนใดที่เขียนขึ้น และมีการใช้ตัวนับมัลติเพล็กเซอร์เพื่อตรวจสอบว่าการลงทะเบียนใดถูกอ่าน

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

บัฟเฟอร์ FIFO แบบใช้ LE แบบอะซิงโครนัสเหมาะสําหรับการใช้งานที่มีนาฬิกาอ่านและเขียนอิสระ และสามารถรวมเข้ากับบัฟเฟอร์ FIFO อื่นๆ เพื่อสร้างบัฟเฟอร์ FIFO ขนาดใหญ่ขึ้นพร้อมด้วยนาฬิกาอ่านและเขียนอิสระ ซึ่งสามารถบรรลุประสิทธิภาพ 60-MHz ในอุปกรณ์ FLEX 10KA

การสนับสนุน MAX PLUS II

คุณสามารถรับไฟล์ออกแบบสําหรับบัฟเฟอร์ FIFO ที่กล่าวถึงในบทความนี้จากแอปพลิเคชัน Altera บัฟเฟอร์ FIFO เป็นแบบพารามิเตอร์ได้ ซึ่งทําให้ง่ายต่อการตั้งค่าพารามิเตอร์สําหรับความต้องการของระบบของคุณและปรับแต่งฟังก์ชันสําหรับการออกแบบของคุณ นอกจากนี้ บัฟเฟอร์ FIFO ยังมาพร้อมกับ MAX PLUS ของ Altera® ซอฟต์แวร์ II (เช่น บัฟเฟอร์ FIFO ที่ใช้ร่วมกันตามรอบ, csfifo) Alteraวางแผนที่จะให้ฟังก์ชันเพิ่มเติมกับเวอร์ชันในอนาคตของซอฟต์แวร์ MAX PLUS II

บทสรุป

อุปกรณ์ FLEX มอบโซลูชันที่ยอดเยี่ยมสําหรับการออกแบบที่มีข้อกําหนด FIFO โซลูชันเหล่านี้ตอบสนองความต้องการ FIFO ที่หลากหลายและนําเสนอประสิทธิภาพสูงและขนาดใหญ่ในราคาที่ต่ํา หากคุณมีการออกแบบตามข้อกําหนด FIFO โปรดติดต่อวิศวกรแอปพลิเคชันภาคสนามในพื้นที่ของคุณเพื่อขอข้อมูลเพิ่มเติม

ผลิตภัณฑ์ที่เกี่ยวข้อง

บทความนี้จะนำไปใช้กับ 2 ผลิตภัณฑ์

Flex® 10K
อุปกรณ์ที่ตั้งโปรแกรมได้ Intel®

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