Skip to content

feat(fpga): gen-xdc command + XDC profile integration#394

Merged
gHashTag merged 1 commit into
masterfrom
feat/fpga-gen-xdc
Apr 9, 2026
Merged

feat(fpga): gen-xdc command + XDC profile integration#394
gHashTag merged 1 commit into
masterfrom
feat/fpga-gen-xdc

Conversation

@gHashTag
Copy link
Copy Markdown
Owner

@gHashTag gHashTag commented Apr 9, 2026

Summary

Add t27c gen-xdc <profile> command that generates nextpnr-compatible XDC constraints from board profiles. Refactors fpga-build --profile to use shared xdc_for_profile() instead of hardcoded XDC strings.

Closes #393

Changes

  • New t27c gen-xdc <profile> CLI command (--output optional)
  • PinAssignment / ClockAssignment structs for pin data
  • xdc_qmtech_minimal() — 12 prjxray-verified pins + clock
  • xdc_qmtech_full() — 16 pins (LED+UART+SPI) + clock
  • emit_xdc() — generic XDC emitter
  • fpga-build --profile now calls xdc_for_profile() instead of inline XDC

Test plan

  • t27c gen-xdc minimal — 13 lines output
  • t27c gen-xdc full — 17 lines output
  • t27c gen-xdc minimal --output /tmp/test.xdc — writes file
  • t27c fpga-build --profile minimal — E2E bitstream unchanged (3,822,696 bytes)

Add `t27c gen-xdc <profile>` command that generates nextpnr-compatible
XDC constraints from board profiles (minimal/full). Refactor fpga-build
to use xdc_for_profile() instead of hardcoded XDC strings.

- t27c gen-xdc minimal — 12 prjxray-verified pins + clock
- t27c gen-xdc full — 16 pins (LED+UART+SPI) + clock
- --output flag writes to file instead of stdout
- fpga-build --profile minimal/full now uses shared xdc_for_profile()
- E2E bitstream unchanged (3,822,696 bytes)

Closes #393
@gHashTag gHashTag merged commit 1911edc into master Apr 9, 2026
6 checks passed
@gHashTag gHashTag deleted the feat/fpga-gen-xdc branch April 9, 2026 09:29
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.

feat(fpga): gen-xdc command + XDC profile integration

1 participant