1
0
mirror of https://github.com/bmartini/zynq-axis.git synced 2024-09-05 19:19:27 +08:00

14 Commits

Author SHA1 Message Date
Berin Martini
76537507eb Bug fix: AXI transaction ID usage and generation
Because the axis modules are minimalist, it assumes that all
transactions are performed without error and that transaction processing
is performed in-order. Thus the transaction IDs can safely be set to
zero. Doing so also fixes a bug in the write path that had prevented
multiple burst of data being sent. This was due to the fact that the
write data burst ID needs to have the same ID as the write address. But
the write address module was incrementing the ID while the write data ID
was not being set at all.
2015-01-08 11:39:07 -05:00
Berin Martini
9ee0ce64ee Indicates burst size in bytes of each transfer
This signal encoding is determined using the axi data width parameter as
per Section 4.3 of the AXI Protocol Specification (v1.0).
2015-01-08 10:58:20 -05:00
Berin Martini
852e507af2 Bug fix: axis burst size wr/rd values
By setting the values as larger then they should be the data was over
writing itself in memory.
2015-01-07 14:13:29 -05:00
Berin Martini
19390ccca8 Bug fix: axis port list variable sizes
There was a miss-match that was giving warnings but as the variables
were not used there were no errors.
2015-01-07 12:53:31 -05:00
Berin Martini
d1db9ce3b3 Parametrize address step size in axis_addr
Had been assuming that the AXI word width was 256 bits and thus the
address would step 32 bytes * burst_length.
2015-01-07 11:43:56 -05:00
Berin Martini
f435570745 Connect axis read to cfg reg
This *should* allow for the axis port to read data the the memory and
transmit the read value to the host via the cfg bus.
2015-01-06 17:13:34 -05:00
Berin Martini
624e40c03e Connect axis wr port to cfg registers
For debug purposes the axis is connected to the cfg registers so data
patterns can be written to the system memory.
2015-01-04 19:36:02 -05:00
Berin Martini
04f7ccd2a2 Instantiate axis module & attache to HP0
Setup as a simple loopback system.
2015-01-03 05:21:13 -05:00
Berin Martini
e881359f25 Connect HP0 to zedboard top file
Currently not doing anything.
2015-01-02 20:23:57 -05:00
Berin Martini
d9d8540a6c Add axis and related modules
The axis module instantiates the AXI read and write path modules. It
performs a simple stream over the AXI port interface with no error
checking. It is configured by first addressing the module and then
sending a physical memory address and the number of streaming words to
be written.

The streaming interface is not exactly like the Xilinx stream interface
in that the data is always valid when the valid flag is high, the ready
flag being low does not invalidate the data but is used to signal up
stream to stop sending data. Down stream has a buffer able to absorb to
incoming valid data until such time as up stream stop sending.
2015-01-02 17:32:39 -05:00
Berin Martini
ac07bb9114 Add synchronous FIFO & testbench
A simple FIFO, with synchronous clock for both the pop and push ports.
2015-01-02 17:32:39 -05:00
Berin Martini
8a62d2ba82 Bug fix: axi4lite_cfg port list definition 2015-01-02 17:31:35 -05:00
Berin Martini
c9bef3cda3 Add module to decode AXI4 Lite bus
The module copies the protocol responses/handling from a Xilinx example.
As such it works but to my eye does not look very efficient.
2015-01-01 21:42:38 -05:00
Berin Martini
d5a798ad41 Create working top file based on system_wrapper.v
The project now generates a bitstream file but only from the build directory
created by the syn-proj-prep script.
2014-12-31 20:03:44 -05:00