FPGA基礎(chǔ)知識(shí)培訓(xùn)-蔣偉(共69張)_第1頁
FPGA基礎(chǔ)知識(shí)培訓(xùn)-蔣偉(共69張)_第2頁
FPGA基礎(chǔ)知識(shí)培訓(xùn)-蔣偉(共69張)_第3頁
FPGA基礎(chǔ)知識(shí)培訓(xùn)-蔣偉(共69張)_第4頁
FPGA基礎(chǔ)知識(shí)培訓(xùn)-蔣偉(共69張)_第5頁
已閱讀5頁,還剩64頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

產(chǎn)品研發(fā)中心應(yīng)用產(chǎn)品組蔣偉2012年2月

FPGA內(nèi)部技術(shù)培訓(xùn)目錄2什么是FPGA?1VerilogHDL語言基礎(chǔ)3如何使用ISE開發(fā)環(huán)境4FPGA開發(fā)實(shí)踐1、什么是FPGA?1.1可編程邏輯器件基礎(chǔ)1、什么是FPGA?1.1可編程邏輯器件基礎(chǔ)18x18bitEmbeddedPipelinedMultipliersforefficientDSPConfigurable18KBlockRAMs+DistributedRAM4I/OBanks,Supportfor

allI/OStandardsincludingPCI?,DDR333,RSDS,mini-LVDSGuaranteedDensityMigrationNumerouspartsinthesamepackageUptoeighton-chipDigitalClockManagerstosupportmultiplesystemclocksBank0Bank1Bank

2Bank31.1可編程邏輯器件基礎(chǔ)

可編程邏輯器件(ProgrammableLogicDevice,PLD)

顧名思義,完全由用戶通過軟件進(jìn)行配置和編程,從而完成某種特定的功能,而且可以反復(fù)擦寫的器件。

PLD產(chǎn)品

PROM編程只讀存儲(chǔ)器

FPLA現(xiàn)場(chǎng)可編程邏輯陣列

PAL可編程陣列邏輯

GAL通用陣列邏輯

EPLA可擦除的可編程邏輯陣列

CPLD復(fù)雜可編程邏輯器件

FPGA(FieldProgrammableArray)現(xiàn)場(chǎng)可編程門陣列,屬于可編程邏輯器件的一種。通過可編程互連連接的可配置邏輯塊(CLB)矩陣構(gòu)成的可編程半導(dǎo)體器件。1、什么是FPGA?1.1可編程邏輯器件基礎(chǔ)準(zhǔn)確地將用戶設(shè)計(jì)轉(zhuǎn)換為電路模塊能夠高效地利用器件資源能夠快速地完成編譯和綜合提供豐富的IP核資源用戶界面友好,操作簡單PLD開發(fā)軟件

優(yōu)秀的PLD開發(fā)軟件Xilinx公司的ISEAltera公司的QuartusII、MaxplusII1、什么是FPGA?1.1可編程邏輯器件基礎(chǔ)1.2FPGA工作原理四輸入一輸出的電路模塊??ABZCD1、什么是FPGA?1.2FPGA工作原理查找表(Look-Up-Table)LUTLUT本質(zhì)就是一個(gè)RAM。FPGA多使用4輸入一輸出的LUT,一個(gè)LUT等效于為一個(gè)有4位地址線的16×1的RAM。將真值表寫入RAM后,每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算,就等于輸入一個(gè)地址進(jìn)行查表,找出地址對(duì)應(yīng)的內(nèi)容后輸出即可。4-inputlogicfunctionLUT=CDZABTruthTable圖1-1LUT原理示意圖1、什么是FPGA?1.2FPGA工作原理FPGA工作原理的實(shí)質(zhì)FPGA的工作狀態(tài)實(shí)質(zhì)是由片內(nèi)RAM(LUT)決定的,所以通過對(duì)片內(nèi)RAM進(jìn)行編程(配置LUT,更新真值表),就能完成某種特定功能。1、什么是FPGA?1.2FPGA工作原理FPGA芯片結(jié)構(gòu)

FPGA主要由6個(gè)部分組成:IOB(可配置輸入輸塊)CLB(可配置邏輯塊)DCM(時(shí)鐘管理單元)BRAM(嵌入式塊RAM)WIRE(布線資源)IP核(內(nèi)嵌底層功能單元和專用硬件模塊)1.3FPGA芯片結(jié)構(gòu)1、什么是FPGA?1.2FPGA工作原理CLBCLBCLBCLBBRAMBRAMCLBCLBIOBIOBDCMIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOBIOB圖1-2FPGA芯片的內(nèi)部結(jié)構(gòu)1、什么是FPGA?1.2FPGA工作原理定義:芯片與外界電路的接口部分。

功能:

匹配不同的電氣特性、I/O標(biāo)準(zhǔn)、I/O物理特性。比如調(diào)整驅(qū)動(dòng)電流的大小、上下拉電阻、頻率、TTL、LVDS。IOB(可編程輸入輸出塊)WIRE(布線資源)布線資源用于連通FPGA內(nèi)部的所有單元。

第一類:全局布線資源,用于芯片內(nèi)部全局時(shí)鐘和全局復(fù)位布線。

第二類:長線資源,用于BANK間的高速信號(hào)。

第三類:短線資源,用于基本邏輯單元間的互連和布線。

第四類:分布式資源,用于專用時(shí)鐘、復(fù)位等控制信號(hào)。1、什么是FPGA?1.2FPGA工作原理BRAM(嵌入式塊RAM)4096x4Dual-PortDOA[3:0]DOB[3:0]WEAENARSTAADDRA[11:0]CLKADIA[3:0]WEBENBRSTBADDRB[11:0]CLKBDIB[3:0]1、什么是FPGA?1.2FPGA工作原理BRAM(嵌入式塊RAM)1、什么是FPGA?1.2FPGA工作原理DCM(時(shí)鐘管理單元)1、什么是FPGA?1.2FPGA工作原理DCM(時(shí)鐘管理單元)DCMDCMDCMDCM1、什么是FPGA?1.2FPGA工作原理CLB是FPGA內(nèi)部基本的邏輯單元。

CLB包含:一個(gè)可配置的開關(guān)矩陣、一些選型電路(多路復(fù)用器)和觸發(fā)器組成。CLB(可配置邏輯塊)XILINX的CLB

CLB=SwitchMatrix+4Slice+附加邏輯。

(開關(guān)矩陣)(2SLICEM+2SLICEL)Slice是XILINX定義的基本邏輯單位。由2個(gè)4/6輸入的查找表、進(jìn)位邏輯、算數(shù)邏輯、存儲(chǔ)邏輯、復(fù)用器組成。1、什么是FPGA?1.2FPGA工作原理CINSwitchMatrixCOUTCOUTSLICEMS0X0Y0SLICEMS1X0Y1SLICELS2X1Y0SLICELS3X1Y1CINSHIFTCLB示意圖CLB(可配置邏輯塊)1、什么是FPGA?1.2FPGA工作原理IP核:具有知識(shí)產(chǎn)權(quán)的集成電路芯核總稱。分為軟核、固核、硬核。IP核(內(nèi)嵌底層功能單元和專用硬件模塊)軟核:對(duì)電路的硬件語言描述,包括邏輯描述、網(wǎng)表和幫助文檔等,以用HDL文本形式提交給用戶。

固核:

IP固核的設(shè)計(jì)程度則是介于軟核和硬核之間,除了完成軟核所有的設(shè)計(jì)外,還完成了門級(jí)電路綜合和時(shí)序仿真等設(shè)計(jì)環(huán)節(jié)。一般以門級(jí)電路網(wǎng)表的形式提供給用戶。

硬核:基于半導(dǎo)體工藝的物理設(shè)計(jì),布局和工藝固定、經(jīng)過前端和后端驗(yàn)證的設(shè)計(jì),設(shè)計(jì)人員不能對(duì)其修改。其提供給用戶的形式是電路物理結(jié)構(gòu)掩模版圖和全套工藝文件,是可以拿來就用的全套技術(shù)。

1、什么是FPGA?1.2FPGA工作原理1、什么是FPGA?1.3FPGA開發(fā)流程1.3FPGA開發(fā)流程FPGA設(shè)計(jì)方法硬件設(shè)計(jì)包括:FPGA芯片電路、存儲(chǔ)器、輸入\輸出接口電路以及其他設(shè)備。軟件設(shè)計(jì)思想:自頂向下頂層系統(tǒng)2級(jí)模塊A2級(jí)模塊B2級(jí)模塊C3級(jí)模塊A33級(jí)模塊A23級(jí)模塊A13級(jí)模塊C23級(jí)模塊C11、什么是FPGA?1.3FPGA開發(fā)流程軟件設(shè)計(jì)流程1、什么是FPGA?1.4XILINX公司FPGA簡介1.4XILINX公司FPGA簡介XILINX公司目前有兩大類FPGA產(chǎn)品:Spartan類和Virtex類。前者面向低成本的中低端應(yīng)用。后者面向高端應(yīng)用。兩者的差異僅限于芯片的規(guī)模和專用模塊上。1、什么是FPGA?1.4XILINX公司FPGA簡介1.4XILINX公司FPGA簡介2、VerilogHDL語言基礎(chǔ)2.1VerilogHDL簡介

HDL:具有特殊結(jié)構(gòu)能夠?qū)τ布壿嬰娐返墓δ苓M(jìn)行描述的一種高級(jí)編程語言。

這種特殊結(jié)構(gòu)能夠: –描述電路的連接 –描述電路的功能 –在不同抽象級(jí)上描述電路 –描述電路的時(shí)序 –表達(dá)具有并行性HDL主要有兩種:Verilog和VHDL。Verilog起源于C語言,因此非常類似于C語言,容易掌握什么是硬件描述語言HDL2、VerilogHDL語言基礎(chǔ)2.1VerilogHDL簡介?VerilogHDL是在1983年由GDA(GateWayDesignAutomation)公司的PhilMoorby所創(chuàng)。PhiMoorby后來成為Verilog-XL的主要設(shè)計(jì)者和Cadence公司的第一個(gè)合伙人。?在1984~1985年間,Moorby設(shè)計(jì)出了第一個(gè)Verilog-XL的仿真器。?1986年,Moorby提出了用于快速門級(jí)仿真的XL算法。?1990年,Cadence公司收購了GDA公司?1991年,Cadence公司公開發(fā)表Verilog語言,成立了OVI(OpenVerilogInternational)組織來負(fù)責(zé)VerilogHDL語言的發(fā)展。?1995年制定了VerilogHDL的IEEE標(biāo)準(zhǔn),即IEEE1364。VerilogHDL的歷史2、VerilogHDL語言基礎(chǔ)2.1VerilogHDL簡介二選一選擇器的實(shí)現(xiàn):modulemuxtwo(out,a,b,sel);inputa,b,sel;outputout;regout;always@(seloraorb)

if(!sel)out=a;elseout=b;endmoduleVerilogHDL的基本程序結(jié)構(gòu)2、VerilogHDL語言基礎(chǔ)2.2基本概念詞法約定空白符:空格、換行、制表TAB。除了字符串中的空白符,空白符僅僅用于分辨標(biāo)識(shí)符,編譯的時(shí)候忽略。注釋:單行注釋//,多行注釋/**/操作符:單目、雙目、三目操作符數(shù)字聲明:聲明位數(shù)和不聲明位數(shù)(默認(rèn)十進(jìn)制),建議聲明位數(shù)。不確定值X,高阻值Z。8’b0x11_00z1,12’habc,16’d255,25,’o25,-6’d3字符串:”hello”標(biāo)識(shí)符:字母、數(shù)字、_、$組成,區(qū)分大小寫,第一個(gè)字符必須是字母或者下劃線。關(guān)鍵字:特殊標(biāo)識(shí)符,全小寫。2、VerilogHDL語言基礎(chǔ)2.2基本概念數(shù)據(jù)類型(表示數(shù)字電路硬件中的數(shù)據(jù)存儲(chǔ)和傳送元素)四值邏輯:0、1、X、Z主要包含:wire型、reg型、memory型和parameter型,共19種wire型

硬件單元之間的連接,連線。wirea,b,c=1’b1,d;wiree[7:0];//位寬為8的wire信號(hào),向量2、VerilogHDL語言基礎(chǔ)2.2基本概念reg型存儲(chǔ)元件,保持原有數(shù)字,直到被改寫。數(shù)據(jù)存儲(chǔ)單元的抽象。rega,b,c=1’b1,d;//位寬為1的寄存器rege[7:0];//位寬為8的寄存器memory型對(duì)reg變量建立數(shù)組來對(duì)存儲(chǔ)器建模,描述RAM、ROMrega[0,1024];//1K的1位寄存器reg[7:0]e[0:1024];//1K的8位寄存器,寬度和深度2、VerilogHDL語言基礎(chǔ)2.2基本概念parameter型定義常量,提高可讀性和可維護(hù)性parameter∏=3.1415926;parameter[3:0]S0=4’h0,S1=4’h1,S2=4’h2,S3=4’h3;2、VerilogHDL語言基礎(chǔ)2.2基本概念integer、real、time、字符串型通用的寄存器數(shù)據(jù)類型,用于對(duì)數(shù)量進(jìn)行操作。integercounter;integercounter[0:7];realdelay;timedelaytime;real[8*3-1,0]string;string=“boy”;2、VerilogHDL語言基礎(chǔ)2.2基本概念編譯指令‘define:定義文本宏

‘defineWordSize16’include:將一個(gè)Verilog文件包含在另一個(gè)Verilog文件中‘include“moled.v”2、VerilogHDL語言基礎(chǔ)2.3操作符和表達(dá)式算術(shù)操作符2、VerilogHDL語言基礎(chǔ)2.3操作符和表達(dá)式關(guān)系操作符2、VerilogHDL語言基礎(chǔ)2.3操作符和表達(dá)式邏輯操作符2、VerilogHDL語言基礎(chǔ)2.3操作符和表達(dá)式按位操作符2、VerilogHDL語言基礎(chǔ)2.3操作符和表達(dá)式等價(jià)操作符2、VerilogHDL語言基礎(chǔ)2.3操作符和表達(dá)式條件操作符、移位操作符、拼接操作符、縮減操作符、2、VerilogHDL語言基礎(chǔ)2.3操作符和表達(dá)式縮減操作符A=4’b0110;&A;//相當(dāng)于0&1&1&02、VerilogHDL語言基礎(chǔ)2.3操作符和表達(dá)式條件操作符、拼接操作符、縮減操作符條件運(yùn)算符:?:A?B:C拼接運(yùn)算符:{,}A=4’b0100;B=4’b1100;C=4’b1001;Y={A,B,C,4’b0010}=0100_1100_1001_0010;2、VerilogHDL語言基礎(chǔ)2.3操作符符和表達(dá)式操作符優(yōu)先級(jí)2、VerilogHDL語言基礎(chǔ)2.3運(yùn)算符和表達(dá)式賦值運(yùn)算符=,<=A=b;c=1’b1;//阻塞賦值??C<=d;d<=2’b01;//非阻塞賦值??2、VerilogHDL語言基礎(chǔ)2.4模塊和端口模塊?module能夠表示:–物理塊,如IC或ASIC單元–邏輯塊,如一個(gè)CPU設(shè)計(jì)的ALU部分–整個(gè)系統(tǒng)?每一個(gè)模塊的描述從關(guān)鍵詞module開始,有一個(gè)名稱(如SN74LS74,DFF,ALU等等),由關(guān)鍵詞endmodule結(jié)束。2、VerilogHDL語言基礎(chǔ)2.4模塊和端口端口?注意模塊的名稱DFF,端口列表及說明?模塊通過端口與外部通信2、VerilogHDL語言基礎(chǔ)2.4模塊和端口端口列表和聲明module(sum,clk,a,b,c_in);inputclk,a,c_in;//wireoutputsum;inoutb;//wireregsum;endmodule2、VerilogHDL語言基礎(chǔ)2.4模塊和端口模塊例化2、VerilogHDL語言基礎(chǔ)2.5門級(jí)建模(結(jié)構(gòu)化描述)門類型and,or,xor,buf,not,nand,nor,xnor舉例:moduleadder(A,B,Cin,Sum,Count);

