第5章VHDL基本描述語句_第1頁
第5章VHDL基本描述語句_第2頁
第5章VHDL基本描述語句_第3頁
第5章VHDL基本描述語句_第4頁
第5章VHDL基本描述語句_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第5章VHDL基本描述語句順序語句:用來實(shí)現(xiàn)模型的算法描述并行語句:則用來表示各模塊算法描述之間的連接關(guān)系。本章內(nèi)容:5.1順序語句按照語句的出現(xiàn)順序加以執(zhí)行的。激活后按順序逐一的被執(zhí)行,前面語句的執(zhí)行結(jié)果可能直接影響后面語句的結(jié)果。但是從時鐘的角度來看,所有語句又都是在激活的那一時刻被執(zhí)行,信號的延遲不會隨語句的順序而改變,因?yàn)樾盘柕难舆t只和硬件的延遲有關(guān)。只能用在進(jìn)程、子程序(函數(shù)和過程)內(nèi)部,不能在結(jié)構(gòu)體中直接使用。

5.1順序語句VHDL順序語句種類:賦值語句IF語句CASE語句LOOP、EXIT、NEXT語句WAIT語句NULL語句順序賦值語句主要用在進(jìn)程和子程序中,包括信號賦值和變量賦值兩種,在進(jìn)程中順序執(zhí)行。5.1.1賦值語句信號在實(shí)體、結(jié)構(gòu)體中定義,可作為結(jié)構(gòu)體內(nèi)多個進(jìn)程的連接信號。變量只能在進(jìn)程或子程序內(nèi)定義,只在該進(jìn)程或子程序中使用。語句格式:變量賦值目標(biāo):=賦值源;信號賦值目標(biāo)<=賦值源;比較:(1)信號賦值有一定的延時,在時序電路中,在時鐘信號觸發(fā)下的信號賦值,目標(biāo)信號要比源信號延遲一個時鐘周期;變量賦值語句立即執(zhí)行,沒有延時。(2)進(jìn)程中同一變量多次賦值時按順序立即執(zhí)行,而信號多次賦值時,只有進(jìn)程結(jié)束前最后一個賦值被執(zhí)行。5.1.1賦值語句例5-3architectureBehavioraloffuzhiissignald1:std_logic;beginprocess(clk,rst)beginifrst='0'then d1<='0'; q<='0';

elsif

clk'eventandclk='1'then d1<=d; q<=d1; endif;endprocess; endBehavioral;5.1.1賦值語句例5-4architectureBehavioraloffuzhiisbeginprocess(clk,rst)variabled1:std_logic;beginifrst='0'then d1:='0'; q<='0';

elsif

clk'eventandclk='1'then d1:=d; q<=d1; endif;endprocess; endBehavioral;5.1.1賦值語句圖5-1波形仿真圖圖5-2RTL原理圖5.1.1賦值語句圖5-3波形仿真圖圖5-4RTL原理圖【例5-5】SIGNALS1,S2:STD_LOGIC;SIGNALSVEC:STD_LOGIC_VECTOR(0TO7);...PROCESS(S1,S2)ISVARIABLEV1,V2:STD_LOGIC;BEGIN

V1:=‘1’;

--立即將V1置位為1

V2:=‘1’;

--立即將V2置位為1

S1<=‘1’;

--S1被賦值為1

S2<=‘1’;

--不是最后一個賦值語句故不作任何賦值操作多個賦值源

SVEC(0)<=V1;--將V1在上面的賦值1,賦給SVEC(0)SVEC(1)<=V2;--將V2在上面的賦值1,賦給SVEC(1)SVEC(2)<=S1;

--將S1在上面的賦值1,賦給SVEC(2)SVEC(3)<=S2;

--將最下面的賦予S2的值‘0’,賦給SVEC(3)

V1:=‘0’;

--將V1置入新值0

V2:=‘0’;

--將V2置入新值0

S2<=‘0’;

--對S2最后一次賦值,賦值有效

