กลับไปหน้าบทความ

อ่าน 7 นาที

อินเทอร์เฟซที่ขยายได้ขั้นสูง

อิน เทอร์เฟซขยายขั้นสูง ( AXI ) เป็นโปรโตคอลบัสการสื่อสารบนชิปและเป็นส่วนหนึ่งของ ข้อกำหนด สถาปัตยกรรมบัสไมโครคอนโทรลเลอร์ขั้นสูง (AMBA) [ 1 ] [ 2 ] AXI ไม่ต้องเสียค่าลิขสิทธิ์...

อินเทอร์เฟซที่ขยายได้ขั้นสูง

( เรียนรู้วิธีและเวลาในการลบข้อความนี้ )

อินเทอร์เฟซขยายขั้นสูง ( AXI ) เป็นโปรโตคอลบัสการสื่อสารบนชิปและเป็นส่วนหนึ่งของ ข้อกำหนด สถาปัตยกรรมบัสไมโครคอนโทรลเลอร์ขั้นสูง (AMBA) [ 1 ] [ 2 ] AXI ไม่ต้องเสียค่าลิขสิทธิ์ และข้อกำหนดของ AXI สามารถดาวน์โหลดได้ฟรีจากARM

AMBA AXI ระบุสัญญาณ เสริมจำนวนมาก ซึ่งสามารถรวมไว้ได้ขึ้นอยู่กับข้อกำหนดเฉพาะของการออกแบบ[ 3 ]ทำให้ AXI เป็นบัสอเนกประสงค์สำหรับแอปพลิเคชันจำนวนมาก

แม้ว่าการสื่อสารผ่าน บัส AXI จะเป็นการสื่อสารระหว่างตัวเริ่มต้นเพียงตัวเดียวและเป้าหมายเพียงตัวเดียว แต่ข้อกำหนดยังรวมถึงคำอธิบายโดยละเอียดและสัญญาณต่างๆรวมถึงการเชื่อมต่อ N:M ซึ่งสามารถขยายบัสไปยังโทโพโลยีที่มีตัวเริ่มต้นและเป้าหมายหลายตัวได้[ 4 ]

AXI3 เปิดตัวในปี 2003 พร้อมกับข้อกำหนด AMBA3 ในปี 2010 AMBA4 เวอร์ชันปรับปรุงใหม่ได้กำหนดโปรโตคอล AXI4, AXI4-Lite และ AXI4-Stream โปรโตคอล AMBA AXI4, AXI4-Lite และ AXI4-Stream ได้รับการนำไปใช้โดยXilinxและพันธมิตรหลายรายในฐานะบัสการสื่อสารหลักในผลิตภัณฑ์ของพวกเขา[ 5 ] [ 6 ] AMBA5 พร้อมกับ AXI5 เปิดตัวในปี 2022 โดยเพิ่มคุณสมบัติอะตอมิก การป้องกันข้อมูล และการทำงานของแคช นอกจากนี้ยังมีการกำหนด ACE (AXI Coherency Extension) ใหม่ด้วย[ 7 ]

รหัสเธรด

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

รหัสเธรดบนพอร์ตตัวเริ่มต้นไม่ได้ถูกกำหนดไว้ทั่วโลก ดังนั้นสวิตช์ AXI ที่มีพอร์ตตัวเริ่มต้นหลายพอร์ตจะเพิ่มคำนำหน้าดัชนีพอร์ตตัวเริ่มต้นให้กับรหัสเธรดภายใน และส่งรหัสเธรดที่ต่อกันนี้ไปยังอุปกรณ์เป้าหมาย จากนั้นเมื่อธุรกรรมกลับไปยังพอร์ตตัวเริ่มต้นต้นทาง คำนำหน้าของรหัสเธรดนี้จะถูกใช้เพื่อค้นหาพอร์ตตัวเริ่มต้น และคำนำหน้าจะถูกตัดทอน นี่คือเหตุผลที่รหัสเธรดของพอร์ตเป้าหมายมีความกว้างของบิตมากกว่ารหัสเธรดของพอร์ตตัวเริ่มต้น[ 9 ]

