FPGA bitstream versions
From ElphelWiki
Contents
Updating 393 cameras FPGA bitstream versions after code modifications
Modifications to the SATA code
SATA controller subsystem source code is maintained in a x393_sata repository.
1. Edit py393sata/create_ahci_registers.py and modify RID value
2. Run create_ahci_registers.py
It will finish with lines similar to these:
AHCI register defaults are written to /home/eyesis/git/elphel393/fpga-elphel/x393_sata/includes/ahci_defaults.vh AHCI register bit field types are written to /home/eyesis/git/elphel393/fpga-elphel/x393_sata/includes/ahci_types.vh AHCI localparam definitions are written to /home/eyesis/git/elphel393/fpga-elphel/x393_sata/includes/ahci_localparams.vh
3. Commit changes to the git repository
4. Copy SATA-related files (including new autogenerated ones) to x393 file tree by running
./copy_x393_sata.sh in the x393 folder. Relative path to SATA files is assumed to be ../x393sata - it is set up when installing all the software with elphel393/setup.py
Modifications to the x393 code
FPGA version number is generated from the fpga_version.vh and it can be read in the camera at runtime as a 32-bit number. Version is stored as 0x0393VVVV, where VVVV is a 4-digit hex number (will try to keep it as 2 digits for major version/branch, and 2 lower for the incremented minor number).
- Increment the number
- Run implementation tools
- Verify timing ((now small errors are OK as the settings are for speed grade "-1", hardware is "-2")
- Copy result x393_parallel.bit from vivado_results to the root folder
- Verify bitsteram with the hardware
- Commit to git repository
Draft notes
Bitstream type?
In fpga-elphel/x393 x393_global.tcl:
- checks if HISPI is enabled and make some kind of changes