oxidecomputer / oxidecomputer/quartz

espi: phy timing, quad I/O testing

Open
#340 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

cosmo
Dominant language
VHDL
Stars
22
Forks
2
Avg merge
9h 38m
Merged PRs (30d)
1

Description

For now, the design is running x1 and advertises 20MHz support only

I need to do proper I/O timing constraints here to support maximum speeds. After evaluating the AMD timing parameters and our board delays I'm going to have to slightly re-tool the phy layer to run on the espi clock directly rather than at 200MHz so that we can hit the I/O delay perf we need.

This was a known possibility when I re-tooled the phy layer from the most naive original implementation, but there are a number of domain crossings and things that need to be carefully managed here and documentation updated. Since this is an enhancement vs core functionality it's been de-prioritized in favor of work to get interfaces which have no implementation up and running.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the PHY layer and the existing x1, 20MHz design, then evaluate the AMD timing parameters and board delays mentioned in the issue. The work is done when maximum-speed I/O timing constraints and quad I/O testing are supported, domain crossings are managed, and the documentation is updated.

Written by the indexing model from the issue text.

Assessment

Domain
embedded-iot, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.