📄 pacoblaze_idu_tb.v.html
字号:
location=nextpage+ "?" + escape(text) + "&" + ( y - window.pageYOffset ) + "&" + inc;return false;}if (confirm(text + " not found. Search again from "+((inc==1)?"start":"end")+"?")) {if (inc==1) i=-1;else i=document.links.length;} else return false;}return true;}function loadqs() {var opt=location.search, text="", s="", y=0, si=0, inc=1;if (opt.length==0) return true; for (var i=1;i<opt.length;i++) { if (opt.charAt(i) != "&") s += opt.charAt(i);else {if (text=="") text=unescape(s);else y=s;s="";}}if (text=="") return true;if (s == "-1") { si=document.links.length-1; inc=-1; }window.scrollTo(0,0);search(text,y,si,inc);return true;}// --></script><body onload='loadqs();'><script language="JavaScript"type="text/javascript"><!--function prev_page() { return ""; }function last_page() { return ""; }// --></script><center><table class=NB cols=7 ><tr><td align="center" width="14%" onmousedown="this.style.border='inset';" onmouseup="this.style.border='outset';" onclick="location='index.html';"><a target="_top" href="index.html">Hierarchy</a></td><td align="center" width="14%" onmousedown="this.style.border='inset';" onmouseup="this.style.border='outset';" onclick="location='index-f.html';"><a target="_top" href="index-f.html">Files</a></td><td align="center" width="14%" onmousedown="this.style.border='inset';" onmouseup="this.style.border='outset';" onclick="location='index-m.html';"><a target="_top" href="index-m.html">Modules</a></td><td align="center" width="14%" onmousedown="this.style.border='inset';" onmouseup="this.style.border='outset';" onclick="location='index-s.html';"><a target="_top" href="index-s.html">Signals</a></td><td align="center" width="14%" onmousedown="this.style.border='inset';" onmouseup="this.style.border='outset';" onclick="location='index-t.html';"><a target="_top" href="index-t.html">Tasks</a></td><td align="center" width="14%" onmousedown="this.style.border='inset';" onmouseup="this.style.border='outset';" onclick="location='index-fn.html';"><a target="_top" href="index-fn.html">Functions</a></td><td align="center" width="14%" onmousedown="this.style.border='inset';" onmouseup="this.style.border='outset';" onclick="location='http://www.burbleland.com/v2html/help_7_30.html?htf-ni-s-';"><a target="_top" href="http://www.burbleland.com/v2html/help_7_30.html?htf-ni-s-">Help</a></td></tr></table></center><pre><span class=C>/*
Copyright (c) 2006 Pablo Bleyer Kocik.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. The name of the author may not be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
*/</span>
<span class=C>/*
PacoBlaze IDU test
*/</span>
<a name="33"></a><span class=M>`define</span> <a onClick="return qs(event,this,0)" class=D href="cmprnd3_tb.v.html#5">PACOBLAZE3</a>
<a name="34"></a><span class=M>`define</span> <a onClick="return qs(event,this,0)" class=D href="pacoblaze1.v.html#13">PACOBLAZE_IDU</a> pacoblaze3_idu
<a name="36"></a><span class=M>`define</span> <a onClick="return qs(event,this,0)" class=D href="#36">HAS_DEBUG</a>
<span class=M>`include</span> <a onClick="return qs(event,this,0)" class=S href="timescale_inc.v.html">"timescale_inc.v"</a>
<span class=M>`include</span> <a onClick="return qs(event,this,0)" class=S href="pacoblaze_inc.v.html">"pacoblaze_inc.v"</a>
<a name="pacoblaze_idu_tb"></a><span class=K>module</span> <span class=MM>pacoblaze_idu_tb</span><a href="index-m.html#pacoblaze_idu_tb"><img align=top border=0 alt="Index" src="v2html-i.gif"></a>;
<a name="43"></a><span class=K>parameter</span> <a onClick="return qs(event,this,0)" class=PA href="#43">tck</a> = 10;
<a name="46"></a><span class=K>reg</span> [<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#72">code_width</a>-1:0] <a onClick="return qs(event,this,1)" class=SR href="#99">instruction</a>; <span class=C>///< Instruction
</span>
<a name="48"></a><span class=K>wire</span> [<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#149">operation_width</a>-1:0] <a onClick="return qs(event,this,2)" class=SW href="#48">operation</a>; <span class=C>///< Main operation
</span><a name="49"></a><span class=K>wire</span> [2:0] <a onClick="return qs(event,this,3)" class=SW href="#49">shift_operation</a>; <span class=C>///< Rotate/shift operation
</span><a name="50"></a><span class=K>wire</span> <a onClick="return qs(event,this,4)" class=SW href="#50">shift_direction</a>; <span class=C>///< Rotate/shift left(0)/right(1)
</span><a name="51"></a><span class=K>wire</span> <a onClick="return qs(event,this,5)" class=SW href="#51">shift_constant</a>; <span class=C>///< Shift constant value
</span><a name="52"></a><span class=K>wire</span> <a onClick="return qs(event,this,6)" class=SW href="#52">operand_selection</a>; <span class=C>///< Operand selection (k/p/s:0, y:1)
</span><a name="53"></a><span class=K>wire</span> [<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#110">register_depth</a>-1:0] <a onClick="return qs(event,this,7)" class=SW href="#53">x_address</a>, <a onClick="return qs(event,this,8)" class=SW href="#53">y_address</a>; <span class=C>///< Operation x source/target, y source
</span><a name="54"></a><span class=K>wire</span> [<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#60">operand_width</a>-1:0] <a onClick="return qs(event,this,9)" class=SW href="#54">implied_value</a>; <span class=C>///< Operand constant source
</span><a name="55"></a><span class=K>wire</span> [<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#82">port_depth</a>-1:0] <a onClick="return qs(event,this,10)" class=SW href="#55">port_address</a>; <span class=C>///< Port address
</span><span class=M>`ifdef</span> <a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#41">HAS_SCRATCH_MEMORY</a>
<a name="57"></a><span class=K>wire</span> [<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#119">scratch_depth</a>-1:0] <a onClick="return qs(event,this,11)" class=SW href="#57">scratch_address</a>; <span class=C>///< Scratchpad address
</span><span class=M>`endif</span>
<a name="59"></a><span class=K>wire</span> [<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#73">code_depth</a>-1:0] <a onClick="return qs(event,this,12)" class=SW href="#59">code_address</a>; <span class=C>///< Program address
</span><a name="60"></a><span class=K>wire</span> <a onClick="return qs(event,this,13)" class=SW href="#60">conditional</a>; <span class=C>///< Conditional operation (unconditional(0)/conditional(1))
</span><a name="61"></a><span class=K>wire</span> [1:0] <a onClick="return qs(event,this,14)" class=SW href="#61">condition_flags</a>; <span class=C>///< Condition flags on zero and carry
</span><a name="62"></a><span class=K>wire</span> <a onClick="return qs(event,this,15)" class=SW href="#62">interrupt_enable</a>; <span class=C>///< Interrupt disable(0)/enable(1)
</span>
<span class=M>`ifdef</span> <a onClick="return qs(event,this,0)" class=D href="#36">HAS_DEBUG</a>
<a name="65"></a><span class=K>wire</span> [8*<span class=D>`idu_debug_width</span>:1] <a onClick="return qs(event,this,16)" class=SW href="#65">debug</a>;
<span class=M>`endif</span>
<span class=C>/* PacoBlaze dut */</span>
<a name="pacoblaze_idu_tb_dut"></a><span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="#34">PACOBLAZE_IDU</a> dut(
<a onClick="return qs(event,this,1)" class=SR href="#46">instruction</a>,
<a onClick="return qs(event,this,2)" class=SW href="#48">operation</a>,
<a onClick="return qs(event,this,3)" class=SW href="#49">shift_operation</a>, <a onClick="return qs(event,this,4)" class=SW href="#50">shift_direction</a>, <a onClick="return qs(event,this,5)" class=SW href="#51">shift_constant</a>,
<a onClick="return qs(event,this,6)" class=SW href="#52">operand_selection</a>,
<a onClick="return qs(event,this,7)" class=SW href="#53">x_address</a>, <a onClick="return qs(event,this,8)" class=SW href="#53">y_address</a>,
<a onClick="return qs(event,this,9)" class=SW href="#54">implied_value</a>, <a onClick="return qs(event,this,10)" class=SW href="#55">port_address</a>,
<span class=M>`ifdef</span> <a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#41">HAS_SCRATCH_MEMORY</a>
<a onClick="return qs(event,this,11)" class=SW href="#57">scratch_address</a>,
<span class=M>`endif</span>
<a onClick="return qs(event,this,12)" class=SW href="#59">code_address</a>,
<a onClick="return qs(event,this,13)" class=SW href="#60">conditional</a>, <a onClick="return qs(event,this,14)" class=SW href="#61">condition_flags</a>,
<a onClick="return qs(event,this,15)" class=SW href="#62">interrupt_enable</a>
<span class=M>`ifdef</span> <a onClick="return qs(event,this,0)" class=D href="#36">HAS_DEBUG</a>
, <a onClick="return qs(event,this,16)" class=SW href="#65">debug</a>
<span class=M>`endif</span>
);
<span class=C>/* Initial setup */</span>
<span class=K>initial</span> <span class=K>begin</span>
<span class=ST>$dumpvars</span>(1, dut);
<span class=ST>$dumpfile</span>(<span class=S>"pacoblaze_idu_tb.vcd"</span>);
<span class=C>// $monitor("%h: %s", instruction, debug);
</span><span class=K>end</span>
<span class=C>/* Simulation */</span>
<a name="95"></a><span class=K>integer</span> <a onClick="return qs(event,this,17)" class=SIT href="#95">i</a>;
<span class=K>initial</span> <span class=K>begin</span>
<span class=K>for</span> (<a onClick="return qs(event,this,17)" class=SIT href="#95">i</a>=0; <a onClick="return qs(event,this,17)" class=SIT href="#95">i</a><(1<<<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#72">code_width</a>); <a onClick="return qs(event,this,17)" class=SIT href="#95">i</a>=<a onClick="return qs(event,this,17)" class=SIT href="#95">i</a>+1) <span class=K>begin</span>
<span class=C>// for (i=0; i<16; i=i+1) begin
</span><a name="99"></a> <a onClick="return qs(event,this,1)" class=SR href="#99">instruction</a> = <a onClick="return qs(event,this,17)" class=SIT href="#95">i</a>;
#<a onClick="return qs(event,this,0)" class=PA href="#43">tck</a> <span class=ST>$display</span>(<span class=S>"%h: %s"</span>, <a onClick="return qs(event,this,1)" class=SR href="#46">instruction</a>, <a onClick="return qs(event,this,16)" class=SW href="#65">debug</a>);
<span class=K>end</span>
<span class=ST>$finish</span>;
<span class=K>end</span>
<span class=K>endmodule</span>
</pre><center><table class=NB cols=7 ><tr><td align="center" width="14%" onmousedown="this.style.border='inset';" onmouseup="this.style.border='outset';" onclick="location='index.html';"><a target="_top" href="index.html">Hierarchy</a></td><td align="center" width="14%" onmousedown="this.style.border='inset';" onmouseup="this.style.border='outset';" onclick="location='index-f.html';"><a target="_top" href="index-f.html">Files</a></td><td align="center" width="14%" onmousedown="this.style.border='inset';" onmouseup="this.style.border='outset';" onclick="location='index-m.html';"><a target="_top" href="index-m.html">Modules</a></td><td align="center" width="14%" onmousedown="this.style.border='inset';" onmouseup="this.style.border='outset';" onclick="location='index-s.html';"><a target="_top" href="index-s.html">Signals</a></td><td align="center" width="14%" onmousedown="this.style.border='inset';" onmouseup="this.style.border='outset';" onclick="location='index-t.html';"><a target="_top" href="index-t.html">Tasks</a></td><td align="center" width="14%" onmousedown="this.style.border='inset';" onmouseup="this.style.border='outset';" onclick="location='index-fn.html';"><a target="_top" href="index-fn.html">Functions</a></td><td align="center" width="14%" onmousedown="this.style.border='inset';" onmouseup="this.style.border='outset';" onclick="location='http://www.burbleland.com/v2html/help_7_30.html?htf-ni-s-';"><a target="_top" href="http://www.burbleland.com/v2html/help_7_30.html?htf-ni-s-">Help</a></td></tr></table></center><script language="JavaScript"type="text/javascript"><!--function next_page() { return ""; }function first_page() { return ""; }var extra_info = [["S","pacoblaze_idu_tb.v.html#46","pacoblaze_idu_tb.v.html#99","","pacoblaze_idu_tb.v.html#99","index-s.p2.html#instruction___pacoblaze_idu_tb"],["S","pacoblaze_idu_tb.v.html#48","","","","index-s.p3.html#operation___pacoblaze_idu_tb"],["S","pacoblaze_idu_tb.v.html#49","","","","index-s.p4.html#shift_operation___pacoblaze_idu_tb"],["S","pacoblaze_idu_tb.v.html#50","","","","index-s.p4.html#shift_direction___pacoblaze_idu_tb"],["S","pacoblaze_idu_tb.v.html#51","","","","index-s.p4.html#shift_constant___pacoblaze_idu_tb"],["S","pacoblaze_idu_tb.v.html#52","","","","index-s.p3.html#operand_selection___pacoblaze_idu_tb"],["S","pacoblaze_idu_tb.v.html#53","","","","index-s.p5.html#x_address___pacoblaze_idu_tb"],["S","pacoblaze_idu_tb.v.html#53","","","","index-s.p5.html#y_address___pacoblaze_idu_tb"],["S","pacoblaze_idu_tb.v.html#54","","","","index-s.p2.html#implied_value___pacoblaze_idu_tb"],["S","pacoblaze_idu_tb.v.html#55","","","","index-s.p3.html#port_address___pacoblaze_idu_tb"],["S","pacoblaze_idu_tb.v.html#57","","","","index-s.p4.html#scratch_address___pacoblaze_idu_tb"],["S","pacoblaze_idu_tb.v.html#59","","","","index-s.html#code_address___pacoblaze_idu_tb"],["S","pacoblaze_idu_tb.v.html#60","","","","index-s.html#conditional___pacoblaze_idu_tb"],["S","pacoblaze_idu_tb.v.html#61","","","","index-s.html#condition_flags___pacoblaze_idu_tb"],["S","pacoblaze_idu_tb.v.html#62","","","","index-s.p2.html#interrupt_enable___pacoblaze_idu_tb"],["S","pacoblaze_idu_tb.v.html#65","","","","index-s.p2.html#debug___pacoblaze_idu_tb"],["S","pacoblaze_idu_tb.v.html#95","","","","index-s.p2.html#i___pacoblaze_idu_tb"]];disabled=0;// --></script><hr><table> <tr><td><i>This page:</i></td> <td><i>Maintained by:</i></td> <td><i><a href="mailto:pablo.N@SPAM.bleyer.org"> pablo.N@SPAM.bleyer.org</a></i></tr><tr><td> </td> <td><i>Created:</i></td><td><i>Tue May 29 02:37:53 2007</i></td></tr><tr> <td> </td> <td><i>From:</i></td><td><i> <a href="pacoblaze_idu_tb.v">pacoblaze_idu_tb.v</a></i></td></tr></table><hr><table width="100%"><tr><td><i>Verilog converted to html by <a target="_top" href="http://www.burbleland.com/v2html/v2html.html"> v2html 7.30</a> (written by <a href="mailto:v2html730@burbleland.com">Costas Calamvokis</a>).</i></td><td align="right"><b><a href="http://www.burbleland.com/v2html/help_7_30.html?htf-ni-s-">Help</a></b></td></tr></table><table height="90%"><tr><td></td></tr></table></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -