Skip to content

Fix incompatibility with Lattice FPGA#534

Merged
trabucayre merged 1 commit intotrabucayre:masterfrom
phdussud:master
Mar 30, 2025
Merged

Fix incompatibility with Lattice FPGA#534
trabucayre merged 1 commit intotrabucayre:masterfrom
phdussud:master

Conversation

@phdussud
Copy link
Copy Markdown
Contributor

It looks like the LFE5U-85F fails to execute this SVF fragment:
! Shift in ISC ERASE(0x0E) instruction
SIR 8 TDI (0E);
SDR 8 TDI (01);
RUNTEST IDLE 2 TCK 20.00E-03 SEC;

! Program Fuse Map

! Shift in LSC_READ_STATUS(0x3C) instruction
SIR 8 TDI (3C);
SDR 32 TDI (00000000)
TDO (00000000)
MASK (0000B000);

The problem is with this:
RUNTEST IDLE 2 TCK 20.00E-03 SEC;
If the jtag device isn't flushed before the host sleeps, the 2 clocks arrive just before the SIR and the FPGA sets a busy bit that fails the TDO check. In a way the sleep gets ahead of the 2 TCK.
One can argue that the flush is really necessary only when min_duration is greater than 0 but it is hard to test so I prefer being conservative.

@trabucayre trabucayre merged commit ccb11ff into trabucayre:master Mar 30, 2025
16 checks passed
@trabucayre
Copy link
Copy Markdown
Owner

Applied. Thanks @phdussud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants