版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录1、EDA技术发展及介绍 11.1EDA技术的介绍 11.2EDA技术的发展 11.3EDA技术的发展趋势 21.4乐曲演奏电路简介 22、总体方案设计 32.1设计内容 32.1设计方案比较 32.3方案论证 42.3方案选择 43、单元模块设计 43.1稳压电源电路 53.2有源晶振电路 53.3蜂鸣器 63.4七段数码管显示电路 74、特殊器件的介绍 84.1CPLD器件介绍 84.2FPGA器件介绍 84.3MAX||EPM240T100C5器件 95、最小系统原理 106、软件实现 116.1音调的控制 116.2音长的控制 126.3软件设计 127、系统仿真及调试 167.1仿真 167.2调试 188、总结 198.1设计小结 198.2设计收获 198.3设计改善 198.4致谢 199、参考文献 201、EDA技术发展及介绍1.1EDA技术的介绍EDA是电子设计自动化(ElectronicDesignAutomation)缩写,是90年代初从CAD(计算机辅助设计)、CAM(计算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术是以计算机为工具,根据硬件描述语言HDL(HardwareDescriptionlanguage)完毕的设计文献,自动地完毕逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目的芯片的适配编译和编程下载等工作。硬件描述语言HDL是相对于一般的计算机软件语言,如:C、PASCAL而言的。HDL语言使用与设计硬件电子系统的计算机语言,它能描述电子系统的逻辑功能、电路结构和连接方式。设计者可运用HDL程序来描述所希望的电路系统,规定器件结构特性和电路的行为方式;然后运用综合器和适配器将此程序编程能控制FPGA和CPLD内部结构,并实现相应逻辑功能的的门级或更底层的结构网表文献或下载文献。目前,就FPGA/CPLD开发来说,比较常用和流行的HDL重要有ABEL-HDL、AHDL和VHDL。1.2EDA技术的发展可将EDA技术分为三个阶段。(1)七十年代为CAD阶段,人们开始用计算机辅助进行IC版图编辑、PCB布局布线,取代了手工操作,产生了计算机辅助设计的概念。(2)八十年代为CAE阶段,与CAD相比,除了纯粹的图形绘制功能外,又增长了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计,这就是计算机辅助工程的概念。CAE的重要功能是:原理图输入,逻辑仿真,电路分析,自动布局布线,PCB后分析。(3)九十年代为ESDA阶段,尽管CAD/CAE技术取得了巨大的成功,但并没有把人从繁重的设计工作中彻底解放出来。在整个设计过程中,自动化和智能化限度还不高,各种EDA软件界面千差万别,学习使用困难,并且互不兼容,直接影响到设计环节间的衔接。基于以上局限性,人们开始追求:贯彻整个设计过程的自动化,这就是ESDA即电子系统设计自动化。 1.3EDA技术的发展趋势目前的EDA产业正处在一场大变革的前夕,对更低成本、更低功耗的无止境追求和越来越短的产品上市压力正迫使IC供应商提供采用0.13μm或以下的千万门级的系统芯片,而这些系统芯片的高复杂性设计更加依赖于EDA供应商提供全新的设计工具和方法以实现模拟前后端、混合信号和数字电路的完全整合。然而,这些新的需求为当代EDA工具和设计方法带来了不少新的挑战与机会。例如,如何在工艺上防止模拟电路与数字电路之间的干扰;现有的大部份EDA工具最多只能解决百万门级设计规模,随着IC设计向千万门级以上规模发展,现有EDA工具和方法必须进行升级。如何融合各EDA供应商的工具,以便向IC设计界提供更高效能和更方便的RTL-to-GDSII或Conc-ept-to-GDSII整合设计环境;为保证深亚微米(0.13μm或以下)和更低内核工作电压(1.8V或以下)时代的信号完整性和设计时序收敛,必须采用新的设计方法。半导体工艺的每一次跃升都促使EDA工具改变自己,以适应工艺的发展;反过来EDA工具的进步又推动设计技术的发展。可以说EDA工具是IC设计产业的背后推手。系统芯片(SOC)正在迅速地进入主流产品的行列。由此引发的“芯片就等于整机”的现象,将对整个电子产业形成重大的冲击。种种迹象表白,整个电子产业正在酝酿着一场深刻的产业重组,这将为许多新兴的公司提供进入这一行业的最佳。1.4乐曲演奏简介乐曲演奏广泛用于自动答录装置、手机铃声、集团电话及智能仪器仪表设备。实现方法有许多种,在众多的实现方法中,以纯硬件完毕乐曲演奏,随着FPGA集成度的提高,价格下降,EDA设计工具更新换代,功能日益普及与流行,使这种方案的应用越来越多。PFGA预装了很多已构造好的参数化库单元LPM器件,通过引入支持LPM的EDA软件工具,设计者可以设计出结构独立并且硅片的使用效率非常高的产品。2、总体方案设计2.1设计内容用FPGA器件驱动蜂鸣器演奏“友谊地久天长”片段。一首乐曲包含三个要素:乐曲声音频率,发音时间的长短,停顿的时间。按照图1乐谱,设计相应电路控制speaker信号的方波频率,某一频率连续时间长短,各频率间间隔大小,就可以推动蜂鸣器演奏乐曲。图1“友谊地久天长”片段乐谱注:N一拍;N两拍;N·四拍;N·八拍;N为音谱。2.2设计方案比较方案一:由单片机AT89S52来实现乐曲演奏电路的设计,外围电源采用+5V电源供电,时钟由12MHz的晶振产生,通过按键的状态来检测乐曲演奏状态,中央解决器由AT89S52单片机来完毕,乐曲演奏状态由七段数码管来模拟。这种方案结构简朴,易掌握,各部分电路实现起来都非常容易,在传统的乐曲演奏设计中也应用得较为广泛,技术成熟。其原理框图如图2-1。电源供电电路数码管显示电路AT89S52单片机电源供电电路数码管显示电路AT89S52单片机时钟产生电路时钟产生电路按键控制电路扬声器电路按键控制电路扬声器电路图2-1基于单片机的乐曲演奏电路框图方案二:基于现场可编程逻辑门阵列FPGA,通过EDA技术,采用VerilogHDL硬件描述语言实现乐曲演奏电路设计。程序设计思想为:1、用分频电路产生不同频率方波;2、运用计数器实现speaker信号频率选择,某一频率连续时间长短,各频率间间隔大小。其框图如图2-2。2分频器反馈预置计数器2分频器反馈预置计数器6MHz 扬声器音符显示曲谱产生音符显示曲谱产生4Hz 数码管图2-2乐曲演奏电路原理框图2.3方案论证通过方案一二的比较,可以看出方案一的设计使用分立元件电路较为多,因此会增长电路调试难度,且电路的不稳定性也会随之增长,而采用FPGA芯片实现的电路,由于在整体性上较好,在信号的解决和整个系统的控制中,FPGA的方案能大大缩减电路的体积,提高电路的稳定性。此外其先进的开发工具使整个系统的设计调试周期大大缩短,一般来讲,同样的逻辑,基于FPGA要比基于单片机要快很多,由于它们工作的原理是完全不同的。单片机是基于指令工作的,同样的激励到达单片机后,单片机一方面要判断,然后读取相应的指令,最后作出相应,这每一步都是需要在单片机的时钟驱动下一步步的进行。而基于FPGA则是把相应的逻辑“暂时”固化为硬件电路了,它对激励作出的响应速度就是电信号从FPGA的一个管脚传播另一个管脚的传播速度,当然这指的是异步逻辑,同时电信号也要在芯片内进行一些栅电容的充放电动作,但这些动作都是非常非常快的。2.4方案选择从目前的EDA技术来看,其特点是使用普及、应用广泛、软件功能强大。在ASIC和PLD器件方面,向超高速、高密度、低功耗、低电压方向发展。当今社会人们对低故障、高实时、高可靠、高稳定的性能更加青睐,结合本设计的规定及综合以上比较的情况,我们选择了基于FPGA的乐曲演奏电路方案。3、单元模块设计本设计由现场可编程门矩阵(FPGA)作为控制芯片,通过VreilogHDL硬件描述语言设计,运用自顶而下的设计思想,按功能逐层分割实现层次化的设计。总体设计方案为(1)用分频电路产生不同频率方波;(2)运用计数器实现speaker信号频率的选择,某一频率连续时间长短,各频率间间隔大小。下面介绍重要模块的功能及作用。3.1稳压电源电路该稳压电路的作用是当电网电压波动、负载和温度变化时,维持输出直流电压稳定。该电路可为晶振电路以及扬声器提供+3.3V的稳定电压,驱动器件工作。其原理图如图3-1所示。图3-1稳压电源电路3.2有源晶振电路采用有源晶振作为时钟信号源,它是一个完整的振荡器,其内部除了石英晶体外尚有阻容软件和晶体管,有源晶振信号质量好,比较稳定,并且连接方式比较简朴。重要是作为电源滤波,通常使用的为一个电容和电感组成的PI型滤波网络,输出端使用一个小阻值电阻过滤信号。串电阻可减小反射波,避免反射波叠加引起过冲,减少谐波以及阻抗匹配,减小回波干扰及导致的信号过冲。由于本设计所用的为20MHZ的晶振,而20MHz以下的晶体晶振基本上都是基频的器件,稳定度好,20MHz以上的大多是谐波的(如3次谐波、5次谐波等等),稳定度差,因此我们使选用频的器件,毕竟倍频用的PLL电路需要的周边配置重要是电容、电阻、电感,其稳定度和价格方面远远好于晶体晶振器件。其原理图如图3-2所示。图3-2有源晶振电路3.3蜂鸣器根据蜂鸣器输入信号频率的不同决定了其发声不同的原理,来设计一个由数控分频器控制BUZZER发声的简朴实验。数控分频器的预置值由乐曲的音调的值来决定,从而间接地控制BUZZER得发声频率。其原理图如图3-3所示。图3-3蜂鸣器电路3.4七段数码显示电路七段数码管和普通发光二极管的发光原理同样,为了进行直观显示而将普通发光二极管封装在一起,可以进行16进制数字显示;有共阳极和共阴极之分,共阳极就是此实验平台所使用的链接方式,在控制端输入底点平的时候发光,在输入高电平的时候就不发光。其原理电路图如图3-4所示。图3-4七段数码显示电路4、特殊器件的介绍4.1CPLD器件介绍CPLD是ComplexProgrammableLogicDevice的缩写,它是有最早的PLD器件发展形成的高密度可编程逻辑器件,它具有编程灵活、集成度高、设计开发周期短、合用范围宽、开发工具先进、设计制导致本低、对设计者的硬件经验规定低、标准产品无需测试、保密性强、价格大众化等特点。CPLD是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目的文献,通过下载电缆(“在系统”编程)将代码传送到目的芯片中,实现设计的数字系统。许多公司都开发出了CPLD可编程逻辑器件。比较典型的就是Altera、Lattice、Xilinx世界三大权威公司的产品。如Altera公司的MAXII器件,就是其极具代表性的一类CPLD器件,是有史以来功耗最低、成本最低的CPLD。MAXIICPLD基于突破性的体系结构,在所有CPLD系列中,其单位I/O引脚的功耗和成本都是最低的。Altera公司的MAX7000A系列器件是高密度、高性能的EPLD,它是基于第二代MAX结构,采用CMOSEPROM工艺制造的。该系列的器件具有一定得典型性,其他结构都与此结构非常的类似。它涉及逻辑阵列块、宏单元、扩展乘积项、可编程连线阵列和IO控制部分。由于大多数CPLD是基于乘积项的“与或”结构,故适合设计组合逻辑电路。4.2FPGA器件介绍 FPGA(Field-ProgrammableGateArray)可以达成比PLD更高的集成度,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展起来的,具有更复杂的布线结构和逻辑实现。PLD器件和FPGA的重要区别在于PLD是通过修改具有固定内连电路得逻辑功能来进行编程,而FPGA是通过修改一根或多根分割宏单元的基本功能块的内连线的布线来进行编程。它一般由可嵌入式阵列块(EAB)、逻辑阵列块(LAB)、快速互联通道(FastTrack)、IO单元(IOE)组成。AlteraCycloneII采用全铜层、低K值、1.2伏SRAM工艺设计,裸片尺寸被尽也许最小的优化。采用300毫米晶圆,以TSMC成功的90nm工艺技术为基础,CycloneII器件提供了4,608到68,416个逻辑单元(LE),并具有一整套最佳的功能,涉及嵌入式18比特x18比特乘法器、专用外部存储器接口电路、4kbit嵌入式存储器块、锁相环(PLL)和高速差分I/O能力。CycloneII器件扩展了FPGA在成本敏感性、大批量应用领域的影响力,延续了第一代Cyclone器件系列的成功。由于FPGA是基于查找表(LUT)结构的器件,且每个LAB由10个LE组成,一个LE由LUT和寄存器组成,适合于时序逻辑电路的设计。4.3MAX‖EPM240T100C5器件MAXII器件系列是一种非易失性、即用性可编程逻辑系列,它采用了一种突破性的新型CPLD架构。这种新型架构的成本是原先MAX器件的一半,功耗是其十分之一,密度是其四倍,性能却是其两倍。这些超级性能是在提供了所有MAX系列CPLD先进特性的架构的基础上,根据Altera专家们的意见而重新采用基于查找表的架构而得到的。这种基于查找表的架构在最小的I/O焊盘约束的空间内提供了最多的逻辑容量。因此,MAXIICPLD是所有CPLD系列产品中成本最低、功耗最小和密度最高的器件。基于成本优化的0.18微米6层金属Flash工艺,MAXII器件系列具有CPLD所有的优点,例如非易失性、即用性、易用性和快速传输延时性。以满足通用性,低密度逻辑应用为目的,MAXII器件成为接口桥接、I/O扩展、器件配置和上电顺序等应用最抱负的解决方案。除这些典型的CPLD应用之外,MAXII器件还能满足大量从前在FPGA、ASSP和标准逻辑器件中实现的低密度可编程逻辑需求。MAXII器件提供的密度范围从240到2210个逻辑单元(LE),最多达272个用户I/O管脚。其引脚图如图4-3所示图4-1EPM240T100C55、最小系统原理6、软件实现通过至顶向下(TOP--DOWN)的设计方法,我们对电路的设计规定作了分析,从电路要实现的功能着手,逐层分析电路设计的环节,再具体到各个模块的设计实现以及各模块实现方案的选择。从本设计的电路规定,我们分析了需要实现一个输入状态的编码,以及对循环点亮灯的方式的选择,综合这两种状态控制输出信号的状态变化。 软件设计流程图:2分频器反馈预置计数器2分频器反馈预置计数器 音符显示曲谱产生音符显示曲谱产生 图6-1软件设计流程图6.1音调的控制频率的高低决定了音调的高低。简谱中从低音1至高音1之间每个音名相应的频率如表6-1所示。表6-1 音高频率对照表1234567低音262Hz294Hz330Hz349Hz392Hz440Hz494Hz中音532Hz578Hz659Hz698Hz784Hz880Hz988Hz高音1046Hz1175Hz1318Hz1397Hz1568Hz1760Hz1976Hz该乐曲各音阶频率及相应的分频比如表6-2所示。为了减小输出的偶次谐波分量,最后输出到扬声器的波形应为对称方波,因此在到达扬声器之前,有一个二分频的分频器。表6-2中的分频比就是从6MHz频率二分频得到的3MHz频率基础上计算得出来的。从表6-2可以看出,最大的分频系数为11468,故采用14位二进制计数器分频可满足需求。对于不同的分频系数,只要加载不同的预置数即可,对于乐曲中的休止符,只要将分频系数设为0,即初始值为16383即可,此时扬声器将不会发声。采用加载预置数实现分频的方法比采用反馈复零法节省资源,实现起来也容易些。表6-2各音阶频率相应的分频比及预置数音名分频比预置数音名分频比预置数低音1114684915中音5382712556低音2102156168中音6340912974低音391027281中音7303713346低音485917792高音1286713516低音576538730高音2255413829低音668189565高音3227414109低音7607310310高音4214814235中音1573610647高音5191314470中音2511111272高音6170514678中音3455211831高音7151914864中音4428912094休止符0163836.2音长的控制音符的连续时间根据乐曲的速度及每个音符的节拍数来拟定。本次演奏的片段,最短的音符为四分音符,假如将全音符的连续时间设为1s的话,则只需要再提供一个4Hz的时钟频率即可产生四分音符的时长。6.3软件设计设计程序如下//"友谊天长地久"乐曲演奏电路//信号定义与说明://clk_4Hz: 用于控制音长(节拍)的时钟频率;//clk_6MHz: 用于产生各种音阶频率的基准频率;//speaker: 用于激励扬声器的输出信号,本例中为方波信号;//high,med,low: 分别用于显示高音、中音和低音音符,各驱动一个数码管来显示。modulesong(clk_6MHz,clk_4Hz,speaker,high,med,low);inputclk_6MHz,clk_4Hz;outputspeaker;output[3:0]high,med,low;regspeaker;reg[3:0]high,med,low;reg[7:0]counter;reg[13:0]divider,origin;wirecarry;assigncarry=(divider==16383);always@(posedgeclk_6MHz)begin if(carry)divider<=origin;else divider<=divider+1;endalways@(posedgecarry)beginspeaker<=~speaker;end //2分频产生方波信号always@(posedgeclk_4Hz)begincase({high,med,low}) //根据不同的音符,分频比预置'b: origin<=7281;'b: origin<=8730;'b: origin<=9565;'b: origin<=10310;'b: origin<=10647;'b: origin<=11272;'b: origin<=11831;'b: origin<=12556;'b: origin<=12974;'b: origin<=13516;'b: origin<=16383;endcaseendalways@(posedgeclk_4Hz)beginif(counter==122) counter<=0; //计时,以实现循环演奏else counter<=counter+1;case(counter) //记谱 0: {high,med,low}<='h000; //低音"0",连续2个时钟节拍 1: {high,med,low}<='h000; 2: {high,med,low}<='h005;//低音"5",发4个时钟节拍 3: {high,med,low}<='h005; 4: {high,med,low}<='h005; 5: {high,med,low}<='h005; 6: {high,med,low}<='h010;//中音"1" 7: {high,med,low}<='h010; 8: {high,med,low}<='h010; 9: {high,med,low}<='h010; 10: {high,med,low}<='h010; 11: {high,med,low}<='h010; //中音"1" 12: {high,med,low}<='h010; 13: {high,med,low}<='h030;//中音"3" 14: {high,med,low}<='h030; 15: {high,med,low}<='h020;//中音"2" 16: {high,med,low}<='h020; //发4个时钟节拍 17: {high,med,low}<='h020; 18: {high,med,low}<='h020; 19: {high,med,low}<='h010; //中音"1" 20: {high,med,low}<='h020;//中音"2" 21: {high,med,low}<='h020; 22: {high,med,low}<='h030;//中音"3" 23: {high,med,low}<='h030; 24: {high,med,low}<='h010; //中音"1" 25: {high,med,low}<='h010; 26: {high,med,low}<='h010; 27: {high,med,low}<='h010; 28: {high,med,low}<='h010; 29: {high,med,low}<='h030;//中音"3" 30: {high,med,low}<='h030; 31: {high,med,low}<='h050;//中音"5" 32: {high,med,low}<='h050; 33: {high,med,low}<='h060;//中音"6" 34: {high,med,low}<='h060; 35: {high,med,low}<='h060; 36: {high,med,low}<='h050; //中音"5" 37: {high,med,low}<='h050; 38: {high,med,low}<='h050; 39: {high,med,low}<='h050; 40: {high,med,low}<='h030; //中音"3" 41: {high,med,low}<='h030; 42: {high,med,low}<='h030; 43: {high,med,low}<='h010; //中音"1" 44: {high,med,low}<='h010; 45: {high,med,low}<='h020;//中音"2" 46: {high,med,low}<='h020; 47: {high,med,low}<='h020; 48: {high,med,low}<='h020; 49: {high,med,low}<='h010; //中音"1" 50: {high,med,low}<='h020; //中音"2" 51: {high,med,low}<='h020; 52: {high,med,low}<='h030;//中音"3" 53: {high,med,low}<='h030; 54: {high,med,low}<='h010;//中音"1" 55: {high,med,low}<='h010; 56: {high,med,low}<='h010; 57: {high,med,low}<='h010; 58: {high,med,low}<='h006; //低音"6" 59: {high,med,low}<='h006; 60: {high,med,low}<='h006; 61: {high,med,low}<='h005;//低音"5" 62: {high,med,low}<='h005; 63: {high,med,low}<='h010;//中音"1"64:{high,med,low}<='h060;65:{high,med,low}<='h060; 66:{high,med,low}<='h050;67:{high,med,low}<='h050; 68:{high,med,low}<='h030;69:{high,med,low}<='h030; 70:{high,med,low}<='h030;71:{high,med,low}<='h010; 72:{high,med,low}<='h010;73:{high,med,low}<='h020; 74:{high,med,low}<='h020;75:{high,med,low}<='h020; 76:{high,med,low}<='h020;77:{high,med,low}<='h010; 78:{high,med,low}<='h020;79:{high,med,low}<='h020; 80:{high,med,low}<='h060;81:{high,med,low}<='h060; 82:{high,med,low}<='h050;83:{high,med,low}<='h050; 84:{high,med,low}<='h050;85:{high,med,low}<='h050; 86:{high,med,low}<='h030;87:{high,med,low}<='h030; 88:{high,med,low}<='h030;89:{high,med,low}<='h050; 90:{high,med,low}<='h050;91:{high,med,low}<='h060; 92:{high,med,low}<='h100;93:{high,med,low}<='h100; 94:{high,med,low}<='h050;95:{high,med,low}<='h050; 96:{high,med,low}<='h050;97:{high,med,low}<='h050; 98:{high,med,low}<='h030;99:{high,med,low}<='h030;100:{high,med,low}<='h030;101:{high,med,low}<='h010;102:{high,med,low}<='h010;103:{high,med,low}<='h020;104:{high,med,low}<='h020;105:{high,med,low}<='h020;106:{high,med,low}<='h020;107:{high,med,low}<='h010;108:{high,med,low}<='h020;109:{high,med,low}<='h020;110:{high,med,low}<='h030;111:{high,med,low}<='h030;112:{high,med,low}<='h010;113:{high,med,low}<='h010;114:{high,med,low}<='h010;115:{high,med,low}<='h010;116:{high,med,low}<='h006;117:{high,med,low}<='h006;118:{high,med,low}<='h006;119:{high,med,low}<='h005;120:{high,med,low}<='h005;121:{high,med,low}<='h010;122:{high,med,low}<='h000;default:{high,med,low}<='h000;endcaseendled7su1(high,high_7s);//高音音符显示led7su2(med,med_7s);//中音音符显示led7su3(low,low_7s);//低音音符显示endmodulemoduleled7s(datain,ledout);//7段数码管译码显示模块input[3:0]datain;outputreg[6:0]ledout;alwaysbegincase(datain)0:ledout<=7'b1000000;1:ledout<=7'b1111001;2:ledout<=7'b0100100;3:ledout<=7'b0110000;4:ledout<=7'b0011001;5:ledout<=7'b0010010;6:ledout<=7'b0000010;7:ledout<=7'b1111000;8:ledout<=7'b0000000;9:ledout<=7'b0010000;10:ledout<=7'b0001000;11:ledout<=7'b0000011;12:ledout<=7'b1000110;13:ledout<=7'b0100001;14:ledout<=7'b0000110;15:ledout<=7'b0001110;default:ledout<=7'b1000000;endcaseendendmodule7、系统仿真及调试7.1仿真通过QuartusII软件,我们进行了仿真,其仿真波形如下图:在QuartusII软件中运用硬件描述语言描述电路后,用R
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论