数字电子技术基础第八章半导体存储器和可编程逻辑器件_第1页
数字电子技术基础第八章半导体存储器和可编程逻辑器件_第2页
数字电子技术基础第八章半导体存储器和可编程逻辑器件_第3页
数字电子技术基础第八章半导体存储器和可编程逻辑器件_第4页
数字电子技术基础第八章半导体存储器和可编程逻辑器件_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 本章主要学习以阵列电路为基础的数字集成电路,包括半导体存储器和可编程逻辑器件。 在半导体存储器部分,介绍随机存取存储器和只读存储器的结构和工作原理。 在可编程逻辑器件部分,介绍低密度可编程逻辑器件。1 28.1 概 述 半导体存储器主要用来存放大量的二值信息,它是数字系统不可缺少的组成部分。 半导体存储器种类很多,其简单分类如下: 双极型存储器: 以双极型触发器为基本存储单元,具有工作速度快,功耗大的特点,主要用于对工作速度要求较高的场合。 MOS型存储器 以MOS触发器为基本存储单元,它具有集成度高、功耗小、工艺简单等特点,主要用于大容量存储系统中。 从制造工艺上分: 从存取信息方式上分:

2、3 RAM在正常工作时可以随时写入或读出信息,但断电后器件中的信息也随之消失,因此称为易失性存储器。 RAM又可以分为静态存储器SRAM(Static RAM)和动态存储器DRAM(Dynamic RAM)两类,DRAM存储单元结构非常简单,它所能达到的集成度远高于SRAM,但DRAM的工作速度没有SRAM快。 随机存储器(RAM,Random Access Memory) 从存取信息方式上分:4 只读存储器(ROM,Read-Only Memory) 只读存储器在正常工作时只能读出信息,而不能写入信息,ROM中的信息是在制造时写入的,数据一旦写入,不能随意改写,再切断电源之后,数据也不会消失

3、,即具有非易失性。 存储器的存储容量和存取时间是反映系统性能的两个重要指标,存储容量越大,说明存储信息越多,系统功能越强。存取时间越短,存储器工作速度就越高。5 存储器的两个重要指标:6 可编程逻辑器件PLD :可编程逻辑器件(Programmable Logical Device),是一种半定制器件,可以由编程来确定其逻辑功能。低密度PLD PLA(Programmable Logic Array)可编程逻辑阵列 PAL(Programmable Array Logic)可编程阵列逻辑 GAL(Genetic Array Logic) 通用阵列逻辑高密度PLD 优点是:集成度高、速度快。7P

4、LD简化画法PLD简化画法AAA(a)输入缓冲器ZA B C(b)三输入与门 (c)连接方法断开单元 88.2 随机存取存储器(RAM)行地址译码器行地址译码器A0A4存储矩阵单元存储矩阵单元I/O读写控制读写控制列地址译码器列地址译码器32行32列WR/存储容量行存储容量行X X列列32行行X32列列1024(1K)A5A9I/O 静态RAM由存储矩阵、地址译码器和读/写控制电路三部分组成。9n图中,1024个字排列成3232的矩阵。n为了存取方便,给它们编上号。n32行编号为X0、X1、X31,n32列编号为Y0、Y1、Y31。n这样每一个存储单元都有了一个固定的编号,称为地址。 10假设

5、此存储器每个字可存储4位数据,也即字长为4,那么此存储器大小可表示为1024*4。问:该存储器需要几根地址线?几根数据线?n问 一个RAM大小可表示为256*8,那它需要几根地址线,几根数据线?n答:8根地址线,8根数据线。11答:10根地址线,4根数据线。六管NMOS静态存储单元QQ1213(1)动态RAM(DRAM)的存储矩阵由动态MOS存储单元组成。(2)动态MOS存储单元利用MOS管的栅极电容来存储信息,但由于栅极电容的容量很小,而漏电流又不能绝对为0,所以电荷保存的时间有限。(3)为了避免存储信息的丢失,必须定时地给电容补充漏掉的电荷,通常把这种操作称为“刷新”或“再生”。因此,DR

