Skip to content

modules/zstd: Add initial ZSTD Encoder procs #1846

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 127 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
4f3ceaf
modules/zstd/cocotb: Add cocotb testing utilities
koblonczek Aug 16, 2024
34f5ecf
modules/zstd/memory/MemReader: Add cocotb tests
lpawelcz Sep 19, 2024
f28887b
modules/zstd/memory/AxiWriter: Add cocotb test
mczyz-antmicro Sep 19, 2024
d6dbf20
modules/zstd/memory/MemWriter: Add cocotb test
lpawelcz Sep 19, 2024
b32e4d4
modules/zstd/memory/README: Describe verilog simulation
lpawelcz Oct 4, 2024
db19f85
CI/modules-zstd: Add calls to verilog simulation targets
lpawelcz Oct 4, 2024
9bdeb99
modules/zstd/BUILD: increase pipeline_stages for DecoderMux proc
lpawelcz Nov 12, 2024
23f1d4f
xls/modules/zstd: expose fifo verilog module
lpawelcz Dec 31, 2024
a204c0a
modules/zstd: Remove MagicNumberDecoder
lpawelcz Oct 8, 2024
35ad109
modules/zstd: Remove BlockDecoder proc
lpawelcz Oct 8, 2024
89648c5
modules/zstd: Remove DecDemux proc
lpawelcz Oct 8, 2024
d80dc47
modules/zstd/block_header: Specify new type for the block size
m-torhan Oct 3, 2024
8dec129
modules/zstd: Cleanup BlockHeader
lpawelcz Oct 8, 2024
d0408c2
modules/zstd/BUILD: Introduce common codegen args
lpawelcz Oct 9, 2024
8e05f12
modules/zstd: Add AxiCsrAccessor
lpawelcz Oct 8, 2024
e3e064a
modules/zstd: Add CsrConfig
m-torhan Oct 8, 2024
2fa1f56
modules/zstd: Add FrameHeaderDecoder
koblonczek Oct 8, 2024
07b73e0
modules/zstd: Add BlockHeaderDecoder
m-torhan Oct 8, 2024
5782de7
modules/zstd: Add RawBlockDecoder
m-torhan Oct 8, 2024
2189194
modules/zstd: Add RleBlockDecoder
m-torhan Oct 8, 2024
f301f1d
modules/zstd: Add ZstdDecoder
rw1nkler Oct 8, 2024
da2a63b
modules/zstd/cocotb: Add ZSTD frame generator library
lpawelcz Oct 9, 2024
b362dcf
dependency_support: Add zstandard python library
lpawelcz Oct 3, 2024
c1cc4f7
modules/zstd: Add verilog simulation of the ZstdDecoder
lpawelcz Oct 8, 2024
443824e
modules/zstd: Update documentation
lpawelcz Oct 10, 2024
e81953c
modules/zstd: Add AxiRamReader implementation
m-torhan Aug 30, 2024
c15c19c
modules/zstd/zstd_dec: Add DSLX tests for ZstdDecoder
koblonczek Oct 23, 2024
0633f8f
modules/zstd/zstd_dec: handle contents of the Status CSR
lpawelcz Oct 22, 2024
a8f1023
modules/zstd/data_generator: fix formatting
lpawelcz Nov 18, 2024
83b2c09
modules/zstd/memory:axi_stream_remove_empty: Fix byte ordering
lpawelcz Oct 29, 2024
79f145a
modules/zstd/memory/axi_stream_remove_empty: Extract remove_empty_byt…
lpawelcz Nov 4, 2024
1ae13cd
modules/zstd/memory/axi_writer: Assign parameterized max lane value
lpawelcz Nov 13, 2024
2147bd5
modules/zstd/memory/mem_writer: Add support for not-full input data p…
lpawelcz Oct 23, 2024
a5301eb
modules/zstd/memory/mem_writer: Add MemWriterInternal proc
lpawelcz Nov 4, 2024
9b81744
modules/zstd/zstd_dec: Write decoded data to the memory
lpawelcz Nov 7, 2024
1745753
modules/zstd/zstd_dec: Remove stream-based output interface
lpawelcz Nov 18, 2024
1a2dace
modules/zstd/zstd_dec_cocotb_test: Improve Verilog simulation
lpawelcz Nov 18, 2024
04ec80f
modules/zstd/README: Update output interface description
lpawelcz Nov 19, 2024
17b940f
modules/zstd/memory/axi_stream_remove_empty: add fifo module definiti…
lpawelcz Dec 31, 2024
f3a90c8
[TEMP] modules/zstd/memory/mem_writer: Reduce the amount of random te…
lpawelcz Jan 2, 2025
2c6c134
modules/zstd/zstd_dec: use regular cast instead of checked_cast on st…
lpawelcz Jan 13, 2025
d1e2503
modules/zstd: express data length in bytes
lpawelcz Nov 28, 2024
bd58ffd
modules/zstd: Add buffer implementing desired API
rw1nkler May 16, 2024
135a3b1
modules/zstd: Add FSE procs
rw1nkler May 16, 2024
5ea168f
modules/zstd: Add a proc handling RAM write completion
rw1nkler May 16, 2024
bea43ed
modules/zstd: Add Sequence and Literals Section Header decoders
rw1nkler Oct 31, 2024
7113da7
modules: Add ShiftBuffer and RefillingShiftBuffer implementation
koblonczek Apr 16, 2024
755e287
modules/zstd: Add FSE tables and lookup decoder
koblonczek Nov 13, 2024
858fae4
modules/zstd: Add CommandConstructor proc
RRozak Apr 24, 2024
6634c6a
modules/zstd: Add Ram demux
rw1nkler Apr 25, 2024
adac158
modules/zstd: Add literals decoding
m-torhan May 10, 2024
8b637e4
modules/zstd: Add Huffman literals decoder
m-torhan Nov 19, 2024
c35ef62
modules/zstd: Add triple output RamDemux
rw1nkler Dec 12, 2024
d68a88d
Add skeleton of SequenceDecoder
rw1nkler Dec 12, 2024
aa56667
modules/zstd: Rework literals decoding to memory-based architecture
lpawelcz Dec 3, 2024
0bd0776
modules/zstd/BUILD: tag targets as manual
rw1nkler Jan 14, 2025
4a60183
modules/zstd: Extend common library
lpawelcz Jan 14, 2025
5921652
modules/zstd: Enable CompressedBlockDecoder
koblonczek Jan 14, 2025
840327c
modules/zstd: Enable CompressedBlockDecoder in ZstdDecoder
koblonczek Jan 14, 2025
47830e8
modules/zstd: Add example frame for DSLX tests
rw1nkler Jan 14, 2025
99fb6e3
modules/zstd: Adjust SequenceExecutor
rw1nkler Jan 14, 2025
cf7a324
modules/zstd: Adjust AxiRam
rw1nkler Jan 14, 2025
911b4c2
modules/zstd: Add RamMux
rw1nkler Jan 14, 2025
2dca773
modules/zstd: Fix HuffmanRawWeightsDecoder
m-torhan Jan 7, 2025
aee28c0
Fix decoding multiple frames
rw1nkler Jan 16, 2025
4963d78
Add support for Compressed FSE tables
koblonczek Jan 8, 2025
fae265e
Add test frame for compressed fse tables
rw1nkler Jan 16, 2025
5578806
modules/zstd/zstd_dec: don't use channel arrays for FSE tables access
lpawelcz Jan 20, 2025
82593c1
Fix sequence decoding with predefined offset table, add regression test
koblonczek Jan 20, 2025
e4a4c37
Add support for RLE and Repeated fse tables
rw1nkler Jan 22, 2025
52e18de
Add test frame for repeated and rle tables
rw1nkler Jan 22, 2025
63e71c9
modules/zstd/BUILD: Add RAM ports rewrite configuration for ZstdDecoder
lpawelcz Jan 21, 2025
631ad3c
modules/zstd/zstd_dec_wrapper: Remove DSLX native RAM ports
lpawelcz Jan 24, 2025
c68ff15
modules/zstd: Add RamMerge proc
lpawelcz Jan 22, 2025
97e5e9e
[TEMP] modules/zstd/zstd_dec: Inline HuffmanWeights RamModel
lpawelcz Jan 23, 2025
42a4ee5
[TEMP] modules/zstd/BUILD: Disable ZstdDecoder P&R
lpawelcz Jan 17, 2025
4ab9966
modules/zstd: Implement HuffmanFseWeightsDecoder
m-torhan Jan 17, 2025
2a6d636
Count the length of the section with probability frequencies
rw1nkler Jan 24, 2025
cae4bfd
Adjust the design to the changed HuffmanWeightsDecoder
rw1nkler Jan 24, 2025
89b499b
Remove duplicate fifo.v file
rw1nkler Jan 29, 2025
470c545
Move test files to a separate directory
rw1nkler Jan 29, 2025
5072033
Move shift_buffer to zstd directory
rw1nkler Jan 29, 2025
b752717
Adjust BUILD files to the recent changes in the toolchain
rw1nkler Mar 26, 2025
bca4fb8
Adjust design to the recent changes in the toolchain
rw1nkler Mar 26, 2025
ed792b8
BUILD file: fix abseil reference
lpawelcz Apr 8, 2025
377a1a9
xls/modules/zstd/BUILD: Format with buildifer
lpawelcz Apr 7, 2025
0578ec0
xls/modules/zstd/memory/BUILD: Format with buildifer
lpawelcz Apr 7, 2025
f373194
modules/zstd: Move verilog sources to rtl subdirectory
lpawelcz Apr 7, 2025
5a417c0
modules/zstd/memory: Move verilog sources to rtl subdirectory
lpawelcz Apr 7, 2025
de17b17
modules/zstd/memory: Add missing module names
lpawelcz Apr 8, 2025
2d057f4
xls/modules/zstd/external: Add docstring and license for third party …
lpawelcz Apr 7, 2025
d7113d6
xls/modules/zstd: Add docstrings to frame generator for DSLX tests
lpawelcz Apr 7, 2025
c4daa85
modules/zstd/rtl/zstd_dec_wrapper: Add docstring
lpawelcz Apr 7, 2025
c285bca
modules/zstd: Rename axi_ram->axi_ram_reader
lpawelcz Apr 8, 2025
957b614
modules/zstd: Remove RESET CSR
lpawelcz Apr 8, 2025
b86d405
modules/zstd: fix bazel targets
lpawelcz Apr 8, 2025
019b613
CI/modules-zstd: Remove step for running CC tests
lpawelcz Apr 9, 2025
3396b77
modules/zstd: add license
wsipak Apr 16, 2025
2daf09e
extract external verilog to third_party
wsipak Apr 16, 2025
ee19d71
modules/zstd: Add HashTable implementation
m-torhan Nov 25, 2024
eb23a10
modules/zstd: Add HistoryBuffer implementation
m-torhan Nov 25, 2024
06a7660
modules/zstd: Add Match Finder
m-torhan Dec 31, 2024
c395b4f
modules/zstd: Add a simple LiteralsEncoder
rw1nkler Feb 5, 2025
1b4588d
modules: zstd: sequence header encoder
laudominik Mar 12, 2025
d8bf2d6
modules: zstd: disable codegen for match_finder
laudominik Mar 12, 2025
ded8977
Implement BlockHeaderWriter
wsipak Mar 10, 2025
20c0a0e
extract LiteralsEncoderRaw to a separate file
wsipak Mar 17, 2025
b55d17e
modules: zstd: memory: AxiRamWriter
laudominik Mar 12, 2025
8d19979
modules: zstd: send "last" response in mem_reader_mux, mem_reader_sim…
laudominik Mar 20, 2025
4f2d1bc
modules: zstd: add codegen & benchmark to mem_writer_simple_arbiter
laudominik Mar 20, 2025
6229a34
modules: zstd: add codegen & benchmark to mem_writer_mux
laudominik Mar 26, 2025
e11232a
modules: zstd: add codegen & benchmark to mem_reader_mux
laudominik Mar 26, 2025
8d87202
modules: zstd: add codegen & benchmark to mem_reader_simple_arbiter
laudominik Mar 26, 2025
ae0cada
modules: zstd: implement FrameHeaderEncoder
sgizler Mar 11, 2025
421a6c5
modules: zstd: Basic zstd encoder
laudominik Mar 26, 2025
1bce2bd
modules: zstd: dslx tests for zstd encoder
wsipak Mar 26, 2025
eea79e7
modules: zstd: raw memcopy: better error handling
laudominik Mar 26, 2025
ca03eef
modules: zstd: block header: make structs public
laudominik Mar 26, 2025
3b7ad4f
modules: zstd: axi_ram_writer: move proc-local const outside
laudominik Mar 26, 2025
2e71e4c
Revert "modules: zstd: disable codegen for match_finder"
laudominik Mar 27, 2025
dc17e91
modules: zstd: match finder: make conditions mutually exclusive, fix …
laudominik Mar 27, 2025
2d5ea6f
modules: zstd: add codegen & benchmark to zstd encoder
laudominik Mar 27, 2025
2895763
Adjust the design after a rebase
rw1nkler Apr 25, 2025
4316d4d
Comment-out failing match finder test
rw1nkler Apr 25, 2025
fa73487
modules: zstd: create AxiRam from array
laudominik Apr 29, 2025
3a4878b
modules: zstd: encoder cocotb simulation
laudominik Apr 29, 2025
8b1725b
modules: zstd: bump fifo depth in mem_writer, mem_reader, axi_stream_…
laudominik Apr 29, 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
10 changes: 5 additions & 5 deletions .github/workflows/modules-zstd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,6 @@ jobs:
run: |
bazel test -c opt --test_output=errors -- $(bazel query 'filter(".*_dslx_test", kind(rule, //xls/modules/zstd/...))')

- name: Test ZSTD Module - CC Tests (opt)
if: ${{ !cancelled() }}
run: |
bazel test -c opt --test_output=errors -- $(bazel query 'filter(".*_cc_test", kind(rule, //xls/modules/zstd/...))')

- name: Build ZSTD verilog targets (opt)
if: ${{ !cancelled() }}
run: |
Expand All @@ -75,6 +70,11 @@ jobs:
bazel run -c opt $target -- --logtostderr;
done

- name: Build and test verilog simulation of the ZSTD module components (opt)
if: ${{ !cancelled() }}
run: |
bazel test -c opt --test_output=errors -- $(bazel query 'filter(".*_cocotb_test", kind(rule, //xls/modules/zstd/...))')

- name: Build ZSTD place and route targets (opt)
if: ${{ !cancelled() }}
run: |
Expand Down
5 changes: 5 additions & 0 deletions dependency_support/pip_requirements.in
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ 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
pytest==8.2.2
cocotb==1.9.0
cocotbext-axi==0.1.24
cocotb_bus==0.2.1
zstandard==0.23.0

# 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
169 changes: 168 additions & 1 deletion dependency_support/pip_requirements_lock.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,56 @@ click==8.1.3 \
# via
# -r dependency_support/pip_requirements.in
# flask
cocotb==1.9.0 \
--hash=sha256:02a58ef6c941114964096e7c039bdd4e67e63816cfd2f6a9af6a34cd92b00e8e \
--hash=sha256:0819794ef5e8fd14fee0b265933226cf600e85edc2f1a749b4d5f8fa2d31ce4e \
--hash=sha256:0ba35617a677ff65a1273411a3dfdfc5f587128ad8cb9e941ab0eb17ec8fb3e2 \
--hash=sha256:17556e3a23562f64d577d0eb117fe02e384aedee997b29497b5c395f5010ff82 \
--hash=sha256:19b4e27b53a16e0b9c4cc5227c7f9d4dccac06e431a4f937e9f5513350196333 \
--hash=sha256:1a0381ced5590a726032ba2265c6b70ac12cfb49edb152be86a081bb7d104751 \
--hash=sha256:1aff68cf77059448a9a3278079037e34b50c8c2aee466d984295fa7fe699d390 \
--hash=sha256:277281420fd6fc3002bb85d6bec497bd20ff3a3905d4b5f1301faf975f750ede \
--hash=sha256:2daf743320331615f4e8ffb877ab0b04e6f913b911bb11bf9dbc1d876d9c4220 \
--hash=sha256:2e9bcdbfba3e99c9297bd0d74ba781772d89d2c86e893980784ada252bd1a0f8 \
--hash=sha256:3058c977f9d4e1f6333d505947f34b9142910719f1d8631c40a151dd86bad727 \
--hash=sha256:5832d894419a9e8fe5c242e3ac86588e16e2cb379822dcb154bfec8544ae858e \
--hash=sha256:598b841ed0809e5c64d8c383b8035f6ace5a6f9013f680cdc6981221911c005d \
--hash=sha256:5a5c91027d7652aaf10e101743edd6b1e832039a19af75fca301275ef30f01d4 \
--hash=sha256:61418f619af72c8cca8de622785b4f4bfc17ace09981de6eb44feae560cf3bbb \
--hash=sha256:784c914c8df3fd79cfb148d2bcd17c4b2703c89af1278ed98773afb57ceea3e6 \
--hash=sha256:87a19d3012f505ba7fda37483b851ef0ca40290ad8a9b28a820b84f8574287bb \
--hash=sha256:89503f0749362d36b6fab8636710f1848943c21f9d488672921bac21e9edd29f \
--hash=sha256:89e5189fd393918c27af2daefdcb13df4d52fa761f065d5964d2c4ff5c0642fb \
--hash=sha256:8cb4b0edf8f0b47c3b604b461cb574fc75fd97efa893cbaf828f4f2f71cf459e \
--hash=sha256:94e884e16186899ad5b4d131c3f7ff0a2277e67ea0660754e8810a4bbf2d610e \
--hash=sha256:997dbca2a2cd933fd0a44d9fadeebc1e8a40701db15ea06f207811933dceb350 \
--hash=sha256:a7cea13cb2fe4f5ca735490846342885117778a73008a67ed9cac667aaaf3f0d \
--hash=sha256:a84edfbfa57dc6e16845a55feb0b4e1c8b6bbfa5ef1ab6768beba8d81e0546aa \
--hash=sha256:a95b5e5708a3629d319d2b655d11345cc7e97fea9bdc9bc1df7435926ac30966 \
--hash=sha256:aa6818c39ca1ce699e4bb1d84899c4f98c2d25c7671bd6c7beee3b1ee9d68834 \
--hash=sha256:ab99bf7e055780b57419d4133fd4dca9c72a03b766a3e2200552f10498eb8845 \
--hash=sha256:b966f5560a494fd99f95a1562f9326ca20c35bb118d4e6b50db41da8e4a6f718 \
--hash=sha256:bc44a7708a5a63d3059a622c2fb90831dc33534c3343e971f5a6c78905097baa \
--hash=sha256:c11e21d291ba2f889e33c21d76e9aec6ffdfb5666053dc34452666579daa675b \
--hash=sha256:c848de13583478d71cc91e528e17c051ca6a3b92e89d703ac5015f17cab1287b \
--hash=sha256:d944aa5509a0f0786d6f30554a2f8b1f229847f9ac9988879d7a05497739f668 \
--hash=sha256:f50862153e1364f6edeaef9d70505093549fa097e9b2555ea46d1e4f94ac3287 \
--hash=sha256:f74c598e230e1035103f6e3a97dd7a0e1bcacf7f3ea7481cd3bcde477b74e379 \
--hash=sha256:fcb81c6c37e11b0729768dd8e192a9cfb809778699ab1fe89f4d92ba0beb3092 \
--hash=sha256:ff2ddc8b304eb7076ceead2534a1b9828df771798fa9c2601ea983c86d23ec08
# 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 +124,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 Expand Up @@ -130,6 +184,10 @@ fonttools==4.55.8 \
--hash=sha256:f089e8da0990cfe2d67e81d9cf581ff372b48dc5acf2782701844211cd1f0eb3 \
--hash=sha256:f971aa5f50c22dc4b63a891503624ae2c77330429b34ead32f23c2260c5618cd
# via matplotlib
iniconfig==2.0.0 \
--hash=sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3 \
--hash=sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374
# via pytest
itsdangerous==2.1.2 \
--hash=sha256:2c2349112351b88699d8d4b6b075022c0808887cb7ad10069318a8b0bc88db44 \
--hash=sha256:5dbbc68b317e5e42f327f9021763545dc3fc3bfe22e6deb96aaf1fc38874156a
Expand Down Expand Up @@ -346,7 +404,9 @@ numpy==1.24.4 \
packaging==24.2 \
--hash=sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759 \
--hash=sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f
# via matplotlib
# via
# matplotlib
# pytest
pillow==11.1.0 \
--hash=sha256:015c6e863faa4779251436db398ae75051469f7c903b043a48f078e437656f83 \
--hash=sha256:0a2f91f8a8b367e7a57c6e91cd25af510168091fb89ec5146003e424e1558a96 \
Expand Down Expand Up @@ -420,6 +480,10 @@ pillow==11.1.0 \
--hash=sha256:f86d3a7a9af5d826744fabf4afd15b9dfef44fe69a98541f666f66fbb8d3fef9 \
--hash=sha256:fbd43429d0d7ed6533b25fc993861b8fd512c42d04514a0dd6337fb3ccf22761
# via matplotlib
pluggy==1.5.0 \
--hash=sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1 \
--hash=sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669
# via pytest
portpicker==1.3.1 \
--hash=sha256:d2cdc776873635ed421315c4d22e63280042456bbfa07397817e687b142b9667
# via -r dependency_support/pip_requirements.in
Expand All @@ -440,6 +504,10 @@ pyparsing==3.2.1 \
--hash=sha256:506ff4f4386c4cec0590ec19e6302d3aedb992fdc02c761e90416f158dacf8e1 \
--hash=sha256:61980854fd66de3a90028d679a954d5f2623e83144b5afe5ee86f43d762e5f0a
# via matplotlib
pytest==8.2.2 \
--hash=sha256:c434598117762e2bd304e526244f67bf66bbd7b5d6cf22138be51ff661980343 \
--hash=sha256:de4bb8104e201939ccdc688b27a89a7be2079b22e2bd2b07f806b6ba71117977
# via -r dependency_support/pip_requirements.in
python-dateutil==2.9.0.post0 \
--hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \
--hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427
Expand Down Expand Up @@ -541,3 +609,102 @@ z3-solver==4.14.0.0 \
--hash=sha256:c10f899c6a876e3a50e9b2c4927604c2c3da3cca672b8ed3b7db1bc97259e47f \
--hash=sha256:e6ae32bc1cf4d25b96f790755d790a23118e8a09b9b6060e32238fe6ff43606d
# via -r dependency_support/pip_requirements.in
zstandard==0.23.0 \
--hash=sha256:034b88913ecc1b097f528e42b539453fa82c3557e414b3de9d5632c80439a473 \
--hash=sha256:0a7f0804bb3799414af278e9ad51be25edf67f78f916e08afdb983e74161b916 \
--hash=sha256:11e3bf3c924853a2d5835b24f03eeba7fc9b07d8ca499e247e06ff5676461a15 \
--hash=sha256:12a289832e520c6bd4dcaad68e944b86da3bad0d339ef7989fb7e88f92e96072 \
--hash=sha256:1516c8c37d3a053b01c1c15b182f3b5f5eef19ced9b930b684a73bad121addf4 \
--hash=sha256:157e89ceb4054029a289fb504c98c6a9fe8010f1680de0201b3eb5dc20aa6d9e \
--hash=sha256:1bfe8de1da6d104f15a60d4a8a768288f66aa953bbe00d027398b93fb9680b26 \
--hash=sha256:1e172f57cd78c20f13a3415cc8dfe24bf388614324d25539146594c16d78fcc8 \
--hash=sha256:1fd7e0f1cfb70eb2f95a19b472ee7ad6d9a0a992ec0ae53286870c104ca939e5 \
--hash=sha256:203d236f4c94cd8379d1ea61db2fce20730b4c38d7f1c34506a31b34edc87bdd \
--hash=sha256:27d3ef2252d2e62476389ca8f9b0cf2bbafb082a3b6bfe9d90cbcbb5529ecf7c \
--hash=sha256:29a2bc7c1b09b0af938b7a8343174b987ae021705acabcbae560166567f5a8db \
--hash=sha256:2ef230a8fd217a2015bc91b74f6b3b7d6522ba48be29ad4ea0ca3a3775bf7dd5 \
--hash=sha256:2ef3775758346d9ac6214123887d25c7061c92afe1f2b354f9388e9e4d48acfc \
--hash=sha256:2f146f50723defec2975fb7e388ae3a024eb7151542d1599527ec2aa9cacb152 \
--hash=sha256:2fb4535137de7e244c230e24f9d1ec194f61721c86ebea04e1581d9d06ea1269 \
--hash=sha256:32ba3b5ccde2d581b1e6aa952c836a6291e8435d788f656fe5976445865ae045 \
--hash=sha256:34895a41273ad33347b2fc70e1bff4240556de3c46c6ea430a7ed91f9042aa4e \
--hash=sha256:379b378ae694ba78cef921581ebd420c938936a153ded602c4fea612b7eaa90d \
--hash=sha256:38302b78a850ff82656beaddeb0bb989a0322a8bbb1bf1ab10c17506681d772a \
--hash=sha256:3aa014d55c3af933c1315eb4bb06dd0459661cc0b15cd61077afa6489bec63bb \
--hash=sha256:4051e406288b8cdbb993798b9a45c59a4896b6ecee2f875424ec10276a895740 \
--hash=sha256:40b33d93c6eddf02d2c19f5773196068d875c41ca25730e8288e9b672897c105 \
--hash=sha256:43da0f0092281bf501f9c5f6f3b4c975a8a0ea82de49ba3f7100e64d422a1274 \
--hash=sha256:445e4cb5048b04e90ce96a79b4b63140e3f4ab5f662321975679b5f6360b90e2 \
--hash=sha256:48ef6a43b1846f6025dde6ed9fee0c24e1149c1c25f7fb0a0585572b2f3adc58 \
--hash=sha256:50a80baba0285386f97ea36239855f6020ce452456605f262b2d33ac35c7770b \
--hash=sha256:519fbf169dfac1222a76ba8861ef4ac7f0530c35dd79ba5727014613f91613d4 \
--hash=sha256:53dd9d5e3d29f95acd5de6802e909ada8d8d8cfa37a3ac64836f3bc4bc5512db \
--hash=sha256:53ea7cdc96c6eb56e76bb06894bcfb5dfa93b7adcf59d61c6b92674e24e2dd5e \
--hash=sha256:576856e8594e6649aee06ddbfc738fec6a834f7c85bf7cadd1c53d4a58186ef9 \
--hash=sha256:59556bf80a7094d0cfb9f5e50bb2db27fefb75d5138bb16fb052b61b0e0eeeb0 \
--hash=sha256:5d41d5e025f1e0bccae4928981e71b2334c60f580bdc8345f824e7c0a4c2a813 \
--hash=sha256:61062387ad820c654b6a6b5f0b94484fa19515e0c5116faf29f41a6bc91ded6e \
--hash=sha256:61f89436cbfede4bc4e91b4397eaa3e2108ebe96d05e93d6ccc95ab5714be512 \
--hash=sha256:62136da96a973bd2557f06ddd4e8e807f9e13cbb0bfb9cc06cfe6d98ea90dfe0 \
--hash=sha256:64585e1dba664dc67c7cdabd56c1e5685233fbb1fc1966cfba2a340ec0dfff7b \
--hash=sha256:65308f4b4890aa12d9b6ad9f2844b7ee42c7f7a4fd3390425b242ffc57498f48 \
--hash=sha256:66b689c107857eceabf2cf3d3fc699c3c0fe8ccd18df2219d978c0283e4c508a \
--hash=sha256:6a41c120c3dbc0d81a8e8adc73312d668cd34acd7725f036992b1b72d22c1772 \
--hash=sha256:6f77fa49079891a4aab203d0b1744acc85577ed16d767b52fc089d83faf8d8ed \
--hash=sha256:72c68dda124a1a138340fb62fa21b9bf4848437d9ca60bd35db36f2d3345f373 \
--hash=sha256:752bf8a74412b9892f4e5b58f2f890a039f57037f52c89a740757ebd807f33ea \
--hash=sha256:76e79bc28a65f467e0409098fa2c4376931fd3207fbeb6b956c7c476d53746dd \
--hash=sha256:774d45b1fac1461f48698a9d4b5fa19a69d47ece02fa469825b442263f04021f \
--hash=sha256:77da4c6bfa20dd5ea25cbf12c76f181a8e8cd7ea231c673828d0386b1740b8dc \
--hash=sha256:77ea385f7dd5b5676d7fd943292ffa18fbf5c72ba98f7d09fc1fb9e819b34c23 \
--hash=sha256:80080816b4f52a9d886e67f1f96912891074903238fe54f2de8b786f86baded2 \
--hash=sha256:80a539906390591dd39ebb8d773771dc4db82ace6372c4d41e2d293f8e32b8db \
--hash=sha256:82d17e94d735c99621bf8ebf9995f870a6b3e6d14543b99e201ae046dfe7de70 \
--hash=sha256:837bb6764be6919963ef41235fd56a6486b132ea64afe5fafb4cb279ac44f259 \
--hash=sha256:84433dddea68571a6d6bd4fbf8ff398236031149116a7fff6f777ff95cad3df9 \
--hash=sha256:8c24f21fa2af4bb9f2c492a86fe0c34e6d2c63812a839590edaf177b7398f700 \
--hash=sha256:8ed7d27cb56b3e058d3cf684d7200703bcae623e1dcc06ed1e18ecda39fee003 \
--hash=sha256:9206649ec587e6b02bd124fb7799b86cddec350f6f6c14bc82a2b70183e708ba \
--hash=sha256:983b6efd649723474f29ed42e1467f90a35a74793437d0bc64a5bf482bedfa0a \
--hash=sha256:98da17ce9cbf3bfe4617e836d561e433f871129e3a7ac16d6ef4c680f13a839c \
--hash=sha256:9c236e635582742fee16603042553d276cca506e824fa2e6489db04039521e90 \
--hash=sha256:9da6bc32faac9a293ddfdcb9108d4b20416219461e4ec64dfea8383cac186690 \
--hash=sha256:a05e6d6218461eb1b4771d973728f0133b2a4613a6779995df557f70794fd60f \
--hash=sha256:a0817825b900fcd43ac5d05b8b3079937073d2b1ff9cf89427590718b70dd840 \
--hash=sha256:a4ae99c57668ca1e78597d8b06d5af837f377f340f4cce993b551b2d7731778d \
--hash=sha256:a8c86881813a78a6f4508ef9daf9d4995b8ac2d147dcb1a450448941398091c9 \
--hash=sha256:a8fffdbd9d1408006baaf02f1068d7dd1f016c6bcb7538682622c556e7b68e35 \
--hash=sha256:a9b07268d0c3ca5c170a385a0ab9fb7fdd9f5fd866be004c4ea39e44edce47dd \
--hash=sha256:ab19a2d91963ed9e42b4e8d77cd847ae8381576585bad79dbd0a8837a9f6620a \
--hash=sha256:ac184f87ff521f4840e6ea0b10c0ec90c6b1dcd0bad2f1e4a9a1b4fa177982ea \
--hash=sha256:b0e166f698c5a3e914947388c162be2583e0c638a4703fc6a543e23a88dea3c1 \
--hash=sha256:b2170c7e0367dde86a2647ed5b6f57394ea7f53545746104c6b09fc1f4223573 \
--hash=sha256:b2d8c62d08e7255f68f7a740bae85b3c9b8e5466baa9cbf7f57f1cde0ac6bc09 \
--hash=sha256:b4567955a6bc1b20e9c31612e615af6b53733491aeaa19a6b3b37f3b65477094 \
--hash=sha256:b69bb4f51daf461b15e7b3db033160937d3ff88303a7bc808c67bbc1eaf98c78 \
--hash=sha256:b8c0bd73aeac689beacd4e7667d48c299f61b959475cdbb91e7d3d88d27c56b9 \
--hash=sha256:be9b5b8659dff1f913039c2feee1aca499cfbc19e98fa12bc85e037c17ec6ca5 \
--hash=sha256:bf0a05b6059c0528477fba9054d09179beb63744355cab9f38059548fedd46a9 \
--hash=sha256:c16842b846a8d2a145223f520b7e18b57c8f476924bda92aeee3a88d11cfc391 \
--hash=sha256:c363b53e257246a954ebc7c488304b5592b9c53fbe74d03bc1c64dda153fb847 \
--hash=sha256:c7c517d74bea1a6afd39aa612fa025e6b8011982a0897768a2f7c8ab4ebb78a2 \
--hash=sha256:d20fd853fbb5807c8e84c136c278827b6167ded66c72ec6f9a14b863d809211c \
--hash=sha256:d2240ddc86b74966c34554c49d00eaafa8200a18d3a5b6ffbf7da63b11d74ee2 \
--hash=sha256:d477ed829077cd945b01fc3115edd132c47e6540ddcd96ca169facff28173057 \
--hash=sha256:d50d31bfedd53a928fed6707b15a8dbeef011bb6366297cc435accc888b27c20 \
--hash=sha256:dc1d33abb8a0d754ea4763bad944fd965d3d95b5baef6b121c0c9013eaf1907d \
--hash=sha256:dc5d1a49d3f8262be192589a4b72f0d03b72dcf46c51ad5852a4fdc67be7b9e4 \
--hash=sha256:e2d1a054f8f0a191004675755448d12be47fa9bebbcffa3cdf01db19f2d30a54 \
--hash=sha256:e7792606d606c8df5277c32ccb58f29b9b8603bf83b48639b7aedf6df4fe8171 \
--hash=sha256:ed1708dbf4d2e3a1c5c69110ba2b4eb6678262028afd6c6fbcc5a8dac9cda68e \
--hash=sha256:f2d4380bf5f62daabd7b751ea2339c1a21d1c9463f1feb7fc2bdcea2c29c3160 \
--hash=sha256:f3513916e8c645d0610815c257cbfd3242adfd5c4cfa78be514e5a3ebb42a41b \
--hash=sha256:f8346bfa098532bc1fb6c7ef06783e969d87a99dd1d2a5a18a892c1d7a643c58 \
--hash=sha256:f83fa6cae3fff8e98691248c9320356971b59678a17f20656a9e59cd32cee6d8 \
--hash=sha256:fa6ce8b52c5987b3e34d5674b0ab529a4602b632ebab0a93b07bfb4dfc8f8a33 \
--hash=sha256:fb2b1ecfef1e67897d336de3a0e3f52478182d6a47eda86cbd42504c5cbd009a \
--hash=sha256:fc9ca1c9718cb3b06634c7c8dec57d24e9438b2aa9a0f02b8bb36bf478538880 \
--hash=sha256:fd30d9c67d13d891f2360b2a120186729c111238ac63b43dbd37a5a40670b8ca \
--hash=sha256:fd7699e8fd9969f455ef2926221e0233f81a2542921471382e77a9e2f2b57f4b \
--hash=sha256:fe3b385d996ee0822fd46528d9f0443b880d4d05528fd26a9119a54ec3f91c69
# via -r dependency_support/pip_requirements.in
56 changes: 56 additions & 0 deletions third_party/verilog_axi/BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Copyright 2024 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.

"""Collection of external RTL sources

This package exports external verilog sources required by the ZSTD Decoder
in the verilog tests.

The exported files come from the Open Source library of the AXI4 and AXI4 lite
bus components released under MIT license.

The sources contain an implementation of the AXI4 crossbar which is used in the
verilog tests of the ZSTD Decoder to connect multiple AXI interfaces into a single
AXI interface that forms the IO of the ZSTD Decoder verilog wrapper used in the tests.

Source: https://github.com/alexforencich/verilog-axi
"""

load("@rules_license//rules:license.bzl", "license")

package(
default_applicable_licenses = [":license"],
default_visibility = ["//xls:xls_users"],
licenses = ["notice"],
)

license(
name = "license",
package_name = "verilog_axi",
)

exports_files(
[
"arbiter.v",
"axi_crossbar.v",
"axi_crossbar_addr.v",
"axi_crossbar_rd.v",
"axi_crossbar_wr.v",
"axi_crossbar_wrapper.v",
"axi_register_rd.v",
"axi_register_wr.v",
"priority_encoder.v",
"LICENSE",
],
)
19 changes: 19 additions & 0 deletions third_party/verilog_axi/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
Copyright (c) 2018 Alex Forencich

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Loading