VHDL數(shù)字電路設(shè)計(jì)教程第6講_順序代碼_第1頁
VHDL數(shù)字電路設(shè)計(jì)教程第6講_順序代碼_第2頁
VHDL數(shù)字電路設(shè)計(jì)教程第6講_順序代碼_第3頁
VHDL數(shù)字電路設(shè)計(jì)教程第6講_順序代碼_第4頁
VHDL數(shù)字電路設(shè)計(jì)教程第6講_順序代碼_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1第6章 順序代碼 VHDLVHDL本質(zhì)上是一種并發(fā)執(zhí)行的代碼,但是出于設(shè)計(jì)同步時(shí)序電本質(zhì)上是一種并發(fā)執(zhí)行的代碼,但是出于設(shè)計(jì)同步時(shí)序電路的需要,需要使用一些能夠路的需要,需要使用一些能夠順序執(zhí)行順序執(zhí)行的語句塊,包括:的語句塊,包括: PROCESSPROCESS、FUNCTIONFUNCTION、PROCEDUREPROCEDURE。 這些語句塊之間仍然是并發(fā)這些語句塊之間仍然是并發(fā)執(zhí)行的,但內(nèi)部是順序執(zhí)行的,執(zhí)行的,但內(nèi)部是順序執(zhí)行的,稱為順序代碼,又稱行為描述代稱為順序代碼,又稱行為描述代碼。碼。 使用順序代碼使用順序代碼不但可以實(shí)現(xiàn)時(shí)序邏輯,還可以實(shí)現(xiàn)組合邏輯不但可以實(shí)現(xiàn)時(shí)序邏輯,還