6、AM内部需要有刷新控制电路。DRAM存储单元14字 线位 线XiUCDBjCDTCS DRAM的存储单元一般是利用电容存放信息。为提高集成度,目前大容量的动态RAM存储单元只用一个MOS管和一个电容器组成。 DRAM的优点:容量大,功耗低,价格便宜。 DRAM的缺点:读写速度比SRAM低,需要刷新及读出放大器等外围电路。存储0或1门控管 CS1,G5、G4=0,三态门G1、G2、G3均处于高阻状态,输入/输出(I/O)端与存储器内部完全隔离,存储器禁止读/写操作,即不工作。&GGGCSR/W3451GDDI/OG215 CS0,G5、G4开门 R/W=1,G4=0,G5=1,G1、G2

7、断开,G3导通,数据读出 R/W=0,G4=1,G5=0,G1、G2导通,G3断开,数据写入&GGGCSR/W3451GDDI/OG216n 1位扩展n 用8片1024(1K)1位RAM构成的10248位RAM系统。1710241RAMA AAR/WCS01.I/OI/O.10241RAMA AAR/WCS01.I/OI/O10241RAMA AAR/WCS019.I/OI/O.AA01R/WCS017999An2字扩展n用8片1K8位RAM构成的8K8位RAM。01.G2A1274LS138AY+5V.GC7Y.G2BAYA.11A110.B.A.AI/O10248RAM1000R/

8、W7R/W1R/W.9A10248RAM90.A0I/OR/WA10248RAMCS9AACSI/O91AA.A1CS1AA0I/O0I/OI/O0I/O1I/O1I/O17I/O7I/O7I/O.18图8.2.7 SRAM读出过程时序图CS/I OCOt读出单元的地址读出单元的地址地址地址有效数据有效数据RCtAAt1. SRAM读出时序192. SRAM写入时序CS/R W/I O图8.2.8 SRAM写入过程时序图DWtDHt写入单元的地址写入单元的地址地址地址写入数据写入数据WCtWPtWRtAAt20218.3 只读存储器ROM ROM的结构译码驱动译码驱动MXNMXN矩阵矩阵字字X

9、 X位位读出电路读出电路A0A1An-1W0W1WM-1B0B1BN-1字线字线位线位线由三部分组成:由三部分组成: 地址译码器地址译码器 存储矩阵存储矩阵 读出放大,选择电路读出放大,选择电路当地址译码器选中某一当地址译码器选中某一个字线后,该字线的若个字线后,该字线的若干位同时读出。干位同时读出。2124096字XN位(N=8、16、32)地地址址码码输输入入 12位地址读写控制读写控制22 存储矩阵是存放信息的主体,由许多存储单元排列而成。每个存储单元存放一位二进制代码,若干个存储单元组成一个字。 ROM的存储单元可以用二极管构成,也可以用双极型三极管或MOS管构成。 ROM的数据读出电

10、路,通常用三态门构成,它不仅可以实现对输出数据的三态控制,使之便于与系统总线连接,还可以提高存储器的负载能力。23地址译码器A0A1输出缓冲级三态控制D3D2D1D0RRRRW0W1W2W3二极管ROM结构图 24地址译码器A0A1输出缓冲级三态控制D3D2D1D0RRRRW0W1W2W3当A1A0=00时,W0=1, W1=W2=W3=0输出数据为1100当A1A0=01时,W1=1, W0=W2=W3=0输出数据为1001同理,当A1A0=10时,输出为1010, A1A0=11时,输出为110125地址译码器A0A1输出缓冲级三态控制D3D2D1D0RRRRW0W1W2W3 在左图中,将

11、输入地址A1A0视为输入变量,而将D3、D2、D1、D0视为一组输出逻辑变量,则D3、D2、D1、 D0就是A1、A0的一组逻辑函数。 26地址译码器A0A1输出缓冲级三态控制D3D2D1D0RRRRW0W1W2W33101010201130010123210011101013mmAAAADmAADmmAAAADmmmmAAAAAAAAD27(1)用ROM实现组合逻辑函数: 将逻辑函数的输入变量作为ROM的地址输入,每组输出对应的函数值作为数据写入相应的存储单元即可。这样按地址读出的数据就是相应的函数值。 (2)ROM的地址译码器形成了输入变量的所有最小项,即实现了“与”运算,ROM的存储矩阵

