(五)第8章狀態(tài)機(jī)設(shè)計(jì)_第1頁
(五)第8章狀態(tài)機(jī)設(shè)計(jì)_第2頁
(五)第8章狀態(tài)機(jī)設(shè)計(jì)_第3頁
(五)第8章狀態(tài)機(jī)設(shè)計(jì)_第4頁
(五)第8章狀態(tài)機(jī)設(shè)計(jì)_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第8章狀態(tài)機(jī)設(shè)計(jì)8.1一般有限狀態(tài)機(jī)設(shè)計(jì)8.2Moore型有限狀態(tài)機(jī)設(shè)計(jì)8.3Mealy型有限狀態(tài)機(jī)設(shè)計(jì)8.1一般有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技為什么要使用狀態(tài)機(jī)

狀態(tài)機(jī)技術(shù)是實(shí)用數(shù)字系統(tǒng)設(shè)計(jì)中重要的組成部分,是實(shí)現(xiàn)高效率高可靠邏輯控制的重要途徑。狀態(tài)機(jī)的工作方式是根據(jù)控制信號(hào)按照預(yù)先設(shè)定的狀態(tài)進(jìn)行順序運(yùn)行的,運(yùn)行方式類似于CPU,在高速運(yùn)算與控制方面,性能卻優(yōu)于CPU:1.盡管狀態(tài)機(jī)和CPU都按時(shí)鐘節(jié)拍以順序時(shí)序方式工作,但CPU是按指令周期,以逐條執(zhí)行指令的方式運(yùn)行,每執(zhí)行一條指令,只完成一項(xiàng)操作,一個(gè)指令周期由多個(gè)機(jī)器周期構(gòu)成,一個(gè)機(jī)器周期又由多個(gè)時(shí)鐘節(jié)拍構(gòu)成,一個(gè)含有運(yùn)算與控制的完整設(shè)計(jì)程序需要成百上千條指令;狀態(tài)機(jī)的狀態(tài)變換只有一個(gè)時(shí)鐘周期,每一狀態(tài)中,可完成許多并行運(yùn)算和操作,速度高于CPU3—5個(gè)數(shù)量級(jí)。因此,在CPU無法人廣告勝任的領(lǐng)域中有廣泛的應(yīng)用,如超高速的A/D、D/A等器件的控制,硬件串行通信接口RS232、USB的實(shí)現(xiàn),自控領(lǐng)域中高速順序控制系統(tǒng)、通信領(lǐng)域的許多功能模塊的構(gòu)成等。2.高可靠性任何CPU都不可能獲得圓滿的容錯(cuò)保障,運(yùn)行軟件過程中有許多固有缺陷;狀態(tài)機(jī)進(jìn)入非法狀態(tài)并從中跳出,進(jìn)入正常狀態(tài)所耗時(shí)間十分短暫,通常只有2、3個(gè)時(shí)鐘周期,約數(shù)十納秒,不足以對(duì)系統(tǒng)運(yùn)行構(gòu)成危害。CPU通過復(fù)位方式從非法狀態(tài)恢復(fù)過來耗時(shí)數(shù)十毫秒。對(duì)于高速高可靠系統(tǒng)是無法容忍的。注:在VHDL中,一個(gè)結(jié)構(gòu)體可以包含多個(gè)狀態(tài)機(jī),一個(gè)狀態(tài)機(jī)可以由多個(gè)進(jìn)程構(gòu)成,一個(gè)狀態(tài)機(jī)所完成的運(yùn)算與控制方面的工作與一個(gè)CPU類似。因此,一個(gè)設(shè)計(jì)實(shí)體的功能類似于一個(gè)含有并行運(yùn)行的CPU的功能。KX康芯科技狀態(tài)機(jī)結(jié)構(gòu)簡單,設(shè)計(jì)方案相對(duì)固定,可以定義符號(hào)化枚舉類型的狀態(tài),有利于VHDL綜合器發(fā)揮其優(yōu)化功能。狀態(tài)機(jī)的VHDL表述豐富多樣、程序?qū)哟畏置?,結(jié)構(gòu)清晰。易讀易懂。狀態(tài)機(jī)容易構(gòu)成性能良好的同步時(shí)序邏輯模塊,對(duì)于大規(guī)模時(shí)序電路的競(jìng)爭冒險(xiǎn)的解決極有幫助。8.1一般有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技一、數(shù)據(jù)類型定義語句

TYPE語句的用法如下:

TYPE數(shù)據(jù)類型名

IS數(shù)據(jù)類型定義

OF基本數(shù)據(jù)類型

;或