2、可以實(shí)現(xiàn)組合邏輯。26.16.1、進(jìn)程(、進(jìn)程(processprocess) 進(jìn)程(進(jìn)程(processprocess)內(nèi)部的語句是一種順序描述語句內(nèi)部的語句是一種順序描述語句,其內(nèi),其內(nèi)部經(jīng)常包括部經(jīng)常包括if,wait,caseif,wait,case或或looploop語句。語句。特點(diǎn)特點(diǎn): 1 1、進(jìn)程與進(jìn)程,或其它并發(fā)語句之間的、進(jìn)程與進(jìn)程,或其它并發(fā)語句之間的并發(fā)性并發(fā)性; 2 2、進(jìn)程內(nèi)部的順序性進(jìn)程內(nèi)部的順序性; 3 3、要么使用敏感信號列表(、要么使用敏感信號列表(sensitivity listsensitivity list),要么使),要么使用用waitwait語句,

3、語句,二者不可同時(shí)使用二者不可同時(shí)使用。 4 4、進(jìn)程必須包含在主代碼段中,當(dāng)敏感信號列表中的某個(gè)、進(jìn)程必須包含在主代碼段中,當(dāng)敏感信號列表中的某個(gè)信號發(fā)生變化,或者信號發(fā)生變化,或者waitwait語句的條件滿足時(shí),語句的條件滿足時(shí),processprocess內(nèi)部內(nèi)部的代碼就的代碼就順序執(zhí)行一次順序執(zhí)行一次;3標(biāo)記: process ( 敏感信號表) variable name: typerange:=初始值 begin 順序描述語句 end process 標(biāo)記;語法結(jié)構(gòu):語法結(jié)構(gòu):對臨時(shí)連線的賦值,不可綜合可選,增強(qiáng)代碼可讀性,命名規(guī)則:非關(guān)鍵字4敏感信號表:進(jìn)程內(nèi)要讀取的所有敏感信號

4、(包括端口)的列表。每一個(gè)敏感信號的變化,都將啟動進(jìn)程。 格式:信號名稱 ,信號名稱 注意:若電路模塊對某輸入信號不“敏感”,則該輸入信號不必放入敏感信號列表中。如同步時(shí)序電路中只對clk和rst這兩個(gè)輸入信號敏感,而對data,addr等輸入信號不敏感,則敏感信號列表中只需放入clk和rst即可;在純組合邏輯電路中,電路模塊對任意一個(gè)輸入信號都是敏感的,所以如果要使用process來實(shí)現(xiàn)一段組合邏輯,則必須將所有的輸入信號都放入敏感信號列表中。5 在使用順序代碼實(shí)現(xiàn)一個(gè)同步時(shí)序電路時(shí),必須對某些信號邊沿的跳變進(jìn)行監(jiān)視(典型的是時(shí)鐘信號clock的上升沿或下降沿) 通常使用EVENT來監(jiān)視一個(gè)

5、信號是否發(fā)生了邊沿跳變 通常在process中使用敏感信號clk來實(shí)現(xiàn)同步時(shí)序電路。6 例1:帶有異步復(fù)位端的D觸發(fā)器data_inqrstclk功能描述:功能描述: 時(shí)序邏輯電路的基本單元時(shí)序邏輯電路的基本單元當(dāng)輸入的時(shí)鐘信號為上升沿時(shí),輸當(dāng)輸入的時(shí)鐘信號為上升沿時(shí),輸出信號出信號q等于當(dāng)前輸入值;等于當(dāng)前輸入值;異步復(fù)位端異步復(fù)位端rst(reset):):rst=1時(shí)時(shí)q=0;優(yōu)先級高于當(dāng)前輸入值;優(yōu)先級高于當(dāng)前輸入值;7 實(shí)現(xiàn)代碼實(shí)現(xiàn)代碼LIBRARY ieee;USE ieee.std_logic_1164.all;entity dff is port(d,clk,rst: IN s

6、td_logic; q: OUT std_logic);end dff;architecture behavior of dff isbegin process(clk,rst) begin if (rst=1) then q=0; else (clkevent AND clk=1) then q=d; end if; end process;end behavior;任意一個(gè)信號發(fā)生變化時(shí),任意一個(gè)信號發(fā)生變化時(shí),process中的所有語句就執(zhí)行一次中的所有語句就執(zhí)行一次8敏感信號表的特點(diǎn): 1、同步進(jìn)程的敏感信號表中只有時(shí)鐘信號。 如: process(clk) begin if(clke

7、vent and clk = 1) then if reset = 1 then data = “00”; else data = in_data; end if; end if; end process;92、異步進(jìn)程敏感信號表中除時(shí)鐘信號外,還有其 它信號。 例: process(clk,reset) begin if reset = 1 then data = “00”; elsif(clkevent and clk = 1) then data = in_data; end if; end process; 103、如果有 wait 語句,則不允許有敏感信號表。 PROCESS (a,

8、b) BEGIN -sequential statements END PROCESS; PROCESS BEGIN WAIT ON/Until signalx/signal_expr ; /先 - sequential statements /后 END PROCESS;116.2 6.2 信號和變量的基本知識信號和變量的基本知識VHDL中兩種動態(tài)的傳遞數(shù)值的方法:信號與變量。兩者的差異: 有效范圍的不同: 信號:程序包、實(shí)體、結(jié)構(gòu)體;全局量。 變量:進(jìn)程、子程序;局部量。 賦值方式的不同: 變量:= 表達(dá)式; 信號 = 表達(dá)式; 賦值行為的不同: 信號賦值延遲更新數(shù)值、時(shí)序電路; 變量賦值

9、立即更新數(shù)值、組合電路。126.3 IF6.3 IF語句語句 只能用于順序代碼,只能在只能用于順序代碼,只能在processprocess、functionfunction和和procedureprocedure中出現(xiàn)中出現(xiàn)。語法結(jié)構(gòu):語法結(jié)構(gòu): if (if (表達(dá)式表達(dá)式) then) then 語句語句1 1; -可以多個(gè)語句,不必使用可以多個(gè)語句,不必使用 語句語句2 2; elsif ( elsif (表達(dá)式表達(dá)式) then ) then 或者或者 else else end if; end if;131 1)if if 語句的門閂語句的門閂控制控制 例:if (ena = 1)

