|
164 | 164 | <span class="linenos"> 81</span><span class="w"> </span><span class="n">valid4</span><span class="w"> </span><span class="o"><=</span><span class="w"> </span><span class="n">valid3</span><span class="p">;</span>
|
165 | 165 | <span class="linenos"> 82</span><span class="k">end</span>
|
166 | 166 | <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"><=</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"><=</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"><=</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"><=</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> |
195 | 197 | </pre></div>
|
196 | 198 | </div>
|
197 | 199 | </section>
|
|
0 commit comments