Alex Forencich
|
ede6270ed7
|
Put source to sleep when there is no data to send
Signed-off-by: Alex Forencich <alex@alexforencich.com>
|
2023-01-20 15:49:16 -08:00 |
|
Alex Forencich
|
cd1a8b47a5
|
Fix init sequence
Signed-off-by: Alex Forencich <alex@alexforencich.com>
|
2023-01-20 15:48:46 -08:00 |
|
Alex Forencich
|
be6d490adb
|
Cache signal presence
Signed-off-by: Alex Forencich <alex@alexforencich.com>
|
2023-01-20 15:48:23 -08:00 |
|
Leon Woestenberg
|
afae9e69ff
|
Fix AxiStreamFrame default for self.byte_lanes from 1 to all.
If I connect a AXIS source to an AXIS sink, the #byte_lanes is incorrectly 1 rather than all lanes enabled.
self.source = AxiStreamSource(AxiStreamBus.from_prefix(dut, "sink"), dut.clk, dut.reset)
Root cause is AxiStreamFrame assumes byte width 1 without TKEEP, but it should default to self.width // 8
because the AXIS specification mentions "when TKEEP is absent, TKEEP defaults to all bits HIGH" and "The width of the data payload is an integer number of bytes."
Fix: https://github.com/alexforencich/cocotbext-axi/blob/master/cocotbext/axi/axis.py#L290
self.byte_lanes = 1
self.byte_lanes = self.width // 8
Relevant AXIS Specification:
https://developer.arm.com/documentation/ihi0051/a/Default-Signaling-Requirements/Default-value-signaling/Optional-TKEEP-and-TSTRB?lang=en
Signed-off-by: Leon Woestenberg <leon@sidebranch.com>
|
2023-01-18 12:55:19 -08:00 |
|
Alex Forencich
|
3f7193b77c
|
Use start_soon instead of fork
|
2021-12-08 21:38:12 -08:00 |
|
Alex Forencich
|
2b0b12c68d
|
Cache clock edge event objects
|
2021-12-03 18:40:04 -08:00 |
|
Reto Meier
|
cde2056bb0
|
Remove deprecated <= assignments
Starting from cocotb v1.6 the use of <= syntax has been deprecated. This
commit replaces all use of this syntax with the ``.value =`` syntax.
|
2021-10-25 18:27:18 +02:00 |
|
Alex Forencich
|
b6870716ed
|
Fix active state tracking for AXI stream sink/monitor
|
2021-09-15 00:46:01 -07:00 |
|
Alex Forencich
|
ce907ffbb9
|
Print out signal summary
|
2021-04-12 19:29:41 -07:00 |
|
Alex Forencich
|
a767e00ce5
|
Transmit frames without using pop
|
2021-04-12 13:49:20 -07:00 |
|
Alex Forencich
|
9e28bd7fbb
|
Revert back to cocotb.fork
|
2021-03-24 16:20:08 -07:00 |
|
Alex Forencich
|
4bee96ea9a
|
Enforce max queue depth on streaming sources
|
2021-03-21 22:24:59 -07:00 |
|
Alex Forencich
|
a66dfea6f7
|
Factor out common recv code; throw QueueEmpty exception in get_nowait
|
2021-03-21 21:02:28 -07:00 |
|
Alex Forencich
|
f1a89e6c12
|
Trigger transmit complete events when flushing queue to prevent deadlocks
|
2021-03-21 18:46:30 -07:00 |
|
Alex Forencich
|
11205bde46
|
Handle dropped transmit frames during reset
|
2021-03-21 18:39:35 -07:00 |
|
Alex Forencich
|
bce364eef5
|
Ensure idle event is set when queue is empty
|
2021-03-21 18:39:10 -07:00 |
|
Alex Forencich
|
7fb8c4e28b
|
Reset processing on assert edge only to permit operations to be queued while reset is asserted
|
2021-03-21 12:13:19 -07:00 |
|
Alex Forencich
|
6c66776518
|
Use start_soon instead of fork
|
2021-03-21 11:40:25 -07:00 |
|
Alex Forencich
|
56caf57fa4
|
Fix method name
|
2021-03-17 18:19:30 -07:00 |
|
Alex Forencich
|
abb78308ff
|
Defer idle event until completion of transfer
|
2021-03-17 18:02:11 -07:00 |
|
Alex Forencich
|
f19ca9f651
|
Use cocotb async queues
|
2021-03-17 17:34:26 -07:00 |
|
Alex Forencich
|
1c40b8fa58
|
Use cocotb-bus
|
2021-03-16 18:47:32 -07:00 |
|
Alex Forencich
|
35ed1472d6
|
Add reset_active_level parameters
|
2021-03-06 17:30:05 -08:00 |
|
Alex Forencich
|
69717c1698
|
Add AXI bus objects
|
2021-03-06 16:26:51 -08:00 |
|
Alex Forencich
|
c18fdd6e22
|
Consolidate AXI stream implementation to remove duplicate code
|
2021-01-08 16:08:36 -08:00 |
|
Alex Forencich
|
222af15437
|
Clear sim_time_end on start transmit
|
2021-01-08 15:54:26 -08:00 |
|
Alex Forencich
|
4ec0c36892
|
Support override of tx_complete
|
2021-01-04 22:43:17 -08:00 |
|
Alex Forencich
|
7c18f9b73f
|
Improve AXI stream transfer tracking
|
2021-01-03 22:47:38 -08:00 |
|
Alex Forencich
|
7748f871f4
|
Add clear to AXI stream models
|
2021-01-02 16:15:51 -08:00 |
|
Alex Forencich
|
1618220a30
|
Rework AXI stream resets
|
2020-12-24 23:19:58 -08:00 |
|
Alex Forencich
|
fcf6374c3c
|
Remove inherit from object
|
2020-12-24 14:44:42 -08:00 |
|
Alex Forencich
|
7582067929
|
Remove await ReadOnly
|
2020-12-24 00:24:03 -08:00 |
|
Alex Forencich
|
f4f7c0b59d
|
Store receive sim time in AxiStreamFrame
|
2020-12-21 23:09:29 -08:00 |
|
Alex Forencich
|
ad83d58b01
|
Init as bytearray instead of convert to bytearray
|
2020-12-21 23:09:02 -08:00 |
|
Alex Forencich
|
cd272b2a59
|
Convert send/recv to blocking, add nonblocking send_nowait/recv_nowait
|
2020-12-18 15:33:23 -08:00 |
|
Alex Forencich
|
1103783b08
|
Return tdata when AxiStreamFrame is cast to bytes
|
2020-12-11 23:45:23 -08:00 |
|
Alex Forencich
|
2451921923
|
Replace SimLog with logger
|
2020-12-10 02:20:14 -08:00 |
|
Alex Forencich
|
e6e8a06dfe
|
Accept byte_size or byte_lanes arguments in AXI stream constructors if tkeep is not used
|
2020-12-07 01:58:49 -08:00 |
|
Alex Forencich
|
3dd8114c05
|
Rename byte_width to byte_lanes
|
2020-12-07 01:50:48 -08:00 |
|
Alex Forencich
|
5c4072cb16
|
Add AXI stream monitor
|
2020-11-29 14:15:17 -08:00 |
|
Alex Forencich
|
e5076e700c
|
Log model configuration information
|
2020-11-26 21:15:37 -08:00 |
|
Alex Forencich
|
81f8906548
|
Clean up and lint removal
|
2020-11-26 19:51:24 -08:00 |
|
Alex Forencich
|
2d3ad7658b
|
Fix exception when tready not connected
|
2020-11-26 01:26:19 -08:00 |
|
Alex Forencich
|
96feba1016
|
Print version information in debug output
|
2020-11-22 23:09:20 -08:00 |
|
Alex Forencich
|
d4f53abeec
|
Set default unit to ns
|
2020-11-14 22:39:16 -08:00 |
|
Alex Forencich
|
028acd6c2d
|
Minor reorganization
|
2020-11-14 01:29:24 -08:00 |
|
Alex Forencich
|
c23e9f962b
|
Inline init
|
2020-11-12 18:25:53 -08:00 |
|
Alex Forencich
|
4feef78988
|
Add full() to AXI stream sink
|
2020-11-12 18:25:05 -08:00 |
|
Alex Forencich
|
f4a13f6e8a
|
Implement generators for source and sink pausing
|
2020-10-26 23:31:09 -07:00 |
|
Alex Forencich
|
ac27b1d69a
|
Convert values to integers
|
2020-10-26 22:49:57 -07:00 |
|