第7章 Verilog設(shè)計(jì)優(yōu)化_第1頁
第7章 Verilog設(shè)計(jì)優(yōu)化_第2頁
第7章 Verilog設(shè)計(jì)優(yōu)化_第3頁
第7章 Verilog設(shè)計(jì)優(yōu)化_第4頁
第7章 Verilog設(shè)計(jì)優(yōu)化_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、主要主要內(nèi)容內(nèi)容7.1 7.1 設(shè)計(jì)的可綜合性設(shè)計(jì)的可綜合性7.2 7.2 流水線設(shè)計(jì)(流水線設(shè)計(jì)(Pipeline DesignPipeline Design)技術(shù))技術(shù)7.3 7.3 資源共享(資源共享(Resource SharingResource Sharing)7.4 7.4 過程過程7.5 7.5 阻塞賦值與非阻塞賦值阻塞賦值與非阻塞賦值7.6 FPGA7.6 FPGA設(shè)計(jì)中毛刺的消除設(shè)計(jì)中毛刺的消除o 用用FPGA/CPLD器件實(shí)現(xiàn)的設(shè)計(jì)中,綜合就器件實(shí)現(xiàn)的設(shè)計(jì)中,綜合就是將是將Verilog或或VHDL語言描述的行為級(jí)或功語言描述的行為級(jí)或功能級(jí)電路模型轉(zhuǎn)化為能級(jí)電路模型轉(zhuǎn)化

2、為RTL級(jí)功能塊或門級(jí)電路級(jí)功能塊或門級(jí)電路網(wǎng)表的過程網(wǎng)表的過程.綜合過程綜合過程 n 不使用初始化語句;不使用帶有延時(shí)的描述;不使用初始化語句;不使用帶有延時(shí)的描述;不使用循環(huán)次數(shù)不確定的循環(huán)語句,如不使用循環(huán)次數(shù)不確定的循環(huán)語句,如forever,while等。等。n 應(yīng)盡量采用應(yīng)盡量采用同步方式同步方式設(shè)計(jì)電路。除非是關(guān)鍵設(shè)計(jì)電路。除非是關(guān)鍵路徑的設(shè)計(jì),一般路徑的設(shè)計(jì),一般不采用調(diào)用門級(jí)元件來描述不采用調(diào)用門級(jí)元件來描述設(shè)計(jì)的方法,建議采用行為語句來完成設(shè)計(jì)。設(shè)計(jì)的方法,建議采用行為語句來完成設(shè)計(jì)。n 用用always過程塊描述組合邏輯,應(yīng)在敏感過程塊描述組合邏輯,應(yīng)在敏感信號(hào)列表中信號(hào)

3、列表中列出塊中出現(xiàn)的所有輸入信號(hào)列出塊中出現(xiàn)的所有輸入信號(hào)。 n 所有的內(nèi)部寄存器都應(yīng)該能夠被復(fù)位,在使所有的內(nèi)部寄存器都應(yīng)該能夠被復(fù)位,在使用用FPGA實(shí)現(xiàn)設(shè)計(jì)時(shí),應(yīng)盡量使用器件的全局實(shí)現(xiàn)設(shè)計(jì)時(shí),應(yīng)盡量使用器件的全局復(fù)位端作為系統(tǒng)總的復(fù)位,用器件的全局時(shí)鐘復(fù)位端作為系統(tǒng)總的復(fù)位,用器件的全局時(shí)鐘端作為系統(tǒng)外部時(shí)鐘輸入端。端作為系統(tǒng)外部時(shí)鐘輸入端。n 在在Verilog模塊中,模塊中,任務(wù)任務(wù)(task)通常被綜)通常被綜合成組合邏輯的形式;每個(gè)合成組合邏輯的形式;每個(gè)函數(shù)函數(shù)(function)在調(diào)用時(shí)通常也被綜合為一個(gè)獨(dú)立的在調(diào)用時(shí)通常也被綜合為一個(gè)獨(dú)立的組合電路組合電路模塊。模塊。o 流

