欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年EDA第五章复习总结.docx

    • 资源ID:27264124       资源大小:116.78KB        全文页数:24页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年EDA第五章复习总结.docx

    名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -5.1 VHDL 概述硬件描述语言 VHDL 的突出优点 1.打破了 IC 设计者与使用者的界线 2.VHDL 及其配套工具软件简洁易学,直观明白,便于快速把握,也便于修改;3.极大地缩短了专用芯片的开发周期,降低开发成本,加快了产品更新换代的速度,提 高产品的市场竞争力;4.大大缩小电路板面积和整机体积,提高产品牢靠性,增强产品功能,实现技术保密;5.可实现电路设计的模块化和积木式多级组合;各模块均可在今后被重复再利用(调 用);6.完全实现拥有整机的自主学问产权,不再在关键芯片(专用芯片)的进口及价格方面 受制于人;5.2 VHDL 程序的结构一、基本的 VHDL 描述的组成:实体( entity)部分 64 页2.结构体( architecture)部分 67 页IN 输入 、OUT 输出 是表示信号的类别;和BIT 是表示信号的类型, BIT 是系统定义的类型,即二进位类型,信号只有01两种值;每个 VHDL 语句都是 以“ ; ”终止 ,包括最终一个语句也不例外;VHDL 中的“ 注释” 是以两个减号“-”开头的;二、实体描述ENTITY 实体名IS PORT 信号名 : 类别信号类型; 信号名 : 类别信号类型 ; END 实体名 ; 同样类别和类型的信号可以用逗号分隔,在一个语句行中说明;信号的类别 主要有以下 4 种:IN :此信号是输入信号;OUT :此信号是输出信号,供应应其他的实体;:缓冲信号,也是实体的输出信号,但是可以被实体本身的结构体读入;INOUT :双向信号,既可以输入,也可以输出;系统预定义的信号类型有:0或1 ; 第 1 页,共 13 页 BIT :二进位型,信号的值只能是细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -BIT_VECTOR :二进位向量,实际对应的是二进位数组;BOOLEAN :布尔型,取值只能是true 或者 false ;INTEGER :整型,一般都用32 位二进制数表示整型数;CHARACTER :字符型,使用 8 位编码的 ASCII 字符;三、结构体描述OF 实体名IS ARCHITECTURE 结构体名<声明部分 > BEGIN <描述部分 > END 结构体名 ; 对于一个实体来说,可以有几种不同的结构体描述;5.3 VHDL 程序的元素一、关键字 二、标识符的命名 三、数据类型85 页 85 页 91 页预定义: 整数 Integer:-2 的 31 次方-12 的 31 次方 -1 实数 Real:-1.0E+38-+1.0E+38 位 Bit :0或1 位矢量 Bit_Vector:” 001100” 布尔量 Boolean:真或假 字符 Character:A,C 物理 Time:预定义为时间,其他如电压、电流等也为物理型 错误等级 :NOTE、WARNING 、ERROR、FAILURE 自然数( Natural)、正整数( Positive) 字符串( String),如”morning”96 页用户自定义类型: 枚举型 可以通过枚举类型来定义信号的取值;除了最常用的二值规律(已经预定义为 BIT 型),仍可以有三值规律(信号有三种取值: 0 、1和z ),九值规律等TYPE 枚举类型名IS 枚举型值表 ; 如 TYPE qit_logic IS '0','1','Z','X' STD_ULOGIC 在 IEEE1164 标准规律包中所定义的 种枚举型的数据类型:std_ulogic 类型是一种九值规律,也是一TYPE std_ulogic IS 'U', -Uninitialized 'X', -Forcing Unknown 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -'0', - Forcing 0 '1', - Forcing 1 'Z', -High Impedance 'W',-Weak Unknown 'L', -Weak 0 'H', -Weak 1 数组类型'-' , -Don't Care; TYPE 数组名 IS ARRAY 范畴 OF 基类型型;1,其中的“ 基类型” 是已经定义过的类型,甚至可以是已经定义过 的数组类2,定义中的“ 范畴” ,既表示数组的大小,也说明用什么方式表示数组元素的 下标;通常,“ 范畴” 是用整数表示,也可以用枚举值表示3,“ 范畴” 用整数表示时,整数范畴可以是递增表示,也可以是递减表示:TYPE register IS ARRAY 0 TO 7 OF BIT; TYPE regist_1 IS ARRAY 7 DOWNTO 1 OF BIT; TYPE rom IS ARRAY 0 TO 7 OF register; 类型实际上是用 register基类型 定义的 二维数组 ,即TYPE rom IS ARRAY 0 TO 7, 0 TO 7 OF BIT; 数组的范畴仍可以用 已经定义过的枚举型来表示,如:“ red、 yellow、TYPE light_delay IS ARRAY traffic_light OF INTEGER; 这里的traffic-light是已经定义的枚举类型,有三个取值(green” );将来定义的类型为light-delay 的数组,也 只会有三个元素 ;在 VHDL 中,可以对数组的整体赋值:如定义了 regist_1 类型的数组信号:TYPE regist_1 IS ARRAY 7 DOWNTO 0 OF BIT; SIGNAL arr_1, arr_2 : regist_1; 97 页以下的赋值操作在VHDL 中都是答应的:arr_1 <= "10110110" arr_2 <=arr_1; 子类型期望对某种类型数据的范畴加以限制四、对象把信号、变量、常量和文件统称为对象;89 页1. 常量的定义 CONSTANT 常量名 : 类型名 := 常量值 ; 例如:CONSTANT array_size : INTEGER := 16; CONSTANT gate_delay : TIME := 50ns; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -2.变量的定义变量的定义采纳如下的方式:VARIABLE 变量名 : 类型名 :=初值 ;变量的赋值用“:=”来表示;变量的赋值没有推迟;3.信号的定义信号定义的方式:SIGNAL 信号名 : 类型名 :=初值 ; 信号的赋值用“<=” 表示,有推迟,初始化不同于赋值信号的传送可以规定推迟,也可以不规定推迟;但是VHDL 规定,假如没有指定信号传送的推迟,信号的传送也会有 一个最小推迟 ;信号可以是 全局定义 的,PORT 中定义的信号就是对全部的结构体都有效;但是,信号也可以是 局部定义 的,在结构体内部定义的信号只对这个结构体有效;五、词法单元 87 页1.注释 以双连符( -)开头直到行末2.VHDL 中的数字 八进制: 以 O 开头,如 O” 340” 二进制: 以 B 开头,如 B” 11100000” 十六进制: 以 X 开头 ,如 X” E0”字符 文字字符表示形式为:单引号括起来的ASCII 字符,如A,* 字符串文字字符串表示形式为:双引号括起来的图形字符序列;如”how are you”,” 等5.位串 位串表示形式为:双引号括起来的扩展的数字序列 ,数字序列前冠以基数说明符;如:长度为八的二进制数,等效245 6.VHDL 语句中使用的标点符号 分号(;)是一条语句终止的标志 逗号(,)是对象的分隔符 冒号(:)和原点( .)的用法在每条语句中给出六、表达式与运算符102 页详细的运算符和其他程序设计语言中的表达式很相像,一个表达式是由运算符把对象名、文 字、函数调用及括起来的表达式连接起来的式子;在一个 VHDL 表达式中,数据的类型应当相同;假如不同的数据类型显现在同一个表达式, VHDL 不会进行自动类型的转换,而只会给出错误信息;AND 运算;支持运算符的重载;例如可以对不同类型的信号各自进行细心整理归纳 精选学习资料 第 4 页,共 13 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -七、 VHDL 的库和包1.VHDL 库的种类和使用VHDL 的库可以分为三种类型:系统库, IEEE 库、用户库;系统库 是 VHDL 语言本身预定义的库,包括 STD 库和 WORK 库; STD 库是系 统的标准库,全部系统本身预定义的类型和有关的操作都包含在这个库中;WORK 库 是用户的工作库;对用户都是 透亮的 ,也就是 随时都可以使用 的,不需要在描述中专门说明;IEEE 库是 IEEE 认可的标准库,其中包括对于 的定义;STD_LOGIC 类型以及有关函数用户库 就是 VHDL 软件供应厂商开发的库,应当查询相应软件的说明;2.程序包一个 VHDL 库可以包含很多内容,并且往往以程序包(Package)的形式组织在一起;一个程序包由两个部分构成:包的说明部分(部分( Package Body);基本的结构如下:Package Declaration)和包的主体PACKAGE 程序包名 IS 程序包说明部分 END 程序包名 ; PACKAGE BODY 程序包名 程序包主体描述IS END 程序包名 ; 说明部分可以包括:常量说明;信号说明,这里说明的信号可以被全部的结构体使用;类型说明;函数或过程说明;部件( Component)说明,程序包的主体部分 就是对所包含的函数、过程、结构体进行详细的描述;程序包示例PACKAGE qit_utilities IS TYPE qit IS '0, 1, Z, X;FUNCTION "AND" a, b :qit RETURN qit; FUNCTION "OR" a, b :qit RETURN qit; END qit_utilities; 只是声明,有这个函数细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 5 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -PACKAGE BODY qit_utilities IS FUNCTION "AND" a, b :qit RETURN qit IS CONSTANT qit_and_table : qit_2d := '0', '0', '0', '0', '0', '1', '1', 'X', '0', '1', '1', 'X', '0', 'X', 'X', 'X' BEGIN RETURN qit_and_tablea, b; END "AND" FUNCTION "OR" a, b :qit RETURN qit IS CONSTANT qit_or_table : qit_2d := '0', '1', '1', 'X', '1', '1', '1', '1', '1', '1', '1', '1', 'X', '1', '1', 'X' BEGIN RETURN qit_or_tablea, b; END "OR" 对函数的详细过程描述函数的定义方法 71 页例 3-3 比较END qit_utilities; 以上的程序包中定义了一种4 值规律及其操作 ;在说明部分定义了一种新的信号类型 qit,也就是一种 4 值规律,仍说明白两个函数 AND 和 OR,用来对 4 值规律进行“ 与”“ 或” 运算;在 BODY 部分实现了这两个函数;3.库和程序包的引用源程序都要第一声明使用什么VHDL77 页在全部的VHDL库;声明要使用关键字LIBRARY ,例如,要使用 IEEE 库,使用这个库中的哪个程序包就应当作以下的声明:LIBRARY IEEE; 函USE 库名.程序包名 .ALL; 包中全部内容可用USE 库名.程序包名 .子程序名 ; 包中选中内容可用4.函数和过程前一页程序包的例子中既可以使用函数,也可以使用过程(Procedure);两者统称为子程序;数的定义 包括函数说明和函数主体两部分,基本的格式如下:FUNCTION 函数名 参数表 RETURN 类型 IS BEGIN 函数体 END 函数名 ; 函数体中 肯定要包括 RETURN 语句 ;过程的定义和函数的定义特别相像:PROCEDURE 过程名 参数表 IS BEGIN 过程体END 过程名 ; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -过程没有返回值;函数的参数传递总是 一个方向 的,也就是传入到函数,而过程的参数传递可以是 两个方向 的;详细在过程执行中参数如何传递,取决于参数的类别(IN、OUT、INOUT等),而对于函数参数的类别,就只能有一种 :IN ,就是输入到函数;5.4 VHDL 程序的描述语句可以有很多并行处理语句,这些语句的执行是可以同时进行的;并行语句主要是 信号传送语句;传送时可以指定传输推迟; ;假如传送时没有指定时延,VHDL 会对并行处理语句的执行加上一个最小时延一、并行赋值 语句并行赋值语句是最基本的 VHDL 语句,它的格式是:信号名 <=表达式 ; 信号名 <=表达式 AFTER 推迟时间 ; 例 5.4 半加器 的数据流描述 ;ENTITY half_adder IS PORTa, b: IN BIT; s, c0: OUT BIT; END half_adder; ARCHITECTURE h_adder OF half_adder IS SIGNAL c, d: BIT; c<= a OR b; BEGIN 信号时非输入输出的中间量相 d<= a NAND b; 当于下一阶段的输入和上一阶段的输出 . c0<= NOT d; s<= c AND d; END h_adder; 二、条件赋值语句条件赋值语句也是一种信号赋值语句,只是赋给信号的值可以依据条件的不同而不同;条件赋值语句的 格式如下 :信号名 <= 表达式 1 WHEN 布尔表达式 1 ELSE 表达式 2 WHEN 布尔表达式 2 ELSE 表达式 n WHEN 布尔表达式 n ELSE 表达式 ; 例 5.5 用条件赋值语句描述 数据挑选器;ENTITY mux4_to_1 IS PORTd0, d1, d2, d3, a, b: IN BIT; y: OUT BIT; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -END mux4_to_1; ARCHITECTURE sample_1 OF mux4_to_1 IS BEGIN y<= d0 WHEN a='0' AND b='0' ELSE d1 WHEN a='0' AND b='1' ELSE d2 WHEN a='1' AND b='0' ELSE d3 WHEN a='1' AND b='1' ; END sample_1 三,挑选信号赋值语句和例 5.4 比,没有需要中间信号挑选信号赋值语句可以依据一个表达式的不同取值,给信号或者信号数组赋以不同 的结果;挑选信号赋值语句的格式如下:WITH 表达式 SELECT 信号名 <= 信号值 1 WHEN 表达式值 1, 信号值 2 WHEN 表达式值 2, 信号值 n WHEN others; 例 5.6 用信号挑选语句 描述数据挑选器;ENTITY mux4_to_1 IS PORTd0, d1, d2, d3, a, b: IN std_logic; y: OUT std_logic; END mux4_to_1; ARCHITECTURE sample_2 OF mux4_to_1 IS BEGIN WITH a&b SELECT y<= d0 WHEN "00", d1 WHEN "01", d2 WHEN "10", d3 WHEN "11", 'X' WHEN OTHERS; END sample_2; 5.4.2 次序描述语句并行信号传输语句主要描述硬件电路或系统中信号的传送过程;同时,VHDL 仍支持次序描述语句,主要使用于对电路和系统的性能描述;次序描述语句的执行就和一般程序设计语言中语句相像,是依据语句的次序依次执行的;前一条语句的 结果会影响到下一条语句的执行;132 页一、 PROCESS语句尽管 PROCESS语句本身是并行描述语句, 可以和其他并行语句同时执行,但是PROCESS语句 内部的语句都是次序语句;PROCESS语句一旦开头执行,就要依次执行其中的次序语句,始终到最终的 END PROCESS为止;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -语句的格式如下:PROCESS信号 1, ,信号 k 用到的信号 变量说明 定义 ; 其他说明 ; BEGIN 次序语句 次序语句 END PROCESS; 二、分支语句两分支 IF 语句的格式:多分支 IF 语句的格式:IF 布尔表达式 IF 布尔表达式 THEN 次序语句 THEN 次序语句 ELSE 次序语句 ELSIF 布尔表达式 END IF; THEN 次序语句 ELSE 次序语句 END IF; 例 5.7 反向器 的次序描述;ENTITY inverter IS PORTx: IN BIT; y: OUT BIT; END inverter; ARCHITECTURE behave OF inverter IS BEGIN PROCESSx 只用到 x 作为判定条件 BEGIN IF x='0' THEN y<=1'ELSE y<=0'END IF; END PROCESS; END behave; 三、另外一种分支语句 CASE 语句 CASE 语句是从多个可能的分支中挑选一个分支进行操作;语句的格式如下:CASE 表达式 IS WHEN 值 1 => 次序语句 1 WHEN 值 k => 次序语句 k WHEN OTHERS => 次序语句 k+1 END CASE; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -例 5.8 四选一数据挑选器 的次序描述;ENTITY mux4_1 IS PORTa, b, i0, i1, i2, i3: IN BIT;y: OUT BIT; END mux4_1; ARCHITECTURE behave OF mux4_1 IS SIGNAL sel bit_vector1 DOWNTO 0; BEGIN sel<=b & a; PROCESSsel, i0, i1, i2, i3 BEGIN CASE sel IS WHEN "00" => y<=i0; WHEN "01" => y<=i1; WHEN "10" => y<=i2; WHEN "11" => y<=i3; END CASE; END PROCESS; END behave 四、循环语句中供应了两种形式的循环语句:FOR 循环的格式如下:FOR 循环和 WHILE 循环;FOR 变量 IN 范畴 LOOP 次序语句 次序语句END LOOP; 其中的“ 变量” 和“ 范畴” 应当有相同的类型;例如变量是整型,范畴可以是一个 整数范畴;假如变量是枚举型,就“ 范畴” 要限制在枚举类型所定义的取值范畴内;WHILE 循环的格式如下:WHILE 布尔表达式 LOOP 次序语句 次序语句END LOOP; 循环中的布尔表达式可以是规律表达式或者关系表达式;在 FOR 循环或者 WHILE 循环中都可以使用NEXT 语句来终止本次循环 ,用 EXIT 语句来终止循环 ,到下一条次序语句连续执行;它们的格式基本相同:NEXT WHEN 布尔表达式 ; EXIT WHEN 布尔表达式 ; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 10 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -5.4.3 VHDL 的描述风格在 VHDL 中对这一类的描述称为“ 性能” 描述(行为描述),性能描述中肯定有PROCESS语句;VHDL 仍有另一种描述,称为“ 结构” 描述;1. 性能描述(行为描述)这种描述完全是从与非门输入和输出的规律关系动身,对与非门性能的一种描述;2. 数据流描述( RTL 描述)建立在并行信号赋值语句基础上;当语句中任意一个输入信号的值发生转变时,赋值语句就被激活,从而认为数据从一个设计中“ 流入”3.结构描述语句 结构描述是 VHDL 的三种描述方法之一;,然后又“ 流出”结构描述的基础是部件: COMPONENT ;所使用的部件应当是 事先已经定义过的;可以直接取自某个 VHDL 库,也可以是用户自定义的存放在 WORK 库的部件;所用部件所在的库或程序包,必需在程序开头前声明 ;在结构描述中所使用的部件必需第一声明;部件的 声明在 ARCHTECTURE的声明部分进行 ;部件声明语句 (Component Declaration)的格式如下:COMPONENT 部件名 PORT 信号名 : 类别 信号类型 ; 信号名 : 类别 信号类型 ; 部件描述语句END COMPONENT; 第一种格式的 COMPONENT 语句是:标号: 部件名 PORT MAP 信号名 1, 信号名 2, ,信号名 n; 在使用这种格式时, 必需留意 PORT MAP 所列出的信号名应当和 部件定义 时的信号名的次序相一样;标号是部件的标识 ;同样的部件在电路中可以使用多次,它们都有相同的部件名,但是有不同的标号 其次种格式是:标号: 部件名 PORT MAP 接口信号 1=>信号名 1, ,接口信号 n =>信号名n; 采纳这样的格式,就不要求 COMPONENT 语句中的信号名和ENTITY 的PORT 部分的信号名保持次序上的一样,而只要它们的对应关系正确就可以了;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 11 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -例 5.9 全加器的结构描述;ENTITY full_adder IS PORTx, y, cin: IN BIT; sum, carry: OUT BIT; END full_adder; 使用前面已经定义过的半加器ARCHITECTURE struct OF full_adder IS COMPONENT half_adder 部件声明 PORTa, b: IN BIT;s, c0: OUT BIT; END COMPONENT; SIGNAL h1_s, h1_c, h2_c: BIT; BEGIN h1: half_adder PORT MAPx, y, h1_s, h1_c; 部件描述第一种(如 x 对应声明中的 a)h2: half_adder PORT MAPa=>h1_s, b=>cin, s=>sum, c0=>h2_c; 其次种( h2 中的 a 对应 h1_s)第一个全家器的输出被其次个的输入对应carry<=h2_c OR h1_c; END struct; 5.5.2 时序规律电路中的应用一、时钟信号时序规律电路中进程的敏锐信号是时钟信号;描述方式有两种:1 时钟信号显示地显现在PROCESS语句后面的敏锐信号表中;2 时钟信号没有显示地显现在 在 WAIT 语句的后面;沿分为上升沿和下降沿;PROCESS语句后面的敏锐信号表中,而是显现(1) 上升沿描述 : 其物理意义是指时钟信号的规律值是从0跳变到1 ;描述 1:PROCESS(clk)BEGIN 1 )THEN 描述 2:IF (clkEVENT AND clk = END PROCESS ;label2:PROCESS(clk)BEGIN WAIT UNTIL clk = 1 ;END PROCESS ;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 12 页,共 13 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -(2) 下降沿描述 : 1跳变到0其物理意义是指时钟信号的规律值是从描述 1:PROCESS(clk)BEGIN IF (clkEVENT AND clk = 0 )THEN END PROCESS ;描述 2:PROCESS(clk)BEGIN 0 ;WAIT UNTIL clk = END PROCESS ;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 13 页,共 13 页 - - - - - - - - -

    注意事项

    本文(2022年EDA第五章复习总结.docx)为本站会员(Che****ry)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开