question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Clock Skew / Asynchronous Clock Support

See original GitHub issue

Hi,

I was wondering if it would be possible to support some kind of skew or multiple-clock diagramming on the same waveform. This is especially useful for diagrams dealing with clock-domain-crossing, or showing off C2Q delays through elements.

Ideally you could specify ratios between the “main” clock and any other clocks. Or you could register a clock as a separate type of signal that any other signals can reference.

Rough example:

{ signal: [
    {clk: 'clkA', wave: 'p......', ratio:1},  // default is 1.0
    {clk: 'clkB', wave: 'p..........', ratio:0.66},  // clock edge distance is 66% of the default clock
    {clk: 'clkC', wave: 'p......', skew: ['clkA', 0.05]},  // +5% skew from clkA
    {clk: 'clkD', wave: 'p......', skew: ['clkA', -0.10]}, // -10% skew from clkA
    {name: 'datB', wave: 'x223223', clk: 'clkB'}, // align to edges of clkB
]}

Issue Analytics

  • State:closed
  • Created 8 years ago
  • Comments:5 (3 by maintainers)

github_iconTop GitHub Comments

2reactions
itsayellowcommented, Apr 10, 2016

@acarlson1029 I think wavedrom is rounding to 0.5 tick resolution for edge placement, so a bit better than integer. But yes, you can specify floating point, but every edge will end up on the nearest 0.5 tick.

1reaction
dromcommented, Mar 18, 2016

@acarlson1029 you are right. Image is constructed from blocks of standard size (bricks), so the period rounded to the brick size. Depend on the scenario certain period ration can be more or less illustrative. {period:1}, {period:3} – fast & slow clock {period:2} {period:3} – similar frequency clocks. {period:2} {period:3, phase:0.25} – similar frequency but unrelated clocks. Never in sync. you can use config: {skin:'narrow'} to compress diagram a bit.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Clock Skew / Asynchronous Clock Support · Issue #146 - GitHub
Hi, I was wondering if it would be possible to support some kind of skew or multiple-clock diagramming on the same waveform.
Read more >
Clock skew - Wikipedia
Clock skew (sometimes called timing skew) is a phenomenon in synchronous digital circuit systems (such as computer systems) in which the same sourced...
Read more >
Adding Timing Exceptions between Asynchronous Clocks
You can use the Clock Interaction Report ( report_clock_interaction ) to help identify clocks that are asynchronous and are missing proper timing exceptions....
Read more >
Explanation of Clock Skew Concepts - LinkedIn
At pre-CTS stage, clock skew is a part of uncertainty. Ideally, the clock should reach clock pin of all the flip-flops present in...
Read more >
Clock Skew - an overview | ScienceDirect Topics
Friedman (1989) first presented the concept of negative nonzero clock skew as a technique to increase the clock frequency and circuit performance across ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found