cmprnd3_tb.v.html
来自「和picoblaze完全兼容的mcu ip core」· HTML 代码 · 共 426 行 · 第 1/2 页
HTML
426 行
}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>/*
Compare KCPSM3 and PacoBlaze3 with random code
*/</span>
<a name="5"></a><span class=M>`define</span> <a onClick="return qs(event,this,0)" class=D href="#5">PACOBLAZE3</a>
<span class=M>`ifndef</span> <a onClick="return qs(event,this,0)" class=D href="#8">RANDOM_SEED</a>
<a name="8"></a><span class=M>`define</span> <a onClick="return qs(event,this,0)" class=D href="#8">RANDOM_SEED</a> 0
<span class=M>`endif</span>
<span class=M>`ifndef</span> <a onClick="return qs(event,this,0)" class=D href="#12">TEST_CYCLES</a>
<a name="12"></a><span class=M>`define</span> <a onClick="return qs(event,this,0)" class=D href="#12">TEST_CYCLES</a> 100
<span class=M>`endif</span>
<span class=M>`ifndef</span> <a onClick="return qs(event,this,0)" class=D href="#16">TEST_IRQ</a>
<a name="16"></a><span class=M>`define</span> <a onClick="return qs(event,this,0)" class=D href="#16">TEST_IRQ</a> 50
<span class=M>`endif</span>
<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="cmprnd3_tb"></a><span class=K>module</span> <span class=MM>cmprnd3_tb</span><a href="index-m.html#cmprnd3_tb"><img align=top border=0 alt="Index" src="v2html-i.gif"></a>;
<a name="24"></a><span class=K>parameter</span> <a onClick="return qs(event,this,0)" class=PA href="#24">tck</a> = 10, <a onClick="return qs(event,this,0)" class=PA href="#24">program_cycles</a> = <span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="#12">TEST_CYCLES</a>;
<span class=K>defparam</span> glbl.ROC_WIDTH = 0;
<a name="28"></a><span class=K>reg</span> <a onClick="return qs(event,this,1)" class=SR href="#90">clk</a>, <a onClick="return qs(event,this,2)" class=SR href="#129">rst</a>, <a onClick="return qs(event,this,3)" class=SR href="#129">irq</a>; <span class=C>// clock, reset, interrupt req
</span><a name="29"></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,4)" class=SW href="#29">addr_0</a>, <a onClick="return qs(event,this,5)" class=SW href="#29">addr_1</a>; <span class=C>// instruction address
</span><a name="30"></a><span class=K>reg</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,6)" class=SR href="#94">port_0</a>[0:<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#83">port_size</a>-1], <a onClick="return qs(event,this,7)" class=SR href="#95">port_1</a>[0:<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#83">port_size</a>-1];
<a name="31"></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,8)" class=SW href="#31">pid_0</a>, <a onClick="return qs(event,this,9)" class=SW href="#31">pid_1</a>, <a onClick="return qs(event,this,10)" class=SW href="#31">pout_0</a>, <a onClick="return qs(event,this,11)" class=SW href="#31">pout_1</a>; <span class=C>// port id, port out
</span><a name="32"></a><span class=K>wire</span> <a onClick="return qs(event,this,12)" class=SW href="#32">ren_0</a>, <a onClick="return qs(event,this,13)" class=SW href="#32">ren_1</a>, <a onClick="return qs(event,this,14)" class=SW href="#32">wen_0</a>, <a onClick="return qs(event,this,15)" class=SW href="#32">wen_1</a>, <a onClick="return qs(event,this,16)" class=SW href="#32">iak_0</a>, <a onClick="return qs(event,this,17)" class=SW href="#32">iak_1</a>; <span class=C>// read strobe, write strobe, interrupt ack
</span>
<a name="34"></a><span class=K>wire</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,18)" class=SW href="#45">din_0</a>, <a onClick="return qs(event,this,19)" class=SW href="#71">din_1</a>;
<a name="35"></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,20)" class=SW href="#35">pin_0</a> = <a onClick="return qs(event,this,6)" class=SR href="#94">port_0</a>[<a onClick="return qs(event,this,8)" class=SW href="#31">pid_0</a>], <a onClick="return qs(event,this,21)" class=SW href="#35">pin_1</a> = <a onClick="return qs(event,this,7)" class=SR href="#95">port_1</a>[<a onClick="return qs(event,this,9)" class=SW href="#31">pid_1</a>]; <span class=C>// port in
</span>
<span class=C>/* PacoBlaze program memory */</span>
<a name="cmprnd3_tb_rom_0"></a><a onClick="return qs(event,this,0)" class=MM href="blockram.v.html#blockram">blockram</a> #(.width(<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#72">code_width</a>),.depth(<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#73">code_depth</a>)) rom_0(
<span class=SI>.clk</span>(<a onClick="return qs(event,this,1)" class=SR href="#90">clk</a>),
<span class=SI>.rst</span>(<a onClick="return qs(event,this,2)" class=SR href="#129">rst</a>),
<span class=SI>.enb</span>(1),
<span class=SI>.wen</span>(0),
<span class=SI>.addr</span>(<a onClick="return qs(event,this,4)" class=SW href="#29">addr_0</a>),
<span class=SI>.din</span>(0),
<a name="45"></a> <a onClick="return qs(event,this,0)" class=SOR href="blockram.v.html#47">.dout</a>(<a onClick="return qs(event,this,18)" class=SW href="#34">din_0</a>)
);
<span class=C>/* PacoBlaze dut */</span>
<a name="cmprnd3_tb_dut_0"></a><span class=MM>pacoblaze3</span> dut_0(
.clk(<a onClick="return qs(event,this,1)" class=SR href="#28">clk</a>),
.reset(<a onClick="return qs(event,this,2)" class=SR href="#28">rst</a>),
.address(<a onClick="return qs(event,this,4)" class=SW href="#29">addr_0</a>),
.instruction(<a onClick="return qs(event,this,18)" class=SW href="#34">din_0</a>),
.port_id(<a onClick="return qs(event,this,8)" class=SW href="#31">pid_0</a>),
.read_strobe(<a onClick="return qs(event,this,12)" class=SW href="#32">ren_0</a>),
.write_strobe(<a onClick="return qs(event,this,14)" class=SW href="#32">wen_0</a>),
.in_port(<a onClick="return qs(event,this,20)" class=SW href="#35">pin_0</a>),
.out_port(<a onClick="return qs(event,this,10)" class=SW href="#31">pout_0</a>),
.interrupt(<a onClick="return qs(event,this,3)" class=SR href="#28">irq</a>),
.interrupt_ack(<a onClick="return qs(event,this,16)" class=SW href="#32">iak_0</a>)
);
<span class=C>/* KCPSM3 program memory */</span>
<a name="cmprnd3_tb_rom_1"></a><a onClick="return qs(event,this,0)" class=MM href="blockram.v.html#blockram">blockram</a> #(.width(<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#72">code_width</a>),.depth(<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#73">code_depth</a>)) rom_1(
<span class=SI>.clk</span>(<a onClick="return qs(event,this,1)" class=SR href="#90">clk</a>),
<span class=SI>.rst</span>(<a onClick="return qs(event,this,2)" class=SR href="#129">rst</a>),
<span class=SI>.enb</span>(1),
<span class=SI>.wen</span>(0),
<span class=SI>.addr</span>(<a onClick="return qs(event,this,5)" class=SW href="#29">addr_1</a>),
<span class=SI>.din</span>(0),
<a name="71"></a> <a onClick="return qs(event,this,0)" class=SOR href="blockram.v.html#47">.dout</a>(<a onClick="return qs(event,this,19)" class=SW href="#34">din_1</a>)
);
<span class=C>/* KCPSM3 dut */</span>
<a name="cmprnd3_tb_dut_1"></a><span class=MM>kcpsm3</span> dut_1(
.clk(<a onClick="return qs(event,this,1)" class=SR href="#28">clk</a>),
.reset(<a onClick="return qs(event,this,2)" class=SR href="#28">rst</a>),
.address(<a onClick="return qs(event,this,5)" class=SW href="#29">addr_1</a>),
.instruction(<a onClick="return qs(event,this,19)" class=SW href="#34">din_1</a>),
.port_id(<a onClick="return qs(event,this,9)" class=SW href="#31">pid_1</a>),
.read_strobe(<a onClick="return qs(event,this,13)" class=SW href="#32">ren_1</a>),
.write_strobe(<a onClick="return qs(event,this,15)" class=SW href="#32">wen_1</a>),
.in_port(<a onClick="return qs(event,this,21)" class=SW href="#35">pin_1</a>),
.out_port(<a onClick="return qs(event,this,11)" class=SW href="#31">pout_1</a>),
.interrupt(<a onClick="return qs(event,this,3)" class=SR href="#28">irq</a>),
.interrupt_ack(<a onClick="return qs(event,this,17)" class=SW href="#32">iak_1</a>)
);
<span class=C>/* Clocking device */</span>
<a name="90"></a><span class=K>always</span> #(<a onClick="return qs(event,this,0)" class=PA href="#24">tck</a>/2) <a onClick="return qs(event,this,1)" class=SR href="#28">clk</a> = ~<a onClick="return qs(event,this,1)" class=SR href="#90">clk</a>;
<span class=C>/* Watch external ports */</span>
<span class=K>always</span> @(<span class=K>posedge</span> <a onClick="return qs(event,this,1)" class=SR href="#28">clk</a>) <span class=K>begin</span>
<a name="94"></a> <span class=K>if</span> (<a onClick="return qs(event,this,14)" class=SW href="#32">wen_0</a>) <a onClick="return qs(event,this,6)" class=SR href="#30">port_0</a>[<a onClick="return qs(event,this,8)" class=SW href="#31">pid_0</a>] <= <a onClick="return qs(event,this,10)" class=SW href="#31">pout_0</a>;
<a name="95"></a> <span class=K>if</span> (<a onClick="return qs(event,this,15)" class=SW href="#32">wen_1</a>) <a onClick="return qs(event,this,7)" class=SR href="#30">port_1</a>[<a onClick="return qs(event,this,9)" class=SW href="#31">pid_1</a>] <= <a onClick="return qs(event,this,11)" class=SW href="#31">pout_1</a>;
<span class=K>end</span>
<span class=K>always</span> @(<span class=K>negedge</span> <a onClick="return qs(event,this,1)" class=SR href="#28">clk</a>) <span class=K>begin</span>
<span class=C>//`ifdef HAS_DEBUG
</span><span class=C>// $display("%h:%h:%s %h:%h:%s", addr_0, din_0, dut_0.idu.debug, addr_1, din_1, dut_1.kcpsm3_opcode);
</span><span class=C>//`else
</span> <span class=ST>$display</span>(<span class=S>"%h:%h %h:%h"</span>, <a onClick="return qs(event,this,4)" class=SW href="#29">addr_0</a>, <a onClick="return qs(event,this,18)" class=SW href="#34">din_0</a>, <a onClick="return qs(event,this,5)" class=SW href="#29">addr_1</a>, <a onClick="return qs(event,this,19)" class=SW href="#34">din_1</a>);
<span class=C>//`endif
</span> <span class=K>if</span> (<a onClick="return qs(event,this,4)" class=SW href="#29">addr_0</a> != <a onClick="return qs(event,this,5)" class=SW href="#29">addr_1</a>) <span class=ST>$display</span>(<span class=S>"***address mismatch***"</span>);
<span class=K>end</span>
<span class=C>/* Simulation setup */</span>
<span class=K>initial</span> <span class=K>begin</span>
<span class=ST>$dumpvars</span>(-1, cmprnd3_tb);
<span class=ST>$dumpfile</span>(<span class=S>"cmprnd3_tb.vcd"</span>);
<span class=K>end</span>
<span class=C>/* Simulation */</span>
<a name="114"></a><span class=K>integer</span> <a onClick="return qs(event,this,22)" class=SIT href="#114">i</a>;
<span class=K>initial</span> <span class=K>begin</span>
<span class=C>/* Initialize code */</span>
<span class=C>// $random(`RANDOM_SEED);
</span> <span class=K>for</span> (<a onClick="return qs(event,this,22)" class=SIT href="#114">i</a>=0; <a onClick="return qs(event,this,22)" class=SIT href="#114">i</a><<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#79">code_size</a>; <a onClick="return qs(event,this,22)" class=SIT href="#114">i</a>=<a onClick="return qs(event,this,22)" class=SIT href="#114">i</a>+1) <span class=K>begin</span>
rom_0.ram[<a onClick="return qs(event,this,22)" class=SIT href="#114">i</a>] = {<span class=ST>$random</span>} % (1<<<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#72">code_width</a>);
rom_1.ram[<a onClick="return qs(event,this,22)" class=SIT href="#114">i</a>] = rom_0.ram[<a onClick="return qs(event,this,22)" class=SIT href="#114">i</a>];
<span class=K>end</span>
<span class=C>/* Initialize port memory */</span>
<span class=K>for</span> (<a onClick="return qs(event,this,22)" class=SIT href="#114">i</a>=0; <a onClick="return qs(event,this,22)" class=SIT href="#114">i</a><<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="pacoblaze_inc.v.html#83">port_size</a>; <a onClick="return qs(event,this,22)" class=SIT href="#114">i</a>=<a onClick="return qs(event,this,22)" class=SIT href="#114">i</a>+1) <span class=K>begin</span>
<a onClick="return qs(event,this,6)" class=SR href="#94">port_0</a>[<a onClick="return qs(event,this,22)" class=SIT href="#114">i</a>] = <a onClick="return qs(event,this,22)" class=SIT href="#114">i</a>;
<a onClick="return qs(event,this,7)" class=SR href="#30">port_1</a>[<a onClick="return qs(event,this,22)" class=SIT href="#114">i</a>] = <a onClick="return qs(event,this,22)" class=SIT href="#114">i</a>;
<span class=K>end</span>
<a name="129"></a> <a onClick="return qs(event,this,1)" class=SR href="#28">clk</a> = 0; <a onClick="return qs(event,this,2)" class=SR href="#28">rst</a> = 1; <a onClick="return qs(event,this,3)" class=SR href="#28">irq</a> = 0;
#(<a onClick="return qs(event,this,0)" class=PA href="#24">tck</a>*3);
@(<span class=K>negedge</span> <a onClick="return qs(event,this,1)" class=SR href="#28">clk</a>) <a onClick="return qs(event,this,2)" class=SR href="#28">rst</a> = 0; <span class=C>// free processor
</span>
#(<a onClick="return qs(event,this,0)" class=PA href="#24">tck</a>*<span class=D>`</span><a onClick="return qs(event,this,0)" class=D href="#16">TEST_IRQ</a>);
@(<span class=K>negedge</span> <a onClick="return qs(event,this,1)" class=SR href="#28">clk</a>) <a onClick="return qs(event,this,3)" class=SR href="#28">irq</a> = 1; <span class=C>// flag interrupt
</span> @(<span class=K>negedge</span> <a onClick="return qs(event,this,1)" class=SR href="#28">clk</a>) ;
@(<span class=K>negedge</span> <a onClick="return qs(event,this,1)" class=SR href="#28">clk</a>) <a onClick="return qs(event,this,3)" class=SR href="#28">irq</a> = 0;
#(<a onClick="return qs(event,this,0)" class=PA href="#24">program_cycles</a>*<a onClick="return qs(event,this,0)" class=PA href="#24">tck</a>) <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","cmprnd3_tb.v.html#28","cmprnd3_tb.v.html#90","","cmprnd3_tb.v.html#90","index-s.html#clk___cmprnd3_tb"],["S","cmprnd3_tb.v.html#28","cmprnd3_tb.v.html#129","","cmprnd3_tb.v.html#129","index-s.p4.html#rst___cmprnd3_tb"],["S","cmprnd3_tb.v.html#28","cmprnd3_tb.v.html#129","","cmprnd3_tb.v.html#129","index-s.p2.html#irq___cmprnd3_tb"],["S","cmprnd3_tb.v.html#29","","","","index-s.html#addr_0___cmprnd3_tb"],["S","cmprnd3_tb.v.html#29","","","","index-s.html#addr_1___cmprnd3_tb"],["S","cmprnd3_tb.v.html#30","cmprnd3_tb.v.html#94","","cmprnd3_tb.v.html#94","index-s.p3.html#port_0___cmprnd3_tb"],["S","cmprnd3_tb.v.html#30","cmprnd3_tb.v.html#95","","cmprnd3_tb.v.html#95","index-s.p3.html#port_1___cmprnd3_tb"],["S","cmprnd3_tb.v.html#31","","","","index-s.p3.html#pid_0___cmprnd3_tb"],["S","cmprnd3_tb.v.html#31","","","","index-s.p3.html#pid_1___cmprnd3_tb"],["S","cmprnd3_tb.v.html#31","","","","index-s.p3.html#pout_0___cmprnd3_tb"],["S","cmprnd3_tb.v.html#31","","","","index-s.p3.html#pout_1___cmprnd3_tb"],["S","cmprnd3_tb.v.html#32","","","","index-s.p4.html#ren_0___cmprnd3_tb"],["S","cmprnd3_tb.v.html#32","","","","index-s.p4.html#ren_1___cmprnd3_tb"],["S","cmprnd3_tb.v.html#32","","","","index-s.p4.html#wen_0___cmprnd3_tb"],["S","cmprnd3_tb.v.html#32","","","","index-s.p4.html#wen_1___cmprnd3_tb"],["S","cmprnd3_tb.v.html#32","","","","index-s.p2.html#iak_0___cmprnd3_tb"],["S","cmprnd3_tb.v.html#32","","","","index-s.p2.html#iak_1___cmprnd3_tb"],["S","cmprnd3_tb.v.html#34","cmprnd3_tb.v.html#45","","blockram.v.html#47","index-s.p2.html#din_0___cmprnd3_tb"],["S","cmprnd3_tb.v.html#34","cmprnd3_tb.v.html#71","","blockram.v.html#47","index-s.p2.html#din_1___cmprnd3_tb"],["S","cmprnd3_tb.v.html#35","cmprnd3_tb.v.html#35","","cmprnd3_tb.v.html#35","index-s.p3.html#pin_0___cmprnd3_tb"],["S","cmprnd3_tb.v.html#35","cmprnd3_tb.v.html#35","","cmprnd3_tb.v.html#35","index-s.p3.html#pin_1___cmprnd3_tb"],["S","cmprnd3_tb.v.html#114","","","","index-s.p2.html#i___cmprnd3_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="cmprnd3_tb.v">cmprnd3_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 + =
减小字号Ctrl + -
显示快捷键?