Chronobox: Difference between revisions
Jump to navigation
Jump to search
(→ZZZ) |
|||
Line 32: | Line 32: | ||
= Chronobox firmware registers = | = Chronobox firmware registers = | ||
<pre> | |||
reg | rw/ro | quartus name | firmware | description | |||
0 | ro | sof_revision_in | all | firmware revision timestamp code | |||
0 | wo | latch_scalers_out, zero_scalers_out | all | write bit 0: latch_scalers, bit 1: zero scalers | |||
1 | rw | reg1_led_out | all | DE10-Nano LED output | |||
2 | ro | switches_in | all | read DE10-Nano switches | |||
3 | ro | buttons_in | all | read DE10-Nano buttons | |||
4 | rw | reg4_test | all | 32-bit read-write test register | |||
5 | rw | flash_programmer_in, reg5_flash_programmer_out | 0x5b6de806 | 0xABCD srunner flash programmer | |||
6 | ro | ecl_in | all | read state of ECL inputs | |||
7 | ro | reg7_test_in | all | ??? | |||
8 | rw | scaler_addr_out, reg8_scaler_data_in | all | top 16 bits of address becomes scaler bus address, 32 bit read is the corresponding scaler data | |||
9 | ro | lemo_in | all | read state of LEMO inputs | |||
A | ro | gpio_in | all | read state of GPIO inputs | |||
B | rw | regB_lemo_out | all | LEMO output data | |||
C | rw | regC_gpio_out | all | GPIO output data | |||
D | rw | regD_out_enable_out | all | enable output tristates: [31:24] - LEMO_OUT, [17:0] - GPIO_OUT | |||
E | rw | regE, reconfig_out | 0x5b6de806 | FPGA reboot: write inverted firmware revision (reg0) to reboot the FPGA | |||
</pre> | |||
= ZZZ = | = ZZZ = |
Revision as of 14:46, 10 August 2018
Chronobox
Links
- https://daq.triumf.ca/DaqWiki/index.php/DE10-Nano
- https://bitbucket.org/teamalphag/chronobox_firmware
- https://bitbucket.org/teamalphag/chronobox_software
Install chronobox software
git clone https://bitbucket.org/teamalphag/chronobox_software.git cd chronobox_software make clean make ls -l *.exe -rwxr-xr-x 1 olchansk users 21452 Aug 10 15:29 main.exe -rwxr-xr-x 1 olchansk users 18808 Aug 10 15:29 reboot_cb.exe -rwxr-xr-x 1 olchansk users 47256 Aug 10 15:29 srunner_cb.exe
Firmware update
./srunner_cb.exe -id -64 /dev/null # identify EPCS64 flash ./srunner_cb.exe -id -128 /dev/null # identify EPCQ128 flash ./srunner_cb.exe -read -128 test.rpd # read flash contents into a file ./srunner_cb.exe -program -128 /home/olchansk/git/chronobox_firmware/output_files/DE10_NANO_SoC_GHRD_auto.rpd # write firmware rpd file into flash ./reboot_cb.exe # reboot the fpga into the new firmware
Chronobox firmware registers
reg | rw/ro | quartus name | firmware | description 0 | ro | sof_revision_in | all | firmware revision timestamp code 0 | wo | latch_scalers_out, zero_scalers_out | all | write bit 0: latch_scalers, bit 1: zero scalers 1 | rw | reg1_led_out | all | DE10-Nano LED output 2 | ro | switches_in | all | read DE10-Nano switches 3 | ro | buttons_in | all | read DE10-Nano buttons 4 | rw | reg4_test | all | 32-bit read-write test register 5 | rw | flash_programmer_in, reg5_flash_programmer_out | 0x5b6de806 | 0xABCD srunner flash programmer 6 | ro | ecl_in | all | read state of ECL inputs 7 | ro | reg7_test_in | all | ??? 8 | rw | scaler_addr_out, reg8_scaler_data_in | all | top 16 bits of address becomes scaler bus address, 32 bit read is the corresponding scaler data 9 | ro | lemo_in | all | read state of LEMO inputs A | ro | gpio_in | all | read state of GPIO inputs B | rw | regB_lemo_out | all | LEMO output data C | rw | regC_gpio_out | all | GPIO output data D | rw | regD_out_enable_out | all | enable output tristates: [31:24] - LEMO_OUT, [17:0] - GPIO_OUT E | rw | regE, reconfig_out | 0x5b6de806 | FPGA reboot: write inverted firmware revision (reg0) to reboot the FPGA