10、then q = d; end if;-沒有else描述! 綜合后生成鎖存器(latch)if 條件 then 順序處理語句;end if ;14注意:用if或者case語句做邏輯電路的時(shí)候,必須為信號設(shè)置默認(rèn)值,避免生成latch電路。有兩種方法:在if, case語句之前對目標(biāo)信號進(jìn)行賦值,采用這種方法,就不必專門寫else或者when others語句對信號進(jìn)行默認(rèn)賦值。在else或者when others語句中對信號進(jìn)行默認(rèn)條件下的賦值。 如果違反了上述規(guī)則,那么會在綜合電路的時(shí)候形成一個(gè)transparent latch,也就是電平觸發(fā)的鎖存器,這對電路的時(shí)序分析等會造成很大的麻煩。

11、 15條件改為時(shí)鐘沿,則生成 D觸發(fā)器:16注意:在時(shí)序電路中,如果沒有在else語句或者when others語句中對信號賦值,那么綜合工具會認(rèn)為寄存器保持當(dāng)前輸入。 172 2)if if 語句的二選擇控制語句的二選擇控制 格式: 用條件來選擇兩條不同程序執(zhí)行的路徑。if 條件 then 順序處理語句;else 順序處理語句;end if ;183 3)if if 語句的多選擇控制語句的多選擇控制 if 語句的多選擇控制又稱為 if 語句的嵌套。 格式: if 條件 then 順序處理語句;elsif 條件 then 順序處理語句; elsif 條件 then 順序處理語句;else 順序

12、處理語句;end if; 19典型電路是多選一(四選一)電路。20 if_then_elsif 語句中隱含了優(yōu)先級別的判斷,最先出現(xiàn)的條件優(yōu)先級最高,可用于設(shè)計(jì)具有優(yōu)先級的電路,如8-3優(yōu)先級編碼器。 如果不希望出現(xiàn)優(yōu)先級的情況,則可使用CASE語句。 21例例6.2 6.2 模模1010計(jì)數(shù)器計(jì)數(shù)器計(jì)數(shù)器計(jì)數(shù)器digit(3:0)clk功能描述功能描述:循環(huán)累加clk上升沿的次數(shù),輸出到4位的digit。LIBRARY ieee;USE ieee.std_logic_1164.all;ENTITY counter IS port ( clk: IN std_logic; digit: OUT

13、 integer range 0 to 9);END counter;22ARCHITECTURE counter of counter ISbegin count: process(clk) variable temp: integer range 0 to 10; begin if (clkevent AND clk=1) then temp:=temp+1; if (temp=10) then temp:=0; end if; end if; digit=temp; end process count;end counter;模模10計(jì)數(shù)時(shí),該段代碼有哪些計(jì)數(shù)時(shí),該段代碼有哪些缺缺陷?陷

14、?23ARCHITECTURE counter of counter ISbegin count: process(clk) variable temp: integer range 0 to 10; begin if (clkevent AND clk=1) then temp:=temp+1; if (temp=10) then temp:=0; end if; end if; digit10而而=15:周期的浪費(fèi)周期的浪費(fèi)!另,不能從另,不能從0開始計(jì)數(shù)!可加開始計(jì)數(shù)!可加復(fù)位信號復(fù)位信號4bit位寬位寬常數(shù)比較電路,代價(jià)較大,如何優(yōu)化?常數(shù)比較電路,代價(jià)較大,如何優(yōu)化?與與常數(shù)常數(shù)0進(jìn)

15、行比較,遞減計(jì)數(shù),一個(gè)簡進(jìn)行比較,遞減計(jì)數(shù),一個(gè)簡單的單的“與與”即可,不必構(gòu)建復(fù)雜的全比即可,不必構(gòu)建復(fù)雜的全比較器!較器!不是不是latch,而是二選而是二選一的選擇一的選擇器器24ARCHITECTURE counter of counter ISbegin count: process(clk) variable temp: integer range 0 to 10; beginif (clkevent AND clk=1) then temp:=temp-1; if (temp=0) then temp:=10; end if; end if; digit=temp; end pr

16、ocess count;end counter;256.4 WAIT6.4 WAIT語句語句用法與用法與IFIF語句類似,且形式更加多樣。語句類似,且形式更加多樣。如果在如果在processprocess內(nèi)部內(nèi)部使用了使用了waitwait語句,語句,則則processprocess就不能再就不能再使用敏感信號列表使用敏感信號列表。并且并且waitwait語句是語句是processprocess內(nèi)部的第一條內(nèi)部的第一條語句語句。waitwait條件滿足時(shí),條件滿足時(shí),processprocess內(nèi)部代碼就執(zhí)行一次。內(nèi)部代碼就執(zhí)行一次。常用的三種語法:常用的三種語法: wait on wait