xorx1(S1,A,B);xorx2(Sum,S1,Cin);andA1(T3,A,B);andA2(T2,B,Cin);andA3(T1,A,Cin);orO1(Cout,T1,T2,T3);endmodule定義:對(duì)電路結(jié)構(gòu)的描述2、VerilogHDL語言基礎(chǔ)2.6數(shù)據(jù)流建模語法格式:assignL_S=R_S;采用assign連續(xù)賦值來實(shí)現(xiàn),只能實(shí)現(xiàn)組合邏輯。左值必須是線網(wǎng)(標(biāo)量或者向量),右值可以是線網(wǎng)、寄存器、函數(shù)調(diào)用。賦值語句總是處于激活狀態(tài),只要右邊操作數(shù)發(fā)生變化,立即將結(jié)果賦給左邊的線網(wǎng)。module(out,sum,a,b,c,d,e,f);inputa,b,e,f;input[15:0]c,d;outputout,sum;assignout=a&b;assignout[15:0]=c[15:0]&d[15:0];assign#10out=e&f;endmodule定義:對(duì)數(shù)據(jù)流的具體行為的描述2、VerilogHDL語言基礎(chǔ)2.7行為級(jí)建模定義:對(duì)電路外部行為的角度進(jìn)行描述。行為級(jí)建模主要包括:過程結(jié)構(gòu)、語句塊、時(shí)序控制、流控制過程結(jié)構(gòu)過程結(jié)構(gòu)采用4種過程語句來實(shí)現(xiàn):initial語句、always語句、task語句、function語句initial語句、always語句又是最基本的兩種語句,其他所有行為語句都只能出現(xiàn)在這個(gè)兩個(gè)語句中。initial語句只用于仿真,不可綜合。always語句可被綜合。initial語句、always語句都是同時(shí)并行執(zhí)行,但initial語句只執(zhí)行一次,always語句則是重復(fù)執(zhí)行。只有寄存器類型信號(hào)才可以在initial語句、always語句被賦值2、VerilogHDL語言基礎(chǔ)2.7行為級(jí)建模initial語句語法格式:initialbegin/fork………………//塊能變量說明、行為語句end/join應(yīng)用舉例:

modulestimulus;rega,b,c;initiala=1’b1;initialbegin#5b=1’b1;#10c=1’b1;endendmodule2、VerilogHDL語言基礎(chǔ)2.7行為級(jí)建模always語句語法格式:always@(敏感事件列表)begin/fork………………//塊能變量說明、行為語句end/join//實(shí)現(xiàn)組合邏輯和時(shí)序邏輯應(yīng)用舉例:

modulestimulus;rega,b,c,d;always@(posedgeclk)begininitialbegin…a=0;b=0;c=0;endend………………alwaysbeginalways@(aorborc)begin#2a=~a;d=a?b:c;alwaysbeginend#5b=~b;#10c=~c;endendmodule組合邏輯中,敏感變量(等式右邊所有的標(biāo)識(shí)符)必須全寫。組合邏輯中,使用阻塞賦值“=”時(shí)序邏輯中采用非阻塞賦值“<=”2、VerilogHDL語言基礎(chǔ)2.7行為級(jí)建模過程賦值語句更新寄存器、整數(shù)、實(shí)數(shù)或者時(shí)間變量。只有在執(zhí)行到的時(shí)候才起作用。分為:阻塞賦值”=“與非阻塞賦值語句”<=“moduleinitialbegina=1’b1;#5b=1’b1;#10c=1’b1;endendmodulemoduleinitialbegina<=1’b1;#5b<=1’b1;#10c<=1’b1;endendmodule允許賦值調(diào)度!2、VerilogHDL語言基礎(chǔ)2.7行為級(jí)建模語句塊在initial語句或always語句中,位于begin...end/fork…join塊語句之間的一組行為語句。兩者可混合使用(包括嵌套使用)。begin

