| Summary: | IOpad Cell Library needed with industry-standard GPIO and DDR capability | ||
|---|---|---|---|
| Product: | Libre-SOC's first SoC | Reporter: | Luke Kenneth Casson Leighton <lkcl> |
| Component: | Hardware Layout | Assignee: | Luke Kenneth Casson Leighton <lkcl> |
| Status: | CONFIRMED --- | ||
| Severity: | enhancement | CC: | libre-soc-bugs, staf |
| Priority: | --- | ||
| Version: | unspecified | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| NLnet milestone: | NLnet.2019.10.Cells | total budget (EUR) for completion of task and all subtasks: | 0 |
| budget (EUR) for this task, excluding subtasks' budget: | 0 | parent task for budget allocation: | |
| child tasks for budget allocation: | The table of payments (in EUR) for this task; TOML format: | ||
| Bug Depends on: | 155, 192 | ||
| Bug Blocks: | |||
|
Description
Luke Kenneth Casson Leighton
2019-04-05 05:13:26 BST
https://www-soc.lip6.fr/wws/arc/alliance-users/2019-04/msg00002.html discussion with jean-paul chaput. The current IO cell design can be used to get most of the requirements. Some clarification: * There is a level shifted output from the external 3.3V pad voltage to an 1.8V cell output to the core; this signal is asynchronous. It is meant that digital logic is added on this output to implement things like meta-stability prevention, debouncing and IRQ generation. * The block has separate inputs for enabling each of the sink and the source drivers. So if all drivers are disabled the output is high impedance and can driven from an external driver; e.g. in this state the IO cell functions as an input IO cell. * There is a distinction between Schmidtt triggering and signal debouncing. Schmidtt triggering means that the switching threshold is different for a rising edge than for a falling edge. This is to avoid oscillation in the level-shifted core output for slowly moving noisy input signals. With signal debouncing typically stands for the filtering out of mutiple full swing signal swings like one get from push buttons etc. Current implementation of the level-shifting does not include Hysteresis but it should be easy to add for the prototype. As said in first point thoough, signal debouncing is left to the digital logic connected to the level-shifted output of the IO cell. I want to add that also DDR signaling is left to be implemented in the logic circuit on top of the level-shifted core output. It typically is done by using both a rising edge and a falling edge triggered flip-flop on this output. (In reply to Staf Verhaegen from comment #4) > I want to add that also DDR signaling is left to be implemented in the logic > circuit on top of the level-shifted core output. It typically is done by > using both a rising edge and a falling edge triggered flip-flop on this > output. this is fantastic, staf. look forward to hearing how the test goes. |