TYPE數(shù)據(jù)類型名

IS數(shù)據(jù)類型定義

;TYPEst1ISARRAY(0TO15)OFSTD_LOGIC;TYPEweekIS(sun,mon,tue,wed,thu,fri,sat);8.1一般有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技TYPEm_stateIS(st0,st1,st2,st3,st4,st5);SIGNALpresent_state,next_state:m_state;TYPEBOOLEANIS(FALSE,TRUE);

TYPEmy_logicIS('1','Z','U','0');SIGNALs1:my_logic;s1<='Z';8.1一般有限狀態(tài)機(jī)設(shè)計(jì)

8.1一般有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技二、有限狀態(tài)機(jī)設(shè)計(jì)的組成1.說明部分ARCHITECTURE...ISTYPEFSM_STIS(s0,s1,s2,s3);SIGNALcurrent_state,next_state:FSM_ST;...8.1一般有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技2.主控時(shí)序進(jìn)程圖8-1一般狀態(tài)機(jī)結(jié)構(gòu)框圖

3.主控組合進(jìn)程4.輔助進(jìn)程8.1一般有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技【例1】----P200例8-1LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYs_machineISPORT(clk,reset:INSTD_LOGIC;state_inputs:INSTD_LOGIC_VECTOR(0TO1);outputs:OUTINTEGERRANGE0TO15);ENDs_machine;ARCHITECTUREbehvOFs_machineISTYPEFSM_STIS(s0,s1,s2,s3);--數(shù)據(jù)類型定義,狀態(tài)符號(hào)化

SIGNALcurrent_state,next_state:FSM_ST;--將現(xiàn)態(tài)和次態(tài)定義為新的數(shù)據(jù)類型BEGINREG:PROCESS(reset,clk)

--主控時(shí)序進(jìn)程

(接下頁)KX康芯科技BEGINIFreset='1'THENcurrent_state<=s0;--檢測(cè)異步復(fù)位信號(hào)

ELSIFclk='1'ANDclk'EVENTTHENcurrent_state<=next_state;ENDIF;ENDPROCESS;COM:PROCESS(current_state,state_Inputs)

--主控組合進(jìn)程

BEGINCASEcurrent_stateISWHENs0=>outputs<=5;IFstate_inputs="00"THENnext_state<=s0;ELSEnext_state<=s1;ENDIF;

WHENs1=>outputs<=8;IFstate_inputs="00"THENnext_state<=s1;ELSEnext_state<=s2;ENDIF;WHENs2=>outputs<=12;IFstate_inputs="11"THENnext_state<=s0;ELSEnext_state<=s3;ENDIF;WHENs3=>outputs<=14;IFstate_inputs="11"THENnext_state<=s3;ELSEnext_state<=s0;ENDIF;ENDcase;ENDPROCESS;ENDbehv;8.1一般有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技圖8-2a例1狀態(tài)機(jī)的工作時(shí)序

8.1一般有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技圖8-2b打開QuartusII狀態(tài)圖觀察器

8.1一般有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技圖8-2c例1的狀態(tài)圖

8.2Moore型有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技一、多進(jìn)程有限狀態(tài)機(jī)

圖8-3ADC0809工作時(shí)序

8.2Moore型有限狀態(tài)機(jī)設(shè)

KX康芯科技一、多進(jìn)程有限狀態(tài)機(jī)

圖8-4控制ADC0809采樣狀態(tài)圖

KX康芯科技一、多進(jìn)程有限狀態(tài)機(jī)

圖8-5采樣狀態(tài)機(jī)結(jié)構(gòu)框圖

KX康芯科技【例2】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYADCINTISPORT(D:INSTD_LOGIC_VECTOR(7DOWNTO0);--來自0809轉(zhuǎn)換好的8位數(shù)據(jù)CLK:INSTD_LOGIC;--狀態(tài)機(jī)工作時(shí)鐘EOC:INSTD_LOGIC;--轉(zhuǎn)換狀態(tài)指示,低電平表示正在轉(zhuǎn)換ALE:OUTSTD_LOGIC;--8個(gè)模擬信號(hào)通道地址鎖存信號(hào)START:OUTSTD_LOGIC;--轉(zhuǎn)換開始信號(hào)OE:OUTSTD_LOGIC;--數(shù)據(jù)輸出3態(tài)控制信號(hào)ADDA:OUTSTD_LOGIC;--信號(hào)通道最低位控制信號(hào)LOCK0:OUTSTD_LOGIC;--觀察數(shù)據(jù)鎖存時(shí)鐘Q:OUTSTD_LOGIC_VECTOR(7DOWNTO0));--8位數(shù)據(jù)輸出ENDADCINT;(接下頁)ARCHITECTUREbehavOFADCINTISTYPEstatesIS(st0,st1,st2,st3,st4);--定義各狀態(tài)子類型

SIGNALcurrent_state,next_state:states:=st0;SIGNALREGL :STD_LOGIC_VECTOR(7DOWNTO0);SIGNALLOCK :STD_LOGIC;--轉(zhuǎn)換后數(shù)據(jù)輸出鎖存時(shí)鐘信號(hào)

BEGINADDA<=‘1’;--當(dāng)ADDA<=‘0’,則模擬信號(hào)進(jìn)入通道IN0;當(dāng)ADDA<=‘1’,則進(jìn)入通道IN1。(前提:ADC0809的ADDC與ADDB已外接GND。)Q<=REGL;LOCK0<=LOCK;COM:PROCESS(current_state,EOC)BEGIN--規(guī)定各狀態(tài)轉(zhuǎn)換方式

CASEcurrent_stateISWHENst0=>ALE<='0';START<='0';LOCK<='0';OE<='0';

next_state<=st1;--0809初始化KX康芯科技WHENst1=>ALE<='1';START<='1';LOCK<='0';OE<='0';next_state<=st2;--啟動(dòng)采樣

WHENst2=>ALE<='0';START<='0';LOCK<='0';OE<='0';IF(EOC='1')THENnext_state<=st3;--EOC=1表明轉(zhuǎn)換結(jié)束

ELSEnext_state<=st2;ENDIF;--轉(zhuǎn)換未結(jié)束,繼續(xù)等待

WHENst3=>ALE<='0';START<='0';LOCK<='0';OE<='1';

next_state<=st4;--開啟OE,輸出轉(zhuǎn)換好的數(shù)據(jù)

WHENst4=>ALE<='0';START<='0';LOCK<='1';OE<='1';next_state<=st0;WHENOTHERS=>next_state<=st0;ENDCASE;ENDPROCESSCOM;

REG:PROCESS(CLK)BEGINIF(CLK'EVENTANDCLK='1')THENcurrent_state<=next_state;ENDIF;ENDPROCESSREG;--由信號(hào)current_state將當(dāng)前狀態(tài)值帶出此進(jìn)程:REGLATCH1:PROCESS(LOCK)--此進(jìn)程中,在LOCK的上升沿,將轉(zhuǎn)換好的數(shù)據(jù)鎖入

BEGINIFLOCK='1'ANDLOCK'EVENTTHENREGL<=D;ENDIF;ENDPROCESSLATCH1;ENDbehav;KX康芯科技【例3】

COM1:PROCESS(current_state,EOC)BEGINCASEcurrent_stateISWHENst0=>next_state<=st1;WHENst1=>next_state<=st2;WHENst2=>IF(EOC='1')THENnext_state<=st3; ELSEnext_state<=st2;ENDIF;WHENst3=>next_state<=st4;--開啟OEWHENst4=>next_state<=st0;WHENOTHERS=>next_state<=st0;ENDCASE;ENDPROCESSCOM1;COM2:PROCESS(current_state)BEGINCASEcurrent_stateISWHENst0=>ALE<='0';START<='0';LOCK<='0';OE<='0';WHENst1=>ALE<='1';START<='1';LOCK<='0';OE<='0';WHENst2=>ALE<='0';START<='0';LOCK<='0';OE<='0';WHENst3=>ALE<='0';START<='0';LOCK<='0';OE<='1';WHENst4=>ALE<='0';START<='0';LOCK<='1';OE<='1';WHENOTHERS=>ALE<='0';START<='0';LOCK<='0';ENDCASE;

ENDPROCESSCOM2;

8.2Moore型有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技一、多進(jìn)程有限狀態(tài)機(jī)

圖8-6ADC0809采樣狀態(tài)機(jī)工作時(shí)序

8.2Moore型有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技二、單進(jìn)程Moore型有限狀態(tài)機(jī)

【例4】--P207例8-4LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYMOORE1ISPORT(DATAIN:INSTD_LOGIC_VECTOR(1DOWNTO0);CLK,RST:INSTD_LOGIC;Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDMOORE1;ARCHITECTUREbehavOFMOORE1ISTYPEST_TYPEIS(ST0,ST1,ST2,ST3,ST4);

SIGNALC_ST:ST_TYPE;(只定義一個(gè)當(dāng)前狀態(tài))BEGINPROCESS(CLK,RST)BEGINIFRST='1'THENC_ST<=ST0;Q<="0000";

ELSIFCLK'EVENTANDCLK='1'THEN

(接下頁)KX康芯科技CASEC_STISWHENST0=>IFDATAIN="10"THENC_ST<=ST1;ELSEC_ST<=ST0;ENDIF;Q<="1001";WHENST1=>IFDATAIN="11"THENC_ST<=ST2;ELSEC_ST<=ST1;ENDIF;Q<="0101";WHENST2=>IFDATAIN="01"THENC_ST<=ST3;ELSEC_ST<=ST0;ENDIF;Q<="1100";WHENST3=>IFDATAIN="00"THENC_ST<=ST4;ELSEC_ST<=ST2;ENDIF;Q<="0010";WHENST4=>IFDATAIN="11"THENC_ST<=ST0;ELSEC_ST<=ST3;ENDIF;Q<="1001";WHENOTHERS=>C_ST<=ST0;ENDCASE;ENDIF;ENDPROCESS;ENDbehav;8.2Moore型有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技二、單進(jìn)程Moore型有限狀態(tài)機(jī)

圖8-7例4狀態(tài)機(jī)綜合后的部分主要RTL電路模塊(Synplify綜合)

8.2Moore型有限狀態(tài)機(jī)設(shè)計(jì)KX康芯科技二、單進(jìn)程Moore型有限狀態(tài)機(jī)

圖8-8例4單進(jìn)程狀態(tài)機(jī)工作時(shí)序

8.2Moore型有限狀態(tài)機(jī)設(shè)計(jì)KX康芯科技二、單進(jìn)程Moore型有限狀態(tài)機(jī)

圖8-9對(duì)應(yīng)于例4的二進(jìn)程狀態(tài)機(jī)工作時(shí)序圖

8.3Mealy型有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技【例5】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYMEALY1ISPORT(CLK,DATAIN,RESET:INSTD_LOGIC;Q:OUTSTD_LOGIC_VECTOR(4DOWNTO0));ENDMEALY1;ARCHITECTUREbehavOFMEALY1ISTYPEstatesIS(st0,st1,st2,st3,st4);SIGNALSTX:states;BEGINCOMREG:PROCESS(CLK,RESET)BEGIN

--決定轉(zhuǎn)換狀態(tài)的進(jìn)程

IFRESET='1'THENSTX<=ST0;ELSIFCLK'EVENTANDCLK='1'THENCASESTXISWHENst0=>IFDATAIN='1'THENSTX<=st1;ENDIF;

KX康芯科技WHENst1=>IFDATAIN='0'THENSTX<=st2;ENDIF;

WHENst2=>IFDATAIN='1'THENSTX<=st3;ENDIF;WHENst3=>IFDATAIN='0'THENSTX<=st4;ENDIF;WHENst4=>IFDATAIN='1'THENSTX<=st0;ENDIF;WHENOTHERS=>STX<=st0;ENDCASE;ENDIF;ENDPROCESSCOMREG;COM1:PROCESS(STX,DATAIN)BEGIN--輸出控制信號(hào)的進(jìn)程

CASESTXISWHENst0=>IFDATAIN='1'THENQ<="10000";ELSEQ<="01010";ENDIF;WHENst1=>IFDATAIN='0'THENQ<="10111";ELSEQ<="10100";ENDIF;WHENst2=>IFDATAIN='1'THENQ<="10101";ELSEQ<="10011";ENDIF;WHENst3=>IFDATAIN='0'THENQ<="11011";ELSEQ<="01001";ENDIF;WHENst4=>IFDATAIN='1'THENQ<="11101";ELSEQ<="01101";ENDIF;WHENOTHERS=>Q<="00000";ENDCASE;ENDPROCESSCOM1;ENDbehav;8.3Mealy型有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技圖8-10例5狀態(tài)機(jī)工作時(shí)序圖8.3Mealy型有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技圖8-11例6狀態(tài)機(jī)工作時(shí)序圖

8.3Mealy型有限狀態(tài)機(jī)設(shè)計(jì)

KX康芯科技【例6】LIBRARYIEEE;--MEALYFSMUSEIEEE.STD_LOGIC_1164.ALL;ENTITYMEALY2ISPORT(CLK,DATAIN,RESET:INSTD_LOGIC;Q:OUTSTD_LOGIC_VECTOR(4DOWNTO0));ENDMEALY2;ARCHITECTUREbehavOFMEALY2ISTYPEstatesIS(st0,st1,st2,st3,st4);SIGNALSTX:states;SIGNALQ1:STD_LOGIC_VECTOR(4DOWNTO0);BEGINCOMREG:PROCESS(CLK,RESET)--決定轉(zhuǎn)換狀態(tài)的進(jìn)程

BEGINIFRESET='1'THENSTX<=ST0;ELSIFCLK'EVENTANDCLK='1'THENCASESTXIS

(接下頁)KX康芯科技WHENst0=>IFDATAIN='1'THENSTX<=st1;ENDIF;WHENst1=>IFDATAIN='0'THENSTX<=st2;ENDIF;WHENst2=>IFDATAIN='1'THENSTX<=st3;ENDIF;WHENst3=>IFDATAIN='0'THENSTX<=st4;ENDIF;WHENst4=>IFDATAIN='1'THENSTX<=st0;ENDIF;WHENOTHERS=>STX<=st0;ENDCASE;ENDIF;ENDPROCESSCOMREG;COM1:PROCESS(STX,DATAIN,CLK)--輸出控制信號(hào)的進(jìn)程

VARIABLEQ2:STD_LOGIC_VECTOR(4DOWNTO0);BEGINCASESTXIS

WHENst0=>IFDATAIN='1'THENQ2:="10000";ELSEQ2:="01010";ENDIF;WHENst1=>IFDATAIN='0'THENQ2:="10111";ELSEQ2:="10100";ENDIF;WHENst2=>IFDATAIN='1'THENQ2:="10101";ELSEQ2:="10011";ENDIF;WHENst3=>IFDATAIN='0'THENQ2:="11011";ELSEQ2:="01001";ENDIF;WHENst4=>IFDATAIN='1'THENQ2:="11101";ELSEQ2:="01101";ENDIF;WHENOTHERS=>Q2:="00000";ENDCASE;

IFCLK'EVENTANDCLK='1'THENQ1<=Q2;ENDIF;ENDPROCESSCOM1;Q<=Q1;ENDbehav;習(xí)題KX康芯科技1.

仿照例1,將例4用兩個(gè)進(jìn)程,即一個(gè)時(shí)序進(jìn)程,一個(gè)組合進(jìn)程表達(dá)出來。2.

為確保例5的狀態(tài)機(jī)輸出信號(hào)沒有毛刺,試用例8-4的方式構(gòu)成一個(gè)單進(jìn)程狀態(tài),使輸出信號(hào)得到可靠鎖存,在相同輸入信號(hào)條件下,給出兩程序的仿真波形。

3.

序列檢測(cè)器可用于檢測(cè)一組或多組由二進(jìn)制碼組成的脈沖序列信號(hào),當(dāng)序列檢測(cè)器連續(xù)收到一組串行二進(jìn)制碼后,如果這組碼與檢測(cè)器中預(yù)先設(shè)置的碼相同,則輸出1,否則輸出0。由于這種檢測(cè)的關(guān)鍵在于正確碼的收到必須是連續(xù)的,這就要求檢測(cè)器必須記住前一次的正確碼及正確序列,直到在連續(xù)的檢測(cè)中所收到的每一位碼都與預(yù)置數(shù)的對(duì)應(yīng)碼相同。在檢測(cè)過程中,任何一位不相等都將回到初始狀態(tài)重新開始檢測(cè)。例8-11描述的電路完成對(duì)序列數(shù)“11100101”的檢測(cè),當(dāng)這一串序列數(shù)高位在前(左移)串行進(jìn)入檢測(cè)器后,若此數(shù)與預(yù)置的密碼數(shù)相同,則輸出“A”,否則仍然輸出“B”。

習(xí)題KX康芯科技【例11】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYSCHKISPORT(DIN,CLK,CLR:INSTD_LOGIC;--串行輸入數(shù)據(jù)位/工作時(shí)鐘/復(fù)位信號(hào)

AB:OUTSTD_LOGIC_VECTOR(3DOWNTO0));--檢測(cè)結(jié)果輸出ENDSCHK;ARCHITECTUREbehavOFSCHKISSIGNALQ:INTEGERRANGE0TO8;SIGNALD:STD_LOGIC_VECTOR(7DOWNTO0);--8位待檢測(cè)預(yù)置數(shù)(密碼=E5H)BEGIND<="11100101";--8位待檢測(cè)預(yù)置數(shù)

PROCESS(CLK,CLR)BEGINIFCLR='1'THENQ<=0;ELSIFCLK'EVENTANDCLK='1'THEN--時(shí)鐘到來時(shí),判斷并處理當(dāng)前輸入的位

CASEQISWHEN0=>IFDIN=D(7)THENQ<=1;ELSEQ<=0;ENDIF;

溫馨提示

  • 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)論