Skip to content

Firmware release: LHC stable beams #33

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 126 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
6e9b63e
release 1.0
dfinogee Jan 26, 2021
c52248f
release 1.0
dfinogee Jan 26, 2021
f5eadbe
Merge branch 'master' into Serebr-dev
dfinogee Jan 26, 2021
af3bee2
Link ID changed to 0x20
dfinogee Jan 26, 2021
e096812
trailers removed from RDH packets
dfinogee Feb 18, 2021
3c9be6f
Merge remote-tracking branch 'upstream/master' into devel
dfinogee Feb 18, 2021
2f2f3f8
PM calibration hists implemented
dfinogee Feb 18, 2021
26e9032
TCM SPI reset bug fixed
dfinogee Feb 18, 2021
7eefeb9
FTM mac addr fixed
dfinogee Mar 3, 2021
9cac2d4
SPI update
dfinogee Mar 15, 2021
50494d5
Merge remote-tracking branch 'upstream/master' into devel
dfinogee Mar 16, 2021
56c3378
Merge remote-tracking branch 'upstream/master' into devel
Apr 24, 2021
6585bbf
TCM renamed to TCM_proto
Apr 24, 2021
119465f
TCM_proto included to CI
Apr 24, 2021
ea1980a
TCM name fix in CI
Apr 24, 2021
4e8027c
TCM_v1 make fix
Apr 24, 2021
61b4c93
tcm1 bin file gen fix
Apr 25, 2021
03cb4ae
upgrate while tests at CERN Apr 21
Apr 25, 2021
cdd0617
Merge pull request #22 from dfinogee/devel
dfinogee Apr 25, 2021
2b078da
included modified ipbus file
Apr 25, 2021
6403481
readout revision update (1 commit)
Aug 6, 2021
7b5c32f
PM/TCM update
Aug 6, 2021
837eb2d
compiled by D. Serebryakov
dfinogee Aug 20, 2021
719f82e
fifo not empty error fix
dfinogee Aug 20, 2021
5658aed
FTM reg addr is equal to PM/TCM now
Aug 23, 2021
0869c6d
readout advanced features
Aug 24, 2021
e6810f9
Readout FIX during tests
dfinogee Aug 26, 2021
5c4eebe
simple gbt control c++ macro
dfinogee Sep 9, 2021
211f74a
new run start/stop FSM
dfinogee Sep 15, 2021
e45fb5a
PM readout fix
dfinogee Sep 20, 2021
f874039
make gbt packet by rnd trg
Sep 21, 2021
5f2da32
tcm files moved to tcm_v1
Sep 21, 2021
232d120
ila removed from FTM
Sep 24, 2021
7f8d5dd
'correct idle' state in reg
Sep 27, 2021
60103ba
bc_delay apply FSM
Sep 28, 2021
b1e7e7a
timing report in CI
dfinogee Sep 28, 2021
412d33e
update readme and photo
dfinogee Sep 28, 2021
6a2b71f
BC_delay apply update
Sep 29, 2021
64ce0fb
TCM fix, summ N channels
Oct 5, 2021
bc36599
PM chipscope.xdc
dfinogee Oct 5, 2021
d32f498
soft updated
Oct 5, 2021
b894969
selector fsm timeout
Oct 6, 2021
1ce7994
selector FSM fix
Oct 7, 2021
fbb13f4
build macro cp files
Oct 7, 2021
8f6db5c
trg is muted out of sync
Oct 7, 2021
79985d4
all mark_debug commented
Oct 16, 2021
cac57cb
TCM features in prototype AmplC TCM bug fixed
Oct 17, 2021
41ce454
data converter fix
Oct 20, 2021
80434ba
readout fsm_reset while GBT is not ready
Oct 20, 2021
df0d7d7
laser, reset, fix
Oct 25, 2021
0cc8e29
code aligned
Oct 27, 2021
50c9c5f
PM timing + converter fix
Oct 27, 2021
aea38c9
compilation results
dfinogee Oct 27, 2021
f21a92a
all mark_debug commented
Oct 16, 2021
509c0c6
TCM features in prototype AmplC TCM bug fixed
Oct 17, 2021
67bd466
data converter fix
Oct 20, 2021
5ee920b
readout fsm_reset while GBT is not ready
Oct 20, 2021
3d5d89c
laser, reset, fix
Oct 25, 2021
9e6308e
code aligned
Oct 27, 2021
a30bc14
PM timing + converter fix
Oct 27, 2021
41407cb
compilation results
dfinogee Oct 27, 2021
b0bdf97
readout wornings cleaned up
Oct 29, 2021
3e32951
PM timing tuned
Oct 29, 2021
ede8c33
readut status signal changed
Nov 2, 2021
cce9216
PM, TCM update
Nov 2, 2021
3219bf8
'InRST bit too late' fixed
Nov 4, 2021
d7da198
bc_apply after 15 orbits in sync state
Feb 15, 2022
ca0217c
fsm, timing fix
Feb 23, 2022
c727e4c
Dima's ver -> git
Feb 23, 2022
da61bf8
Merge remote-tracking branch 'upstream/devel' into devel
dfinogee Mar 10, 2022
196a2cd
Merge pull request #30 from dfinogee/devel
dfinogee Mar 10, 2022
5af9bb5
remove deleted files in FTM_{PM,TCM}/make.tcl
hcab14 Mar 10, 2022
98d9649
parallel -> sequenctial build
hcab14 Mar 10, 2022
6cdc9b6
BC_correlator fixed
dfinogee Mar 10, 2022
586e52a
Merge pull request #31 from dfinogee/devel
dfinogee Mar 10, 2022
a7cb082
rxclksync was tested in simulation
dfinogee May 30, 2022
a6f34a8
PM autophase bug fixed
dfinogee May 31, 2022
a52b517
Reset revised
dfinogee Jun 1, 2022
bcc5b34
PM phase sync module updated
dfinogee Jun 7, 2022
07d965b
bc_sync timeout after fsm_reset
dfinogee Jun 7, 2022
b4c7257
set_multicycle_path for readout FF regs 40->320
dfinogee Jun 15, 2022
2ab1bcf
mean time registers for A, C sides was fixed (swapped).
dfinogee Jun 15, 2022
fa91d60
FIFOs output registers type changed Embedded_Reg -> Fabric_Reg
dfinogee Jun 15, 2022
1c01673
RX clk sync updated
dfinogee Jun 22, 2022
f45709a
BCID correlation counter fexed
dfinogee Jun 22, 2022
1e16698
timing constrains fixed
dfinogee Jun 27, 2022
230838d
simulation tested
dfinogee Jun 30, 2022
e7f527a
PM/TCM updates
dfinogee Jul 1, 2022
26659d7
repo was cleaned of logs
dfinogee Jul 1, 2022
0fa122f
code modified to relax timing
dfinogee Jul 1, 2022
23a659f
Merge pull request #32 from dfinogee/devel
dfinogee Jul 4, 2022
c24858c
BCID sync mod
dfinogee Jul 8, 2022
71dba4a
PM&TCM update
dfinogee Jul 12, 2022
74e9d35
error_report is ready for simulation
dfinogee Jul 13, 2022
fbb99e3
RX_IsData checking in rx_decored
dfinogee Jul 13, 2022
6275436
bug_fix -> ru_readout_mode bits are not checked with IsData
dfinogee Jul 14, 2022
de74168
Testing error report in PM
dfinogee Jul 14, 2022
b6db2fe
ila removed
dfinogee Jul 15, 2022
696deda
Merge branch 'error_report' into devel
dfinogee Jul 15, 2022
9e8ec7d
build procedure updated
dfinogee Jul 19, 2022
9dbe305
LTU RX Decoder revised
dfinogee Jul 19, 2022
06e01c0
error_report rd_en fix, cru_rd_mode does not check is_data
dfinogee Jul 20, 2022
6896f6d
Error report extended
dfinogee Jul 21, 2022
f0b8156
cru_emu is_data not generated during the run (like LTU nev fw ver)
dfinogee Jul 25, 2022
729267b
error report update (PM early header)
dfinogee Jul 25, 2022
0f33cdf
bc_sync lost out of the run
dfinogee Jul 28, 2022
407a74d
signal_lost timeout increased from 800ns to 1ms.
dfinogee Aug 10, 2022
64703fb
bcid sync lost report in TCM
dfinogee Aug 22, 2022
aa622bd
run restore fix
dfinogee Aug 23, 2022
97f3955
simulation update
dfinogee Aug 24, 2022
aabf32d
run restore test macro
dfinogee Aug 24, 2022
89f9946
IPbus reg read fix in TCM
dfinogee Aug 25, 2022
df4e6b7
error_report fifo empty flag
dfinogee Aug 29, 2022
761d344
PM error report for raw_fifo overload
dfinogee Nov 1, 2022
8a127da
Update Channel.vhd
dfinogee Jan 17, 2023
b96ef83
RDH v7
dfinogee Feb 1, 2023
e6c9e0e
DataConverter fix for TCM
dfinogee Feb 2, 2023
e083bc4
unused RDH data format field is now 0x0
dfinogee Mar 13, 2023
9942ed9
readout RDH v7
dfinogee Mar 27, 2023
731b59d
FDD-PM fix
dfinogee Apr 3, 2023
ed50a1b
PM fix
dfinogee Apr 20, 2023
f1459d1
error report update
dfinogee May 22, 2023
686b5d9
BC sync CRITICAL update
dfinogee Jul 11, 2023
2175f4c
fix: bc delay applied after reset
dfinogee Jul 13, 2023
6f7ff82
bc apply is not permit while the CRU is in run state
dfinogee Jul 13, 2023
f469c81
BC apply fix
dfinogee Jul 14, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,17 +1,23 @@
*~
*.jou
*.log
build
*.xcix
*.pb
.Xil
*.zip
*.str

