Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
deb7955
Add a separate test case for each test file
rw1nkler Jun 13, 2025
120c3b8
Add "pytype binary, library" hint
sgizler May 23, 2025
29ef8ce
Add cocotb tests
koblonczek Aug 16, 2024
12bb81a
xls/modules/zstd: expose fifo verilog module
lpawelcz Dec 31, 2024
f138fbe
modules/zstd/cocotb: Add ZSTD frame generator library
lpawelcz Oct 9, 2024
811f5fe
dependency_support: Add zstandard python library
lpawelcz Oct 3, 2024
2a71280
modules/zstd: Add verilog simulation of the ZstdDecoder
lpawelcz Oct 8, 2024
5b89e4c
Use frame generator in tests
koblonczek May 13, 2025
613a292
modules/zstd/zstd_dec: Write decoded data to the memory
lpawelcz May 13, 2025
9cf5c38
modules/zstd/zstd_dec: Remove stream-based output interface
lpawelcz May 12, 2025
e257130
modules/zstd/zstd_dec_cocotb_test: Improve Verilog simulation
lpawelcz Nov 18, 2024
93c265d
modules/zstd/memory/mem_writer: Reduce the amount of random test cases
lpawelcz Jan 2, 2025
0c8a659
modules/zstd/memory: Move verilog sources to rtl subdirectory
lpawelcz Apr 7, 2025
6e8fd9a
xls/modules/zstd/external: Add docstring and license for third party …
lpawelcz Apr 7, 2025
8d73bd9
modules/zstd: Adjust cocotb test to removal of RESET CSR
lpawelcz May 13, 2025
4ec4493
Style changes
wsipak Apr 7, 2025
6f647db
Extend cocotb tests of ZSTD decoder
rw1nkler Jul 23, 2025
ceb1223
Collect P&R benchmarks
rw1nkler Jul 23, 2025
e49a052
Add fixed version of RamDemux together with a test
rw1nkler Jun 17, 2025
7a5805d
Document decoder testing
sgizler Jul 21, 2025
a058452
dependency_support: Add verilog_axi package
rw1nkler Apr 23, 2025
d092144
Use bazel package with verilog_axi
rw1nkler Jul 23, 2025
ba76f0f
Downgrade dependencies
rw1nkler Jul 23, 2025
63b47c2
Run tests selectively in GitHub CI
rw1nkler Jul 24, 2025
05e77f7
Remove zstandard python library
rw1nkler Jul 25, 2025
c748093
modules: zstd: update readme
laudominik Jul 29, 2025
98fb26d
Add cocotb check for verifying huffman codes
rw1nkler Jul 18, 2025
36ea2c3
modules: zstd: cocotb: drop unused testcase
laudominik Jul 29, 2025
6f4ad25
modules: zstd: disable huffman code builder PnR
laudominik Aug 21, 2025
be9a066
modules: zstd: fix formatting
laudominik Aug 21, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/workflows/modules-zstd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,9 @@ jobs:
- name: Test ZSTD Module - DSLX Tests (opt)
if: ${{ !cancelled() }}
run: |
bazel test -c opt --test_output=errors -- $(bazel query 'filter("_dslx_test$", kind(rule, //xls/modules/zstd/...))')
bazel test -c opt --test_output=errors -- $(bazel query 'filter("_dslx_test$", kind(rule, //xls/modules/zstd/...)) except filter("zstd_dec_dslx_test$", kind(rule, //xls/modules/zstd/...))');
# Run all tests except those ending with `_skip`
bazel test -c opt --test_strategy=exclusive --test_output=errors --test_filter='^(.*[^_]|.*_[^s]|.*_s[^k]|.*_sk[^i]|.*_ski[^p])$' //xls/modules/zstd:zstd_dec_dslx_test;

- name: Build ZSTD verilog targets (opt)
if: ${{ !cancelled() }}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Copyright 2025 The XLS Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

# Needed to make this a package.
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Copyright 2025 The XLS Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

load("@xls_pip_deps//:requirements.bzl", "requirement")

package(default_visibility = ["//visibility:public"])

exports_files(
glob(["rtl/*.v"]),
)

