Skip to content

Commit 6a990f4

Browse files
committed
deploy: 42ecede
1 parent 4cb763b commit 6a990f4

File tree

146 files changed

+248
-206
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

146 files changed

+248
-206
lines changed
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

_gen_md/projects/test_marble_family/README_md.html

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,6 @@ <h2>Marble1<a class="headerlink" href="#marble1" title="Permalink to this headin
165165
</div>
166166
<p>Also see <a class="reference external" href="testcase.py">testcase.py</a> for other I2C feature support,
167167
some of which is specific to either Marble or Marble-Mini.</p>
168-
<section id="extras">
169-
<h3>Extras<a class="headerlink" href="#extras" title="Permalink to this heading"></a></h3>
170168
<p>Two <a class="reference external" href="https://en.wikipedia.org/wiki/Easter%20egg%20%28media%29">Easter eggs</a>:</p>
171169
<ol class="arabic">
172170
<li><p>Connect up a user terminal to the third FTDI USB UART port, typically /dev/ttyUSB2,
@@ -193,7 +191,7 @@ <h3>Extras<a class="headerlink" href="#extras" title="Permalink to this heading"
193191
read out <a class="reference external" href="https://en.wikipedia.org/wiki/NMEA_0183">NMEA</a> position and time,
194192
use the pps signal to calibrate the on-board crystals,
195193
and even phase-lock the on-board 125 MHz source to GPS time
196-
with an additive jitter as little as 10 ns rms.
194+
with a jitter of under 100 ns.
197195
Supporting python:</p></li>
198196
</ol>
199197
<ul class="simple">
@@ -202,7 +200,6 @@ <h3>Extras<a class="headerlink" href="#extras" title="Permalink to this heading"
202200
<li><p><a class="reference external" href="lock_vcxo.py">lock_vcxo.py</a></p></li>
203201
</ul>
204202
</section>
205-
</section>
206203
</section>
207204

208205

_gen_rst/fwashout.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,6 @@ <h2>Description<a class="headerlink" href="#description" title="Permalink to thi
187187
<div class="line">Evaluating gain at f_s*7/33 using python3:</div>
188188
<div class="line">from numpy import exp, pi; cut=4; N=2**cut; p=(N-1)/N</div>
189189
<div class="line">z=exp(2j*pi*7/33); gain=(z-1)/z/(z-p); print(abs(gain))</div>
190-
<div class="line">1.031390721958454</div>
191190
</div>
192191
</div>
193192
</section>

_gen_rst/multiply_accumulate.html

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,17 @@
179179
<h2>Description<a class="headerlink" href="#description" title="Permalink to this heading"></a></h2>
180180
<div class="line-block">
181181
<div class="line"><br /></div>
182+
<div class="line-block">
183+
<div class="line">TL;DR</div>
184+
<div class="line">accumulated += ((constant * signal) &gt;&gt;&gt; downscale) + correction</div>
185+
<div class="line"><br /></div>
186+
<div class="line">Multiply a <cite>constant</cite> K to input <cite>signal</cite> and accumulate the result on <cite>enable</cite>.</div>
187+
<div class="line"><br /></div>
188+
<div class="line">Notice <cite>downscale</cite>, this is meant to downscale the input into the accumulator</div>
189+
<div class="line">Useful in times of high “natural” integration gain: like running with a superconducting cavity</div>
190+
<div class="line"><br /></div>
191+
<div class="line"><cite>correction</cite> comes from some externally-supplied feedforward, maybe derived from the previous pulse</div>
192+
</div>
182193
</div>
183194
</section>
184195
<section id="pinout">