12、实现了最小项的“或”运算。因此可以把ROM看成一个与或阵列。2811输出缓冲输出缓冲VCCA1A0D1D3D2D0VCC例:固定ROM地址译码器EN0W1W2W3W存储单元字线字线分析已存入数据的固定ROM电路。(二极管作存储单元) 地址译码器010AAW 011AAW 012AAW 013AAW 地址译码器是一个与门阵列,每一个字线对应一个最小项,且是全部最小项。位位线线29 存储单元存储单元0101133AAAAWWD0101010232AAAAAAWWWD0101011231AAAAAAWWWD0101020AAAAWWD 存储单元是一个或门阵列或门阵列,每一个位线是将所对应的与项相加,

13、是是最小项之和最小项之和。11输出缓冲输出缓冲VCCA1A0D1D3D2D0地址译码器EN0W1W2W3W存储单元字线字线位位线线30“与”阵列A0A1“或”阵列F0F1F2F3m0m1m2m3m0m1m2m3F0F1F2F3A0A1A0A1A0A1(a)(b)(a) 框图; (b) 符号矩阵 31 用ROM实现逻辑函数一般按以下步骤进行: (1) 根据逻辑函数的输入、输出变量数,确定ROM容量,选择合适的ROM。 (2) 写出逻辑函数的最小项表达式,画出ROM阵列图。 (3) 根据阵列图对ROM进行编程。 32例例 1 用ROM实现四位二进制码到格雷码的转换。 列状态转换真值表: 由真值表写

14、出最小 项之和表达式。W=m(815)X=m(411)Y=m(25、1013)Z=m(12、56、910、1314)ABCDWXYZ0000000100100011010001010110011110001001101010111100110111101111000000010011001001100111010101001100110111111110101010111001100033 根据最小项画出与、或点阵图 先画地址译码先画地址译码器,四变量,八输器,四变量,八输入,十六个最小项,入,十六个最小项,8X168X16阵列。阵列。 再画或阵列,再画或阵列,只有四输出,每只有四输出,每个输

15、出按最小项个输出按最小项加表示。共加表示。共4X164X16阵列。阵列。WAXBYCZDABCD01 2 3 4 5 6 7 8 9101112131415全全部部最最小小项项W=m(815)X=m(411)Z=m(12、56、910、1314)Y=m(25、1013)34 与阵列存储容量:16X8=128 或阵列存储容量:16X4=64 总存储容量12864192WAXBYCZDABCD01 2 3 4 5 67 8 910 11121314 15全全部部最最小小项项35例:用例:用ROMROM实现一位全加器实现一位全加器全加器真值表:全加器真值表:ABC i iSCO00000101001

