<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to ClockSkew</title><link>https://sourceforge.net/p/ecen620/wiki/ClockSkew/</link><description>Recent changes to ClockSkew</description><atom:link href="https://sourceforge.net/p/ecen620/wiki/ClockSkew/feed" rel="self"/><language>en</language><lastBuildDate>Mon, 16 Mar 2015 20:30:19 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/ecen620/wiki/ClockSkew/feed" rel="self" type="application/rss+xml"/><item><title>ClockSkew modified by Anonymous</title><link>https://sourceforge.net/p/ecen620/wiki/ClockSkew/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;While the original paper focused on six broader topics, we will focus on clock skew, the "chief difficulty in designing high-speed synchronous systems." (Hatamian, 1987) &lt;/p&gt;
&lt;p&gt;Main points &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Min delay effects in &lt;ol&gt;
&lt;li&gt;edge-triggered system &lt;/li&gt;
&lt;li&gt;level-triggered &lt;/li&gt;
&lt;li&gt;two-phase &lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Clock period effects in &lt;ol&gt;
&lt;li&gt;edge-triggered system &lt;/li&gt;
&lt;li&gt;level-triggered &lt;/li&gt;
&lt;li&gt;two-phase &lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;Techniques to handle clock skew &lt;ol&gt;
&lt;li&gt;Buffering &lt;/li&gt;
&lt;li&gt;Distribution networks &lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Effects include: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Latency &lt;/li&gt;
&lt;li&gt;Throughput &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Variables &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tpt - cell propagation time &lt;/li&gt;
&lt;li&gt;Tst - cell computation delay or settling time &lt;/li&gt;
&lt;li&gt;Tsr - register settling time &lt;/li&gt;
&lt;li&gt;Tpr - register propagation time &lt;/li&gt;
&lt;li&gt;Tck - clock skew with respect to a global reference &lt;/li&gt;
&lt;li&gt;Tpi - interconnect propagation time &lt;br /&gt;
Notes: &lt;/li&gt;
&lt;li&gt;propagation delay is the earliest change in the output &lt;/li&gt;
&lt;li&gt;settling time is when the output has settled &lt;/li&gt;
&lt;li&gt;The paper assumes the same values in all modules of the pipeline; we will not relax that assumption here. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Some sample code to demonstrate delay modeling in vhdl: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;begin&lt;/span&gt;
    &lt;span class="n"&gt;process&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;clk&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;begin&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;clk&lt;/span&gt;&lt;span class="err"&gt;'&lt;/span&gt;&lt;span class="n"&gt;event&lt;/span&gt; &lt;span class="n"&gt;and&lt;/span&gt; &lt;span class="n"&gt;clk&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sc"&gt;'1'&lt;/span&gt; &lt;span class="n"&gt;then&lt;/span&gt; &lt;span class="o"&gt;--&lt;/span&gt;&lt;span class="n"&gt;just&lt;/span&gt; &lt;span class="n"&gt;use&lt;/span&gt; &lt;span class="s"&gt;"clk='1'"&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;single&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;phase&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;
                &lt;span class="n"&gt;R1&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;R1in&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="n"&gt;R2&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;transport&lt;/span&gt; &lt;span class="n"&gt;C1out&lt;/span&gt; &lt;span class="n"&gt;after&lt;/span&gt; &lt;span class="n"&gt;delta&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="n"&gt;end&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;end&lt;/span&gt; &lt;span class="n"&gt;process&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

    &lt;span class="n"&gt;R1out&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;transport&lt;/span&gt; &lt;span class="n"&gt;R1&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;after&lt;/span&gt; &lt;span class="n"&gt;tpr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;R1out&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;transport&lt;/span&gt; &lt;span class="n"&gt;R1&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;after&lt;/span&gt; &lt;span class="n"&gt;tsr&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;C1in&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;transport&lt;/span&gt; &lt;span class="n"&gt;R1out&lt;/span&gt; &lt;span class="n"&gt;after&lt;/span&gt; &lt;span class="n"&gt;tpi&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;C1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;C1in&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;C1out&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;transport&lt;/span&gt; &lt;span class="n"&gt;C1&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;after&lt;/span&gt; &lt;span class="n"&gt;tpl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="n"&gt;C1out&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&lt;/span&gt; &lt;span class="n"&gt;transport&lt;/span&gt; &lt;span class="n"&gt;C1&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="n"&gt;after&lt;/span&gt; &lt;span class="n"&gt;tsl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

&lt;span class="n"&gt;end&lt;/span&gt; &lt;span class="n"&gt;architecture&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Mon, 16 Mar 2015 20:30:19 -0000</pubDate><guid>https://sourceforge.netdfe7dce60661829a31c59501ff1c22b4c7be74f9</guid></item></channel></rss>