EDA 技术实用教程VHDL设计初步.ppt

上传人:豆**** 文档编号:56529711 上传时间:2022-11-02 格式:PPT 页数:59 大小:418KB
返回 下载 相关 举报
EDA 技术实用教程VHDL设计初步.ppt_第1页
第1页 / 共59页
EDA 技术实用教程VHDL设计初步.ppt_第2页
第2页 / 共59页
点击查看更多>>
资源描述

《EDA 技术实用教程VHDL设计初步.ppt》由会员分享,可在线阅读,更多相关《EDA 技术实用教程VHDL设计初步.ppt(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、EDA 技术实用教程VHDL设计初步 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望4.1 多路选择器的多路选择器的VHDL描述描述 4.1.1 2选选1多路选择器的多路选择器的VHDL描述描述 图图4-1 mux21a实体实体 4.1 多路选择器的多路选择器的VHDL描述描述 4.1.1 2选选1多路选择器的多路选择器的VHDL描述描述 图图4-2 mux21a结构体结构体 4.1 多路选择器的多路选择器的VHDL描述描述 4.1.1 2选选1多路选择器的多路选

2、择器的VHDL描述描述【例【例4-1】ENTITY mux21a IS PORT(a,b:IN BIT;s:IN BIT;y:OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN y=a WHEN s=0 ELSE b ;END ARCHITECTURE one;4.1 多路选择器的多路选择器的VHDL描述描述 4.1.1 2选选1多路选择器的多路选择器的VHDL描述描述【例【例4-2】ENTITY mux21a IS PORT(a,b:IN BIT;s:IN BIT;y:OUT BIT );END ENTITY mux

3、21a;ARCHITECTURE one OF mux21a IS SIGNAL d,e:BIT;BEGINd=a AND(NOT S);e=b AND s;y=d OR e ;END ARCHITECTURE one;4.1 多路选择器的多路选择器的VHDL描述描述 4.1.1 2选选1多路选择器的多路选择器的VHDL描述描述【例【例4-3】ENTITY mux21a IS PORT(a,b,s:IN BIT;y:OUT BIT );END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN PROCESS(a,b,s)BEGIN IF s=0

4、 THEN y=a;ELSE y=b;END IF;END PROCESS;END ARCHITECTURE one;4.1 多路选择器的多路选择器的VHDL描述描述 4.1.1 2选选1多路选择器的多路选择器的VHDL描述描述 图图4-3 mux21a功能时序波形功能时序波形 4.1 多路选择器的多路选择器的VHDL描述描述 4.1.2 相关语句结构和语法说明相关语句结构和语法说明【例【例4-4】ENTITY e_name IS PORT(p_name:port_m data_type;.p_namei:port_mi data_type);END ENTITY e_name;1.1.实体表

5、达实体表达 2.2.实体名实体名 3.3.端口语句和端口信号名端口语句和端口信号名 4.1 多路选择器的多路选择器的VHDL描述描述 4.1.2 相关语句结构和语法说明相关语句结构和语法说明 4.4.端口模式端口模式 IN IN 输入端口,定义的通道为单向只读模式输入端口,定义的通道为单向只读模式 OUT OUT 输出端口,定义的通道为单向输出模式输出端口,定义的通道为单向输出模式 INOUT INOUT 定义的通道确定为输入输出双向端口定义的通道确定为输入输出双向端口 BUFFER BUFFER 缓冲端口,其功能与缓冲端口,其功能与INOUTINOUT类似类似 4.1 多路选择器的多路选择器

6、的VHDL描述描述 4.1.2 相关语句结构和语法说明相关语句结构和语法说明 5.5.数据类型数据类型 6.6.结构体表达结构体表达 【例【例4-5】ARCHITECTURE arch_name OF e_name IS 说明语句说明语句BEGIN (功能描述语句功能描述语句)END ARCHITECTURE arch_name;4.1 多路选择器的多路选择器的VHDL描述描述 4.1.2 相关语句结构和语法说明相关语句结构和语法说明 7.7.赋值符号和数据比较符号赋值符号和数据比较符号 赋值符赋值符 “=”表式中的等号表式中的等号“=”没有赋值的含义,只是一种数据比较符号。没有赋值的含义,只

7、是一种数据比较符号。IF a THEN.-注意,注意,a的数据类型必须是的数据类型必须是boolean IF(s1=0)AND(s2=1)OR(cb+1)THEN.4.1 多路选择器的多路选择器的VHDL描述描述 4.1.2 相关语句结构和语法说明相关语句结构和语法说明 8.8.逻辑操作符逻辑操作符 AND、OR、NOT、NAND、NOR、XOR、XNOR9.9.条件语句条件语句 IF_THEN_ELSE IF语句必须以语句语句必须以语句 “END IF;”结束结束 4.1 多路选择器的多路选择器的VHDL描述描述 4.1.2 相关语句结构和语法说明相关语句结构和语法说明 10.WHEN_EL

8、SE10.WHEN_ELSE条件信号赋值语句条件信号赋值语句 赋值目标赋值目标=表达式表达式 WHEN 赋值条件赋值条件 ELSE 表达式表达式 WHEN 赋值条件赋值条件 ELSE .表达式表达式 ;z =a WHEN p1=1 ELSE b WHEN p2=1 ELSE c ;4.1 多路选择器的多路选择器的VHDL描述描述 4.1.2 相关语句结构和语法说明相关语句结构和语法说明 11.11.进程语句和顺序语句进程语句和顺序语句 在在一一个个结结构构体体中中可可以以包包含含任任意意个个进进程程语语句句结结构构,所所有有的的进进程程语语句句都都是是并并行行语语句句,而而由由任任一一进进程程

9、PROCESS引引导导的的语语句句(包包含含在在其其中的语句)结构属于顺序语句。中的语句)结构属于顺序语句。12.12.文件取名和存盘文件取名和存盘 文件名一般和实体名相同,后缀扩展名为文件名一般和实体名相同,后缀扩展名为.vhd.vhd,大小写不区分。,大小写不区分。4.2 寄存器描述及其寄存器描述及其VHDL语言现象语言现象 4.2.1 D触发器的触发器的VHDL描述描述 K KX康芯科技康芯科技【例【例4-6】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DFF1 IS PORT(CLK:IN STD_LOGIC;D:IN STD_LOG

10、IC;Q:OUT STD_LOGIC);END;ARCHITECTURE bhv OF DFF1 IS SIGNAL Q1:STD_LOGIC;-类似于在芯片内部定义一个数据的暂存节点类似于在芯片内部定义一个数据的暂存节点 BEGIN PROCESS(CLK,Q1)BEGIN IF CLKEVENT AND CLK=1 THEN Q1=D;END IF;END PROCESS;Q=Q1;-将内部的暂存数据向端口输出(双横线将内部的暂存数据向端口输出(双横线-是注释符号)是注释符号)END bhv;图4-4 D触发器图图4-4 D触发器触发器4.2 寄存器描述及其寄存器描述及其VHDL语言现象语

11、言现象 4.2.2 VHDL描述的语言现象说明描述的语言现象说明 图4-4 D触发器1.1.标准逻辑位数据类型标准逻辑位数据类型STD_LOGICSTD_LOGIC BIT数据类型定义:数据类型定义:TYPE BIT IS(0,1);-只有两种取值只有两种取值 STD_LOGIC数据类型定义:数据类型定义:TYPE STD_LOGIC IS(U,X,0,1,Z,W,L,H,-);4.2 寄存器描述及其寄存器描述及其VHDL语言现象语言现象 4.2.2 VHDL描述的语言现象说明描述的语言现象说明 图4-4 D触发器2.2.设计库和标准程序包设计库和标准程序包 LIBRARY WORK;LIBR

12、ARY STD;USE STD.STANDARD.ALL;使用库和程序包的一般定义表式是:使用库和程序包的一般定义表式是:LIBRARY LIBRARY ;USE USE .ALL;.ALL;4.2 寄存器描述及其寄存器描述及其VHDL语言现象语言现象 4.2.2 VHDL描述的语言现象说明描述的语言现象说明 图4-4 D触发器3.3.信号定义和数据对象信号定义和数据对象 “CLKEVENT AND CLK=1”“SIGNAL Q1:STD_LOGIC;”4.4.上升沿检测表达式和信号属性函数上升沿检测表达式和信号属性函数EVENTEVENT EVENT EVENT 数据对象有数据对象有3 3

13、类:类:SIGNALSIGNAL、VARIABLEVARIABLE、CONSTANT CONSTANT 5.5.不完整条件语句与时序电路不完整条件语句与时序电路 【例【例4-7】ENTITY COMP_BAD IS PORT(a1,b1 :IN BIT;q1 :OUT BIT );END;ARCHITECTURE one OF COMP_BAD IS BEGIN PROCESS(a1,b1)BEGIN IF a1 b1 THEN q1=1;ELSIF a1 b1 THEN q1 b1 THEN q1=1;ELSE q1=0;END IF;.4.2.3 实现时序电路的实现时序电路的VHDL不同表

14、述不同表述 4.2 寄存器描述及其寄存器描述及其VHDL语言现象语言现象【例【例4-9】.PROCESS(CLK)BEGINIF CLKEVENT AND(CLK=1)AND(CLKLAST_VALUE=0)THEN Q=D;-确保确保CLK的变化是一次上升沿的跳变的变化是一次上升沿的跳变 END IF;END PROCESS;4.2.3 实现时序电路的实现时序电路的VHDL不同表述不同表述 4.2 寄存器描述及其寄存器描述及其VHDL语言现象语言现象【例【例4-10】.PROCESS(CLK)BEGINIF CLK=1 AND CLKLAST_VALUE=0 -同例同例4-9 THEN Q=

15、D;END IF;END PROCESS;【例【例4-11】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DFF3 IS PORT(CLK,D:IN STD_LOGIC;Q:OUT STD_LOGIC);END;ARCHITECTURE bhv OF DFF3 IS SIGNAL Q1:STD_LOGIC;BEGIN PROCESS(CLK)BEGIN IF rising_edge(CLK)-必须打开必须打开STD_LOGIC_1164程序包程序包 THEN Q1=D;END IF;END PROCESS;Q=Q1;-在此,赋值语句可以放在进程

16、外,作为并行赋值语句在此,赋值语句可以放在进程外,作为并行赋值语句 END;4.2.3 实现时序电路的实现时序电路的VHDL不同表述不同表述 4.2 寄存器描述及其寄存器描述及其VHDL语言现象语言现象【例【例4-12】.PROCESS BEGIN wait until CLK=1 ;-利用利用wait语句语句 Q=D;END PROCESS;4.2.3 实现时序电路的实现时序电路的VHDL不同表述不同表述【例【例4-13】.PROCESS(CLK)BEGIN IF CLK=1 THEN Q=D;-利用进程的启动特性产生对利用进程的启动特性产生对CLK的边沿检测的边沿检测 END IF;END

17、 PROCESS;图图4-7 例例4-13的时序波形的时序波形 4.2.3 实现时序电路的实现时序电路的VHDL不同表述不同表述【例【例4-14】.PROCESS(CLK,D)BEGIN IF CLK=1 -电平触发型寄存器电平触发型寄存器 THEN Q=D;END IF;END PROCESS;图图4-8 例例4-14的时序波形的时序波形 4.2.4 异步时序电路设计异步时序电路设计【例【例4-15】.ARCHITECTURE bhv OF MULTI_DFF IS SIGNAL Q1,Q2:STD_LOGIC;BEGINPRO1:PROCESS(CLK)BEGIN IF CLKEVENT

18、AND CLK=1 THEN Q1=NOT(Q2 OR A);END IF;END PROCESS;PRO2:PROCESS(Q1)BEGIN IF Q1EVENT AND Q1=1 THEN Q2=D;END IF;END PROCESS;QQ=Q2;.图图4-9 例例4-15综合后的电路(综合后的电路(Synplify综合)综合)4.2.4 异步时序电路设计异步时序电路设计 4.2 寄存器描述及其寄存器描述及其VHDL语言现象语言现象 图图4-10 半加器半加器h_adder电路图及其真值表电路图及其真值表 4.3.1 半加器描述半加器描述 4.3 1位二进制全加器的位二进制全加器的VHD

19、L描述描述 图图4-11 全加器全加器f_adder电路图及其实体模块电路图及其实体模块 4.3.1 半加器描述半加器描述 4.3 1位二进制全加器的位二进制全加器的VHDL描述描述 4.3.1 半加器描述半加器描述 4.3 1位二进制全加器的位二进制全加器的VHDL描述描述【例【例4-16】LIBRARY IEEE;-半加器描述半加器描述(1):布尔方程描述方法:布尔方程描述方法USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder IS PORT(a,b:IN STD_LOGIC;co,so:OUT STD_LOGIC);END ENTITY h_adder;

20、ARCHITECTURE fh1 OF h_adder is BEGIN so=a XOR b;co=a AND b;END ARCHITECTURE fh1;【例【例4-17】LIBRARY IEEE;-半加器描述半加器描述(2):真值表描述方法:真值表描述方法USE IEEE.STD_LOGIC_1164.ALL;ENTITY h_adder IS PORT(a,b:IN STD_LOGIC;co,so:OUT STD_LOGIC);END ENTITY h_adder;ARCHITECTURE fh1 OF h_adder is SIGNAL abc:STD_LOGIC_VECTOR(1

21、 DOWNTO 0);-定义标准逻辑位矢量定义标准逻辑位矢量数据类型数据类型BEGIN abc so=0;co so=1;co so=1;co so=0;co NULL;END CASE;END PROCESS;END ARCHITECTURE fh1;4.3.1 半加器描述半加器描述 4.3 1位二进制全加器的位二进制全加器的VHDL描述描述【例【例4-18】LIBRARY IEEE;-或门逻辑描述或门逻辑描述 USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a IS PORT(a,b:IN STD_LOGIC;c:OUT STD_LOGIC);END ENTIT

22、Y or2a;ARCHITECTURE one OF or2a IS BEGIN c ain,b=bin,co=d,so=e);-例化语句例化语句 u2:h_adder PORT MAP(a=e,b=cin,co=f,so=sum);u3:or2a PORT MAP(a=d,b=f,c=cout);END ARCHITECTURE fd1;4.3.2 CASE语句语句 4.3 1位二进制全加器的位二进制全加器的VHDL描述描述 1.1.CASECASE语句语句 CASE ISWhen =;.;;When =;.;;.WHEN OTHERS=;END CASE;4.3.2 CASE语句语句 4.

