Turbo mode overhaul: 25MHz, expansion card DMA, bus safety#9
Open
tltx wants to merge 2 commits intojbilander:T8Q144-experimentalfrom
Open
Turbo mode overhaul: 25MHz, expansion card DMA, bus safety#9tltx wants to merge 2 commits intojbilander:T8Q144-experimentalfrom
tltx wants to merge 2 commits intojbilander:T8Q144-experimentalfrom
Conversation
Complete rewrite of turbo mode timing and bus arbitration to support expansion cards (GVP HC+8 SCSI/RAM) alongside SF2000 fast RAM at 25MHz. Key fixes: - Synchronize BGACK_n (2-stage C100M) to prevent AS tri-state glitches during DMA transitions that hung expansion cards - C100M oversampled DTACK counter (12-tick pause-on-noise) for expansion cards; C7M path with armed gate for legacy chipset - Safety countdown (280ns precharge + 120ns setup) between bus cycles to let DTACK RC pullup clear on loaded Zorro bus - Bidirectional DTACK_MB_n drive for DMA access to FPGA fast RAM - Eliminate all async resets (posedge AS_n) to fix metastability hangs - Reduce turbo clock 40MHz -> 25MHz (68SEC000 rated 20MHz) - SDC constraints for turbo_clk, CDC clock groups, autoconfig false paths - Bus arbiter CDC: synchronize BG_68SEC000_n (25MHz -> C7M crossing) - DMA address glitch filter in fastram prevents SRAM bus contention - INT2_n changed from output to input to avoid interrupt bus contention - IO drive strength increased to maximum on all bus-facing outputs Tested stable: GVP SCSI boot, file copy, SysInfo drive test/stresstest, SF2000 4MB + GVP 4MB RAM coexistence, Frontier 3h30m+ from floppy. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
f554b78 to
3394b7e
Compare
Switch turbo_clk source from PLL CLKOUT1 (100 MHz, /4 in fabric) to the previously unused CLKOUT0 (80 MHz, /2 in fabric) for a 40 MHz CPU clock. Scale CLKCPU-domain safety counters to preserve wall-clock timing: PRECHARGE_TICKS 7→11 (~275 ns), SETUP_TICKS 3→5 (~125 ns). Update SDC turbo_clk period 40.00 → 25.00 ns. Tested: 5h 30min Frontier run without issues. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Complete rewrite of turbo mode timing and bus arbitration to support expansion cards (GVP HC+8 SCSI/RAM) alongside SF2000 fast RAM at 25MHz.
Key fixes:
Tested stable: GVP SCSI boot, file copy, SysInfo drive test/stresstest, SF2000 4MB + GVP 4MB RAM coexistence, Frontier 3h30m+ from floppy.