16、11001011101110110100100010111最小项之和表达式S =m(1、2、4、7)C0 =m(3、5、6、7)画点阵图:AABBiCiCSOC0 1 2 3 4 5 6 736AB00 01 11 1001AB00 01 11 1001AB00 01 11 1001例:用例:用ROMROM实现多输出函数实现多输出函数BCACBCAF1CBAACF2BCAF3解:写出最小项之和表达式1111 11111111mF),6430(1mF),750(2mF),76543(3ABCABC1F2F3F0 1 2 3 4 5 6 737分析图示电路分析图示电路1、74161组成模几计数器。

17、2、写出W,X,Y,Z的函数表达式。3、在CP作用下,分析WXYZ端顺序输出8421BCD码的状态,并说明电路的功能。BACDABCDADCWABDCCBADBACDABCDADXDCBACBDDCAABDYDCAADDCBZ WXYZWXYZ顺序输出顺序输出31415926535897933141592653589793的的8421BCD8421BCD码,电路为一码,电路为一个能产生十六位个能产生十六位的函数发生器。的函数发生器。模模1616计数器计数器11110 1 2 3 4 5 6 7 8 9 101112131415Q3Q2Q1Q0D3D2D1D0CO74161ABCDWXYZTCT

18、PCTCRLD1383 3、用、用ROMROM实现字符发生器实现字符发生器常用的点阵字符规格有9X7、7X7、7X5三种。例:用7X5点阵说明如何实现显示一个字符R列真值表:地址码 输出A2A1A0D4D3D2D1D00000000000111111010100010111000110011111101101001101001011110001写出最小项之和表达式D4=m(17)D3=m(1、4)D2=m(1、4、5)D1=m(1、4、6)D0=m(14、7)R字符占用存储单元:7X5=35输出为7条字线,每条字线同时输出5五位。39ROM的编程及分类1、掩膜ROM(固定ROM): 用户专用R

19、OM,用户将程序代码交给集成电路生产商,生产商在芯片制造过程中将用户程序代码固化在集成电路的ROM中,用户在使用过程只能读出不能写入。适合于大批量生产使用,性价比高。 ROM的编程是指将信息存入ROM的过程。根据编程和擦除的方法不同,ROM可分为掩膜ROM、可编程ROM(PROM)和可擦除的可编程ROM(EPROM)三种类型。402、可编程ROM(PROM) PROM在出厂的时候,存储的内容全为0或1,用户根据要求,可以将某些单元改写为1或0。这种ROM采用熔丝或PN结击穿的方法编程,由于熔丝或PN结击穿后不能再恢复,因此PROM只能改写一次,不允许第二次改写。 适合于小批量试产使用,有保密位

20、,可以加密。价格较高。41字线WiUCC熔丝位线Di(a)字线熔丝(b)位线熔丝型PROM的存储单元 42字线Wi位线DiVD1VD2字线Wi位线Di(a)(b)VD1PN结击穿法PROM的存储单元 43熔丝型开关熔丝型开关n只允许对器件编程一次,编程后不能修改n集成度、工作频率和可靠性很高n适用于电磁辐射干扰强的恶劣环境44A211A11A0&11D2D111D011 或或 阵列阵列 与与 阵列阵列WOW1W2W3W4W5W6W7固定固定“与与”阵列阵列可编程可编程“或或”阵列阵列45 PROM通用阵列图表示法:将字线和位线画成相互垂直将字线和位线画成相互垂直的一个阵列,字线和位线的

21、的一个阵列,字线和位线的每一个交叉点对应一个存储每一个交叉点对应一个存储单元,在交叉点上画一个单元,在交叉点上画一个“点点”,表示该单元存,表示该单元存“1 1”,否则表示该单元存否则表示该单元存“0 0”。ABAB0W1W2W3W PROM方框图:地址码地址码与阵列与阵列字线字线或阵列或阵列位线位线与与阵列是输入阵列是输入变量的全部最变量的全部最小项。不可编小项。不可编程程。与项相与项相加,可加,可编程编程A1A0D3D2D1D00001010110101001111111100D1D2D3D例:用二极管作存储单元的PROM46固定固定“与与”阵列阵列A11B1C1DY0Y1Y2m2m3m6

22、m7m10m12m13m14可编程可编程“或或”阵列阵列473、可擦除的可编程ROM(EPROM) PROM只能一次编程,而EPROM则可多次擦去并重新写入 新内容。 擦除方法:在EPROM器件外壳上有透明的石英窗口,用紫外线(或X射线)照射,即可完成擦除操作。 尽管EPROM能实现擦除重写的目的,但由于紫外线照射时间和照度均有一定要求,擦除的速度也比较慢,为此,又产生了EEPROM。483、可擦除的可编程ROM(EPROM)49浮栅编程技术浮栅编程技术n基于2ROM存储器的可编程器件能够重复编程100次以上n系统掉电后编程信息也不会丢失n可用在系统编程的方法n可设置加密位、节能方式等工作条件

23、50电擦除,一般芯片内部带有升压电路,可以直接电擦除,一般芯片内部带有升压电路,可以直接 读写读写EEPROMEEPROM,擦除时间短擦除时间短(ms(ms级级) ),可对,可对单个单个存储单元擦除。存储单元擦除。读出:读出:5V5V;擦除:;擦除:20V20V;写入:;写入:20V20V。EPROMEPROM:光擦除可编程:光擦除可编程ROMROME E2 2PROMPROM:电擦除可编程:电擦除可编程ROMROMFLASH ROMFLASH ROM:电擦除可编程:电擦除可编程ROMROM紫外线照射擦除,时间长紫外线照射擦除,时间长10102020分钟分钟整片整片擦除擦除写入一般需要专门的工

24、具写入一般需要专门的工具结合结合EPROMEPROM和和EEPROMEEPROM的特点,构成的电路形式简的特点,构成的电路形式简 单,集成度高,可靠性好。单,集成度高,可靠性好。 擦除时间短擦除时间短(ms(ms级级) ),整片整片擦除、或擦除、或分块分块擦除。擦除。读出:读出:5V5V;写入:;写入:12V12V;擦除:;擦除:12V(12V(整块擦除整块擦除) )51基于基于SRAM的编程元件的编程元件n编程数据存储于器件的RAM区中n掉电时RAM中数据会丢失n编程数据平时存储在EPROM、磁盘中n系统加电时将这些编程数据即时写入可编程器件的RAM中528.4 低密度可编程逻辑器件1. P

25、LD器件的发展概况 第一个PLD器件就是PROM,于20世纪70年代初期制成。 第一阶段,与阵列固定或阵列可编程的PROM,与阵列或阵列均可编程的PLA; 第二阶段,与阵列可编程,或阵列固定的可编程逻辑阵列PAL; 第三阶段,通用阵列逻辑GAL。 第四阶段,复杂可编程逻辑器CPLD,现场可编程门阵列FPGA。532. 可编程逻辑器件的特点 (1)减少系统的硬件规模。 (2) 增强逻辑设计的灵活性。 (3) 缩短系统设计周期。 (4) 简化系统设计,提高系统速度。 (5) 降低系统成本。 542. PROM电路的电路的PLD表示法表示法 I0I1I2“或”阵列(可编程的)O0O1O2“与”阵列(

26、固定的)553. PLA电路的电路的PLD表示表示 I0I1I2“或”阵列(可编程的)O0O1O2“与”阵列(可编程的)PLA电路的PLD表示法 PLA特点特点:与阵列、或阵列都是可编程的,不使用的最小项不占用存储容量。一、一、PLAPLA的结构与工作原理的结构与工作原理地址码与阵列与阵列字线或阵列或阵列位线 与阵列存放的不是最小项,而是与项。 与项相加,可编程 逻辑函数不用最小项之和表达式,而是用最简与或表达式。56例:用PLA实现4位二进制到格雷码的转换。ABCDWXYZ000000000001000100100011001100100100011001010111011001010111

27、01001000110010011101101011111011111011001010110110111110100111111000解:1、列状态转换真值表、列状态转换真值表2、写出逻辑函数最简与或式。、写出逻辑函数最简与或式。写出与或表达式有几种方法?写出与或表达式有几种方法?卡诺图法。卡诺图法。直接观察法。直接观察法。W=AX=A BY=B CZ=C DBABA CBCBDCDC地址译码器输地址译码器输出字线是出字线是7个个与项而不是最与项而不是最小项。小项。令字线:令字线:AP 0BAP 1BAP 2CBP 3CBP 4DCP 5DCP 6W=P0X=P1+P2Y=P3+P4Z=P5

28、+P6格雷码格雷码输出:输出:574 4个地址变量,八条线,个地址变量,八条线,原、反变量都需要。原、反变量都需要。AABBCCDD有几个与项画几条字线。有几个与项画几条字线。AP 0BAP 1BAP 2CBP 3CBP 4DCP 5DCP 60P1P2P3P4P5P6P3 3、画、画PLAPLA阵列图阵列图W=P0X=P1+P2Y=P3+P4Z=P5+P6WXYZ与阵列存储容量为:与阵列存储容量为:8X7=56或阵列存储容量为:或阵列存储容量为:4X7=28总存储容量为:总存储容量为:84同样一个码制变换电同样一个码制变换电路,路,ROM占用占用192个个存储单元,而存储单元,而PLA只只占

29、用占用84个存储单元。个存储单元。用同样的硅片面积用同样的硅片面积PLA可以实现更多逻辑功能。可以实现更多逻辑功能。或阵列是与项相加或阵列是与项相加58594. PAL电路电路 I0I1I2“或”阵列(固定的)O0O1O2“与”阵列(可编程的)60小 结 半导体存储器是现代数字系统特别是计算机中的重要组成部分,可分为RAM和ROM两大类,绝大多数属于MOS工艺制成的大规模集成电路。 RAM是一种时序逻辑电路,具有记忆功能。它存储的数据随电源的断电而消失,因此是一种易失性的读写存储器。61 RAM有SRAM和DRAM两种类型,SRAM利用触发器记忆数据,DRAM靠MOS管的栅极电容存储数据。因此

30、,在不停电的情况下,SRAM的数据可以长期保存,而DRAM的数据需要定期刷新。 ROM是一种非易失性的存储器,它存储的是固定数据,一般只能被读出。根据数据写入的方式不同,ROM分为固定ROM和可编程ROM。可编程ROM又分为PROM、EPROM、E2PROM和快闪存储器。62 目前,可编程逻辑器件(PLD)的使用越来越广泛,用户可以自行设计该类器件的逻辑功能。它们具有集成度高、可靠性高、处理速度快和保密性好等特点。PLA和PAL是两种典型的可编程逻辑器件,其电路结构的核心都是与或阵列。 通用阵列逻辑器件GAL是在PAL的基础上发展起来的增强型器件。GAL器件具有可擦除、可重新编程和可重新配置其

31、结构等功能。63CPLD (Altera 公司为代表)n 复杂可编程逻辑器件n (Complex Programmable Logical Devices)n一个CPLD含有多个逻辑元件块(PLD)n每个逻辑块间的接线是可编程的n运行速度比FPGA快n功耗较大64CPLD的电路结构与SPLD的不同:nI/O单元的设置 SPLD的宏单元与其I/O引脚直接相连,一个宏单元对应一个I/O引脚。 CPLD的集成规模很大,每片中的宏单元可能达到数千个,而其引脚数目前最大不会超过数百,因此芯片中必定有一部分宏单元处于隐埋状态。65 在设计时,任何一个宏单元都可能作为输出和输入以外界相连,因此在CPLD中各

32、宏单元与引脚不能固定。 为此,在CPLD中设置了若干I/O单元,这些I/O单元可直接与引脚相连,然后通过另外一组总线连接到所需的宏单元上。66n多时钟驱动 SPLD中只有一个时钟输入端,即片内所有触发器的时钟端是连在一起的。 CPLD中普遍设有多个时钟输入端,并可利用芯片中产生的乘积项作为时钟。 多个时钟系统给系统的设计带来了很大的灵活性。67FPGA(Xilinx 公司为代表)公司为代表)n 现场可编程门阵列n (Field Programmable Gate Array)n 类似门阵列的连线通道和逻辑功能块结构n 逻辑元件使用率高n 寄存器较多 68FPGA是现场可编程门阵列。 所谓现场可

33、编程,是指用户在自己的工作室内编程。 由于门阵列中每个节点的基本器件是门,用门来组成触发器进而构成电路和系统,其互联要比PLD的结构复杂。因此,在构造FPGA时,改用了单元结构,即在阵列的各个节点上放的不再是一个单独的门,而是用门、触发器等做成的逻辑单元,并在各个单元之间预先制作了许多连线。69 所谓编程,是指安排逻辑单元与这些连线之间的连接关系,依靠连接点的合适配置,实现各逻辑单元之间的互连。 所以,严格来说,FPGA不是门阵列,而是逻辑单元阵列,只是与门阵列在阵列结构上相似。70FPGA的编程 在FPGA中,常用的编程工艺有反熔丝和SRAM两类:1. 反熔丝工艺导电层绝缘层导电层导电通道71FPGA的编程 未编程时,两个导电体间绝缘,如要在某个节点接通,需用高压将绝缘层永久性击穿,使之导通,达到写1的目的。 因在编程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论