23、3 1位二进制全加器的位二进制全加器的VHDL描述描述 2.2.标准逻辑矢量数据类型标准逻辑矢量数据类型 STD_LOGIC_VECTOR STD_LOGIC 在使用在使用STD_LOGIC_VECTOR中,中,必须注明其数组宽度,即位宽,如:必须注明其数组宽度,即位宽,如:B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);或或 SIGNAL A:STD_LOGIC_VECTOR(1 TO 4);B=01100010;-B(7)为为 0 B(4 DOWNTO 1)=1101;-B(4)为为 1 B(7 DOWNTO 4)=A;-B(6)等于等于 A(2)4.3.2 CASE

24、语句语句 4.3 1位二进制全加器的位二进制全加器的VHDL描述描述 3.3.并置操作符并置操作符 SIGNAL a:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL d:STD_LOGIC_VECTOR(1 DOWNTO 0);.a 连接端口名连接端口名,.);4.4 计数器设计计数器设计【例【例4-20】ENTITY CNT4 IS PORT(CLK:IN BIT;Q :BUFFER INTEGER RANGE 15 DOWNTO 0 );END;ARCHITECTURE bhv OF CNT4 IS BEGIN PROCESS(CLK)BEGIN IF CLKEVE

25、NT AND CLK=1 THEN Q=Q+1;-整数加整数加1 END IF;END PROCESS;END bhv;4.4 计数器设计计数器设计 4.4.1 4位二进制加法计数器设计位二进制加法计数器设计 表式Q=Q+1的右项与左项并非处于相同的时刻内,对于时序电路,除了传输延时外,前者的结果出现于当前时钟周期;后者,即左项要获得当前的Q+1,需等待下一个时钟周期。表面上,BUFFER具有双向端口INOUT的功能,但实际上其输入功能是不完整的,它只能将自己输出的信号再反馈回来,并不含有IN的功能。注意注意注意注意4.4 计数器设计计数器设计 4.4.2 整数类型整数类型 Q:BUFFER