บัส AXI-Lite เป็นบัส AXI ที่รองรับเฉพาะเธรด ID เดียวต่ออินิเนเตอร์ โดยทั่วไปบัสนี้จะใช้สำหรับเอนด์พอยต์ที่ต้องการสื่อสารกับอุปกรณ์อินิเนเตอร์เพียงตัวเดียวในแต่ละครั้ง เช่น อุปกรณ์ต่อพ่วงแบบง่ายๆ เช่นUARTในทางตรงกันข้าม CPU สามารถเริ่มต้นธุรกรรมไปยังอุปกรณ์ต่อพ่วงและพื้นที่แอดเดรสหลายตัวพร้อมกันได้ และจะรองรับเธรด ID มากกว่าหนึ่งตัวบนพอร์ตอินิเนเตอร์ AXI และพอร์ตเป้าหมาย AXI นี่คือเหตุผลที่ CPU มักจะรองรับบัส AXI ที่มีสเปคเต็มรูปแบบ ตัวอย่างทั่วไปของสวิตช์ AXI ด้านหน้าจะประกอบด้วยอินิเนเตอร์ AXI ที่มีสเปคเต็มรูปแบบที่เชื่อมต่อกับอินิเนเตอร์ CPU และเป้าหมาย AXI-Lite หลายตัวที่เชื่อมต่อกับสวิตช์ AXI จากอุปกรณ์ต่อพ่วงต่างๆ[ 10 ]

(นอกจากนี้ บัส AXI-Lite ยังจำกัดให้รองรับความยาวการส่งข้อมูลได้เพียงคำข้อมูลเดียวต่อธุรกรรมเท่านั้น)

การจับมือ

กลไกการจับมือพื้นฐาน ของ โปรโตคอล AMBA AXI ในตัวอย่างนี้ เอนทิตีปลายทางจะรอสัญญาณ VALID ที่สูงเพื่อยืนยันสัญญาณ READY ของตนเอง

AXI กำหนดกลไกการจับมือ พื้นฐาน ซึ่งประกอบด้วยสัญญาณxVALIDและ[ 11 ]สัญญาณจะถูกส่งโดยแหล่งที่มาเพื่อแจ้งให้เอนทิตีปลายทางทราบว่าเพย์โหลดบนช่องสัญญาณนั้นถูกต้องและสามารถอ่านได้ตั้งแต่รอบนาฬิกา นั้น เป็นต้นไป ในทำนองเดียวกันสัญญาณจะถูกส่งโดยเอนทิตีที่รับเพื่อแจ้งว่าพร้อมที่จะรับข้อมูลแล้ว xREADYxVALIDxREADY

เมื่อสัญญาณทั้งxVALIDและ มีค่าสูงใน รอบสัญญาณนาฬิกาxREADYเดียวกันข้อมูลจะถือว่าถูกส่งแล้ว และแหล่งส่งข้อมูลสามารถส่งข้อมูลใหม่ได้โดยการคงสัญญาณ ไว้สูงหรือยุติการส่งโดยการลดสัญญาณ ลงการถ่ายโอนข้อมูลแต่ละครั้ง หรือรอบสัญญาณนาฬิกาที่ทั้งและมีค่าสูง เรียกว่า "บีท" xVALIDxVALIDxVALIDxREADY

มีการกำหนดกฎหลักสองข้อสำหรับการควบคุมสัญญาณเหล่านี้:

  • แหล่งข้อมูลไม่ควรรอให้สถานการณ์ดีขึ้นก่อนxREADYจึงค่อยออกมาให้xVALIDข้อมูล
  • เมื่อxVALIDมีการยืนยันข้อเท็จจริงแล้ว แหล่งข้อมูลจะต้องรักษาข้อเท็จจริงนั้นไว้จนกว่าจะมีการตกลงกันอย่างเป็นทางการ

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

ช่องต่างๆ

ในข้อกำหนด AXI มีการอธิบายช่องสัญญาณห้าช่องดังนี้: [ 12 ]

  • ช่องอ่านที่อยู่ (AR)
  • อ่านช่องข้อมูล (R)
  • เขียนที่อยู่ช่องทาง (AW)
  • ช่องเขียนข้อมูล (W)
  • เขียนช่องตอบกลับ (B)

