- Metadata interpreter
- VarIntDecoder
- Ingester
- DataAligner
- ShifterRecombiner
- HistoryBuffer
- ValuesDecoder
- PlainDecoder
- ValBuffer
- PlainDecoder
- DeltaDecoder
- AdvanceableFifo
- BitUnpacker
- BitUnpackerShifter
- BlockValuesAligner
- BlockHeaderReader
- BlockShiftControl
- DeltaAccumulator
- DeltaAccumulatorMD
- DeltaAccumulatorFV
- DeltaLengthDecoder
- CharBuffer
For any testbench:
- Source env.sh in fletcher repo
- vsim
- do /path/to/fletcher.tcl
- add_fletcher (if axi_top is also included don't forget to add_sources on the fletcher axi files)
- compile_sources
- compile
- simulate Many of the testbenches have a corresponding Python script for generating input and validation data
- Source hdk_setup.sh in aws-fpga repo
- Copy any of the existing projects in platforms/aws-f1
- Change start_build_on_cluster.sh for the correct CL_DIR
- Change build/scripts/encrypt.tcl to include any additional VHDL files
- Change verif/scripts/top_vhdl.vivado.f to include any additional VHDL files
- Run generate_ip.sh
For testbenches in verif/tests:
- Source env.sh in fletcher repo and fast-p2a repo
- source hdk_setup.sh in aws-fpga repo
- In verif/scripts make TEST={name_of_sv_testbench}
- For gui (in verif/sim/vivado/{test_dir}) run xsim tb --gui
- Source start_build_on_cluster.sh (with or withour -foreground switch in script)
- Install aws cli tools
- Run aws s3 cp {design_file} {s3://your_bucket/your_dir} (design_file in build/checkpoints/to_aws (.tar))
- Run aws ec2 create-fpga-image --name "hw_name" --description "hw_desc" --input_storage_location "Bucket=your_bucket,Key=your_dir/your_designfile" --logs-storage-location "Bucket=your_bucket,Key=your_dir"