26、INTEGER RANGE 15 DOWNTO 0;1 1 十进制整数十进制整数十进制整数十进制整数0 0 十进制整数十进制整数十进制整数十进制整数35 35 十进制整数十进制整数十进制整数十进制整数10E310E3 十进制整数,等于十进制整数十进制整数,等于十进制整数十进制整数,等于十进制整数十进制整数,等于十进制整数1000 1000 16#D9#16#D9#十六进制整数,等于十六进制整数十六进制整数,等于十六进制整数十六进制整数,等于十六进制整数十六进制整数,等于十六进制整数D9H D9H 8#720#8#720#八进制整数,等于八进制整数八进制整数,等于八进制整数八进制整数,等于八进制

27、整数八进制整数,等于八进制整数720O 720O 2#11010010#2#11010010#二进制整数,等于二进制整数二进制整数,等于二进制整数二进制整数,等于二进制整数二进制整数,等于二进制整数11010010B 11010010B 整数常量的书写方式示例整数常量的书写方式示例整数常量的书写方式示例整数常量的书写方式示例Q:BUFFER NATURAL RANGE 15 DOWNTO 0;4.4.3 计数器设计的其他表述方法计数器设计的其他表述方法【例【例4-21】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNS

28、IGNED.ALL;ENTITY CNT4 IS PORT(CLK:IN STD_LOGIC;Q :OUT STD_LOGIC_VECTOR(3 DOWNTO 0);END;ARCHITECTURE bhv OF CNT4 ISSIGNAL Q1:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN PROCESS(CLK)BEGIN IF CLKEVENT AND CLK=1 THEN Q1=Q1+1;-Q为为 STD_LOGIC_VECTOR,加,加1需需调调用用包包 END IF;END PROCESS;Q 0);-计数计数 器异步复位器异步复位 ELSIF CLKEVE