นอกเหนือจากกฎการเรียงลำดับพื้นฐานบางประการ[ 13 ]แต่ละช่องสัญญาณเป็นอิสระจากกันและกัน และมีสัญญาณxVALID/xREADYจับมือ กันเป็นคู่ๆ [ 14 ]

ช่องอ่าน AXI
ช่องสัญญาณ AXI สำหรับอ่านที่อยู่และอ่านข้อมูล
ช่องเขียน AXI
ช่อง AXI Write Address, Write Data และ Write Response

แอกซี

สัญญาณ

สัญญาณของช่องที่อยู่สำหรับการอ่านและการเขียน
คำอธิบายสัญญาณเขียนที่อยู่ช่องทางอ่านช่องที่อยู่
รหัสที่อยู่ (Address ID) ใช้สำหรับระบุสตรีม หลายรายการบน ช่องสัญญาณเดียวอาวีดีแห้งแล้ง
ที่อยู่ของจังหวะแรกของการระเบิดรางวัลอารัดดร์
จำนวนจังหวะภายในการระเบิดAWLEN [ nb 1 ]อาร์เลน[ nb 1 ]
ขนาดของแต่ละจังหวะขนาด AWSอาร์ไซซ์
ประเภทของการระเบิดระเบิดอาร์เบิร์สต์
ประเภทการล็อก เพื่อให้สามารถดำเนินการแบบอะตอมิกได้AWLOCK [ nb 1 ]อาร์ล็อก[ nb 1 ]
ประเภทของหน่วยความจำ วิธีการที่ธุรกรรมต้องดำเนินไปในระบบออว์แคชอาร์เคช
ประเภทการป้องกัน: สิทธิ์พิเศษระดับความปลอดภัย และการเข้าถึงข้อมูล/คำสั่งเอวีโปรทอาร์โปรท
คุณภาพของการให้บริการในการทำธุรกรรมAWQOS [ nb 2 ]ARQOS [ nb 2 ]
ตัวระบุภูมิภาค เพื่อเข้าถึงอินเทอร์เฟซเชิงตรรกะหลายตัวจากอินเทอร์เฟซทางกายภาพเพียงตัวเดียวAWREGION [ nb 2 ]ภูมิภาค[ nb 2 ]
ข้อมูลที่ผู้ใช้กำหนดAWUSER [ nb 2 ]อารูเซอร์[ nb 2 ]
xVALIDสัญญาณจับมือAWVALIDอาร์วาลิด
xREADYสัญญาณจับมือพร้อมแล้วพร้อมแล้ว
สัญญาณของช่องข้อมูลการอ่านและการเขียน
คำอธิบายสัญญาณเขียนข้อมูลลงในช่องข้อมูลอ่านช่องข้อมูล
รหัสข้อมูล (Data ID) ใช้สำหรับระบุสตรีม หลายรายการบน ช่องสัญญาณเดียวWID [ nb 3 ]กำจัด
อ่าน/เขียนข้อมูลWDATAอาร์ดีดาต้า
อ่านการตอบสนอง เพื่อระบุสถานะของสัญญาณ RDATA ปัจจุบันอาร์เรสพี
สัญญาณไบต์สโตรบ ใช้เพื่อระบุว่าไบต์ใดของสัญญาณ WDATA นั้นถูกต้องดับเบิลยูเอสทีอาร์บี
ตัวระบุจังหวะสุดท้ายดับเบิ้ลยูแอลเอสทีRLAST
ข้อมูลที่ผู้ใช้กำหนดผู้ใช้[ nb 2 ]RUSER [ nb 2 ]
xVALIDสัญญาณจับมือWVALIDถูกต้อง
xREADYสัญญาณจับมือพร้อมแล้วพร้อมแล้ว
สัญญาณของช่องตอบสนองการเขียน
คำอธิบายสัญญาณเขียนช่องตอบกลับ
เขียนรหัสตอบกลับ เพื่อระบุสตรีม หลายรายการบน ช่องสัญญาณเดียวการประมูล
เขียนการตอบกลับเพื่อระบุสถานะของการส่งข้อมูลแบบเป็นชุดเบรสป์
ข้อมูลที่ผู้ใช้กำหนดบัสเซอร์[ nb 2 ]
xVALIDสัญญาณจับมือไม่ถูกต้อง
xREADYสัญญาณจับมือพร้อม