_gen_src_rst/ccfilt_source.html

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -164,34 +164,36 @@
164164
<span class="linenos"> 81</span><span class="w"> </span><span class="n">valid4</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="n">valid3</span><span class="p">;</span>
165165
<span class="linenos"> 82</span><span class="k">end</span>
166166
<span class="linenos"> 83</span>
167-
<span class="linenos"> 84</span><span class="c1">// Instantiate half-band filter .. or not</span>
168-
<span class="linenos"> 85</span><span class="kt">wire</span><span class="w"> </span><span class="p">[</span><span class="n">outw</span><span class="o">-</span><span class="mh">1</span><span class="o">:</span><span class="mh">0</span><span class="p">]</span><span class="w"> </span><span class="n">d5</span><span class="p">;</span>
169-
<span class="linenos"> 86</span><span class="kt">wire</span><span class="w"> </span><span class="n">valid5</span><span class="p">;</span>
170-
<span class="linenos"> 87</span><span class="kt">reg</span><span class="w"> </span><span class="p">[</span><span class="mh">4</span><span class="o">-</span><span class="mh">1</span><span class="o">:</span><span class="mh">0</span><span class="p">]</span><span class="w"> </span><span class="n">delay_v45</span><span class="o">=</span><span class="mh">0</span><span class="p">;</span><span class="w"> </span><span class="c1">// seems half_filter take 4 cycles?</span>
171-
<span class="linenos"> 88</span><span class="kt">reg</span><span class="w"> </span><span class="p">[</span><span class="n">outw</span><span class="o">*</span><span class="mh">4</span><span class="o">-</span><span class="mh">1</span><span class="o">:</span><span class="mh">0</span><span class="p">]</span><span class="w"> </span><span class="n">delay_d45</span><span class="o">=</span><span class="mh">0</span><span class="p">;</span>
172-
<span class="linenos"> 89</span><span class="k">generate</span>
173-
<span class="linenos"> 90</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">use_hb</span><span class="p">)</span><span class="w"> </span><span class="k">begin</span><span class="o">:</span><span class="w"> </span><span class="n">g_use_hb</span>
174-
<span class="linenos"> 91</span><span class="w"> </span><span class="n">half_filt</span><span class="w"> </span><span class="p">#(.</span><span class="n">len</span><span class="p">(</span><span class="n">dsr_len</span><span class="p">))</span>
175-
<span class="linenos"> 92</span><span class="w"> </span><span class="n">hb</span><span class="p">(.</span><span class="n">clk</span><span class="p">(</span><span class="n">clk</span><span class="p">),</span><span class="w"> </span><span class="p">.</span><span class="n">ind</span><span class="p">(</span><span class="n">d4</span><span class="p">),</span><span class="w"> </span><span class="p">.</span><span class="n">ing</span><span class="p">(</span><span class="n">valid4</span><span class="p">),</span><span class="w"> </span><span class="p">.</span><span class="n">outd</span><span class="p">(</span><span class="n">d5</span><span class="p">),</span><span class="w"> </span><span class="p">.</span><span class="n">outg</span><span class="p">(</span><span class="n">valid5</span><span class="p">),</span><span class="w"> </span><span class="p">.</span><span class="n">reset</span><span class="p">(</span><span class="n">reset</span><span class="p">));</span>
176-
<span class="linenos"> 93</span><span class="k">end</span>
177-
<span class="linenos"> 94</span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">use_delay</span><span class="p">)</span><span class="w"> </span><span class="k">begin</span><span class="o">:</span><span class="w"> </span><span class="n">g_use_delay</span>
178-
<span class="linenos"> 95</span><span class="w"> </span><span class="k">always</span><span class="p">@(</span><span class="k">posedge</span><span class="w"> </span><span class="n">clk</span><span class="p">)</span><span class="w"> </span><span class="k">begin</span>
179-
<span class="linenos"> 96</span><span class="w"> </span><span class="n">delay_v45</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="p">{</span><span class="n">delay_v45</span><span class="p">[</span><span class="mh">4</span><span class="o">-</span><span class="mh">2</span><span class="o">:</span><span class="mh">0</span><span class="p">],</span><span class="n">valid4</span><span class="p">};</span>
180-
<span class="linenos"> 97</span><span class="w"> </span><span class="n">delay_d45</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="p">{</span><span class="n">delay_d45</span><span class="p">[</span><span class="n">outw</span><span class="o">*</span><span class="p">(</span><span class="mh">4</span><span class="o">-</span><span class="mh">1</span><span class="p">)</span><span class="o">-</span><span class="mh">1</span><span class="o">:</span><span class="mh">0</span><span class="p">],</span><span class="n">d4</span><span class="p">};</span>
181-
<span class="linenos"> 98</span>
182-
<span class="linenos"> 99</span><span class="w"> </span><span class="k">end</span>
183-
<span class="linenos">100</span><span class="w"> </span><span class="k">assign</span><span class="w"> </span><span class="n">d5</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">delay_d45</span><span class="p">[</span><span class="n">outw</span><span class="o">*</span><span class="mh">4</span><span class="o">-</span><span class="mh">1</span><span class="o">:</span><span class="n">outw</span><span class="o">*</span><span class="p">(</span><span class="mh">4</span><span class="o">-</span><span class="mh">1</span><span class="p">)];</span>
184-
<span class="linenos">101</span><span class="w"> </span><span class="k">assign</span><span class="w"> </span><span class="n">valid5</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">delay_v45</span><span class="p">[</span><span class="mh">4</span><span class="o">-</span><span class="mh">1</span><span class="p">];</span>
185-
<span class="linenos">102</span><span class="k">end</span>
186-
<span class="linenos">103</span><span class="k">else</span><span class="w"> </span><span class="k">begin</span><span class="o">:</span><span class="w"> </span><span class="n">g_use_short</span>
187-
<span class="linenos">104</span><span class="w"> </span><span class="k">assign</span><span class="w"> </span><span class="n">d5</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">d4</span><span class="p">;</span>
188-
<span class="linenos">105</span><span class="w"> </span><span class="k">assign</span><span class="w"> </span><span class="n">valid5</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">valid4</span><span class="p">;</span>
189-
<span class="linenos">106</span><span class="k">end</span>
190-
<span class="linenos">107</span><span class="k">endgenerate</span>
191-
<span class="linenos">108</span>
192-
<span class="linenos">109</span><span class="k">assign</span><span class="w"> </span><span class="n">strobe</span><span class="o">=</span><span class="n">valid5</span><span class="p">;</span>
193-
<span class="linenos">110</span><span class="k">assign</span><span class="w"> </span><span class="n">result</span><span class="o">=</span><span class="n">d5</span><span class="p">;</span>
194-
<span class="linenos">111</span><span class="k">endmodule</span>
167+
<span class="linenos"> 84</span><span class="no">`undef</span><span class="w"> </span><span class="n">SAT</span>
168+
<span class="linenos"> 85</span>
169+
<span class="linenos"> 86</span><span class="c1">// Instantiate half-band filter .. or not</span>
170+
<span class="linenos"> 87</span><span class="kt">wire</span><span class="w"> </span><span class="p">[</span><span class="n">outw</span><span class="o">-</span><span class="mh">1</span><span class="o">:</span><span class="mh">0</span><span class="p">]</span><span class="w"> </span><span class="n">d5</span><span class="p">;</span>
171+
<span class="linenos"> 88</span><span class="kt">wire</span><span class="w"> </span><span class="n">valid5</span><span class="p">;</span>
172+
<span class="linenos"> 89</span><span class="kt">reg</span><span class="w"> </span><span class="p">[</span><span class="mh">4</span><span class="o">-</span><span class="mh">1</span><span class="o">:</span><span class="mh">0</span><span class="p">]</span><span class="w"> </span><span class="n">delay_v45</span><span class="o">=</span><span class="mh">0</span><span class="p">;</span><span class="w"> </span><span class="c1">// seems half_filter take 4 cycles?</span>
173+
<span class="linenos"> 90</span><span class="kt">reg</span><span class="w"> </span><span class="p">[</span><span class="n">outw</span><span class="o">*</span><span class="mh">4</span><span class="o">-</span><span class="mh">1</span><span class="o">:</span><span class="mh">0</span><span class="p">]</span><span class="w"> </span><span class="n">delay_d45</span><span class="o">=</span><span class="mh">0</span><span class="p">;</span>
174+
<span class="linenos"> 91</span><span class="k">generate</span>
175+
<span class="linenos"> 92</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">use_hb</span><span class="p">)</span><span class="w"> </span><span class="k">begin</span><span class="o">:</span><span class="w"> </span><span class="n">g_use_hb</span>
176+
<span class="linenos"> 93</span><span class="w"> </span><span class="n">half_filt</span><span class="w"> </span><span class="p">#(.</span><span class="n">len</span><span class="p">(</span><span class="n">dsr_len</span><span class="p">))</span>
177+
<span class="linenos"> 94</span><span class="w"> </span><span class="n">hb</span><span class="p">(.</span><span class="n">clk</span><span class="p">(</span><span class="n">clk</span><span class="p">),</span><span class="w"> </span><span class="p">.</span><span class="n">ind</span><span class="p">(</span><span class="n">d4</span><span class="p">),</span><span class="w"> </span><span class="p">.</span><span class="n">ing</span><span class="p">(</span><span class="n">valid4</span><span class="p">),</span><span class="w"> </span><span class="p">.</span><span class="n">outd</span><span class="p">(</span><span class="n">d5</span><span class="p">),</span><span class="w"> </span><span class="p">.</span><span class="n">outg</span><span class="p">(</span><span class="n">valid5</span><span class="p">),</span><span class="w"> </span><span class="p">.</span><span class="n">reset</span><span class="p">(</span><span class="n">reset</span><span class="p">));</span>
178+
<span class="linenos"> 95</span><span class="k">end</span>
179+
<span class="linenos"> 96</span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">use_delay</span><span class="p">)</span><span class="w"> </span><span class="k">begin</span><span class="o">:</span><span class="w"> </span><span class="n">g_use_delay</span>
180+
<span class="linenos"> 97</span><span class="w"> </span><span class="k">always</span><span class="p">@(</span><span class="k">posedge</span><span class="w"> </span><span class="n">clk</span><span class="p">)</span><span class="w"> </span><span class="k">begin</span>
181+
<span class="linenos"> 98</span><span class="w"> </span><span class="n">delay_v45</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="p">{</span><span class="n">delay_v45</span><span class="p">[</span><span class="mh">4</span><span class="o">-</span><span class="mh">2</span><span class="o">:</span><span class="mh">0</span><span class="p">],</span><span class="n">valid4</span><span class="p">};</span>
182+
<span class="linenos"> 99</span><span class="w"> </span><span class="n">delay_d45</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="p">{</span><span class="n">delay_d45</span><span class="p">[</span><span class="n">outw</span><span class="o">*</span><span class="p">(</span><span class="mh">4</span><span class="o">-</span><span class="mh">1</span><span class="p">)</span><span class="o">-</span><span class="mh">1</span><span class="o">:</span><span class="mh">0</span><span class="p">],</span><span class="n">d4</span><span class="p">};</span>
183+
<span class="linenos">100</span>
184+
<span class="linenos">101</span><span class="w"> </span><span class="k">end</span>
185+
<span class="linenos">102</span><span class="w"> </span><span class="k">assign</span><span class="w"> </span><span class="n">d5</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">delay_d45</span><span class="p">[</span><span class="n">outw</span><span class="o">*</span><span class="mh">4</span><span class="o">-</span><span class="mh">1</span><span class="o">:</span><span class="n">outw</span><span class="o">*</span><span class="p">(</span><span class="mh">4</span><span class="o">-</span><span class="mh">1</span><span class="p">)];</span>
186+
<span class="linenos">103</span><span class="w"> </span><span class="k">assign</span><span class="w"> </span><span class="n">valid5</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">delay_v45</span><span class="p">[</span><span class="mh">4</span><span class="o">-</span><span class="mh">1</span><span class="p">];</span>
187+
<span class="linenos">104</span><span class="k">end</span>
188+
<span class="linenos">105</span><span class="k">else</span><span class="w"> </span><span class="k">begin</span><span class="o">:</span><span class="w"> </span><span class="n">g_use_short</span>
189+
<span class="linenos">106</span><span class="w"> </span><span class="k">assign</span><span class="w"> </span><span class="n">d5</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">d4</span><span class="p">;</span>
190+
<span class="linenos">107</span><span class="w"> </span><span class="k">assign</span><span class="w"> </span><span class="n">valid5</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">valid4</span><span class="p">;</span>
191+
<span class="linenos">108</span><span class="k">end</span>
192+
<span class="linenos">109</span><span class="k">endgenerate</span>
193+
<span class="linenos">110</span>
194+
<span class="linenos">111</span><span class="k">assign</span><span class="w"> </span><span class="n">strobe</span><span class="o">=</span><span class="n">valid5</span><span class="p">;</span>
195+
<span class="linenos">112</span><span class="k">assign</span><span class="w"> </span><span class="n">result</span><span class="o">=</span><span class="n">d5</span><span class="p">;</span>
196+
<span class="linenos">113</span><span class="k">endmodule</span>
195197
</pre></div>
196198
</div>
197199
</section>

0 commit comments

Comments
 (0)