29、NT AND CLK=1 THEN -检测时钟上升沿检测时钟上升沿 接下页接下页 4.5 一般加法计数器设计一般加法计数器设计 IF EN=1 THEN -检测是否允许计数(同步使能)检测是否允许计数(同步使能)IF CQI 0);-大于大于9,计数值清零计数值清零 END IF;END IF;END IF;IF CQI=9 THEN COUT=1;-计数大于计数大于9,输出进位信号,输出进位信号 ELSE COUT=0;END IF;CQ X)SIGNAL d1 :STD_LOGIC_VECTOR(4 DOWNTO 0);VARIABLE a1:STD_LOGIC_VECTOR(15 DOW

30、NTO 0);.d1 0);a1:=(OTHERS=0);d1 e(3),3=e(5),OTHERS=e(1);f=e(1)&e(5)&e(1)&e(3)&e(1);4.5 一般加法计数器设计一般加法计数器设计 4.5.2 程序分析程序分析 图图4-14 例例4-22的的RTL电路(电路(Synplify综合)综合)4.5 一般加法计数器设计一般加法计数器设计 4.5.2 程序分析程序分析 图图4-15 例例4-22的工作时序的工作时序 4.5.3 含并行置位的移位寄存器设计含并行置位的移位寄存器设计【例【例4-23】LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.A