[ 15 ]

  1. ^ a b c dพฤติกรรมที่แตกต่างกันระหว่าง AXI3 และ AXI4
  2. ^ a b c d e f g h iใช้ได้เฉพาะกับ AXI4 เท่านั้น
  3. ^ใช้ได้เฉพาะกับ AXI3 เท่านั้น

ระเบิด

ตัวอย่างของการระเบิดแบบ FIXED, INCR และ WRAP

AXI เป็นโปรโตคอลแบบburst [ 16 ]ซึ่งหมายความว่าอาจมีการถ่ายโอนข้อมูลหลายครั้ง (หรือ beats) สำหรับคำขอเดียว ทำให้มีประโยชน์ในกรณีที่จำเป็นต้องถ่ายโอนข้อมูลจำนวนมากจากหรือไปยังรูปแบบที่อยู่เฉพาะ ใน AXI burst สามารถแบ่งออกได้เป็นสามประเภท โดยเลือกจากสัญญาณ ARBURST (สำหรับการอ่าน) หรือ AWBURST (สำหรับการเขียน): [ 17 ]

  • ที่ตายตัว
  • อินซีอาร์
  • ห่อ

ในการส่งข้อมูลแบบ FIXED bursts แต่ละจังหวะในการถ่ายโอนข้อมูลจะมีที่อยู่เดียวกัน ซึ่งมีประโยชน์สำหรับการเข้าถึงตำแหน่งหน่วยความจำเดียวกันซ้ำๆ เช่น เมื่ออ่านหรือเขียนข้อมูลลงใน FIFO

ในทางกลับกัน ในการส่งข้อมูลแบบ INCR นั้น แต่ละจังหวะจะมีแอดเดรสเท่ากับแอดเดรสก่อนหน้าบวกกับขนาดของการถ่ายโอนข้อมูล การส่งข้อมูลแบบนี้มักใช้ในการอ่านหรือเขียนข้อมูลในพื้นที่หน่วยความจำแบบเรียงลำดับ

การส่งข้อมูลแบบ WRAP คล้ายกับการส่งข้อมูลแบบ INCR ตรงที่การถ่ายโอนแต่ละครั้งจะมีแอดเดรสเท่ากับแอดเดรสก่อนหน้าบวกกับขนาดของการถ่ายโอน อย่างไรก็ตาม สำหรับการส่งข้อมูลแบบ WRAP หากแอดเดรสของจังหวะปัจจุบันถึง "ขอบเขตแอดเดรสที่สูงกว่า" แอดเดรสจะถูกรีเซ็ตเป็น "ขอบเขตการวนซ้ำ"

กับ

ธุรกรรม

อ่าน

ตัวอย่างของธุรกรรมการอ่าน AXI ผู้เริ่มต้นร้องขอ 4 บีท (ARLEN + 1 [ 18 ] ) แต่ละบีทมีขนาด 4 ไบต์ เริ่มต้นจากแอดเดรส 0x0 ด้วยประเภท INCR เป้าหมายส่งค่า 0x10 สำหรับแอดเดรส 0x0, 0x11 สำหรับแอดเดรส 0x4, 0x12 สำหรับแอดเดรส 0x8 และ 0x13 สำหรับแอดเดรส 0xc กลับมา โดยทั้งหมดมีสถานะ OKAY แสดงเฉพาะสัญญาณที่เกี่ยวข้องมากที่สุดเท่านั้น

ในการเริ่มต้นธุรกรรมการอ่าน ผู้เริ่มต้นจะต้องระบุที่อยู่บนช่องที่อยู่สำหรับการอ่านดังนี้:

  • ที่อยู่เริ่มต้นบน ARADDR
  • ประเภทการระเบิด ไม่ว่าจะเป็น FIXED, INCR หรือ WRAP สำหรับ ARBURST (ถ้ามี)
  • ความยาวของการระเบิดบน ARLEN (ถ้ามี)