py_binary(
name = "axi_crossbar_wrap",
srcs = ["rtl/axi_crossbar_wrap.py"],
deps = [requirement("Jinja2")],
)

py_binary(
name = "axi_interconnect_wrap",
srcs = ["rtl/axi_interconnect_wrap.py"],
deps = [requirement("Jinja2")],
)

py_binary(
name = "axil_crossbar_wrap",
srcs = ["rtl/axi_crossbar_wrap.py"],
deps = [requirement("Jinja2")],
)

py_binary(
name = "axil_interconnect_wrap",
srcs = ["rtl/axil_interconnect_wrap.py"],
deps = [requirement("Jinja2")],
)
8 changes: 8 additions & 0 deletions dependency_support/load_external.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -90,3 +90,11 @@ def load_external_repositories():
urls = ["https://github.com/facebook/zstd/archive/fdfb2aff39dc498372d8c9e5f2330b692fea9794.zip"],
build_file = Label("//dependency_support/com_github_facebook_zstd:bundled.BUILD.bazel"),
)

http_archive(
name = "com_github_alexforencich_verilog_axi",
sha256 = "f3b58406b51950584cc7b0c67b0710cef10cb14e1f5576e97a2f0b1c0b12fcbe",
strip_prefix = "verilog-axi-516bd5dadc3365b7f9e225d2af8fe0b8d804fe53",
urls = ["https://github.com/alexforencich/verilog-axi/archive/516bd5dadc3365b7f9e225d2af8fe0b8d804fe53.zip"],
build_file = "//dependency_support/com_github_alexforencich_verilog_axi:bundled.BUILD.bazel",
)
3 changes: 3 additions & 0 deletions dependency_support/pip_requirements.in
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,9 @@ pyyaml==6.0.1
# We build most of z3 ourselves but building python is really complicated. Just
# use pypi version
z3-solver==4.14.0.0
cocotb==1.7.2
cocotbext-axi==0.1.24
cocotb_bus==0.2.1