31、LL;ENTITY SHFRT IS -8位右移寄存器位右移寄存器 PORT(CLK,LOAD:IN STD_LOGIC;DIN:IN STD_LOGIC_VECTOR(7 DOWNTO 0);QB:OUT STD_LOGIC );END SHFRT;ARCHITECTURE behav OF SHFRT IS BEGIN PROCESS(CLK,LOAD)VARIABLE REG8:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN IF CLKEVENT AND CLK=1 THEN IF LOAD=1 THEN REG8:=DIN;-由(由(LOAD=1)装)装载新数据

32、载新数据 ELSE REG8(6 DOWNTO 0):=REG8(7 DOWNTO 1);END IF;END IF;QB=REG8(0);-输出最低位输出最低位 END PROCESS;END behav;4.5 一般加法计数器设计一般加法计数器设计 4.5.3 含并行置位的移位寄存器设计含并行置位的移位寄存器设计 图图4-16 例例4-23的工作时序的工作时序 习习 题题 4-1.画出与下例实体描述对应的原理图符号元件:画出与下例实体描述对应的原理图符号元件:ENTITY buf3s IS -实体实体1:三态缓冲器三态缓冲器 PORT(input:IN STD_LOGIC;-输入端输入端

33、enable:IN STD_LOGIC;-使能端使能端 output:OUT STD_LOGIC);-输出端输出端END buf3x;ENTITY mux21 IS -实体实体2:2选选1多路选择器多路选择器 PORT(in0,in1,sel:IN STD_LOGIC;output:OUT STD_LOGIC);习习 题题 4-2.图图4-17所所示示的的是是4选选1多多路路选选择择器器,试试 分分 别别 用用 IF_THEN语语 句句 和和CASE语语句句的的表表达达方方式式写写出出此此电电路路的的VHDL程序。程序。选选择择控控制制的的信信号号s1和和s0的的数数据据类类型型为为STD_L