นอกจากนี้ สัญญาณเสริมอื่นๆ หากมีอยู่ จะถูกใช้เพื่อกำหนดการถ่ายโอนที่เฉพาะเจาะจงยิ่งขึ้น

หลังจากขั้นตอนการตรวจสอบความถูกต้อง ARVALID/ARREADY เสร็จสิ้นแล้ว ระบบเป้าหมายจะต้องส่งข้อมูลผ่านช่องทางการอ่านดังนี้:

  • ข้อมูลที่ตรงกับที่อยู่ที่ระบุไว้ใน RDATA
  • สถานะของแต่ละจังหวะบน RRSP

รวมถึงสัญญาณเสริมอื่นๆ ด้วย การตอบสนองแต่ละครั้งของเป้าหมายจะดำเนินการด้วยการจับมือ RVALID/RREADY และในการถ่ายโอนครั้งสุดท้าย เป้าหมายจะต้องยืนยัน RLAST เพื่อแจ้งว่าไม่มีการตอบสนองเพิ่มเติมตามมาอีกหากไม่มีคำขออ่านใหม่

เขียน

ตัวอย่างของธุรกรรมการเขียน AXI ตัวเริ่มต้นขับเคลื่อน 4 บีท (AWLEN + 1 [ 18 ] ) แต่ละบีทมีขนาด 4 ไบต์ เริ่มต้นจากแอดเดรส 0x0 ด้วยประเภท INCR เขียน 0x10 สำหรับแอดเดรส 0x0, 0x11 สำหรับแอดเดรส 0x4, 0x12 สำหรับแอดเดรส 0x8 และ 0x13 สำหรับแอดเดรส 0xc เป้าหมายส่งกลับ 'OKAY' เป็นการตอบสนองการเขียนสำหรับธุรกรรมทั้งหมด แสดงเฉพาะสัญญาณที่เกี่ยวข้องมากที่สุดเท่านั้น

ในการเริ่มต้นการเขียนข้อมูล ผู้เริ่มต้นจะต้องระบุทั้งข้อมูลที่อยู่และข้อมูลข้อมูล

ข้อมูลที่อยู่จะถูกส่งผ่านช่องทางการเขียนที่อยู่ ในลักษณะเดียวกับการดำเนินการอ่าน:

  • ต้องระบุที่อยู่เริ่มต้นใน AWADDR
  • ประเภทการระเบิด จะเป็น FIXED, INCR หรือ WRAP สำหรับ AWBURST (ถ้ามี)
  • ความยาวการระเบิดบน AWLEN (ถ้ามี)

และหากมี ให้รวมสัญญาณเสริมทั้งหมดด้วย

ผู้เริ่มต้นจะต้องจัดเตรียมข้อมูลที่เกี่ยวข้องกับที่อยู่ที่ระบุไว้ในช่องข้อมูลการเขียนด้วย:

  • ข้อมูลจาก WDATA
  • บิต "สโตรบ" บน WSTRB (ถ้ามี) ซึ่งจะทำเครื่องหมายไบต์ WDATA แต่ละไบต์ว่าเป็น "ถูกต้อง" หรือ "ไม่ถูกต้อง" โดยมีเงื่อนไข

เช่นเดียวกับในเส้นทางการอ่าน ในคำข้อมูลสุดท้าย ผู้เริ่มต้นจะต้องยืนยัน WLAST

หลังจากธุรกรรมทั้งสองเสร็จสิ้นลงแล้ว ฝั่งเป้าหมายจะต้องส่งสถานะการเขียนกลับไปยังฝั่งผู้เริ่มต้นผ่านช่องทางตอบสนองการเขียน โดยส่งผลลัพธ์กลับผ่านสัญญาณ BRESP

เซตย่อย

เอซี-ไลท์

AXI4-Lite เป็นชุดย่อยของโปรโตคอล AXI4 ซึ่งมี โครงสร้าง คล้ายรีจิสเตอร์ที่มีคุณสมบัติและความซับซ้อนลดลง[ 19 ]ความแตกต่างที่สำคัญคือ:

  • เสียงระเบิดทั้งหมดประกอบด้วยจังหวะเดียวเท่านั้น
  • การเข้าถึงข้อมูลทั้งหมดใช้ความกว้างของบัสข้อมูลเต็ม ซึ่งอาจเป็น 32 หรือ 64 บิตก็ได้

