You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
kafka_dae_control: periods: attempt to prevent invalid configurations #103
If I try to set PERIODS:SP to larger than NUMPERIODS:MAX, I should get an error.
If I'm in period N and I try to change NUMPERIODS:MAX to less than N, put back to period 0 (user period 1)?
I probably shouldn't be allowed to set NUMPERIODS:MAX to zero
If I was previously in period N and this was done by EXTERNAL or LOOKUP control mode, then when I change to COMPUTER control mode this should be verified against NUMPERIODS:MAX and set back to something valid if N is larger than NUMPERIODS:MAX.
As per discussion below, NOT_USED is not a real control mode (it was meant to say that this bit-pattern does not correspond to anything in the hardware). Remove references to NOT_USED in our code.
Are you are referring to this "bit5..4 = Period mode 00: computer, 01: look up table 10: not used), 11: external"
If so then it should read "not currently implemented" as I haven't worked out how want to do periods with a look up table. The only stumbling block is if I can store the Look Up Table in FPGA memory or if it needs to be in DDR. Think this comes down to how big we think the Look Up Table Would need to be? In the UDP header we have space for 16bits of periods so I assume I will need to make it 16bits deep and wide?
The streaming software looked to list four specific period modes "not used", "computer", "hardware (internal)", "hardware (external)" - do you mean "not used" is not actually a period mode but that the bit pattern10 in the register is not currently used for anything? In the old system there were just three modes: computer/internal/external.
Yes, sorry for the confusion. There are still the same 3 modes but as using 2 bits there is an unused/undefined option.
I copied the numbers from how DAE3 worked if you want to change it to a more logical mapping of
00 - Computer
01 - Hardware internal - look up table
02 - Hardware external
03 - unused/undefined
Previously with DAE3 if bit 14 was set in the period number then it was dwell period. Given it's currently a 16bit number do we want to change it to the MSB (bit15) that is the dwell period flag?
Activity
FreddieAkeroyd commentedon Jul 30, 2026
Is periodmode of "not used" a hardware option? I was wondering how it differed from computer control with maxperiods of 1
rerpha commentedon Jul 30, 2026
Probably a question for @DaveTempleman
DaveTempleman commentedon Jul 31, 2026
Are you are referring to this "bit5..4 = Period mode 00: computer, 01: look up table 10: not used), 11: external"
If so then it should read "not currently implemented" as I haven't worked out how want to do periods with a look up table. The only stumbling block is if I can store the Look Up Table in FPGA memory or if it needs to be in DDR. Think this comes down to how big we think the Look Up Table Would need to be? In the UDP header we have space for 16bits of periods so I assume I will need to make it 16bits deep and wide?
FreddieAkeroyd commentedon Jul 31, 2026
The streaming software looked to list four specific period modes "not used", "computer", "hardware (internal)", "hardware (external)" - do you mean "not used" is not actually a period mode but that the bit pattern10 in the register is not currently used for anything? In the old system there were just three modes: computer/internal/external.
DaveTempleman commentedon Jul 31, 2026
Yes, sorry for the confusion. There are still the same 3 modes but as using 2 bits there is an unused/undefined option.
I copied the numbers from how DAE3 worked if you want to change it to a more logical mapping of
00 - Computer
01 - Hardware internal - look up table
02 - Hardware external
03 - unused/undefined
Previously with DAE3 if bit 14 was set in the period number then it was dwell period. Given it's currently a 16bit number do we want to change it to the MSB (bit15) that is the dwell period flag?