……end:用來組合需要順序執(zhí)行的語句,稱為順序塊。initialbegina=1’b0;b=1’b1;c={a,b};d={b,c};endfork……join:用來組合并行執(zhí)行的語句,稱為并行塊。initialforka=1’b0;b=1’b1;c={a,b};//競(jìng)爭(zhēng)!(同一時(shí)刻對(duì)同一變量產(chǎn)生影響)d={b,c};//競(jìng)爭(zhēng)!

join2、VerilogHDL語言基礎(chǔ)2.7行為級(jí)建模時(shí)序控制分為:延時(shí)控制和事件控制延時(shí)控制:#5a=b;事件控制:@(aorborc)等價(jià)@(a,b,c)@(posedgeclk)2、VerilogHDL語言基礎(chǔ)2.7行為級(jí)建模流控制流控制語句包括:跳轉(zhuǎn)、分支和循環(huán)語句if語句if()elseif()elsecase語句case()casex()casez()

表達(dá)式:聲明;default:聲明;endcaseendcaseendcase循環(huán)語句

for()、while()、forever、repeat2、VerilogHDL語言基礎(chǔ)2.7行為級(jí)建模task任務(wù)聲明:task………endtaskmodulefpga_train();

always@(posedgeclk1)

beginand_operation(ab_and,a,b);//變量的指定必須按照定義的順序!

end

always@(posedgeclk2)

beginand_operation(cd_and,c,d);endtask

automaticand_operation;//自動(dòng)任務(wù)

outputab_and_inst;inputa_inst,b_inst;

beginab_and_inst=a_inst&b_inst;endendtask;endmodule2、VerilogHDL語言基礎(chǔ)2.7行為級(jí)建模function任務(wù)modulefpga_train();

always@(posedgeclk1)

beginc=and_operation(a,b);endfunctionautomatic[7:0]and_operation;//自動(dòng)函數(shù),生成一個(gè)名為函數(shù)標(biāo)識(shí)符的寄存器變量

inputa_inst,b_inst;

beginand_operation=a_inst&b_inst;endendfunction;endmodule2、VerilogHDL語言基礎(chǔ)2.7行為級(jí)建模task和function的區(qū)別1、函數(shù)至少有一個(gè)輸入變量,任務(wù)不定。2、函數(shù)必須有一個(gè)返回值。任務(wù)不返回值,可通過OUT變量傳遞值。3、函數(shù)不能包含延遲、事件、時(shí)序控制,任務(wù)可包含。4、函數(shù)可調(diào)用函數(shù),不能調(diào)用任務(wù)。任務(wù)可調(diào)用任務(wù)和函數(shù)。ImplementingaDesignintoaXilinxDeviceTranslateMapPlace&RoutePlan&

BudgetHDLRTLSimulationSynthesizetoCreateNetlistFunctionalSimulationCreate

BITFileAttainTimingClosureTimingSimulationImplementCreateCode/Schematic3、如何使用ISE開發(fā)環(huán)境3.1ISE開發(fā)流程ProjectNavigatoristheGraphicalInterfacetotheISEToolSuiteProjectNavigatorwindowsSourcesProcessesSummaryWorkingMessage3、如何使用ISE開發(fā)環(huán)境3.2ISE交互窗口CreatingaProjectSelectFile

NewProjectNewProjectWizardguidesyouthrough

theprocessProjectname

andlocationTargetdeviceSoftwareflowCreateoraddsourcefiles3、如何使用ISE開發(fā)環(huán)境3.2ISE交互窗口CreatingandAddingSourceFilesClickCreateNewSourceandchoosethetypeoffiletocreateanewsourcefileHDLIPConstrai

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論