17、on 單個(gè)或多個(gè)信號;單個(gè)或多個(gè)信號; - - 敏感信號量變化敏感信號量變化 wait until wait until 單個(gè)單個(gè)信號信號條件條件;- - 條件滿足(可綜合)條件滿足(可綜合) wait for timewait for time; - - 時(shí)間到(只能仿真,時(shí)間到(只能仿真, 不可綜合)不可綜合)26例例6.5 6.5 使用使用wait untilwait until語句設(shè)計(jì)模語句設(shè)計(jì)模1010計(jì)數(shù)器計(jì)數(shù)器LIBRARY ieee;USE ieee.std_logic_1164.all;entity counter is port (clk: IN std_logic; di

18、git: OUT integer range 0 to 9);end counter;architecture counter of counter isbegin process -沒有敏感信號列表沒有敏感信號列表 variable temp: integer range 0 to 10; begin wait until (clkevent AND clk=1); temp:=temp+1; if (temp=10) then temp:=0; end if; digit順序執(zhí)行語句; WHEN 條件表達(dá)式=順序執(zhí)行語句; . END CASE;注意:在每個(gè)測試條件下case語句允許執(zhí)行多

19、個(gè)賦值操作,而with/select語句只允許執(zhí)行一個(gè)賦值操作。28例: CASE control IS when “00”=x=a; yx=b; yx=“0000”;ynull;296.6 LOOP6.6 LOOP語句語句當(dāng)一段代碼需要多次重復(fù)、順序地執(zhí)行時(shí),loop語句非常有效。只能在process、function和procedure中使用; 與generate語句的最大不同: generate語句復(fù)制建立某項(xiàng)操作的 0 個(gè)或多個(gè)備份,這些備份并行地執(zhí)行某項(xiàng)操作,與先后順序無關(guān); loop語句則按順序、循環(huán)地執(zhí)行某項(xiàng)操作。30LOOPLOOP語句的語法結(jié)構(gòu):語句的語法結(jié)構(gòu):FOR/LOO

20、P:循環(huán)固定次數(shù)label: FOR 循環(huán)變量 IN 范圍 LOOP (順序描述語句) END LOOP label;WHILE/LOOP: 循環(huán)執(zhí)行直到某個(gè)條件不再滿足label: WHILE 條件表達(dá)式 LOOP (順序描述語句) END LOOP label;上上/ /下界必須是靜態(tài)值,下界必須是靜態(tài)值,有一個(gè)計(jì)數(shù)比較模塊有一個(gè)計(jì)數(shù)比較模塊來加以控制來加以控制31EXIT: 結(jié)束整個(gè)循環(huán)操作label: EXIT label WHEN 條件表達(dá)式;NEXT: 跳出本次循環(huán)操作label: NEXT loop_label WHEN 條件表達(dá)式;例:例: FOR i IN 0 TO data

21、range LOOP case data(i) is when 0 =count:=count+1; when others= EXIT; end case; END loop;32例例6.8 6.8 逐級進(jìn)位加法器(逐級進(jìn)位加法器(vs vs 并行進(jìn)位加法器)并行進(jìn)位加法器)功能描述功能描述:最為常用的基本功能模塊。:最為常用的基本功能模塊。輸入矢量輸入矢量a和和b為為8位位無符號數(shù)無符號數(shù),cin為輸入的進(jìn)位位,為輸入的進(jìn)位位,s為輸為輸出的和,出的和,cout為輸出的進(jìn)位位;為輸出的進(jìn)位位;sj= aj XOR bj XOR cj;cj+1 = (aj AND bj) OR (aj AN

22、D cj) OR (bj AND cj);一位全加器一位全加器+a0b0c0(cin)s0c1+a1b1s1+a7b7s7c2c7c8(cout)+abcinscout8位逐級進(jìn)位加法器位逐級進(jìn)位加法器33代碼的實(shí)現(xiàn)方案一:代碼的實(shí)現(xiàn)方案一:-使用使用generic語句語句library ieee;use ieee.std_logic_1164.all;entity adder is generic (length: integer : =8); port (a, b: IN std_logic_vector (length-1 donwto 0); cin: IN std_logic; s:

23、 OUT std_logic_vector (length-1 downto 0); cout: OUT std_logic );end adder;architecture adder of adder isbegin process (a, b, cin) variable carry: std_logic_vector (length downto 0); begin carry(0) : = cin; for i IN 0 TO length-1 LOOP s(i)255) then c8=1; temp:=temp-256; else c8=0; end if; ss范圍范圍356.

