$display(''at time %0d clearb=%b data=%d qout=%d",$time,clearb,data,qout); quot什么意思思

Verilog_HDL模型(门级_RTL级_算法级_系统级)
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
Verilog_HDL模型(门级_RTL级_算法级_系统级)
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口2 教程范例2004_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者贡献于
评价文档:
39页1下载券39页免费39页4下载券39页1下载券39页免费 25页1下载券42页2下载券28页免费34页4下载券
喜欢此文档的还喜欢98页1下载券25页免费2页免费63页1下载券5页1下载券
2 教程范例2004|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:244.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
设计和验证部分VerilogHDL模型的不同抽象级别
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口Verilog概述
Verilog HDL 基础语法入门
Verilog实例
什么是Verilog
&&& Verilog HDL是目前应用最为广泛的硬件描述语言.Verilog HDL可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合,仿真验证和时序分析等。
  Verilog HDL适合算法级,寄存器级,逻辑级,门级和版图级等各个层次的设计和描述.
  Verilog HDL进行设计最大的优点是其工艺无关性.这使得工程师在功能设计,逻辑验证阶段可以不必过多考虑门级及工艺实现的具体细节,只需根据系统设计的要求施加不同的约束条件,即可设计出实际.
  Verilog HDL是一种硬件描述语言( ON language),为了制作数字电路而用来描述ASICs和的设计之用。Verilog 的设计者想要以 C 编程语言为基础设计一种语言,可以使工程师比较容易学习。
  Verilog 是由en:Gateway Design ON公司于大约1984年开始发展。Gateway Design 公司后来被 Cadence Design Systems于1990年所购并。现在 Cadence 对于 Gateway 公司的 Verilog 和 Verilog-XL 拥有全部的财产权。
目的:简单介绍Verilog HDL语言和仿真介绍讲课计划介绍如何不断地学习新的有关知识
讲课内容主要包括:Verilog 的应用Verilog 语言的组成部件 结构级的建模与仿真行为级的建模与仿真延迟参数的表示Verilog 的测试平台:怎样产生激励信号和控制信号&输出响应的产生、记录和验证任务和函数用户定义的(primitives)可综合风格的Verilog 建模如何对所做的设计进行编译和仿真如何使用元器件库如何用Verilog-XL命令行界面调试代码如何用图形用户界面(GUI)延迟的计算和标记仿真性能建模循环多次仿真
第二讲:Verilog 的应用
目的:了解用HDL语言设计数字逻辑的优点了解Verilog 主要应用领域了解Verilog 的发展历史了解系统的不同层次的Verilog抽象
Verilog HDL是一种用于数字设计的语言:
- 用Verilog HDL描述的电路设计就是该电路& 的 Verilog HDL模型。- Verilog HDL 既是一种行为描述的语言也& 是一种结构描述的语言。
这也就是说,既可以用电路的功能描述也可以用和它们之间的连接来建立所设计电路的Verilog HDL模型。Verilog模型可以是实际电路的不同级别的抽象。这些抽象的级别和它们对应的模型类型共有以下五种:
系统级(system): 用高级语言结构实现设计模块的外部性能的模算法级(algorithmic): 用高级语言结构实现设计算法的模型。RTL级(Register Transfer Level): 描述数据在寄存器之间流动和如何处理这些数据的模型。门级(gate-level): 描述逻辑门以及逻辑门之间的连接的模型。级(switch-level): 描述器件中和储存节点以及它们之间连接的模型。
一个复杂电路的完整Verilog HDL模型是由若个 Verilog HDL 模块构成的,每一个模块又可以由若干个子模块构成。& 利用Verilog HDL语言结构所提供的这种功能就可以构造一个模块间的清晰层次结构来描述极其复杂的大型设计。& Verilog HDL行为描述语言作为一种结构化和过程性的语言,其语法结构非常适合于算法级和RTL级的模型设计。这种行为描述语言具有以下八项功能:可描述顺序执行或并行执行的程序结构。用延迟表达式或事件表达式来明确地控制过程的启动时间。通过命名的事件来触发其它过程里的激活行为或停止行为。提供了条件、if-else、case、循环程序结构。提供了可带参数且非零延续时间的任务(task)程序结构。提供了可定义新的操作符的函数结构(functi)。提供了用于建立表达式的算术运算符、逻辑运算符、位运算符。&& Verilog HDL语言作为一种结构化的语言也非常适合于门级和开关级的模型设计。 && Verilog HDL的构造性语句可以精确地建立信号的模型。这是因为在Verilog HDL中,提供了延迟和输出强度的原语来建立精确程度很高的信号模型。信号值可以有不同的的强度,可以通过设定宽范围的模糊值来降低不确定条件的影响。
&& Verilog HDL作为一种高级的硬件描述编程语言,有着类似C语言的风格。其中有许多语句如:if语句、case语句等和C语言中的对应语句十分相似。如果读者已经掌握C语言编程的基础,那么学习 Verilog HDL并不困难,我们只要对Verilog HDL某些语句的特殊方面着重理解,并加强上机练习就能很好地掌握它,利用它的强大功能来设计复杂的数字逻辑电路。下面我们将对Verilog HDL中的基本语法逐一加以介绍。
模块的抽象
第三讲.简单的 Verilog HDL 模块
下面先介绍几个简单的Verilog HDL程序,然后从中分析Verilog HDL程序的特性。例[2.1.1]: & adder ( count,sum,a,b,cin );&&&&&&&&&&&&&&&&&&&& input [2:0] a,b;&&&&&&&&&&&&&&&&&&&& input&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&
[2:0]&&&&&&&&&&&&&&&&&&&&&&&& assign {count,sum}=a+b+&&&&&&&&&&&&&&&&&&&& end& 这个例子描述了一个三位的加法器。从例子中可以看出整个Verilog HDL程序是嵌套在和end声明语句里的。例[2.1.2]:&& compare ( equal,a,b );&&&&&&&&&&& //声明输出信号equal&input [1:0] a,b;&&&&&&& //声明输入信号a,b&& assign& equal=(a==b)?1:0;&&&&& /*如果两个输入信号相等,输出为1。否则为0*/end
这个程序描述了一个.在这个程序中,/*........*/和//.........表示注释部分,注释只是为了方便程序员理解程序,对编译是不起作用的。例[2.1.3]:
& tri2(out,in,enable);&&&input&& in,&&& bufif1& mybuf(out,in,enable);end
这个程序描述了一个三态。程序通过调用一个实例元件bufif1来实现其功能。例[2.1.4]:& trist1(out,in,enable);&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&& input& in,&&&&&&&&&&&&&&&&&&&&&&&&& mytri& tri_inst(out,in,enable);&&&&&&&&&&&&&&&&&&&&& end
&&&&&&&&&&&&&&&&&&&& & mytri(out,in,enable);&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&& input& in,&&&&&&&&&&&&&&&&&&&&&&&& assign& out = enable? In : '&&&&&&&&&&&&&&&&&&&& end上述程序例子通过另一种方法描述了一个三态门。
在这个例子中存在着两个模块:模块trist1& 调用模块 mytri 的实例元件 tri_inst。
模块 trist1 是上层模块。模块 mytri 则被称为子模块。
通过这种结构性模块构造可构成特大型模块。通过上面的例子可以看到:&Verilog HDL程序是由模块构成的。模块是可以进行层次嵌套的。正因为如此,才可以将大型的数字设计分割成不同的小模块来实现特定的功能,最后通过顶层模块调用子模块来实现整体功能。
&每个模块要进行端口定义,并说明输入输出口,然后对模块的功能进行行为逻辑描述。
&Verilog HDL程序的书写格式自由,一行可以写几个语句,一个语句也可以分写多行。
&除了end语句外,每个语句和数据定义的最后必须有分号
&可以用/*.....*/和//...对Verilog HDL程序的任何部分作注释。一个好的,有使用价值的源程序都应当加上必要的注释,以增强程序的可读性和可维护性。
模块的结构
Verilog的基本设计单元是“模块”(block)。一个模块是由两部分组成的:一)描述;二)描述逻辑功能,即定义输入是如何影响输出的。下面举例说明:
从上面的例子可以看出:
- Verilog模块结构完全嵌在和end声明语句之间;
- 每个Verilog程序包括四个主要部分:端口定义、I/O说明、内部信号声明、功能定义。
第四讲 模块的测试
如何检查上述例子其功能是否正确?
&需要有测试激励信号输入到被测模块&需要记录被测模块的输出信号&需要把用功能和行为描述的Verilog模块& 转换为门级互连的电路结构(综合)。&需要对已经转换为门级电路结构的逻辑& 进行测试(门级电路仿真)。&需要对布局布线后的电路结构进行测试。&(布局布线后仿真)。
测试模块常见的形式:reg …;&&&&&&&& //被测模块输入/输出变量类型定义wire…;&&&&&& //被测模块输入/输出变量类型定义initial begin …;&& …;& …;& end … …//产生测试信号always #delay& begin …;& end& … …//产生测试信号
Testedmd m(.in1(ina), .in2(inb), .out1(outa), .out2(outb) );//被测模块的实例引用
initial begin ….; ….; ….&&& end&&&&& //记录输出和响应end
测试模块中常用的过程块:
所有的过程块都在0时刻同时启动;它们是并行的,在模块中不分前后。&initial块 只执行一次。&always块 只要符合触发条件可以循环执行。
如何描述激励信号:reg a, b,wire&//引用多路器实例& mux2_m (out, a, b, sel);//加入激励信号initial begin& a=0; b=1; sel=0; &&&&&&&&&&&&&&&&&&&& #10 b=0; &&&&&&&&&&&&&&&&&&&& #10 b=1; sel=1;&&&&&&&&&&&&&&&&&&&& #10 a=1;&&&&&&&&&&&&&&&&&&&& #10 $&&&&&&&&&& end如何观察被测模块的响应:& 在initial 块中,用系统任务$time 和 $mitor& $time&& 返回当前的仿真时刻& $monitor 只要在其变量列表中有某一个或某几个变&&& 量值发生变化,便在仿真单位时间结束时显示其变&&& 量列表中所有变量的值。
例:& initial & begin&& $monitor ($time, , “out=%b a=%b sel=%b”, out,a,b,sel);&& end如何把被测模块的输出变化记录到数据库文件中?(文件格式为,大多数的波形显示都能读取该格式)可用以下七个系统任务:
$dumpfile(“file.dump”);& //打开记录数据变化的数据文件$dumpvars();&&&&&&&&&&&&&&&&&& //选择需要记录的变量$&&&&&&& //把记录在数据文件中的资料转送到硬盘保存$&&&&&&&&&& //停止记录数据变化$&&&&&&&&&&& //重新开始记录数据变化$dumplimit(&file_size&); //规定数据文件的大小(字节)$&&&&&&&&&&& //记录所有指定信号的变化值到数据文件中如何把被测模块的响应变化记录到数据库文件中?举例说明:$&&&&&&&&& //记录各层次模块中所有信号的变化$dumpvars(1,top); //只记录模块top中所有信号的变化$dumpvars(2,top.u1); //记录top模块中实例u1和它以下一层子模块所有信号的变化$dumpvars(0,top.u2,top.u1.u13.q); //记录top模块中实例u2和它本层所有信号的变化,还有top.u1.u13.q信号的变化。$dumpvars(3,top.u2,top.u1); //记录top模块中u2和u1所有信号的变化(包括其两层以下子模块的信号变化)。如何把被测模块的响应变化记录到数据库文件中?
举例说明:下面的 Verilog 代码段可以代替测试文件中的系统任务$monitor&initial& begin&& $dumpfile(“vlog.dump”);&& $dumpvars(0,top); & end
第五讲. Verilog 语法要点
Verilog 与 C 的主要不同点
Verilog 有许多语法规则与 C 语言一致。&& 但与 C 语言有根本的区别:-&&&& 并行性-&&&& 块的含义:& initial 块 和 always块& 两种赋值语句: 阻塞 赋值&&&&& “ = ” &&&&&&&&&&&&&&&&&&&&&&&&&&&&& 非阻塞赋值&&&&& “〈= ”
空格和注释
&Verilog 是一种格式很自由的语言。& 空格在文本中起一个分离符的作用,&&& 别的没有其他用处。&单行注释符用& //*********&&&&&&&&&&&&&&&&&&&&& && 与C 语言一致&多行注释符用 /*& -------------------------&&& */ && 与C 语言一致
整数和实常数&
& Verilog 语言中常数可以是整数或实数:整数可以标明位数也可以不标明位数,表示方法:& 《位数》‘《基数》《值》&& 其中《位数》表明该数用二进制的几位来表示&&&&&& 《基数》可以是二(b)、八(O)、十(d)或&&&&&&&&&&&&&& 十六(h)进制&&&&&& 《数值》可以是所选基数的任何合法的值包括&&&&&&& 不定值 x 位和高阻值 z。如:64‘hff01& 8’b ‘h83a
实常数可以用十进制表示也可以用科学浮点数表示,如:32e-4 (表示0.0032) 4.1E3( 表示 )
& Verilog 语言中,字符串常常用于表示命令内需要显示的信息。
& 用“ ”括起来的一行字符串,换新一行用 “\n” 字符,与 C 语言一致。& 在字符串中可以用 C 语言中的各种格式控制符,如\t, \”, \\…& 在字符串中可以用 C 语言中的各种数值型式控制符(有些不同),如:& %b(二进制), %o(八进制),& %d(十进制),& %h(十六进制), %t(时间类型),%s (字符串类型)…
所谓标识别符就是用户为程序描述中的Verilog 对象所起的名字。
标识符必须以英语字母(a-z, A-Z)起头,或者用下横线符( _ )起头。其中可以包含数字、$符和下横线符。
标识符最长可以达到个字符。
模块名、端口名和实例名都是标识符。
Verilog语言是大小写敏感的,因此sel 和 SEL 是两个不同的标识符。
合法和非法标识符
Verilog 是大小写敏感的。所有的Verilog 关键词都是小写的。
特别的标识符
特别标识符是用 “\” 符开始,以空格符结束的标& 识符。它可以包含任何可打印的ASCII字符。
但“\”符和空格并不算是标识符的一部分。特别标识符往往是由RTL级源代码或图类型的设计输入经过综合器自动综合生成的网表结构型Verilog 语句中的标识符。举例说明:\~#@sel ,& \bus+index ,& \{A,B} ,Top.\3in .net1 , //在层次模块中的标识名
系统任务和函数
$&标识符&‘$’ 符号表示 Verilog 的系统任务和函数常用的系统任务和函数有下面几种:$time&&&&&&&&&&&&&& //找到当前的仿真时间$display, $mitor& //显示和监视信号值的变化$stop&&&&&&&&&&&&&& //暂停仿真$finish&&&&&&&&&&&& //结束仿真-------------------------------------------------------例:&initial $monitor($time,,”a=%b, b=%b”, a, b); //每当a 或b值变化时该系统任务都显示当前的仿真时刻并分别用二进制和十六进制显示信号a和 b的值
特殊符号 “#”
特殊符号 “#” 常用来表示延迟:
在过程赋值语句时表示延迟。例:initial begin& #10 rst=1; #50 rst=0; end
在门级实例引用时表示延迟。例:not #1 not1(nsel, sel);&&&& and #2 and2(a1, a, nsel);
在模块实例引用时表示参数传递&& 介绍参数类型变量时再讲。。。。
用门级结构描述D触发器
&flop(data,clock,clear,q,qb);input&&data,clock,&q,
nand&#10&nd1(a,data,clock,clear),&&&&&&&&&&& nd2(b,ndata,clock),&&&&&&&&&&& nd4(d,c,b,clear),&&&&&&&&&&& nd5(e,c,nclock),&&&&&&&&&&& nd6(f,d,nclock),&&&&&&&&&&& nd8(qb,q,f,clear);nand&#9&nd3(c,a,d),&&&&&&&&&&& nd7(q,e,qb);not&#10&iv1(ndata,data),&&&&&&&&&&& iv2(nclock,clock);end
由已设计的模块来构成高一级的模块
`include “ flop.v ”&hardreg(d,clk,clrb,q);input&&clk,input[3:0]&&&&&[3:0]&q;
flop&f1(d[0],clk,clrb,q[0],),&&&& f2(d[1],clk,clrb,q[1],),&&&& f3(d[2],clk,clrb,q[2],),&&&& f4(d[3],clk,clrb,q[3],);end
编写测试模块通过仿真检查设计正确与否
`include “hardreg.v” hardreg_
reg clock,reg [3:0] data;wire [3:0]`define stim& #100 data=4'b&&&&&&&&&&&&&&&&&& //宏定义 stim,可使源程序简洁event& end_first_&//定义事件end_first_passhardreg reg_4bit(.d(data),.clk(clock), .clrb(clearb), .q(qout));/*---------------------------------------------------把本模块中产生的测试信号data、clock、clearb输入实例reg_4bit以观察输出信号qout.实例reg_4bit引用了hardreg---------------------------------------------------*/&initial&& begin&&&& clock = 0;&&&& clearb = 1;&& end&&& always #50 clock = ~/*-------------------------------------------------宏定义stim引用,等同于 #100 data=4'b&&&& 注意引用时要用 `符号。--------------------------------------*/`stim 0000;`stim 0001;&&& . . . . . .`stim 1111;end#200 -& end_first_/*-------------------------------------------------延迟200个单位时间,触发事件end_first_pass-------------------------------------------------*/$&&//结束仿真endend
有限状态机的设计
- 有限状态机是由寄存器组和组合逻辑构成的& 硬件时序;- 其状态(即由寄存器组的1和0的组合状态所& 构成的有限个状态)只能在同一时钟跳变沿& 的 情况下才能从一个状态转向另一个状态;- 究竟转向哪一状态不但取决于各个输入值,& 还取决于当前状态。- 状态机可用于产生在时钟跳变沿时刻的& 复杂的控制逻辑,是数字逻辑的控制核心。
& fsm (Clock, Reset, A,& F, G);input Clock, Reset, A; F,G;reg F,G;reg [1:0]
parameter&& Idle& = 2’b00,& Start = 2’b01,& &&&&&&&&&&& Stop& = 2’b10,& Clear = 2’b11;
always @(posedge Clock)&& if (!Reset)&&&& begin &&&&&&& state &= I& F&=0; G&=0; &&&& end&& else&&&&&&&& case (state)&&&&&&&&&& idle:& begin &&&&&&&&&&&&&&&&&&& if (A)&&& state &= S&&&&&&&&&&&&&&&&&&&&&&&&&& G&=0;&&&&&&&&&&&&&&&&& end&&&&&&&&& start:&&& if (!A)&& state &= S&&&&&&&&&& Stop:& begin &&&&&&&&&&&&&&&&&& if (A)& state &= C&&&&&&&&&&&&&&&&&&&&&&&&& F &= 1;&&&&&&&&&&&&&&&&& end&&&&&&&&& Clear:& begin &&&&&&&&&&&&&&&&&&& if (!A)& state &=I&&&&&&&&&&&&&&&&&&& F&=0;& G&=1;&&&&&&&&&&&&&&&&& end&&&&&&&& endcaseend 还可以用另一个Verilog HDL模型来表示同一个有限状态,见下例:
& fsm (Clock, Reset, A,& F, G);
input Clock, Reset, A;& F,G;reg F,G;reg [3:0]
parameter&& Idle&&&& = 4’b1000,& &&&&&&&&&&& Start&&& = 4’b0100,& &&&&&&&&&&& Stop&&&& = 4’b0010, &&&&&&&&&&& Clear&&& = 4’b0001;&& always @(posedge clock)&&&&& if (!Reset)&&&&&&&& begin &&&&&&&&&& state &= I& F&=0; G&=0;&&&&&&&& end&&&& else&&&&&&&&& case (state)&&&&&&&&&& Idle:& begin &&&&&&&&&&&&&&&&&& if (A)& state &= S&&&&&&&&&&&&&&&&&&&&&&&&&& G&=0;&&&&&&&&&&&&&&&&& end&&&&&&&&& Start: if (!A)& state &= S&&&&&&&&&& Stop:& begin &&&&&&&&&&&&&&&&&&& if (A) state &= C
&&&&&&&&&&&&&&&&&&&&&&& F &= 1;&&&&&&&&&&&&&&&&&&&&&& end&&&&&&&& Clear: begin &&&&&&&&&&&&&&&& if (!A)& state &=I&&&&&&&&&&&&&&&&&&&&&&&& F&=0;& G&=1;&&&&&&&&&&&&&&& end&&&&&& default:& state &=I&&&&&& endcase
end 我们还可以用另一种风格的Verilog HDL模型来表示同一个有限状态。在这个模型中,我们把用always语句在时钟沿触发条件下的状态变化放在一个独立的块中, 而把在状态控制下的两个开关分两个独立的组合逻辑always块来描述。见下例:
& fsm (Clock, Reset, A,& F, G);input Clock, Reset, A; F,G;reg [1:0]reg F,G;
parameter&& Idle& = 2’b00,& Start = 2’b01,& &&&&&&&&&&&& Stop = 2’b10,&& Clear = 2’b11;always @(posedge Clock)&& if (!Reset)&&&&&&&& begin &&&&&&&&&& state &= I&& &&&&&&&& end&&&& else&&&&&& case (state)&&&&&&&&&& Idle:& if (A)&& state &= S&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&& Start:& if (!A)& state &= S&&&&&&&&&& Stop:& if (A)&& state &= C&&&&&&&&& Clear:& if (!A)& state &= I&&&&&&&&&&&&&&&& &&&&&&& default:& state &= 2 ’&&&&&& endcasealways @(state or Reset or A)& begin&&& if ( !Reset)& F = 0;&&&& else if (state == Stop) F = 1;& end
&always @(state or Reset or A)&& begin&&& if (! Reset)& G = 0;&&&& else if (state == Clear) G = 1;&& end&&& end
现在有26人对本文发表评论
<form onsubmit="if(document.getElementById('content').value.length500){alert('评论不能少于三个字符,大于500个字符!');document.getElementById('content').focus();}" action="/common/comment_post.aspx" method="post">
Copyright & 2007- Corp.All Rights Reserved. 版权所有 经营许可证编号: 法律声明
维库电子旗下网站:维库电子市场网 | ChinaICMart | 维库电子开发网 | 维库电子人才网
总部:杭州市下城区朝晖路182号国都发展大厦1号楼80A
电话:9-8016 QQ: | MSN: |Verilog HDL行为语句_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
文档贡献者贡献于
评价文档:
36页免费20页免费101页免费37页免费47页免费 26页免费47页免费12页免费3页免费49页1下载券
喜欢此文档的还喜欢26页免费101页免费187页免费146页免费49页1下载券
Verilog HDL行为语句|V&#8203;e&#8203;r&#8203;i&#8203;l&#8203;o&#8203;g&#8203; &#8203;H&#8203;D&#8203;L&#8203;行&#8203;为&#8203;语&#8203;句
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
大小:1.13MB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢

我要回帖

更多关于 quot什么意思 的文章

 

随机推荐