34、OGIC_VECTOR;当当s1=0,s0=0;s1=0,s0=1;s1=1,s0=0和和s1=1,s0=1分分别别执行执行y=a、y=b、y=c、y=d。图图4-17 4选选1多路选择器多路选择器 习习 题题 4-3.4-3.图图4-184-18所所示示的的是是双双2 2选选1 1多多路路选选择择器器构构成成的的电电路路MUXKMUXK,对对于于其其中中MUX21AMUX21A,当当s=0s=0和和11时时,分分别别有有y=ay=a和和y=by=b。试试在在一一个个结结构构体体中中用用两两个个进进程来表达此电路,每个进程中用程来表达此电路,每个进程中用CASECASE语句描述一个语句描述一个

35、2 2选选1 1多路选择器多路选择器MUX21AMUX21A。图图4-18 双双2选选1多路选择器多路选择器 习习 题题 4-4.4-4.图图4-194-19是是一一个个含含有有上上升升沿沿触触发发的的D D触触发发器器的的时时序序电电路路,试试写写出出此此电电路路的的VHDLVHDL设计文件。设计文件。图图4-19 时序电路图时序电路图 习习 题题 4-5.4-5.给出给出1 1位全减器的位全减器的VHDLVHDL描述。要求:描述。要求:(1)(1)首首先先设设计计1 1位位半半减减器器,然然后后用用例例化化语语句句将将它它们们连连接接起起来来,图图4-204-20中中h_suberh_su

36、ber是半减器,是半减器,diffdiff是输出差,是输出差,s_outs_out是借位输出,是借位输出,sub_insub_in是借位输入。是借位输入。(2)(2)以以1 1位位全全减减器器为为基基本本硬硬件件,构构成成串串行行借借位位的的8 8位位减减法法器器,要要求求用用例例化化语语句来完成此项设计句来完成此项设计(减法运算是减法运算是 x y-sun_in=diffr)x y-sun_in=diffr)。图图4-19 时序电路图时序电路图 习习 题题 4-6.4-6.根据图根据图4-214-21,写出顶层文件,写出顶层文件MX3256.VHDMX3256.VHD的的VHDLVHDL设计文件。设计文件。图图4-21 题题4-6电路图电路图 4-7.4-7.设计含有异步清零和计数使能的设计含有异步清零和计数使能的1616位二进制加减可控计数器。位二进制加减可控计数器。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

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

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