183 Commits

Author SHA1 Message Date
aa3605a55c Remove extra wait which violated apb spec
Some checks failed
build / Build distributions (push) Successful in 31s
build / deploy (push) Has been skipped
build / Build distributions (release) Successful in 23s
build / deploy (release) Successful in 32s
Regression Tests / Python 3.10 (push) Has been cancelled
Regression Tests / Python 3.11 (push) Has been cancelled
Regression Tests / Python 3.12 (push) Has been cancelled
Regression Tests / Python 3.13 (push) Has been cancelled
Regression Tests / Python 3.8 (push) Has been cancelled
Regression Tests / Python 3.9 (push) Has been cancelled
2026-02-08 00:50:04 -08:00
Alex Forencich
3e1e7fc1ec Remove extraneous print
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2025-09-30 11:12:50 -07:00
Alex Forencich
698c29b05f Bump to dev version
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2025-09-07 15:41:39 -07:00
Alex Forencich
33f510688a Release v0.1.26
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2025-09-07 15:29:50 -07:00
Alex Forencich
da00960112 Update copyright dates
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2025-09-07 15:28:21 -07:00
Alex Forencich
88b6624a93 Fix X-init for cocotb 2.0
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2025-09-07 13:13:03 -07:00
Alex Forencich
dcb9a6bd02 Rework reset logic to better handle X/Z
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2025-09-07 12:56:14 -07:00
Alex Forencich
6c15d7d57d Cast to int instead of using .integer
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2025-09-06 22:25:25 -07:00
Alex Forencich
a0a5b7ee55 Add APB modules
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2025-09-06 17:13:54 -07:00
Alex Forencich
a28ec41f79 Use append instead of extend in AXI lite master
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2025-09-06 17:04:48 -07:00
Alex Forencich
28f4585c08 Clean up sink pause handling
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-08-13 13:20:35 -07:00
Alex Forencich
775301c6fe Cache signal presence in generic stream models
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-08-13 13:14:32 -07:00
Alex Forencich
39b4ca4a93 Fix logging when using from_entity
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-05-26 16:45:46 -07:00
Alex Forencich
e816d6a088 Bump to dev version
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-03-24 11:05:34 -07:00
Alex Forencich
af377b2c11 Release v0.1.24
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-03-24 11:05:02 -07:00
Alex Forencich
cfb52c6130 Fix transfer length checks
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-03-24 10:06:19 -07:00
Alex Forencich
7e32e584ff Bump to dev version
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-03-24 01:57:09 -07:00
Alex Forencich
50cf2af49f Release v0.1.22
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-03-24 01:31:54 -07:00
Alex Forencich
5e8b246159 Use slices to access memory contents to support both mmap and SparseMemory
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-03-24 01:23:33 -07:00
Alex Forencich
62c2eef4ec Add SparseMemoryRegion object
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-03-23 23:44:29 -07:00
Alex Forencich
ad6012aea5 Update memory models to use SparseMemory
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-03-23 23:43:53 -07:00
Alex Forencich
432bd81011 Add sparse memory model
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-03-23 19:27:57 -07:00
Alex Forencich
bde123e05f Add transfer length checks
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-02-27 16:38:34 -08:00
Alex Forencich
8604017159 For FIXED burst type, issue all bursts with the same starting address
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-02-27 16:36:04 -08:00
Alex Forencich
4bf5945aa3 Bump to dev version
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-01-25 18:11:44 -08:00
Alex Forencich
f3a7652362 Release v0.1.20
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-01-25 17:55:54 -08:00
Alex Forencich
a84ce5447d Put sinks to sleep when idle
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-01-25 17:46:46 -08:00
Alex Forencich
1c03ec4697 Pass through full address for unaligned operations
Signed-off-by: Alex Forencich <alex@alexforencich.com>
2023-01-25 16:27:14 -08:00
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
035c1ba803 Support interleaved read data in AXI master 2022-02-01 00:25:01 -08:00
Alex Forencich
873bb1a034 Explicit cast to integer before converting to enum or flag type 2022-01-07 12:52:41 -08:00
Alex Forencich
2d70e5cbe5 Fix AxiLiteSlave wrapper 2022-01-04 15:29:04 -08:00
Alex Forencich
35d9742ae8 Remove extraneous code 2022-01-04 15:28:48 -08:00
Alex Forencich
0f20e2e9bf Bump to dev version 2021-12-28 20:08:44 -08:00
Alex Forencich
7606d7d7bd Release v0.1.18 2021-12-28 17:23:06 -08:00
Alex Forencich
dd345e87c3 Call write from init_write via start_soon so command FIFO size can be limited 2021-12-27 23:29:29 -08:00
Alex Forencich
9c0592c16a Make wstrb optional 2021-12-27 19:44:30 -08:00
Alex Forencich
8aab5a7294 Support overriding allocated region and window types 2021-12-27 17:58:52 -08:00
Alex Forencich
4f26621e2b Make size optional when creating windows 2021-12-27 17:31:08 -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
Alex Forencich
4a91212f37 Bump to dev version 2021-11-17 00:06:34 -08:00
Alex Forencich
1608af26e5 Release v0.1.16 2021-11-16 22:54:37 -08:00
Alex Forencich
cb4b0e1738 Wrap access on RAM size 2021-11-16 17:13:18 -08:00
Alex Forencich
ea95eeaf0d Don't pass through extra positional args 2021-11-16 17:01:31 -08:00
Alex Forencich
079f4009b3 Rewrite RAM modules to use common slave implementation 2021-11-16 17:00:48 -08:00
Alex Forencich
612a94c97a Add AXI and AXI lite slave modules 2021-11-16 17:00:05 -08:00