AXI4-Lite ลบสัญญาณ AXI4 บางส่วนออก แต่ยังคงปฏิบัติตามข้อกำหนด AXI4 สำหรับส่วนที่เหลือ เนื่องจากเป็นส่วนย่อยของ AXI4 การทำธุรกรรม AXI4-Lite จึงเข้ากันได้อย่างสมบูรณ์กับอุปกรณ์ AXI4 ทำให้สามารถทำงานร่วมกันได้ระหว่างตัวเริ่มต้น AXI4-Lite และเป้าหมาย AXI4 โดยไม่ต้องใช้ตรรกะการแปลงเพิ่มเติม[ 20 ]

สัญญาณ

เขียนที่อยู่ช่องทางเขียนข้อมูลช่องทางเขียนช่องทางการตอบกลับอ่านช่องที่อยู่อ่านช่องข้อมูล
AWVALIDWVALIDไม่ถูกต้องอาร์วาลิดถูกต้อง
พร้อมแล้วพร้อมแล้วพร้อมพร้อมแล้วพร้อมแล้ว
รางวัลWDATAเบรสป์อารัดดร์อาร์ดีดาต้า
เอวีโปรทดับเบิลยูเอสทีอาร์บีอาร์โปรทอาร์เรสพี

[ 21 ]

เอซีไอ-สตรีม

AXI4-Stream เป็นโปรโตคอลบัสที่เรียบง่ายและน้ำหนักเบา ออกแบบมาโดยเฉพาะสำหรับแอปพลิเคชันการส่งข้อมูลแบบสตรีมมิ่งความเร็วสูง รองรับการไหลของข้อมูลแบบทิศทางเดียวเท่านั้น โดยไม่จำเป็นต้องมีการกำหนดแอดเดรสหรือการจับมือที่ซับซ้อน AXI Stream คล้ายกับช่องสัญญาณข้อมูลแบบเขียนของ AXI แต่มีความแตกต่างที่สำคัญบางประการเกี่ยวกับวิธีการจัดเรียงข้อมูล:

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

โปรโตคอล AXI5 Stream นำเสนอการส่งสัญญาณปลุกและการป้องกันสัญญาณโดยใช้พาริตี

ตัวส่งสัญญาณ AXI Stream ตัวเดียวสามารถขับเคลื่อนสตรีมได้หลายสตรีม ซึ่งอาจมีการสลับลำดับกันได้ แต่ไม่อนุญาตให้เปลี่ยนลำดับ