24、7 CASE6.7 CASE語句和語句和IFIF語句的比較語句的比較 原則上說來,原則上說來,IF/ELSEIF/ELSE語句中語句中ELSEELSE的出現(xiàn)可能會造成綜合的出現(xiàn)可能會造成綜合后的電路中出現(xiàn)優(yōu)先級解碼器后的電路中出現(xiàn)優(yōu)先級解碼器。(。(CASECASE語句中不會出現(xiàn)這種情語句中不會出現(xiàn)這種情況),但在實(shí)際綜合時(shí)綜合工具的優(yōu)化功能往往不會出現(xiàn)這種況),但在實(shí)際綜合時(shí)綜合工具的優(yōu)化功能往往不會出現(xiàn)這種情況。因此,情況。因此,使用使用IFIF語句和語句和CASECASE語句編寫的代碼在綜合優(yōu)化后語句編寫的代碼在綜合優(yōu)化后最終生成的電路結(jié)構(gòu)通常是一樣的最終生成的電路結(jié)構(gòu)通常是一樣的。 注

25、意編碼風(fēng)格注意編碼風(fēng)格! 例子例子: :-IF語句語句-IF (sel=“00”) then x=a;elsif (sel=“01”) then x=b;elsif (sel=“10”) then x=c;else xxxxx=d;end case;366.8 CASE6.8 CASE語句和語句和WITHWITH語句的比較語句的比較37例:使用with語句和case語句-使用with語句- WITH sel SELECT xxxxnull; END CASE;386.9 6.9 同步時(shí)序電路中的時(shí)鐘問題同步時(shí)序電路中的時(shí)鐘問題 A: 如果在參考時(shí)鐘的兩個(gè)邊沿(上升沿和下降沿)都觸發(fā)對如果在參考

