├── .gitignore ├── LICENSE ├── README.md ├── README.org ├── fig ├── decoder_doc.png ├── encoder_doc.png ├── out_streams.png ├── stream_reg.png └── wave │ └── handshake.svg ├── py ├── common │ ├── bpc.py │ ├── data.py │ ├── drivers.py │ └── util.py ├── environment.yml └── stimuli_gen │ ├── common │ ├── gen_ebpc_stimuli.py │ └── stimuli_params.py ├── rtl_tb ├── ebpc_decoder │ ├── compile_sim_decoder.sh │ ├── decoder_questa_commands.tcl │ ├── decoder_signals.svwf │ ├── decoder_simvision_commands.tcl │ ├── decoder_wave.do │ ├── decoder_xcelium_commands.tcl │ └── ebpc_decoder_tb.sv ├── ebpc_encoder │ ├── compile_sim_encoder.sh │ ├── ebpc_encoder_tb.sv │ ├── encoder_questa_commands.tcl │ ├── encoder_signals.svwf │ ├── encoder_simvision_commands.tcl │ ├── encoder_wave.do │ └── encoder_xcelium_commands.tcl ├── hs_drivers.sv ├── hs_intf.sv └── rst_clk_drv.sv ├── simvectors └── .gitignore ├── src ├── clk_gate.sv ├── decoder │ ├── bpc_decoder.sv │ ├── buffer.sv │ ├── delta_reverse.sv │ ├── ebpc_decoder.sv │ ├── expander.sv │ ├── symbol_decoder.sv │ ├── unpacker.sv │ └── zrle_decoder.sv ├── ebpc_pkg.sv ├── encoder │ ├── bpc_buffer.sv │ ├── bpc_encoder.sv │ ├── dbp_dbx_enc.sv │ ├── dbx_compressor.sv │ ├── done_gen.sv │ ├── ebpc_encoder.sv │ ├── seq_coder.sv │ ├── shift_streamer.sv │ └── zrle.sv └── fifo_slice.sv ├── src_files.yml └── tb ├── bpc_decoder ├── Makefile ├── bpc_decoder_driver.py ├── bpc_decoder_monitor.py ├── bpc_decoder_scoreboard.py ├── bpc_decoder_tests.py ├── common ├── sim.do └── wave.do ├── bpc_encoder ├── Makefile ├── bpc_encoder_driver.py ├── bpc_encoder_monitor.py ├── bpc_encoder_scoreboard.py ├── bpc_encoder_tests.py ├── common ├── reports │ └── .gitignore ├── sim.do └── wave.do ├── common ├── ebpc_decoder ├── Makefile ├── common ├── ebpc_decoder_driver.py ├── ebpc_decoder_monitor.py ├── ebpc_decoder_scoreboard.py ├── ebpc_decoder_tests.py ├── sim.do └── wave.do └── ebpc_encoder ├── Makefile ├── common ├── ebpc_encoder_driver.py ├── ebpc_encoder_monitor.py ├── ebpc_encoder_scoreboard.py ├── ebpc_encoder_tests.py ├── ebpc_wave.do └── sim.do /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/README.md -------------------------------------------------------------------------------- /README.org: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/README.org -------------------------------------------------------------------------------- /fig/decoder_doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/fig/decoder_doc.png -------------------------------------------------------------------------------- /fig/encoder_doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/fig/encoder_doc.png -------------------------------------------------------------------------------- /fig/out_streams.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/fig/out_streams.png -------------------------------------------------------------------------------- /fig/stream_reg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/fig/stream_reg.png -------------------------------------------------------------------------------- /fig/wave/handshake.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/fig/wave/handshake.svg -------------------------------------------------------------------------------- /py/common/bpc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/py/common/bpc.py -------------------------------------------------------------------------------- /py/common/data.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/py/common/data.py -------------------------------------------------------------------------------- /py/common/drivers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/py/common/drivers.py -------------------------------------------------------------------------------- /py/common/util.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/py/common/util.py -------------------------------------------------------------------------------- /py/environment.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/py/environment.yml -------------------------------------------------------------------------------- /py/stimuli_gen/common: -------------------------------------------------------------------------------- 1 | ../common/ -------------------------------------------------------------------------------- /py/stimuli_gen/gen_ebpc_stimuli.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/py/stimuli_gen/gen_ebpc_stimuli.py -------------------------------------------------------------------------------- /py/stimuli_gen/stimuli_params.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/py/stimuli_gen/stimuli_params.py -------------------------------------------------------------------------------- /rtl_tb/ebpc_decoder/compile_sim_decoder.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/rtl_tb/ebpc_decoder/compile_sim_decoder.sh -------------------------------------------------------------------------------- /rtl_tb/ebpc_decoder/decoder_questa_commands.tcl: -------------------------------------------------------------------------------- 1 | do decoder_wave.do 2 | run -all 3 | -------------------------------------------------------------------------------- /rtl_tb/ebpc_decoder/decoder_signals.svwf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/rtl_tb/ebpc_decoder/decoder_signals.svwf -------------------------------------------------------------------------------- /rtl_tb/ebpc_decoder/decoder_simvision_commands.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/rtl_tb/ebpc_decoder/decoder_simvision_commands.tcl -------------------------------------------------------------------------------- /rtl_tb/ebpc_decoder/decoder_wave.do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/rtl_tb/ebpc_decoder/decoder_wave.do -------------------------------------------------------------------------------- /rtl_tb/ebpc_decoder/decoder_xcelium_commands.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/rtl_tb/ebpc_decoder/decoder_xcelium_commands.tcl -------------------------------------------------------------------------------- /rtl_tb/ebpc_decoder/ebpc_decoder_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/rtl_tb/ebpc_decoder/ebpc_decoder_tb.sv -------------------------------------------------------------------------------- /rtl_tb/ebpc_encoder/compile_sim_encoder.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/rtl_tb/ebpc_encoder/compile_sim_encoder.sh -------------------------------------------------------------------------------- /rtl_tb/ebpc_encoder/ebpc_encoder_tb.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/rtl_tb/ebpc_encoder/ebpc_encoder_tb.sv -------------------------------------------------------------------------------- /rtl_tb/ebpc_encoder/encoder_questa_commands.tcl: -------------------------------------------------------------------------------- 1 | do encoder_wave.do 2 | run -all 3 | -------------------------------------------------------------------------------- /rtl_tb/ebpc_encoder/encoder_signals.svwf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/rtl_tb/ebpc_encoder/encoder_signals.svwf -------------------------------------------------------------------------------- /rtl_tb/ebpc_encoder/encoder_simvision_commands.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/rtl_tb/ebpc_encoder/encoder_simvision_commands.tcl -------------------------------------------------------------------------------- /rtl_tb/ebpc_encoder/encoder_wave.do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/rtl_tb/ebpc_encoder/encoder_wave.do -------------------------------------------------------------------------------- /rtl_tb/ebpc_encoder/encoder_xcelium_commands.tcl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/rtl_tb/ebpc_encoder/encoder_xcelium_commands.tcl -------------------------------------------------------------------------------- /rtl_tb/hs_drivers.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/rtl_tb/hs_drivers.sv -------------------------------------------------------------------------------- /rtl_tb/hs_intf.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/rtl_tb/hs_intf.sv -------------------------------------------------------------------------------- /rtl_tb/rst_clk_drv.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/rtl_tb/rst_clk_drv.sv -------------------------------------------------------------------------------- /simvectors/.gitignore: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/clk_gate.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/clk_gate.sv -------------------------------------------------------------------------------- /src/decoder/bpc_decoder.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/decoder/bpc_decoder.sv -------------------------------------------------------------------------------- /src/decoder/buffer.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/decoder/buffer.sv -------------------------------------------------------------------------------- /src/decoder/delta_reverse.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/decoder/delta_reverse.sv -------------------------------------------------------------------------------- /src/decoder/ebpc_decoder.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/decoder/ebpc_decoder.sv -------------------------------------------------------------------------------- /src/decoder/expander.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/decoder/expander.sv -------------------------------------------------------------------------------- /src/decoder/symbol_decoder.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/decoder/symbol_decoder.sv -------------------------------------------------------------------------------- /src/decoder/unpacker.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/decoder/unpacker.sv -------------------------------------------------------------------------------- /src/decoder/zrle_decoder.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/decoder/zrle_decoder.sv -------------------------------------------------------------------------------- /src/ebpc_pkg.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/ebpc_pkg.sv -------------------------------------------------------------------------------- /src/encoder/bpc_buffer.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/encoder/bpc_buffer.sv -------------------------------------------------------------------------------- /src/encoder/bpc_encoder.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/encoder/bpc_encoder.sv -------------------------------------------------------------------------------- /src/encoder/dbp_dbx_enc.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/encoder/dbp_dbx_enc.sv -------------------------------------------------------------------------------- /src/encoder/dbx_compressor.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/encoder/dbx_compressor.sv -------------------------------------------------------------------------------- /src/encoder/done_gen.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/encoder/done_gen.sv -------------------------------------------------------------------------------- /src/encoder/ebpc_encoder.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/encoder/ebpc_encoder.sv -------------------------------------------------------------------------------- /src/encoder/seq_coder.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/encoder/seq_coder.sv -------------------------------------------------------------------------------- /src/encoder/shift_streamer.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/encoder/shift_streamer.sv -------------------------------------------------------------------------------- /src/encoder/zrle.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/encoder/zrle.sv -------------------------------------------------------------------------------- /src/fifo_slice.sv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src/fifo_slice.sv -------------------------------------------------------------------------------- /src_files.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/src_files.yml -------------------------------------------------------------------------------- /tb/bpc_decoder/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/bpc_decoder/Makefile -------------------------------------------------------------------------------- /tb/bpc_decoder/bpc_decoder_driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/bpc_decoder/bpc_decoder_driver.py -------------------------------------------------------------------------------- /tb/bpc_decoder/bpc_decoder_monitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/bpc_decoder/bpc_decoder_monitor.py -------------------------------------------------------------------------------- /tb/bpc_decoder/bpc_decoder_scoreboard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/bpc_decoder/bpc_decoder_scoreboard.py -------------------------------------------------------------------------------- /tb/bpc_decoder/bpc_decoder_tests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/bpc_decoder/bpc_decoder_tests.py -------------------------------------------------------------------------------- /tb/bpc_decoder/common: -------------------------------------------------------------------------------- 1 | ../common/ -------------------------------------------------------------------------------- /tb/bpc_decoder/sim.do: -------------------------------------------------------------------------------- 1 | do wave.do 2 | run -all 3 | -------------------------------------------------------------------------------- /tb/bpc_decoder/wave.do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/bpc_decoder/wave.do -------------------------------------------------------------------------------- /tb/bpc_encoder/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/bpc_encoder/Makefile -------------------------------------------------------------------------------- /tb/bpc_encoder/bpc_encoder_driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/bpc_encoder/bpc_encoder_driver.py -------------------------------------------------------------------------------- /tb/bpc_encoder/bpc_encoder_monitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/bpc_encoder/bpc_encoder_monitor.py -------------------------------------------------------------------------------- /tb/bpc_encoder/bpc_encoder_scoreboard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/bpc_encoder/bpc_encoder_scoreboard.py -------------------------------------------------------------------------------- /tb/bpc_encoder/bpc_encoder_tests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/bpc_encoder/bpc_encoder_tests.py -------------------------------------------------------------------------------- /tb/bpc_encoder/common: -------------------------------------------------------------------------------- 1 | ../common/ -------------------------------------------------------------------------------- /tb/bpc_encoder/reports/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /tb/bpc_encoder/sim.do: -------------------------------------------------------------------------------- 1 | do wave.do 2 | run -all -------------------------------------------------------------------------------- /tb/bpc_encoder/wave.do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/bpc_encoder/wave.do -------------------------------------------------------------------------------- /tb/common: -------------------------------------------------------------------------------- 1 | ../py/common/ -------------------------------------------------------------------------------- /tb/ebpc_decoder/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/ebpc_decoder/Makefile -------------------------------------------------------------------------------- /tb/ebpc_decoder/common: -------------------------------------------------------------------------------- 1 | ../common/ -------------------------------------------------------------------------------- /tb/ebpc_decoder/ebpc_decoder_driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/ebpc_decoder/ebpc_decoder_driver.py -------------------------------------------------------------------------------- /tb/ebpc_decoder/ebpc_decoder_monitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/ebpc_decoder/ebpc_decoder_monitor.py -------------------------------------------------------------------------------- /tb/ebpc_decoder/ebpc_decoder_scoreboard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/ebpc_decoder/ebpc_decoder_scoreboard.py -------------------------------------------------------------------------------- /tb/ebpc_decoder/ebpc_decoder_tests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/ebpc_decoder/ebpc_decoder_tests.py -------------------------------------------------------------------------------- /tb/ebpc_decoder/sim.do: -------------------------------------------------------------------------------- 1 | do wave.do 2 | run -all -------------------------------------------------------------------------------- /tb/ebpc_decoder/wave.do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/ebpc_decoder/wave.do -------------------------------------------------------------------------------- /tb/ebpc_encoder/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/ebpc_encoder/Makefile -------------------------------------------------------------------------------- /tb/ebpc_encoder/common: -------------------------------------------------------------------------------- 1 | ../common/ -------------------------------------------------------------------------------- /tb/ebpc_encoder/ebpc_encoder_driver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/ebpc_encoder/ebpc_encoder_driver.py -------------------------------------------------------------------------------- /tb/ebpc_encoder/ebpc_encoder_monitor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/ebpc_encoder/ebpc_encoder_monitor.py -------------------------------------------------------------------------------- /tb/ebpc_encoder/ebpc_encoder_scoreboard.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/ebpc_encoder/ebpc_encoder_scoreboard.py -------------------------------------------------------------------------------- /tb/ebpc_encoder/ebpc_encoder_tests.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/ebpc_encoder/ebpc_encoder_tests.py -------------------------------------------------------------------------------- /tb/ebpc_encoder/ebpc_wave.do: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulp-platform/stream-ebpc/HEAD/tb/ebpc_encoder/ebpc_wave.do -------------------------------------------------------------------------------- /tb/ebpc_encoder/sim.do: -------------------------------------------------------------------------------- 1 | do ebpc_wave.do 2 | run -all --------------------------------------------------------------------------------