4、水線設(shè)計(jì)是經(jīng)常用于提高所設(shè)計(jì)系統(tǒng)運(yùn)行速度的流水線設(shè)計(jì)是經(jīng)常用于提高所設(shè)計(jì)系統(tǒng)運(yùn)行速度的一種有效的方法。為了保障數(shù)據(jù)的快速傳輸,必須一種有效的方法。為了保障數(shù)據(jù)的快速傳輸,必須使系統(tǒng)運(yùn)行在盡可能高的頻率上,但如果某些復(fù)雜使系統(tǒng)運(yùn)行在盡可能高的頻率上,但如果某些復(fù)雜邏輯功能的完成需要較長(zhǎng)的延時(shí),就會(huì)使系統(tǒng)難以邏輯功能的完成需要較長(zhǎng)的延時(shí),就會(huì)使系統(tǒng)難以運(yùn)行在高的頻率上,在這種情況下,可使用流水線運(yùn)行在高的頻率上,在這種情況下,可使用流水線技術(shù),即在長(zhǎng)延時(shí)的邏輯功能塊中插入觸發(fā)器,使技術(shù),即在長(zhǎng)延時(shí)的邏輯功能塊中插入觸發(fā)器,使復(fù)雜的邏輯操作分步完成,減小每個(gè)部分的延時(shí),復(fù)雜的邏輯操作分步完成,減小每

5、個(gè)部分的延時(shí),從而使系統(tǒng)的從而使系統(tǒng)的運(yùn)行頻率得以提高運(yùn)行頻率得以提高。流水線設(shè)計(jì)的代流水線設(shè)計(jì)的代價(jià)是增加了寄存器邏輯,增加了芯片資源的耗用。價(jià)是增加了寄存器邏輯,增加了芯片資源的耗用。 o 如某個(gè)復(fù)雜邏輯功能的實(shí)現(xiàn)需較長(zhǎng)的延時(shí),可如某個(gè)復(fù)雜邏輯功能的實(shí)現(xiàn)需較長(zhǎng)的延時(shí),可將其分解為幾個(gè)(如將其分解為幾個(gè)(如3個(gè))步驟來實(shí)現(xiàn),每一步個(gè))步驟來實(shí)現(xiàn),每一步的延時(shí)變小,在各步間加入寄存器,以暫存中的延時(shí)變小,在各步間加入寄存器,以暫存中間結(jié)果,這樣可大大提高整個(gè)系統(tǒng)的最高工作間結(jié)果,這樣可大大提高整個(gè)系統(tǒng)的最高工作頻率。頻率。 module adder8(cout,sum,ina,inb,cin,

6、clk);input7:0 ina,inb; input cin,clk; output7:0 sum; output cout;reg7:0 tempa,tempb,sum; reg cout,tempc;always (posedge clk)begin tempa=ina;tempb=inb;tempc=cin; end /輸入數(shù)據(jù)鎖存輸入數(shù)據(jù)鎖存always (posedge clk)begin cout,sum=tempa+tempb+tempc; endendmodulemodule adder_pipe2(cout,sum,ina,inb,cin,clk);input7:0 in

7、a,inb; input cin,clk; output reg7:0 sum;output reg cout; reg3:0 tempa,tempb,firsts; reg firstc;always (posedge clk)begin firstc,firsts=ina3:0+inb3:0+cin;tempa=ina7:4; tempb=inb7:4;endalways (posedge clk)begin cout,sum7:4=tempa+tempb+firstc;sum3:0=firsts;endendmodule將將8位數(shù)每四位分位數(shù)每四位分2次相加,形成兩級(jí)流水線運(yùn)算過程。次相

8、加,形成兩級(jí)流水線運(yùn)算過程。module pipeline(cout,sum,ina,inb,cin,clk);output7:0 sum;output cout;input7:0 ina,inb;input cin,clk; reg7:0 tempa,tempb,sum;reg tempci,firstco,secondco,thirdco, cout;reg1:0 firsts, thirda,thirdb;reg3:0 seconda, secondb, seconds; reg5:0 firsta, firstb, thirds;always (posedge clk)begin te

9、mpa=ina; tempb=inb; tempci=cin; end /輸入數(shù)據(jù)緩存輸入數(shù)據(jù)緩存always (posedge clk)begin firstco,firsts=tempa1:0+tempb1:0+tempci; /第一級(jí)加(低第一級(jí)加(低2位)位)firsta=tempa7:2; firstb=tempb7:2; /未參加計(jì)算的數(shù)據(jù)緩存未參加計(jì)算的數(shù)據(jù)緩存endalways (posedge clk)begin secondco,seconds=firsta1:0+firstb1:0+firstco,firsts; seconda=firsta5:2; secondb=fi

10、rstb5:2; /數(shù)據(jù)緩存數(shù)據(jù)緩存endalways (posedge clk)begin thirdco,thirds=seconda1:0+secondb1:0+secondco,seconds;thirda=seconda3:2;thirdb=secondb3:2; /數(shù)據(jù)緩存數(shù)據(jù)緩存endalways (posedge clk)begin cout,sum=thirda1:0+thirdb1:0+thirdco,thirds; /第四級(jí)加(高兩位相加)第四級(jí)加(高兩位相加)end endmodule將將8位數(shù)每?jī)晌环治粩?shù)每?jī)晌环?次相加,形成四級(jí)流水線運(yùn)算過程。次相加,形成四級(jí)流水線

11、運(yùn)算過程。 module resource1(sum,a,b,c,d,sel);parameter SIZE=4; input sel; inputSIZE-1:0 a,b,c,d;output regSIZE:0 sum;always (*) /使用通配符使用通配符begin if(sel) sum=a+b;else sum=c+d;end endmodule資源共享可用來減少系統(tǒng)所耗用的器件資源,尤其是將一些資源共享可用來減少系統(tǒng)所耗用的器件資源,尤其是將一些耗用資源較多的模塊進(jìn)行共享,能有效降低整個(gè)系統(tǒng)耗用的耗用資源較多的模塊進(jìn)行共享,能有效降低整個(gè)系統(tǒng)耗用的資源。資源。 module

12、resource2(sum,a,b,c,d,sel);parameter SIZE=4; input sel; inputSIZE-1:0 a,b,c,d;output regSIZE:0 sum; regSIZE-1:0 atemp,btemp;always (*) /使用通配符使用通配符begin if(sel) begin atemp=a;btemp=b;end else begin atemp=c;btemp=d;endsum=atemp+btemp;endendmodule 器件資源的消耗對(duì)比器件資源的消耗對(duì)比方式一需要方式一需要2個(gè)加法器,而方式二通過增加一個(gè)多路復(fù)用個(gè)加法器,而方

13、式二通過增加一個(gè)多路復(fù)用MUX,共享一個(gè)加法器,由于加法器耗用的資源比,共享一個(gè)加法器,由于加法器耗用的資源比MUX更多,更多,因此方式二更節(jié)省資源。所以在電路設(shè)計(jì)中,因此方式二更節(jié)省資源。所以在電路設(shè)計(jì)中,應(yīng)盡可能使硬件應(yīng)盡可能使硬件代價(jià)高的功能模塊資源共享,從而降低整個(gè)系統(tǒng)的成本。計(jì)算代價(jià)高的功能模塊資源共享,從而降低整個(gè)系統(tǒng)的成本。計(jì)算位數(shù)越多,耗用的資源差別越大。位數(shù)越多,耗用的資源差別越大。結(jié)結(jié) 論論o 在在Verilog語言中,過程語句包括語言中,過程語句包括always和和initial。always過程反復(fù)執(zhí)行其中的塊語句,而過程反復(fù)執(zhí)行其中的塊語句,而initial過程中的語

14、過程中的語句塊只執(zhí)行一次。句塊只執(zhí)行一次。always過程可綜合,過程可綜合,initial語句只能用語句只能用于仿真。于仿真。 o always過程語句與過程語句與VHDL語言的進(jìn)程語句語言的進(jìn)程語句Process非常相非常相像,像,它既可以用來描述時(shí)序電路,也可以用來描述組合電路它既可以用來描述時(shí)序電路,也可以用來描述組合電路。一個(gè)一個(gè)Verilog模塊中的模塊中的不同不同always過程語句是并行運(yùn)行過程語句是并行運(yùn)行的。的。o assign賦值語句、實(shí)例元件的調(diào)用也都是并行運(yùn)行的,我賦值語句、實(shí)例元件的調(diào)用也都是并行運(yùn)行的,我們可以這樣理解:這些語句最終都綜合或翻譯成為具體的電們可以這

15、樣理解:這些語句最終都綜合或翻譯成為具體的電路結(jié)構(gòu),而這些電路結(jié)構(gòu)是同時(shí)在運(yùn)行或動(dòng)作的。路結(jié)構(gòu),而這些電路結(jié)構(gòu)是同時(shí)在運(yùn)行或動(dòng)作的。 o 將組合邏輯實(shí)現(xiàn)的電路和用時(shí)序邏輯實(shí)現(xiàn)的電將組合邏輯實(shí)現(xiàn)的電路和用時(shí)序邏輯實(shí)現(xiàn)的電路應(yīng)盡量分配到不同的路應(yīng)盡量分配到不同的always過程中。過程中。o 一個(gè)一個(gè)always過程中過程中只允許描述對(duì)應(yīng)于一個(gè)時(shí)只允許描述對(duì)應(yīng)于一個(gè)時(shí)鐘信號(hào)的同步時(shí)序邏輯。鐘信號(hào)的同步時(shí)序邏輯。o always過程必須由過程必須由敏感信號(hào)的變化來啟動(dòng)敏感信號(hào)的變化來啟動(dòng),因此應(yīng)精心選擇進(jìn)程敏感表達(dá)式中的敏感變量。因此應(yīng)精心選擇進(jìn)程敏感表達(dá)式中的敏感變量。o 多個(gè)多個(gè)always過程

16、間可通過過程間可通過信號(hào)線信號(hào)線進(jìn)行通信和進(jìn)行通信和協(xié)調(diào)。協(xié)調(diào)。o 在可綜合的硬件設(shè)計(jì)中,使用阻塞和非阻塞賦值在可綜合的硬件設(shè)計(jì)中,使用阻塞和非阻塞賦值語句時(shí),應(yīng)注意以下原則語句時(shí),應(yīng)注意以下原則(1)當(dāng)用)當(dāng)用“always”塊來塊來描述組合邏輯描述組合邏輯時(shí),既可以用阻塞時(shí),既可以用阻塞賦值,也可以采用非阻塞賦值,應(yīng)盡量使用阻塞賦值。賦值,也可以采用非阻塞賦值,應(yīng)盡量使用阻塞賦值。(2)對(duì)時(shí)序邏輯描述和建模,使用非阻塞賦值方式對(duì)時(shí)序邏輯描述和建模,使用非阻塞賦值方式。(3)為)為鎖存器(鎖存器(Latch)建模,應(yīng)使用非阻塞賦值)建模,應(yīng)使用非阻塞賦值。(4)若在同一個(gè))若在同一個(gè)“alw

17、ays”過程塊中既為組合邏輯建模,過程塊中既為組合邏輯建模,又為時(shí)序邏輯建模,又為時(shí)序邏輯建模,最好使用非阻塞賦值方式最好使用非阻塞賦值方式。o 在可綜合的硬件設(shè)計(jì)中,使用阻塞和非阻塞在可綜合的硬件設(shè)計(jì)中,使用阻塞和非阻塞賦值語句時(shí),應(yīng)注意以下原則賦值語句時(shí),應(yīng)注意以下原則(5)在一個(gè))在一個(gè)“always”過程塊中,過程塊中,最好不要混合使最好不要混合使用阻塞賦值和非阻塞賦值,用阻塞賦值和非阻塞賦值,雖然同時(shí)使用這兩種賦雖然同時(shí)使用這兩種賦值方式在綜合時(shí)并不一定會(huì)出錯(cuò),但對(duì)同一個(gè)變量值方式在綜合時(shí)并不一定會(huì)出錯(cuò),但對(duì)同一個(gè)變量不能既進(jìn)行阻塞賦值,又進(jìn)行非阻塞賦值,這樣在不能既進(jìn)行阻塞賦值,又

