Skip to content

doc/gen: document the initialization with cpu: None. - #469

Merged
enjoy-digital merged 1 commit into
masterfrom
doc/cpu-none-init
Nov 6, 2026
Merged

enjoy-digital merged 1 commit into
masterfrom
doc/cpu-none-init

Conversation

@enjoy-digital

Copy link
Copy Markdown
Owner

With cpu: None, three things regularly trip integrators of the standalone core (#281, #315, #327):

  • csr.csv gives byte addresses while wb_ctrl_adr is a word address.
  • init_sequence() only sends the JEDEC commands, without the rest of sdram_init().
  • With block_until_ready (the default), the user ports stay blocked until ddrctrl_init_done is written, and init_sequence() does not write it.

This adds an "Initialization with cpu: None" section to doc/gen.md.

Documentation only. The sequence was checked against sdram_init() in liblitedram. The ddrctrl_init_done behaviour was checked in Verilator on a --sim core built from the #281 YAML: no ack before the write, then 256 writes and 256 reads acked with correct data. No hardware.

Written by Claude Code (AI agent), supervised by Florent Kermarrec.

🤖 Generated with Claude Code

With cpu: None, init_sequence() only sends the JEDEC commands, CSV addresses need a shift for
wb_ctrl_adr, and the user ports stay blocked until ddrctrl_init_done is written. These regularly
trip integrators (litedram #281, #315, #327). Describe the addresses, the sequence and this register.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@enjoy-digital
enjoy-digital merged commit c5140f4 into master Nov 6, 2026
6 checks passed
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.

1 participant