SVEC(4)<=V1;--將V1在上面的賦值0,賦給SVEC(4)SVEC(5)<=V2;--將V2在上面的賦值0,賦給SVEC(5)SVEC(6)<=S1;--將S1在上面的賦值1,賦給SVEC(6)SVEC(7)<=S2;--將S2在上面的賦值0,賦給SVEC(7)ENDPROCESS;多個賦值源不完整IF語句二選一IF語句多重條件IF語句IF語句嵌套5.1.2IF語句

不完整IF語句語句格式:

IF條件THEN

順序執(zhí)行語句;

ENDIF;

執(zhí)行過程:如果條件成立,即條件表達(dá)式為TURE,則執(zhí)行順序語句,否則跳過順序語句結(jié)束IF。由于該IF語句中沒有指出條件不滿足時做何操作,即在條件句中沒有給出各種可能的條件時的處理方式,所以是一種不完整的條件語句。

不完整IF語句作用:形成鎖存,用于構(gòu)成時序電路,而組合電路只能使用完整的IF語句。

例5-6:

IF(clk’eventandclk=’1’)thenQ<=d;Endif;

二選一IF語句語句格式:

IF條件THEN

順序執(zhí)行語句1;ELSE

順序執(zhí)行語句2;ENDIF;

執(zhí)行過程:如果條件成立,則執(zhí)行順序語句1,否則執(zhí)行順序語句2。

完整的描述了條件成立、不成立時的操作,對應(yīng)組合電路的二選一選擇結(jié)構(gòu)。典型應(yīng)用:二選一電路

ifsel=‘0’then

q<=d0;

else

q<=d1;

endif;

二選一IF語句語句格式:

IF條件THEN

順序執(zhí)行語句;

ELSIF條件THEN

順序執(zhí)行語句;

ELSIF條件THEN

順序執(zhí)行語句;

ELSE

順序執(zhí)行語句;

ENDIF;

多重條件IF語句注意:ELSIF可以多次使用,而ELSE僅能使用一次。

例:4位寬的四選一多路選擇器的功能。

Libraryieee;

Useieee.std_logic_1164.all;

Entitymux4is

Port(a,b,c,d:instd_logic_vector(3downto0);

S:instd_logic_vector(1downto0);

X::outstd_logic_vector(3downto0));

Endmux4;多重條件IF語句Architecturearchmux4ofmux4is

Begin

Mux4:process(a,b,c,d,s)

Begin

Ifs=”00”then

X<=a;

Elsifs=”01”then

X<=b;

Elsifs=”10”then

X<=c;

Else

X<=d;

Endif;

Endprocessmux4;

Endarchmux4;多重條件IF語句語句格式:

IF條件1THEN

IF條件2THEN

順序語句;

ENDIF;

ENDIF;IF語句嵌套例5-9:

Libraryieee;

Useieee.std_logic_1164.all;

Useieee.std_logic_unsigned.all;

Useieee.std_logic_arith.all;

entitycnt4is

port(rst:instd_logic;

clk:instd_logic;

en:instd_logic;

cnt:bufferstd_logic_vector(3downto0)

);

endcnt4;IF語句嵌套architectureBehavioralofcnt4is

begin

process(clk,rst,en)

begin

ifrst='0'then

cnt<="0000";

elsif

clk'eventandclk='1'then

ifen='1'then

cnt<=cnt+1;

endif;

endif;

endprocess;

endBehavioral;IF語句嵌套5.1.3CASE語句一般格式為:

CASE條件表達(dá)式ISWHEN值1=>順序語句1;WHEN值2=>順序語句2;WHEN值3=>順序語句3;……WHENOTHERS=>順序語句m;ENDCASE;5.1.3CASE語句WHEN選擇值表示:

單個值;并列數(shù)值:值1|值2|值3|…|值n;數(shù)值范圍:值1TO值n;混合方式:上述3種的混合。5.1.3CASE語句注意:

WHEN的數(shù)量無限制,但不能共用相同值;WHEN語句的值必須覆蓋表達(dá)式的所有值;只能有一個OTHERS,且位于最后。5.1.3CASE語句例5-10

Architecturearchmux4ofmux4isBeginMux4:process(a,b,c,d,s)BeginCasesisWhen"00"=>X<=a;When"01"=>X<=b;When"10"=>X<=c;When"11"=>X<=d;Whenothers=>Null;--空語句

Endcase;Endprocessmux4;Endarchmux4;5.1.3CASE語句例5-11:IF與CASE混合使用

Mux4:process(EN,a,b,c,d,s)BeginIFEN=’0’thenX<=”0000”;ELSECasesisWhen"00"=>X<=a;When"01"=>X<=b;When"10"=>X<=c;When"11"=>X<=d;Whenothers=>Null;--空語句

Endcase;ENDIF;Endprocessmux4;【例】case語句使用中幾種容易發(fā)生的錯誤

SIGNALvalue:INTEGERRANGE0TO15;SIGNALout1:STD_LOGIC;...CASEvalueIS--缺少以WHEN引導(dǎo)的條件句

ENDCASE;

...CASEvalueISWHEN0=>out1<='1';--value2~15的值未包括進(jìn)去

WHEN1=>out1<='0';ENDCASE...CASEvalueISWHEN0TO10=>out1<='1';--選擇值中5~10的值有重疊

WHEN5TO15=>out1<='0';ENDCASE;5.1.4LOOP語句兩種循環(huán)控制語句:

FORLOOP循環(huán)和WHILELOOP循環(huán)。

FORLOOP循環(huán)主要用在規(guī)定數(shù)目的重復(fù)情況;WHILELOOP則根據(jù)控制條件執(zhí)行循環(huán)直到條件為FALSE。FORLOOP格式:[標(biāo)號:]FOR循環(huán)變量

IN循環(huán)次數(shù)范圍

LOOP

順序處理語句;ENDLOOP[標(biāo)號];FORLOOP語句循環(huán)變量:屬于LOOP語句的局部變量,不需要事先定義,也不能被賦值,它的值從循環(huán)次數(shù)范圍的初值開始,執(zhí)行一次順序語句自動加一,當(dāng)其值超出循環(huán)次數(shù)范圍時,則退出循環(huán)語句。FORLOOP語句例5-12ARCHITECTUREbehaveOFpcISBEGIN

PROCESS(a)VARIABLEtmp:STD_LOGIC;BEGIN

tmp:='0';FORiIN0TO7LOOP

tmp:=tmpXORa(i);ENDLOOP;y<=tmp;ENDPROCESS;ENDbehave;WHILELOOP格式:

[標(biāo)號:]WHILE條件LOOP

順序處理語句

ENDLOOP[標(biāo)號];

如果條件為真,則進(jìn)行循環(huán),否則結(jié)束循環(huán)。WHILELOOP語句WHILELOOP語句例5-13PROCESS(a)VARIABLEtmp:STD_LOGIC;VARIABLEI:INTEGER;BEGIN

tmp:='0';i:=0;Whilei<8loop

Tmp:=tmpXORa(i);I:=I+1;Endloop;y<=tmp;ENDPROCESS;5.1.5NEXT語句用在LOOP循環(huán)語句中,表示跳出本次循環(huán),執(zhí)行下一次循環(huán)或其他循環(huán)操作。語句格式:Next[循環(huán)標(biāo)號][when條件表達(dá)式];

當(dāng)條件表達(dá)式滿足條件時,結(jié)束本次循環(huán)操作,跳轉(zhuǎn)到[循環(huán)標(biāo)號]對應(yīng)的循環(huán)語句,若無[循環(huán)標(biāo)號]語句,則結(jié)束本次循環(huán),執(zhí)行下一個循環(huán)操作。5.1.5NEXT語句【例5-14】計(jì)算8位數(shù)據(jù)總線DATA中“1”的個數(shù)。PROCESS(DATA)BEGINForIIN0TO7LOOPIFDATA(I)=’0’THENNEXT;--跳出本次循環(huán),進(jìn)行下一數(shù)據(jù)位判斷

ELSEM<=M+1;--如數(shù)據(jù)總線本位信號為‘1’,則計(jì)數(shù)器M加1ENDIF;ENDLOOP;ENDPROCESS;5.1.5NEXT語句【例5-15】計(jì)算8位數(shù)據(jù)總線DATA中“1”的個數(shù)。PROCESS(DATA)BEGINForIIN0TO7LOOPNEXTWHENDATA(I)=’0’;--則跳出本次循環(huán)

M<=M+1;--如數(shù)據(jù)總線本位信號為‘1’,則計(jì)數(shù)器M加1ENDLOOP;ENDPROCESS;5.1.6EXIT語句用在LOOP循環(huán)語句中,表示表示退出整個循環(huán)操作。語句格式:

EXIT[循環(huán)標(biāo)號];或EXIT[循環(huán)標(biāo)號][WHEN條件];

5.1.6EXIT語句例5-16process(inp)variablem:std_logic_vector(2downto0);beginm:="111";foriin7downto0loopifinp(i)='0'then m:=m-1; else exit;endif;endloop;

outp<=m;endprocess; 5.1.8NULL語句空操作語句功能是使運(yùn)行流程繼續(xù),進(jìn)入下一條語句的執(zhí)行。在CASE語句中使用,用于排除一些不用的條件。Signalinp:std_logic_vector(0to1);…caseinpiswhen"00"=>outp<="0001"; when"01"=>outp<="0010"; when"10"=>outp<="0100"; when"11"=>outp<="1000"; whenothers=>null;--排除inp其他取值

endcase;5.2并行語句并行語句是硬件描述語言與一般軟件程序最大的區(qū)別所在,所有并行語句在結(jié)構(gòu)體中的執(zhí)行都是同時進(jìn)行的,即它們的執(zhí)行順序與語句書寫的順序無關(guān)。這種并行性是由硬件本身的并行性決定的,即一旦電路接通電源,它的各部分就會按照事先設(shè)計(jì)好的方案同時工作。

5.2并行語句VHDL并行語句:賦值語句PROCESS進(jìn)程語句元件例化語句BLOCK塊語句GENERATE語句5.2.1并行信號賦值語句賦值語句在進(jìn)程內(nèi)使用是順序執(zhí)行,在進(jìn)程外即在結(jié)構(gòu)體中直接使用就是并行語句。并行信號賦值語句有3種形式:簡單信號賦值、條件信號賦值和選擇信號賦值。

簡單信號賦值語句語句格式:目標(biāo)信號<=表達(dá)式;例5-19:architectureBehavioralofgate2isbeginout1<=AandB; out2<=AorB;endBehavioral;

條件信號賦值語句語句格式:

目標(biāo)信號<=表達(dá)式1WHEN條件1ELSE

表達(dá)式2WHEN條件2ELSE

表達(dá)式3WHEN條件3ELSE…

表達(dá)式n;

說明:從條件1開始逐項(xiàng)測定,一旦賦值條件為Ture,立即將相應(yīng)表達(dá)式值賦給目標(biāo)信號;其功能與進(jìn)程中的IF語句相同;最后一項(xiàng)表達(dá)式可以不跟條件子句,以上所有條件都不滿足時,將表達(dá)式n賦給目標(biāo)信號。

條件信號賦值語句例5-20:ARCHITECTUREArcmuxOFmux4ISBEGINy<=i0WHENsel="00"ELSE--條件代入語句,句末無符號

i1WHENsel="01"ELSEi2WHENsel="10"ELSEi3;ENDarcmux;

選擇信號賦值語句語句格式:

WITH選擇條件表達(dá)式SELECT

目標(biāo)信號<=表達(dá)式1WHEN選擇值1,

表達(dá)式2WHEN選擇值2,:

表達(dá)式nWHEN選擇值n,

表達(dá)式WHENothers;

說明:根據(jù)選擇條件表達(dá)式取值,將相應(yīng)選擇值對應(yīng)的表達(dá)式賦給目標(biāo)信號;該語句與CASE語句相似,要求覆蓋條件表達(dá)式的所有取值,并且不允許有條件重疊現(xiàn)象。除最后一句外各子句句末全是‘,’,而不是‘;’

。

選擇信號賦值語句例5-21:ARCHITECTUREArcmuxOFmux4ISBEGINWITHSELSELECTy<=i0WHEN"00",--使用“,”i1WHEN"01",i2WHEN"10",i3WHEN"11",‘Z’WHENothers;ENDarcmux;

5.2.2PROCESS進(jìn)程語句進(jìn)程語句是個復(fù)合語句,由順序語句組成,進(jìn)程內(nèi)部的語句是順序執(zhí)行的。在一個結(jié)構(gòu)體中可以有多個進(jìn)程,各個進(jìn)程是并發(fā)執(zhí)行的,即結(jié)構(gòu)體中多個進(jìn)程的執(zhí)行與各進(jìn)程的書寫順序無關(guān)多進(jìn)程間的通信依靠信號來傳遞。語句格式:

[進(jìn)程標(biāo)號:]PROCESS[(敏感信號列表)][說明部分];BEGIN

順序描述語句;

[WAITUNTIL條件表達(dá)式];[WAITFOR時間表達(dá)式];ENDPROCESS[進(jìn)程標(biāo)號];5.2.2PROCESS進(jìn)程語句語句組成:敏感信號列表列出啟動進(jìn)程的輸入信號;也可以使用進(jìn)程順序部分的WAIT語句來控制進(jìn)程的啟動;WAIT語句和敏感列表只能出現(xiàn)一個,但可以有多個WAIT語句。說明部分用于定義一些進(jìn)程內(nèi)部有效的局部量,包括:變量、常數(shù)、數(shù)據(jù)類型、屬性、子程序等,不允許定義信號。順序描述部分描述進(jìn)程模塊的功能。一般采用IF語句描述算法,實(shí)現(xiàn)模塊的行為功能。5.2.2PROCESS進(jìn)程語句進(jìn)程特點(diǎn):進(jìn)程狀態(tài)獨(dú)立的無限循環(huán)程序結(jié)構(gòu)。進(jìn)程有兩種運(yùn)行狀態(tài),即執(zhí)行狀態(tài)(激活)和等待狀態(tài)(掛起)。當(dāng)敏感信號列表中信號有變化或者WAIT條件滿足時,進(jìn)程進(jìn)入執(zhí)行狀態(tài),順序執(zhí)行進(jìn)程內(nèi)順序描述語句,遇到ENDPROCESS語句后停止執(zhí)行,自動返回起始語句PROCESS,進(jìn)入等待狀態(tài)。5.2.2PROCESS進(jìn)程語句進(jìn)程的并行性進(jìn)程內(nèi)部雖然是順序語句,但其綜合后的硬件是一個獨(dú)立模塊,所以進(jìn)程內(nèi)部的順序語句具有順序和并行雙重性;不同進(jìn)程是并行運(yùn)行的,進(jìn)程之間的通信通過信號傳遞,這也反映了信號的全局特征。時鐘驅(qū)動

一般一個進(jìn)程中只能描述針對同一時鐘的同步時序邏輯,異步時序邏輯則需要由多個進(jìn)程來表達(dá)。進(jìn)程特點(diǎn)組合進(jìn)程【例5-22

】ARCHITECTUREconnectOFmux1ISBEGIN

cale:--進(jìn)程名

PROCESS(d0,d1,sel)--輸入信號為敏感信號

VARIABLEtmp1,tmp2,tmp3:std_logic;--在進(jìn)程中定義變量

BEGINtmp1:=d0ANDsel;--輸入端口向變量賦值

tmp2:=d1AND(NOTsel);tmp3:=tmp1ORtmp2;q<=tmp3;--變量值賦給輸出信號

ENDPROCESScale;ENDconnect;進(jìn)程示例時序進(jìn)程【例5-23】

ARCHITECTURErig_dOFffdISbeginprocess(clk)--時鐘為敏感信號

beginifclk’eventandclk=’1’then--時鐘clk的上升沿檢測

q<=d;endif;endprocess;endrig_d;進(jìn)程示例多進(jìn)程并行

【例5-24】ENTITYmulISPORT(a,b,c,selx,sely:INBIT;

data_out:OUTBIT);ENDmul;ARCHITECTUREexOFmulISSIGNALtemp:BIT;BEGIN進(jìn)程示例

p_a:PROCESS(a,b,selx)BEGINIF(selx='0')THENtemp<=a;ELSEtemp<=b;ENDIF;ENDPROCESSp_a;

p_b:PROCESS(temp,c,sely)BEGINIF(sely='0')THENdata_out<=temp;ELSEdata_out<=c;ENDIF;ENDPROCESSp_b;ENDex;多進(jìn)程并行例6-16的綜合結(jié)果多進(jìn)程并行異步時序進(jìn)程【例5-25】ARCHITECTUREcnt_4OFffdISsignalq0,q1:std_logic;begin

p_a:process(clk)--時鐘clk為敏感信號

beginifclk’eventandclk=’1’then--時鐘clk的上升沿檢測

q0<=notq0;endif;endprocessp_a;

進(jìn)程示例p_b:process(q0)--q0為敏感信號

beginifq0’eventandq0=’1’then--時鐘q0的上升沿檢測

q1<=notq1;endif;endprocessp_b;y<=q0&q1;endcnt_4;異步時序進(jìn)程異步時序進(jìn)程元件例化就是將預(yù)先設(shè)計(jì)好的設(shè)計(jì)實(shí)體定義為一個元件,然后利用特定的語句將此元件與當(dāng)前的設(shè)計(jì)實(shí)體中的指定端口相連接,從而為當(dāng)前設(shè)計(jì)實(shí)體引入一個新的低一級的設(shè)計(jì)層次。元件例化是可以多層次的,在一個設(shè)計(jì)實(shí)體中被調(diào)用安插的元件本身也可以是一個低層次的當(dāng)前設(shè)計(jì)實(shí)體,因而可以調(diào)用其他的元件,以便構(gòu)成更低層次的電路模塊。5.2.3元件例化語句元件例化語句由兩個語句組成:

元件說明語句(Component)和元件映射語句(Portmap)。其中component語句在結(jié)構(gòu)體說明部分中定義,portmap語句在結(jié)構(gòu)體并行執(zhí)行語句中使用。5.2.3元件例化語句元件說明語句格式:Component元件名is[類屬語句]Port(端口語句);Endcomponent;語句說明:

相當(dāng)于對一個設(shè)計(jì)好的實(shí)體進(jìn)行封裝,留出對外的接口界面。其中,元件名為要定義模塊的實(shí)體名;類屬語句及端口語句的說明與要定義模塊的實(shí)體相同,即名稱及順序要完全一致。元件說明語句在結(jié)構(gòu)體的說明部分定義。

元件說明語句

完成元件與當(dāng)前設(shè)計(jì)實(shí)體的連接,需要說明元件端口與其他模塊的連接關(guān)系,即映射。VHDL映射方式有位置關(guān)聯(lián)和名稱關(guān)聯(lián)兩種方式。格式一:例化名:Portmap(元件端口1=>映射信號1,…,元件端口n=>映射信號n);

其中例化名相當(dāng)于元件標(biāo)號,是必須的;“=>”是關(guān)聯(lián)符,采用名稱關(guān)聯(lián),表示左邊的元件端口與右邊的映射信號相連;各端口關(guān)聯(lián)說明的順序任意。元件映射語句元件映射語句格式二:

例化名Portmap(映射信號1,映射信號2,…,映射信號n);

使用位置關(guān)聯(lián),采用順序一致原則,即將元件說明語句中的端口按順序依次與映射信號1到映射信號n連接。ORD41邏輯原理圖層次化、結(jié)構(gòu)化描述示例LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYND2ISPORT(A,B:INSTD_LOGIC;C:OUTSTD_LOGIC);ENDENTITYND2;ARCHITECTUREARTND2OFND2ISBEGINC<=ANANDB;ENDARCHITECTUREARTND2;下層元件描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYORD41ISPORT(A1,B1,C1,D1:INSTD_L

溫馨提示

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

評論

0/150

提交評論