18、進(jìn)行非阻塞賦值,這樣在綜合時(shí)會(huì)報(bào)錯(cuò)。綜合時(shí)會(huì)報(bào)錯(cuò)。(6)不能在兩個(gè)個(gè)或兩個(gè)以上的)不能在兩個(gè)個(gè)或兩個(gè)以上的“always”過程塊過程塊中對(duì)同一個(gè)變量賦值,這樣會(huì)引發(fā)沖突,在綜合時(shí)中對(duì)同一個(gè)變量賦值,這樣會(huì)引發(fā)沖突,在綜合時(shí)會(huì)報(bào)錯(cuò)。會(huì)報(bào)錯(cuò)。(7)仿真時(shí)使用)仿真時(shí)使用$strobe顯示非阻塞賦值的變量。顯示非阻塞賦值的變量?!纠?.9】 阻塞賦值方式描述的移位寄存器阻塞賦值方式描述的移位寄存器1module block1(q0,q1,q2,q3,din,clk);input clk,din; output reg q0,q1,q2,q3;always (posedge clk)begin q3

19、=q2; /注意賦值語句的順序注意賦值語句的順序 q2=q1; q1=q0; q0=din;end endmodule/實(shí)現(xiàn)相當(dāng)右移寄存器功能。實(shí)現(xiàn)相當(dāng)右移寄存器功能。o 例例7.9的的RTL綜合結(jié)果綜合結(jié)果 【例例7.10】 阻塞賦值方式描述的移位寄存器阻塞賦值方式描述的移位寄存器2。module block2(q0,q1,q2,q3,din,clk);input clk,din; output reg q0,q1,q2,q3;always (posedge clk)begin q3=q2; q1=q0; /該句與下句的順序與例該句與下句的順序與例10.9顛倒顛倒 q2=q1; q0=din

20、;end endmodule/實(shí)現(xiàn)的不是移位寄存器功能。所以阻塞語句不能隨意改變順序,否則將實(shí)現(xiàn)的不是移位寄存器功能。所以阻塞語句不能隨意改變順序,否則將產(chǎn)生不同邏輯功能電路。產(chǎn)生不同邏輯功能電路。o 例例7.10的的RTL綜合結(jié)果綜合結(jié)果 【例例7.11】 阻塞賦值方式描述的移位寄存器阻塞賦值方式描述的移位寄存器3。module block3(q0,q1,q2,q3,din,clk);input clk,din; output reg q0,q1,q2,q3;always (posedge clk)begin q0=din; /4條賦值語句的順序與例條賦值語句的順序與例10.9中完全顛倒中完

21、全顛倒 q1=q0; q2=q1; q3=q2;end endmodule實(shí)現(xiàn)的不是移位寄存器功能。實(shí)現(xiàn)的不是移位寄存器功能。o 例例7.11的的RTL綜合結(jié)果綜合結(jié)果 【例例7.12】 非阻塞賦值方式描述的移位寄存器。非阻塞賦值方式描述的移位寄存器。module block4(q0,q1,q2,q3,din,clk);input clk,din; output reg q0,q1,q2,q3;always (posedge clk)begin q3=q2; q1=q0; q2=q1; q0=din;end endmodule實(shí)現(xiàn)的不是移位寄存器功能。實(shí)現(xiàn)的不是移位寄存器功能。o 對(duì)于阻塞賦值

22、來說,賦值語句的順序?qū)ψ詈髮?duì)于阻塞賦值來說,賦值語句的順序?qū)ψ詈蟮木C合結(jié)果有著直接的影響。的綜合結(jié)果有著直接的影響。而如果采用非而如果采用非阻塞賦值方式來描述的話,則可以不考慮賦阻塞賦值方式來描述的話,則可以不考慮賦值語句的排列順序,只需將其連接關(guān)系描述值語句的排列順序,只需將其連接關(guān)系描述清楚即可。清楚即可。o 所以,建議在實(shí)現(xiàn)時(shí)序邏輯電路時(shí)盡量使用所以,建議在實(shí)現(xiàn)時(shí)序邏輯電路時(shí)盡量使用非阻塞語句。非阻塞語句。組合邏輯電路特點(diǎn)是當(dāng)組合邏輯電路特點(diǎn)是當(dāng)輸入有變化時(shí)輸出隨之輸入有變化時(shí)輸出隨之發(fā)生變化,因?yàn)檫^程語發(fā)生變化,因?yàn)檫^程語句是條件觸發(fā),當(dāng)條件句是條件觸發(fā),當(dāng)條件不滿足時(shí),過程塊語句不滿

