├── .github └── workflows │ └── ci.yml ├── .gitignore ├── .scalafix.conf ├── LICENSE ├── README.md ├── images ├── mod_multiplier.png ├── modadd.jpg ├── modadder.jpg ├── modadder2.jpg ├── mul_comb.JPG ├── mul_sep.jpg ├── opt_poseidon.png ├── regular_adder.png ├── src │ ├── AdderBasedModAdder.drawio │ ├── MDSMatrixAdder.drawio │ ├── MDSMatrixMultiplier.drawio │ ├── ModMultiplier.drawio │ ├── Thread.drawio │ └── TopLevel.drawio └── toplevel.png ├── poseidon_constants ├── compressed_round_constants │ ├── compressed_round_constants_12.txt │ ├── compressed_round_constants_3.txt │ ├── compressed_round_constants_5.txt │ └── compressed_round_constants_9.txt ├── compressed_round_constants_ff │ ├── full_round_constants_ff_12.txt │ ├── full_round_constants_ff_3.txt │ ├── full_round_constants_ff_5.txt │ ├── full_round_constants_ff_9.txt │ ├── partial_round_constants_ff_12.txt │ ├── partial_round_constants_ff_3.txt │ ├── partial_round_constants_ff_5.txt │ ├── partial_round_constants_ff_9.txt │ ├── pre_round_constants_ff_12.txt │ ├── pre_round_constants_ff_3.txt │ ├── pre_round_constants_ff_5.txt │ └── pre_round_constants_ff_9.txt ├── mds_matrixs │ ├── mds_matrix_12.txt │ ├── mds_matrix_3.txt │ ├── mds_matrix_5.txt │ └── mds_matrix_9.txt ├── mds_matrixs_ff │ ├── mds_matrix_ff_12.txt │ ├── mds_matrix_ff_3.txt │ ├── mds_matrix_ff_5.txt │ └── mds_matrix_ff_9.txt ├── pre_sparse_matrix │ ├── pre_sparse_matrix_12.txt │ ├── pre_sparse_matrix_3.txt │ ├── pre_sparse_matrix_5.txt │ └── pre_sparse_matrix_9.txt ├── pre_sparse_matrix_ff │ ├── pre_sparse_matrix_ff_12.txt │ ├── pre_sparse_matrix_ff_3.txt │ ├── pre_sparse_matrix_ff_5.txt │ └── pre_sparse_matrix_ff_9.txt ├── round_constants │ ├── round_constants_12.txt │ ├── round_constants_3.txt │ ├── round_constants_5.txt │ └── round_constants_9.txt ├── round_constants_ff │ ├── round_constants_ff_12.txt │ ├── round_constants_ff_3.txt │ ├── round_constants_ff_5.txt │ └── round_constants_ff_9.txt ├── sparse_matrix │ ├── sparse_matrix_12.txt │ ├── sparse_matrix_3.txt │ ├── sparse_matrix_5.txt │ └── sparse_matrix_9.txt └── sparse_matrix_ff │ ├── sparse_matrix_column_ff_12.txt │ ├── sparse_matrix_column_ff_9.txt │ ├── sparse_matrix_ff_3.txt │ ├── sparse_matrix_ff_5.txt │ ├── sparse_matrix_row_ff_12.txt │ └── sparse_matrix_row_ff_9.txt ├── run.sh └── src ├── main ├── scala │ └── poseidon │ │ ├── AXI4StreamInterface.scala │ │ ├── AdderTree.scala │ │ ├── ArithmeticOperator.scala │ │ ├── BundleFifo.scala │ │ ├── MDSMatrixAdders.scala │ │ ├── MDSMatrixMultiplier.scala │ │ ├── ModularAdder.scala │ │ ├── MontMultiplierPiped.scala │ │ ├── MontgomeryMult.scala │ │ ├── MultiplierGenerator.scala │ │ ├── PoseidonConstants.scala │ │ ├── PoseidonSerializer.scala │ │ ├── PoseidonThread.scala │ │ └── PoseidonTopLevel.scala └── verilog │ ├── ModAdder.v │ ├── ModMultiplier.v │ ├── MontMultiplierBasics.v │ ├── PoseidonTopLevelTestbench.v │ ├── PoseidonTopLevel_wrapper.v │ └── RoundConstantsTestbench.v ├── reference_model └── poseidon_python │ ├── __init__.py │ ├── basic.py │ ├── constants.py │ ├── finite_field.py │ ├── poseidon.py │ └── poseidon_ff.py └── tests ├── AXI4StreamReceiverTester.py ├── AXI4StreamTransmitterTester.py ├── AdderTreeTester.py ├── BasicElements.py ├── MDSMatrixAddersTester.py ├── MDSMatrixMultiplierTester.py ├── Makefile ├── ModAdderTester.py ├── ModMultiplierTester.py ├── ModularAdderFlowTester.py ├── MontMultiplierPipedTester.py ├── MontgomeryMultFlowTester.py ├── MultiplierFlowTester.py ├── MultiplierStreamTester.py ├── PoseidonSerializerTester.py ├── PoseidonThreadTester.py ├── PoseidonTopLevelTester.py └── poseidon_python ├── __init__.py ├── basic.py ├── constants.py ├── finite_field.py ├── poseidon.py └── poseidon_ff.py /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/.gitignore -------------------------------------------------------------------------------- /.scalafix.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/.scalafix.conf -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/README.md -------------------------------------------------------------------------------- /images/mod_multiplier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/images/mod_multiplier.png -------------------------------------------------------------------------------- /images/modadd.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/images/modadd.jpg -------------------------------------------------------------------------------- /images/modadder.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/images/modadder.jpg -------------------------------------------------------------------------------- /images/modadder2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/images/modadder2.jpg -------------------------------------------------------------------------------- /images/mul_comb.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/images/mul_comb.JPG -------------------------------------------------------------------------------- /images/mul_sep.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/images/mul_sep.jpg -------------------------------------------------------------------------------- /images/opt_poseidon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/images/opt_poseidon.png -------------------------------------------------------------------------------- /images/regular_adder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/images/regular_adder.png -------------------------------------------------------------------------------- /images/src/AdderBasedModAdder.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/images/src/AdderBasedModAdder.drawio -------------------------------------------------------------------------------- /images/src/MDSMatrixAdder.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/images/src/MDSMatrixAdder.drawio -------------------------------------------------------------------------------- /images/src/MDSMatrixMultiplier.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/images/src/MDSMatrixMultiplier.drawio -------------------------------------------------------------------------------- /images/src/ModMultiplier.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/images/src/ModMultiplier.drawio -------------------------------------------------------------------------------- /images/src/Thread.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/images/src/Thread.drawio -------------------------------------------------------------------------------- /images/src/TopLevel.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/images/src/TopLevel.drawio -------------------------------------------------------------------------------- /images/toplevel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/images/toplevel.png -------------------------------------------------------------------------------- /poseidon_constants/compressed_round_constants/compressed_round_constants_12.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/compressed_round_constants/compressed_round_constants_12.txt -------------------------------------------------------------------------------- /poseidon_constants/compressed_round_constants/compressed_round_constants_3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/compressed_round_constants/compressed_round_constants_3.txt -------------------------------------------------------------------------------- /poseidon_constants/compressed_round_constants/compressed_round_constants_5.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/compressed_round_constants/compressed_round_constants_5.txt -------------------------------------------------------------------------------- /poseidon_constants/compressed_round_constants/compressed_round_constants_9.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/compressed_round_constants/compressed_round_constants_9.txt -------------------------------------------------------------------------------- /poseidon_constants/compressed_round_constants_ff/full_round_constants_ff_12.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/compressed_round_constants_ff/full_round_constants_ff_12.txt -------------------------------------------------------------------------------- /poseidon_constants/compressed_round_constants_ff/full_round_constants_ff_3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/compressed_round_constants_ff/full_round_constants_ff_3.txt -------------------------------------------------------------------------------- /poseidon_constants/compressed_round_constants_ff/full_round_constants_ff_5.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/compressed_round_constants_ff/full_round_constants_ff_5.txt -------------------------------------------------------------------------------- /poseidon_constants/compressed_round_constants_ff/full_round_constants_ff_9.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/compressed_round_constants_ff/full_round_constants_ff_9.txt -------------------------------------------------------------------------------- /poseidon_constants/compressed_round_constants_ff/partial_round_constants_ff_12.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/compressed_round_constants_ff/partial_round_constants_ff_12.txt -------------------------------------------------------------------------------- /poseidon_constants/compressed_round_constants_ff/partial_round_constants_ff_3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/compressed_round_constants_ff/partial_round_constants_ff_3.txt -------------------------------------------------------------------------------- /poseidon_constants/compressed_round_constants_ff/partial_round_constants_ff_5.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/compressed_round_constants_ff/partial_round_constants_ff_5.txt -------------------------------------------------------------------------------- /poseidon_constants/compressed_round_constants_ff/partial_round_constants_ff_9.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/compressed_round_constants_ff/partial_round_constants_ff_9.txt -------------------------------------------------------------------------------- /poseidon_constants/compressed_round_constants_ff/pre_round_constants_ff_12.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/compressed_round_constants_ff/pre_round_constants_ff_12.txt -------------------------------------------------------------------------------- /poseidon_constants/compressed_round_constants_ff/pre_round_constants_ff_3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/compressed_round_constants_ff/pre_round_constants_ff_3.txt -------------------------------------------------------------------------------- /poseidon_constants/compressed_round_constants_ff/pre_round_constants_ff_5.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/compressed_round_constants_ff/pre_round_constants_ff_5.txt -------------------------------------------------------------------------------- /poseidon_constants/compressed_round_constants_ff/pre_round_constants_ff_9.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/compressed_round_constants_ff/pre_round_constants_ff_9.txt -------------------------------------------------------------------------------- /poseidon_constants/mds_matrixs/mds_matrix_12.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/mds_matrixs/mds_matrix_12.txt -------------------------------------------------------------------------------- /poseidon_constants/mds_matrixs/mds_matrix_3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/mds_matrixs/mds_matrix_3.txt -------------------------------------------------------------------------------- /poseidon_constants/mds_matrixs/mds_matrix_5.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/mds_matrixs/mds_matrix_5.txt -------------------------------------------------------------------------------- /poseidon_constants/mds_matrixs/mds_matrix_9.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/mds_matrixs/mds_matrix_9.txt -------------------------------------------------------------------------------- /poseidon_constants/mds_matrixs_ff/mds_matrix_ff_12.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/mds_matrixs_ff/mds_matrix_ff_12.txt -------------------------------------------------------------------------------- /poseidon_constants/mds_matrixs_ff/mds_matrix_ff_3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/mds_matrixs_ff/mds_matrix_ff_3.txt -------------------------------------------------------------------------------- /poseidon_constants/mds_matrixs_ff/mds_matrix_ff_5.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/mds_matrixs_ff/mds_matrix_ff_5.txt -------------------------------------------------------------------------------- /poseidon_constants/mds_matrixs_ff/mds_matrix_ff_9.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/mds_matrixs_ff/mds_matrix_ff_9.txt -------------------------------------------------------------------------------- /poseidon_constants/pre_sparse_matrix/pre_sparse_matrix_12.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/pre_sparse_matrix/pre_sparse_matrix_12.txt -------------------------------------------------------------------------------- /poseidon_constants/pre_sparse_matrix/pre_sparse_matrix_3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/pre_sparse_matrix/pre_sparse_matrix_3.txt -------------------------------------------------------------------------------- /poseidon_constants/pre_sparse_matrix/pre_sparse_matrix_5.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/pre_sparse_matrix/pre_sparse_matrix_5.txt -------------------------------------------------------------------------------- /poseidon_constants/pre_sparse_matrix/pre_sparse_matrix_9.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/pre_sparse_matrix/pre_sparse_matrix_9.txt -------------------------------------------------------------------------------- /poseidon_constants/pre_sparse_matrix_ff/pre_sparse_matrix_ff_12.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/pre_sparse_matrix_ff/pre_sparse_matrix_ff_12.txt -------------------------------------------------------------------------------- /poseidon_constants/pre_sparse_matrix_ff/pre_sparse_matrix_ff_3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/pre_sparse_matrix_ff/pre_sparse_matrix_ff_3.txt -------------------------------------------------------------------------------- /poseidon_constants/pre_sparse_matrix_ff/pre_sparse_matrix_ff_5.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/pre_sparse_matrix_ff/pre_sparse_matrix_ff_5.txt -------------------------------------------------------------------------------- /poseidon_constants/pre_sparse_matrix_ff/pre_sparse_matrix_ff_9.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/pre_sparse_matrix_ff/pre_sparse_matrix_ff_9.txt -------------------------------------------------------------------------------- /poseidon_constants/round_constants/round_constants_12.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/round_constants/round_constants_12.txt -------------------------------------------------------------------------------- /poseidon_constants/round_constants/round_constants_3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/round_constants/round_constants_3.txt -------------------------------------------------------------------------------- /poseidon_constants/round_constants/round_constants_5.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/round_constants/round_constants_5.txt -------------------------------------------------------------------------------- /poseidon_constants/round_constants/round_constants_9.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/round_constants/round_constants_9.txt -------------------------------------------------------------------------------- /poseidon_constants/round_constants_ff/round_constants_ff_12.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/round_constants_ff/round_constants_ff_12.txt -------------------------------------------------------------------------------- /poseidon_constants/round_constants_ff/round_constants_ff_3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/round_constants_ff/round_constants_ff_3.txt -------------------------------------------------------------------------------- /poseidon_constants/round_constants_ff/round_constants_ff_5.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/round_constants_ff/round_constants_ff_5.txt -------------------------------------------------------------------------------- /poseidon_constants/round_constants_ff/round_constants_ff_9.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/round_constants_ff/round_constants_ff_9.txt -------------------------------------------------------------------------------- /poseidon_constants/sparse_matrix/sparse_matrix_12.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/sparse_matrix/sparse_matrix_12.txt -------------------------------------------------------------------------------- /poseidon_constants/sparse_matrix/sparse_matrix_3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/sparse_matrix/sparse_matrix_3.txt -------------------------------------------------------------------------------- /poseidon_constants/sparse_matrix/sparse_matrix_5.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/sparse_matrix/sparse_matrix_5.txt -------------------------------------------------------------------------------- /poseidon_constants/sparse_matrix/sparse_matrix_9.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/sparse_matrix/sparse_matrix_9.txt -------------------------------------------------------------------------------- /poseidon_constants/sparse_matrix_ff/sparse_matrix_column_ff_12.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/sparse_matrix_ff/sparse_matrix_column_ff_12.txt -------------------------------------------------------------------------------- /poseidon_constants/sparse_matrix_ff/sparse_matrix_column_ff_9.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/sparse_matrix_ff/sparse_matrix_column_ff_9.txt -------------------------------------------------------------------------------- /poseidon_constants/sparse_matrix_ff/sparse_matrix_ff_3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/sparse_matrix_ff/sparse_matrix_ff_3.txt -------------------------------------------------------------------------------- /poseidon_constants/sparse_matrix_ff/sparse_matrix_ff_5.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/sparse_matrix_ff/sparse_matrix_ff_5.txt -------------------------------------------------------------------------------- /poseidon_constants/sparse_matrix_ff/sparse_matrix_row_ff_12.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/sparse_matrix_ff/sparse_matrix_row_ff_12.txt -------------------------------------------------------------------------------- /poseidon_constants/sparse_matrix_ff/sparse_matrix_row_ff_9.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/poseidon_constants/sparse_matrix_ff/sparse_matrix_row_ff_9.txt -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/run.sh -------------------------------------------------------------------------------- /src/main/scala/poseidon/AXI4StreamInterface.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/scala/poseidon/AXI4StreamInterface.scala -------------------------------------------------------------------------------- /src/main/scala/poseidon/AdderTree.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/scala/poseidon/AdderTree.scala -------------------------------------------------------------------------------- /src/main/scala/poseidon/ArithmeticOperator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/scala/poseidon/ArithmeticOperator.scala -------------------------------------------------------------------------------- /src/main/scala/poseidon/BundleFifo.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/scala/poseidon/BundleFifo.scala -------------------------------------------------------------------------------- /src/main/scala/poseidon/MDSMatrixAdders.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/scala/poseidon/MDSMatrixAdders.scala -------------------------------------------------------------------------------- /src/main/scala/poseidon/MDSMatrixMultiplier.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/scala/poseidon/MDSMatrixMultiplier.scala -------------------------------------------------------------------------------- /src/main/scala/poseidon/ModularAdder.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/scala/poseidon/ModularAdder.scala -------------------------------------------------------------------------------- /src/main/scala/poseidon/MontMultiplierPiped.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/scala/poseidon/MontMultiplierPiped.scala -------------------------------------------------------------------------------- /src/main/scala/poseidon/MontgomeryMult.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/scala/poseidon/MontgomeryMult.scala -------------------------------------------------------------------------------- /src/main/scala/poseidon/MultiplierGenerator.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/scala/poseidon/MultiplierGenerator.scala -------------------------------------------------------------------------------- /src/main/scala/poseidon/PoseidonConstants.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/scala/poseidon/PoseidonConstants.scala -------------------------------------------------------------------------------- /src/main/scala/poseidon/PoseidonSerializer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/scala/poseidon/PoseidonSerializer.scala -------------------------------------------------------------------------------- /src/main/scala/poseidon/PoseidonThread.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/scala/poseidon/PoseidonThread.scala -------------------------------------------------------------------------------- /src/main/scala/poseidon/PoseidonTopLevel.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/scala/poseidon/PoseidonTopLevel.scala -------------------------------------------------------------------------------- /src/main/verilog/ModAdder.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/verilog/ModAdder.v -------------------------------------------------------------------------------- /src/main/verilog/ModMultiplier.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/verilog/ModMultiplier.v -------------------------------------------------------------------------------- /src/main/verilog/MontMultiplierBasics.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/verilog/MontMultiplierBasics.v -------------------------------------------------------------------------------- /src/main/verilog/PoseidonTopLevelTestbench.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/verilog/PoseidonTopLevelTestbench.v -------------------------------------------------------------------------------- /src/main/verilog/PoseidonTopLevel_wrapper.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/verilog/PoseidonTopLevel_wrapper.v -------------------------------------------------------------------------------- /src/main/verilog/RoundConstantsTestbench.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/main/verilog/RoundConstantsTestbench.v -------------------------------------------------------------------------------- /src/reference_model/poseidon_python/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/reference_model/poseidon_python/basic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/reference_model/poseidon_python/basic.py -------------------------------------------------------------------------------- /src/reference_model/poseidon_python/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/reference_model/poseidon_python/constants.py -------------------------------------------------------------------------------- /src/reference_model/poseidon_python/finite_field.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/reference_model/poseidon_python/finite_field.py -------------------------------------------------------------------------------- /src/reference_model/poseidon_python/poseidon.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/reference_model/poseidon_python/poseidon.py -------------------------------------------------------------------------------- /src/reference_model/poseidon_python/poseidon_ff.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/reference_model/poseidon_python/poseidon_ff.py -------------------------------------------------------------------------------- /src/tests/AXI4StreamReceiverTester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/AXI4StreamReceiverTester.py -------------------------------------------------------------------------------- /src/tests/AXI4StreamTransmitterTester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/AXI4StreamTransmitterTester.py -------------------------------------------------------------------------------- /src/tests/AdderTreeTester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/AdderTreeTester.py -------------------------------------------------------------------------------- /src/tests/BasicElements.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/BasicElements.py -------------------------------------------------------------------------------- /src/tests/MDSMatrixAddersTester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/MDSMatrixAddersTester.py -------------------------------------------------------------------------------- /src/tests/MDSMatrixMultiplierTester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/MDSMatrixMultiplierTester.py -------------------------------------------------------------------------------- /src/tests/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/Makefile -------------------------------------------------------------------------------- /src/tests/ModAdderTester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/ModAdderTester.py -------------------------------------------------------------------------------- /src/tests/ModMultiplierTester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/ModMultiplierTester.py -------------------------------------------------------------------------------- /src/tests/ModularAdderFlowTester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/ModularAdderFlowTester.py -------------------------------------------------------------------------------- /src/tests/MontMultiplierPipedTester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/MontMultiplierPipedTester.py -------------------------------------------------------------------------------- /src/tests/MontgomeryMultFlowTester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/MontgomeryMultFlowTester.py -------------------------------------------------------------------------------- /src/tests/MultiplierFlowTester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/MultiplierFlowTester.py -------------------------------------------------------------------------------- /src/tests/MultiplierStreamTester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/MultiplierStreamTester.py -------------------------------------------------------------------------------- /src/tests/PoseidonSerializerTester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/PoseidonSerializerTester.py -------------------------------------------------------------------------------- /src/tests/PoseidonThreadTester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/PoseidonThreadTester.py -------------------------------------------------------------------------------- /src/tests/PoseidonTopLevelTester.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/PoseidonTopLevelTester.py -------------------------------------------------------------------------------- /src/tests/poseidon_python/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/tests/poseidon_python/basic.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/poseidon_python/basic.py -------------------------------------------------------------------------------- /src/tests/poseidon_python/constants.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/poseidon_python/constants.py -------------------------------------------------------------------------------- /src/tests/poseidon_python/finite_field.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/poseidon_python/finite_field.py -------------------------------------------------------------------------------- /src/tests/poseidon_python/poseidon.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/poseidon_python/poseidon.py -------------------------------------------------------------------------------- /src/tests/poseidon_python/poseidon_ff.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datenlord/poseidon-spinal/HEAD/src/tests/poseidon_python/poseidon_ff.py --------------------------------------------------------------------------------