A full instructional series for all aspect of the AXI4 Bus protocol, including AXI4 Stream, AXI4-Lite, and AXI4. Each flavor of AXI4 has a bus flow, handshake, and signal requirements described in detail. An example implementation for a Master and Slave in each of the subsets of AXI4 are included, with simulation demonstrations using example testbenches in edaplayground, and vivado, included using the vivado block diagram with AXI4 Protocol checking.
A full instructional series for all aspect of the AXI4 Bus protocol, including AXI4 Stream, AXI4-Lite, and AXI4. Each flavor of AXI4 has a bus flow, handshake, and signal requirements described in detail. An example implementation for a Master and Slave in each of the subsets of AXI4 are included, with simulation demonstrations using example testbenches in edaplayground, and vivado, included using the vivado block diagram with AXI4 Protocol checking.
We learn the differences between each of the AXI4 flavors, where the AXI4 Stream protocol is used for uni-directional bulk data transfers from a master to a slave without addressing information. The AXI4 Stream protocol is the easiest to implement and the most common.
The AXI4-Lite protocol is the other common interface that we learn how to implement. We get a full understanding of how the AXI4-Lite Master handshakes with the AXI4-Lite Slave with both address and data, and allows single word writes and reads, with slave responses on valid or error transactions.
The full AXI4 protocol provides the highest data bandwith with burst modes up to 256 words of size 128 bytes. With 5 separate busses, including an Address Write Bus, a Data Write bus, an Address Read Bus, a Read Bus, and a Write Reponse bus, each with separate handshaking, there is an extensive understanding required to implement the RTL components successfully.
An introduction to AXI4. Including why we would want to use the AXI4 protocol, and the different versions of the AXI4 protocol and where we might want to utilize them.
Introduction to the AXI4 Stream protocol, including interface signals, Master / Slave handshaking, and implementation scenarios.
A complete look into how to implement an AXI4 Stream Slave in VHDL. Included is a look at a sample RTL design, verification testbench, and demonstration simulations in edaplayground, and vivado.
A complete look into how to implement an AXI4 Stream Slave in Verilog. Included is a look at a sample RTL design, verification testbench, and demonstration simulations in edaplayground, and vivado.
A look at how to implement an AXI4 Stream Master in VHDL. Included is the signal list of the required interface, a state machine that follows the flow of the Stream transaction, including transfer stalls from the slave. A verification testbench, with demonstrations in edaplayground, vivado, and vivado block diagram with protocol checking is included.
Introducing the AXI4-Lite Bus protocol, which is a subset of the full AXI4 Bus. A simpler and easier bus that is limited to single word transactions on either a 32-bit or 64-bit data bus.
A step by step approach to implementing an AXI4-Lite Slave component in VHDL. Reviewing the port list for the signals required, and coding up a state machine for the transaction flow and handshakes. Included are demonstrations in edaplayground, vivado, including a protocol checker in vivado.
A step by step approach to implementing an AXI4-Lite Slave component in Verilog. Reviewing the port list for the signals required, and coding up a state machine for the transaction flow and handshakes. Included are demonstrations in edaplayground, vivado, including a protocol checker in vivado.
A complete look into implementing an AXI4-Lite Master component in VHDL. Review of the required signal list. Understanding a state machine approach to the transaction flow. Included is a verification testbench, with corresponding demonstrations in edaplayground, and vivado, with vivado protocol checking.
A complete look into implementing an AXI4-Lite Master component in Verilog. Review of the required signal list. Understanding a state machine approach to the transaction flow. Included is a verification testbench, with corresponding demonstrations in edaplayground, and vivado, with vivado protocol checking.
An introduction to the full AXI4 Bus. Explanation of the full signal list, which signals are significant, and how burst writes and reads are executed.
Follow along with an implementation in VHDL of an AXI4 Slave module that contains registers and memory that are written from the AXI4 bus. The slave will support bursts into and out of memory, as well as emulate slave wait states. Demonstrations in edaplayground, and vivado are included.
Follow along with an implementation in Verilog of an AXI4 Slave module that contains registers and memory that are written from the AXI4 bus. The slave will support bursts into memory, as well as emulate slave wait states. Demonstrations in edaplayground, and vivado are included.
A comprehensive look at the implementation of an AXI4 Master VHDL component, that supports bursts, slave stalls, and master wait states. The transaction flow is controlled with a state machine, with the corresponding outputs to the slave. Included is a verification testbench with demonstrations in edaplayground, vivado, and using a vivado block diagram with a protocol checker.
A comprehensive look at the implementation of an AXI4 Master Verilog component, that supports bursts, slave stalls, and master wait states. The transaction flow is controlled with a state machine, with the corresponding outputs to the slave. Included is a verification testbench with demonstrations in edaplayground, vivado, and using a vivado block diagram with a protocol checker.
OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.
Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.
Find this site helpful? Tell a friend about us.
We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.
Your purchases help us maintain our catalog and keep our servers humming without ads.
Thank you for supporting OpenCourser.