23、足時(shí),過程塊語句不能執(zhí)行,這樣仿真輸不能執(zhí)行,這樣仿真輸出的變量需要保持組合出的變量需要保持組合電路的連續(xù)輸出,所以電路的連續(xù)輸出,所以過程賦值語句中需要對(duì)過程賦值語句中需要對(duì)賦值變量定義為寄存器賦值變量定義為寄存器型,但生成的電路沒有型,但生成的電路沒有寄存器,是組合驅(qū)動(dòng)電寄存器,是組合驅(qū)動(dòng)電路。路。這種阻塞賦值語句充分說明組合邏輯電路信號(hào)間的變化關(guān)系。這種阻塞賦值語句充分說明組合邏輯電路信號(hào)間的變化關(guān)系。盡量不要用非阻塞語句進(jìn)行組合邏輯電路設(shè)計(jì)。盡量不要用非阻塞語句進(jìn)行組合邏輯電路設(shè)計(jì)。上圖上圖o 信號(hào)在信號(hào)在FPGA器件內(nèi)部通過連線連接邏輯門時(shí),器件內(nèi)部通過連線連接邏輯門時(shí),都有一定的延

24、時(shí)。因此多路信號(hào)的電平值發(fā)生變都有一定的延時(shí)。因此多路信號(hào)的電平值發(fā)生變化時(shí),在信號(hào)變化的瞬間,組合邏輯的輸出有先化時(shí),在信號(hào)變化的瞬間,組合邏輯的輸出有先后順序,往往會(huì)出現(xiàn)一些不正確的后順序,往往會(huì)出現(xiàn)一些不正確的“毛刺毛刺”(Glitch),稱為),稱為“冒險(xiǎn)冒險(xiǎn)”(Hazard)現(xiàn)象。)現(xiàn)象。o 這些毛刺在電路板的設(shè)計(jì)中由于這些毛刺在電路板的設(shè)計(jì)中由于PCB走線時(shí),存走線時(shí),存在分布電感和分布電容,所以許多毛刺能夠被自在分布電感和分布電容,所以許多毛刺能夠被自然濾除,而在然濾除,而在PLD內(nèi)部沒有分布電感和電容,這內(nèi)部沒有分布電感和電容,這些毛刺將被完整地保留并向下一級(jí)傳遞,所以在些毛刺

25、將被完整地保留并向下一級(jí)傳遞,所以在FPGA設(shè)計(jì)中,設(shè)計(jì)中,如何消除毛刺就變得很重要如何消除毛刺就變得很重要。o 可通過改變?cè)O(shè)計(jì),破壞毛刺產(chǎn)生的條件,來減可通過改變?cè)O(shè)計(jì),破壞毛刺產(chǎn)生的條件,來減少毛刺的發(fā)生。例如,在數(shù)字電路設(shè)計(jì)中,少毛刺的發(fā)生。例如,在數(shù)字電路設(shè)計(jì)中,常常常采用格雷碼計(jì)數(shù)器取代普通的二進(jìn)制計(jì)數(shù)器常采用格雷碼計(jì)數(shù)器取代普通的二進(jìn)制計(jì)數(shù)器。o 還可根據(jù)還可根據(jù)D觸發(fā)器的觸發(fā)器的D輸入端對(duì)毛刺不敏感的輸入端對(duì)毛刺不敏感的特點(diǎn)而消除毛刺,舉例說明特點(diǎn)而消除毛刺,舉例說明o 【例例7.23】 長(zhǎng)幀同步時(shí)鐘的產(chǎn)生長(zhǎng)幀同步時(shí)鐘的產(chǎn)生module longframe1(clk,strb);parameter DELAY=8; input clk;output reg strb; reg7:0 counter;always(posedge clk)begin if(counter=255) counter=0;else counter=counter+1;endalways(counter)begin if(counter=(DELAY-1) strb=1; else strb=0; ende

溫馨提示

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