# Note: numpy and scipy version availability seems to differ between Ubuntu
# versions that we want to support (e.g. 18.04 vs 20.04), so we accept a
Expand Down
49 changes: 49 additions & 0 deletions dependency_support/pip_requirements_lock.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,51 @@ click==8.1.3 \
# via
# -r dependency_support/pip_requirements.in
# flask
cocotb==1.7.2 \
--hash=sha256:0c1687ac78141724b8529e029ee6299698ecaa8a2c431b744eeff487a4bb18de \
--hash=sha256:163e5262020cc21f6a0391fb4727c9ab3ecbf6ee12a1472c8f7320b3ba211a50 \
--hash=sha256:170cf4d01c4d7c6c5b141ffc1824e846a6c8adbed553a50984cd522c1dddb111 \
--hash=sha256:1851ac56eed7bb6c745aabfc0e417195cb4f08b5df50846c04eb77a868bfeaba \
--hash=sha256:1abffb36183b07469c490836c66d8b9e24fc1bec7c27356818618a6719fabd4b \
--hash=sha256:33be79f048f4072240668a079d2bcebd1a24611a0a1e55439b65ffa0ff077790 \
--hash=sha256:34ab1bf3f18476724dd4e21dbcc0e060e813eb502abe155b800084fb6945360c \
--hash=sha256:360019f74270661d14e9caa8103e740a070cb466ab08376a565ec0ef4c13dbbf \
--hash=sha256:37ddb79f4ab60d2d2dc5a9db5bf767d226eb4978fd15b84dfb968d31ab2fcda5 \
--hash=sha256:43f5af578803e5726b5c75421c0e35e54021ab423d3aa4efe930feb740d6479d \
--hash=sha256:4738f36b9730cc05b74ccba3648dba0455cf9f237abf822ef307a274a29474c2 \
--hash=sha256:4aa5d73ebdb59ef24cef36a1f8cca11dcecb3ee7b71a84df02751020bc67ea77 \
--hash=sha256:574d21501ff1a3d36889397cd58a18d102d0e40391aa7a0274b600d1cc4c7dc3 \
--hash=sha256:69f4e539dd308c9e169ab23135138ec397061b700f209803a6022ae9fbe08933 \
--hash=sha256:6f289ac00f4884046ec64db7006e47b1c857a36dcd2a80ea0873cbff00248368 \
--hash=sha256:707f795a17679b4653a50bd4094536a46fbfee5c6e3d951fac4320ee211ad13f \
--hash=sha256:7828e22946f128aa59cb9254de4037b99e3bd5a51fe8f590cf64a3141d742a37 \
--hash=sha256:82f694da656a699154b15ee28be3ac39c41a71d33985313deda12a3645f8b3db \
--hash=sha256:959892eb94bd0b3ff40e0fca51d33a3936416deb853e2bac4f7f766b40002650 \
--hash=sha256:a7ec6a2d212c27ec46bed17a15d60b7b29cd0f734f11cc16d2cb4d3f6136e133 \
--hash=sha256:a90c77f4bbfdf73aa16093dfe95c68af1a1ca685ebfa525f3f150eab252f6728 \
--hash=sha256:b288a59fa8dffc1cbc53105e71e2f8c82421081b17282e41319832654b309477 \
--hash=sha256:c41cc8d4ece57f5e26076cd12f1e11d464d7f118fdb74b958269535185d99a30 \
--hash=sha256:c8dce91d2a918ee63338d79b08e3d52f1d2797efd9c2bedd13c33d674f730db8 \
--hash=sha256:d26a8a40cea61f295be04b1164a5dd9ec873f13a39814ad00efec7fd899320e0 \
--hash=sha256:d80b3baafff1a8a91ac860023c448c603767bed502258160a5cb6029976fec4f \
--hash=sha256:dcf5354268f16d9e11e05cf3616172ca5ef503b45567f75ebd96a0bfdb9832d1 \
--hash=sha256:ded849360fb31746f1ba3a994f89c3bba2466ec2d0b4b5da0030645645f938d4 \
--hash=sha256:e03df73573aec261447602904bd66927eeb2f00dd24370dc9a57f47fd42c4d70 \
--hash=sha256:f97c2eb92cb68831f19b82ba0038ce40fa73c5edbffb7930745edac20c5358d1 \
--hash=sha256:fa8abed5260baf4306fbfb997c8789fe24bc229cd762b12d7dba0b9c20147b1d
# via
# -r dependency_support/pip_requirements.in
# cocotb-bus
# cocotbext-axi
cocotb-bus==0.2.1 \
--hash=sha256:a197aa4b0e0ad28469c8877b41b3fb2ec0206da9f491b9276d1578ce6dd8aa8d
# via
# -r dependency_support/pip_requirements.in
# cocotbext-axi
cocotbext-axi==0.1.24 \
--hash=sha256:3ed62dcaf9448833176826507c5bc5c346431c4846a731e409d87c862d960593 \
--hash=sha256:533ba6c7503c6302bdb9ef86e43a549ad5da876eafb1adce23d39751c54cced4
# via -r dependency_support/pip_requirements.in
contourpy==1.3.1 \
--hash=sha256:041b640d4ec01922083645a94bb3b2e777e6b626788f4095cf21abbe266413c1 \
--hash=sha256:05e806338bfeaa006acbdeba0ad681a10be63b26e1b17317bfac3c5d98f36cda \
Expand Down Expand Up @@ -74,6 +119,10 @@ cycler==0.12.1 \
--hash=sha256:85cef7cff222d8644161529808465972e51340599459b8ac3ccbac5a854e0d30 \
--hash=sha256:88bb128f02ba341da8ef447245a9e138fae777f6a23943da4540077d3601eb1c
# via matplotlib
find-libpython==0.4.0 \
--hash=sha256:034a4253bd57da3408aefc59aeac1650150f6c1f42e10fdd31615cf1df0842e3 \
--hash=sha256:46f9cdcd397ddb563b2d7592ded3796a41c1df5222443bd9d981721c906c03e6
# via cocotb
flask==2.3.2 \
--hash=sha256:77fd4e1249d8c9923de34907236b747ced06e5467ecac1a7bb7115ae0e9670b0 \
--hash=sha256:8c2f9abd47a9e8df7f0c3f091ce9497d011dc3b31effcf4c85a6e2b50f4114ef
Expand Down
Loading