26、時(shí)鐘的兩個(gè)邊沿(上升沿和下降沿)都觸發(fā)對同一個(gè)信號的賦值操作,那么這樣的代碼通常是不可綜合的同一個(gè)信號的賦值操作,那么這樣的代碼通常是不可綜合的。 如果出現(xiàn)這種情況,編譯器將提示如果出現(xiàn)這種情況,編譯器將提示“信號值在時(shí)鐘邊沿不信號值在時(shí)鐘邊沿不能保持(能保持(holdhold)”等等警告警告信息。信息。例子:一個(gè)在每個(gè)時(shí)鐘沿都進(jìn)行計(jì)數(shù)操作的計(jì)數(shù)器例子:一個(gè)在每個(gè)時(shí)鐘沿都進(jìn)行計(jì)數(shù)操作的計(jì)數(shù)器 process (clk)process (clk) begin begin if(clkevent AND clk=1) then if(clkevent AND clk=1) then counter

27、=counter+1; counter=counter+1; elsif(clkevent AND clk=0) then elsif(clkevent AND clk=0) then counter=counter+1; counter“=“在參考時(shí)在參考時(shí)鐘的兩個(gè)邊沿(上升沿和下降沿)分別觸發(fā)信號鐘的兩個(gè)邊沿(上升沿和下降沿)分別觸發(fā)信號a a、b b的的賦值操作則是可以綜合的賦值操作則是可以綜合的”。 例:例: process(clk)process(clk) begin begin if (clkevent AND clk= if (clkevent AND clk=1 1) then

28、) then x x=d;=d; end if; end if; end process; end process; process(clk)process(clk) begin begin if (clkevent AND clk= if (clkevent AND clk=0 0) then) then y y=d;=d; end if; end if; end process; end process;42例例6.11 6.11 雙數(shù)據(jù)總線的雙數(shù)據(jù)總線的RAMRAM設(shè)計(jì)設(shè)計(jì)功能描述: 在輸入方向,當(dāng)寫使能信號在輸入方向,當(dāng)寫使能信號wr_enawr_ena有效時(shí)(高電平),在隨后的一個(gè)時(shí)

29、有效時(shí)(高電平),在隨后的一個(gè)時(shí)鐘上升沿出現(xiàn)時(shí),輸入數(shù)據(jù)總線上的數(shù)據(jù)將被寫入地址總線所指定的位置鐘上升沿出現(xiàn)時(shí),輸入數(shù)據(jù)總線上的數(shù)據(jù)將被寫入地址總線所指定的位置上;當(dāng)寫使能信號上;當(dāng)寫使能信號wr_enawr_ena無效時(shí)(低電平),不會有新數(shù)據(jù)被寫入無效時(shí)(低電平),不會有新數(shù)據(jù)被寫入RAMRAM中。中。 在輸出方向,輸出數(shù)據(jù)總線上顯示的數(shù)據(jù)在輸出方向,輸出數(shù)據(jù)總線上顯示的數(shù)據(jù)始終始終是當(dāng)前地址總線所指定的是當(dāng)前地址總線所指定的RAMRAM空間中的內(nèi)容??臻g中的內(nèi)容。端口定義: 分離的輸入分離的輸入/ /輸出數(shù)據(jù)總線(輸出數(shù)據(jù)總線(data_indata_in、data_outdata_ou

30、t)、)、clkclk、wr_enawr_ena(高電平有效,若低電平有效,則往往定義為(高電平有效,若低電平有效,則往往定義為n nWR_ENAWR_ENA)、)、addraddr。規(guī)格:RAMRAM位寬為位寬為8bit8bit,深度為,深度為1616;使用;使用GENERICGENERIC語句設(shè)計(jì)通用代碼;語句設(shè)計(jì)通用代碼;設(shè)計(jì)要點(diǎn):IF語句43library ieee;use ieee.std_logic_1164.all;entity ram isgeneric ( bits: integer:=8; -位寬位寬 words:integer:=16; -深度深度 );446.10 6.

31、10 使用順序代碼設(shè)計(jì)組合邏輯電路使用順序代碼設(shè)計(jì)組合邏輯電路需遵循的原則: 確保在確保在processprocess中用到的所有輸入信號都出現(xiàn)在敏感信中用到的所有輸入信號都出現(xiàn)在敏感信號列表中號列表中。 (否則,編譯器提示(否則,編譯器提示warningwarning:“.”.”) 確??紤]了輸入確保考慮了輸入/ /輸出信號的所有可能組合,即電路的輸出信號的所有可能組合,即電路的真值表必須在代碼中完整地反映出來(并發(fā)代碼與順序代碼真值表必須在代碼中完整地反映出來(并發(fā)代碼與順序代碼都一樣),多使用都一樣),多使用othersothers。(否則,生成。(否則,生成latchlatch)45例

32、例6.126.12:會錯(cuò)誤生成:會錯(cuò)誤生成latchlatch的組合邏輯設(shè)計(jì)的組合邏輯設(shè)計(jì)功能描述功能描述:實(shí)現(xiàn)一個(gè)多路復(fù)用器。:實(shí)現(xiàn)一個(gè)多路復(fù)用器。x是輸出端之一,輸出值等于是輸出端之一,輸出值等于sel所選擇的一個(gè)輸入端的值;所選擇的一個(gè)輸入端的值;y是輸出端之二,當(dāng)是輸出端之二,當(dāng)sel=“00”時(shí),時(shí),y=0;當(dāng)當(dāng)sel=“01”時(shí),時(shí),y=1;多路多路復(fù)用器復(fù)用器abcdxysel(1:0)完全依據(jù)文字描述得出的真值表完全依據(jù)文字描述得出的真值表46實(shí)現(xiàn)代碼實(shí)現(xiàn)代碼library ieee;use ieee.std_logic_1164.all;entity example is port (a, b, c, d: IN std_logic; sel: IN integer range 0 to 3; x, y: OUT std_logic );end example

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論