สัญญาณแหล่งที่มาความกว้างคำอธิบาย
เอซีแอลเคนาฬิกา1ACLK เป็นสัญญาณนาฬิกาสากล สัญญาณทั้งหมดจะถูกสุ่มตัวอย่างที่ขอบขาขึ้นของ ACLK
ARESETnรีเซ็ต1ARESETn คือสัญญาณรีเซ็ตทั่วโลก
ทีวีลิดเครื่องส่งสัญญาณ1TVALID บ่งชี้ว่าตัวส่งสัญญาณกำลังดำเนินการถ่ายโอนข้อมูลที่ถูกต้อง การถ่ายโอนข้อมูลจะเกิดขึ้นเมื่อทั้ง TVALID และ TREADY ถูกส่งสัญญาณยืนยัน
เตรียมพร้อมตัวรับสัญญาณ1TREADY แสดงว่าผู้รับสามารถรับการโอนได้
ทีดีเอตาเครื่องส่งสัญญาณความกว้างของข้อมูลTDATA คือเพย์โหลดหลักที่ใช้ในการส่งข้อมูลผ่านอินเทอร์เฟซ TDATA_WIDTH ต้องเป็นจำนวนเต็มไบต์ และแนะนำให้ใช้ค่า 8, 16, 32, 64, 128, 256, 512 หรือ 1024 บิต
ทีเอสทีอาร์บีเครื่องส่งสัญญาณTDATA_WIDTH/8TSTRB คือตัวกำหนดคุณสมบัติของไบต์ที่ระบุว่าเนื้อหาของไบต์ TDATA ที่เกี่ยวข้องนั้นถูกประมวลผลเป็นไบต์ข้อมูลหรือไบต์ตำแหน่ง
ทีคีปเครื่องส่งสัญญาณTDATA_WIDTH/8TKEEP คือตัวระบุไบต์ที่บ่งชี้ว่าเนื้อหาของไบต์ TDATA ที่เกี่ยวข้องนั้นจะถูกประมวลผลเป็นส่วนหนึ่งของสตรีมข้อมูลหรือไม่
TLASTเครื่องส่งสัญญาณ1TLAST ระบุขอบเขตของแพ็กเก็ต
ทีไอดีเครื่องส่งสัญญาณความกว้าง TIDTID คือตัวระบุสตรีมข้อมูล แนะนำให้ตั้งค่า TID_WIDTH ไม่เกิน 8
ทีดีเอสทีเครื่องส่งสัญญาณTDEST_WIDTHTDEST ให้ข้อมูลการกำหนดเส้นทางสำหรับสตรีมข้อมูล แนะนำให้กำหนดค่า TDEST_WIDTH ไม่เกิน 8
ทูเซอร์เครื่องส่งสัญญาณความกว้างของ TUSERTUSER คือข้อมูลไซด์แบนด์ที่ผู้ใช้กำหนดเอง ซึ่งสามารถส่งไปพร้อมกับกระแสข้อมูลได้ แนะนำให้กำหนดค่า TUSER_WIDTH เป็นจำนวนเต็มที่เป็นผลคูณของ TDATA_WIDTH/8
ตื่นนอนเครื่องส่งสัญญาณ1TWAKEUP จะระบุการทำงานใดๆ ที่เกี่ยวข้องกับอินเทอร์เฟซ AXI-Stream

ดูเพิ่มเติม

  • หน้าเว็บ AMBA
  • ข้อมูลจำเพาะของ AXI4 ถูกเก็บถาวรเมื่อวันที่ 5 กรกฎาคม 2019 ที่Wayback Machine
  • บทนำเกี่ยวกับ ARM AXI
  • บทนำเกี่ยวกับ Xilinx AXI
ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Advanced_eXtensible_Interface&oldid=1332409128 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ อินเทอร์เฟซที่ขยายได้ขั้นสูง

อิน เทอร์เฟซขยายขั้นสูง ( AXI ) เป็นโปรโตคอลบัสการสื่อสารบนชิปและเป็นส่วนหนึ่งของ ข้อกำหนด สถาปัตยกรรมบัสไมโครคอนโทรลเลอร์ขั้นสูง (AMBA) [ 1 ] [ 2 ] AXI ไม่ต้องเสียค่าลิขสิทธิ์...

รหัสเธรด

รหัสเธรดช่วยให้พอร์ตตัวเริ่มต้นเดียวสามารถรองรับเธรดได้หลายเธรด โดยแต่ละเธรดจะสามารถเข้าถึงพื้นที่แอดเดรส AXI ตามลำดับ อย่างไรก็ตาม รหัสเธรดแต่ละรหัสที่เริ่มต้นจากพอร์ตตัวเริ่มต้นเดียวอาจเสร็จสิ้นไม่ตามลำดับเมื่อเทียบกับรหัสอื่นๆ ตัวอย่างเช่น...

การจับมือ

AXI กำหนด กลไกการจับมือ พื้นฐาน ซึ่งประกอบด้วยสัญญาณ xVALID และ [ 11 ] สัญญาณจะถูกส่งโดยแหล่งที่มาเพื่อแจ้งให้เอนทิตีปลายทางทราบว่าเพย์โหลดบนช่องสัญญาณนั้นถูกต้องและสามารถอ่านได้ตั้งแต่ รอบนาฬิกา นั้น เป็นต้นไป...

ช่องต่างๆ

ในข้อกำหนด AXI มีการอธิบายช่องสัญญาณห้า ช่อง ดังนี้: [ 12 ]