simulation_inputs
simulation_outputs
test_data
__pycache__
sim_data

.idea
venv
*.pyc
*.run

#notepad++ backup
nppBackup
*.run
*.pyc
*.log
firmware/FT0/bits
21 changes: 18 additions & 3 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -42,15 +42,30 @@ pipeline {
}
}
stage('Build FIT bitstreams') {
parallel {
stages {
stage('FTM_PM') {
steps {
sh('./software/ci/build.sh FTM_PM')
}
}
stage('FTM_TCM') {
steps {
sh('./software/ci/build.sh FTM_TCM')
}
}
stage('PM') {
steps {
sh('./software/ci/build.sh PM')
}
}
stage('TCM') {
stage('TCM_proto') {
steps {
sh('./software/ci/build.sh TCM_proto')
}
}
stage('TCM_v1') {
steps {
sh('./software/ci/build.sh TCM')
sh('./software/ci/build.sh TCM_v1')
}
}
}
Expand Down
58 changes: 28 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
![PM_TCM](https://repository-images.githubusercontent.com/238522341/aca2c500-48cf-11ea-95b5-4a498a732d8e?dl=0)
![PM_TCM](https://github.com/dfinogee/alice-fit-fpga/blob/devel/photo/FT0_front.jpg?raw=true)

----
# ALICE Fast Interaction Trigger (FIT) firmware repository
Expand All @@ -11,50 +11,48 @@ Authors: [email protected], [email protected]
### Clone the Git repository

git clone https://github.com/AliceO2Group/alice-fit-fpga.git

### Update to latest version

git pull --recurse-submodules

----
### Set up Vivado 2019.2.1 (NEW !!!)
source /opt/Xilinx/Vivado/2019.2/settings64.sh

used vivado version:
Vivado v2019.2.1 (64-bit)
SW Build: 2729669 on Thu Dec 5 04:49:17 MST 2019
IP Build: 2729494 on Thu Dec 5 07:38:25 MST 2019

----
## Generate bitstreams
## Projects compilation
'\<projec\>' = PM/TCM_v1/TCM_proto/FTM_PM/FTM_TCM

### FIT/FT0/PM
### Vivado tcl mode (linux)

cd alice-fit-fpga/firmware/FT0/PM
cd alice-fit-fpga/firmware/FT0/<projec>
vivado -mode batch -source make.tcl

### FIT/FT0/TCM
### Macro (linux)

cd alice-fit-fpga/firmware/FT0/TCM
vivado -mode batch -source make.tcl
Macro will compile project and copy bit + bin + logs files into firmware/FT0/bits/

### FIT/FT0/FTM
cd alice-fit-fpga/
./software/ci/build_local.sh <project>

cd alice-fit-fpga/firmware/FT0/FTM
vivado -mode batch -source make.tcl
### Vivado GUI (win/linux)

run vivado v2019.2.1/v2020.1

(linux)
source /opt/Xilinx/Vivado/2019.2/settings64.sh
vivado

open tcl console and change directory to the project

(in tcl console)
cd /<path>/alice-fit-fpga/firmware/FT0/<projec>

remove build directory (if exist) and run compilation

(in tcl console)
source ./make.tcl

----
## After any change to IP cores

### Export IP cores to `ipcore_properties`

Open the TCL console in the Vivado window and type in the following commands:

source ../../tcl/fit.tcl
fit::update_ip_properties

Then git add/commit any new/changed files in the directory `ipcore_properties`

----
## After any change to IP cores and/or to VHDL source files

git add/commit any new/changed VHDL files

16 changes: 8 additions & 8 deletions firmware/FT0/FTM_PM/ipcore_properties/cntpck_fifo_comp.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ CONFIG.Clock_Type_AXI string false Common_Cl
CONFIG.Component_Name string false cntpck_fifo_comp
CONFIG.DATA_WIDTH string false 64
CONFIG.Data_Count string false false
CONFIG.Data_Count_Width string false 7
CONFIG.Data_Count_Width string false 8
CONFIG.Disable_Timing_Violations string false false
CONFIG.Disable_Timing_Violations_AXI string false false
CONFIG.Dout_Reset_Value string false 0
Expand Down Expand Up @@ -60,14 +60,14 @@ CONFIG.FIFO_Implementation_wdch string false Common_Cl
CONFIG.FIFO_Implementation_wrch string false Common_Clock_Block_RAM
CONFIG.Fifo_Implementation string false Independent_Clocks_Block_RAM
CONFIG.Full_Flags_Reset_Value string false 1
CONFIG.Full_Threshold_Assert_Value string false 127
CONFIG.Full_Threshold_Assert_Value string false 255
CONFIG.Full_Threshold_Assert_Value_axis string false 1023
CONFIG.Full_Threshold_Assert_Value_rach string false 1023
CONFIG.Full_Threshold_Assert_Value_rdch string false 1023
CONFIG.Full_Threshold_Assert_Value_wach string false 1023
CONFIG.Full_Threshold_Assert_Value_wdch string false 1023
CONFIG.Full_Threshold_Assert_Value_wrch string false 1023
CONFIG.Full_Threshold_Negate_Value string false 126
CONFIG.Full_Threshold_Negate_Value string false 254
CONFIG.HAS_ACLKEN string false false
CONFIG.HAS_TKEEP string false false
CONFIG.HAS_TSTRB string false false
Expand All @@ -87,8 +87,8 @@ CONFIG.Inject_Sbit_Error_rdch string false false
CONFIG.Inject_Sbit_Error_wach string false false
CONFIG.Inject_Sbit_Error_wdch string false false
CONFIG.Inject_Sbit_Error_wrch string false false
CONFIG.Input_Data_Width string false 160
CONFIG.Input_Depth string false 128
CONFIG.Input_Data_Width string false 128
CONFIG.Input_Depth string false 256
CONFIG.Input_Depth_axis string false 1024
CONFIG.Input_Depth_rach string false 16
CONFIG.Input_Depth_rdch string false 1024
Expand All @@ -100,8 +100,8 @@ CONFIG.MASTER_ACLK.INSERT_VIP string false 0
CONFIG.M_AXI.INSERT_VIP string false 0
CONFIG.M_AXIS.INSERT_VIP string false 0
CONFIG.Master_interface_Clock_enable_memory_mapped string false false
CONFIG.Output_Data_Width string false 160
CONFIG.Output_Depth string false 128
CONFIG.Output_Data_Width string false 128
CONFIG.Output_Depth string false 256
CONFIG.Output_Register_Type string false Embedded_Reg
CONFIG.Overflow_Flag string false false
CONFIG.Overflow_Flag_AXI string false false
Expand Down Expand Up @@ -157,7 +157,7 @@ CONFIG.Underflow_Sense_AXI string false Active_Hi
CONFIG.Use_Dout_Reset string false true
CONFIG.Use_Embedded_Registers string false false
CONFIG.Use_Embedded_Registers_axis string false false
CONFIG.Use_Extra_Logic string false true
CONFIG.Use_Extra_Logic string false false
CONFIG.Valid_Flag string false false
CONFIG.Valid_Sense string false Active_High
CONFIG.WRITE_CLK.FREQ_HZ string false 100000000
Expand Down
Loading