計算機(jī)設(shè)計與實踐_第1頁
計算機(jī)設(shè)計與實踐_第2頁
計算機(jī)設(shè)計與實踐_第3頁
計算機(jī)設(shè)計與實踐_第4頁
計算機(jī)設(shè)計與實踐_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2008-9-23

.計算機(jī)設(shè)計與實踐

第五講

移動計算研究中心

張展

1

2008-9-23

上節(jié)內(nèi)容回顧

■多個進(jìn)程間的通信線——信號

【例3】

ENTITYmulIS

PORT(a,b,c,selx,selyINBIT;

data_out:OUTBIT

ENDmul;

ARCHITECTUREexOFmulIS

SIGNALtemp:BIT;

BEGIN

P_a:PROCESS(a,b,selx)

BEGIN

IF(selx=*0')THEN

ELSEtemp<=b;

ENDIF;

ENDPROCESSp_a;

p_b:PROCESS(temp,c,

BEGIN

IF(sely:?O')THENda

ELSEdata_out<=c;

ENDIF;

ENDPROCESSP_b;

ENDex;

2

2008-9-23

工信號是多個進(jìn)程間的通信線

產(chǎn)生于進(jìn)程:p_a

產(chǎn)生于進(jìn)程:p_b

圖3例3的綜合結(jié)果

3

2008-9-23

&順序語句與并行語句

■順序執(zhí)行的語句-process中只能放順

序語句;

■并行執(zhí)行的語句—architecture中只能

放并行語句;

■某些語句既可當(dāng)作并行語句,也可當(dāng)作

順序語句,例如

-簡單的信號賦值語句;

■斷言語句;

4

2008-9-23

順序語句

--順序語句只能出現(xiàn)在process中

■順序語句只出現(xiàn)在進(jìn)程和子程序(過程和函數(shù))

中,包括:

■wait語句;

■順序賦值語句:

-信號賦值符號:“<二”;

-變量賦值符號:“:=”;

■順序控制語句:

■條件控制:if,case;

■循環(huán)控制:loop,for…loop,while…loop,next,exit;

■空語句:null;

■斷言語句:assert,report;

>過程調(diào)用:過程名(實際參數(shù));

■返回語句:return;

5

2008-9-23

j信號賦值----deltadelay

■<=sig_B;

■在delta延時后A被賦值為B

■Delta延時是一段比0大又比任何標(biāo)準(zhǔn)時間單位

小的時間段,A的值不是馬上被更新,而是在

delta延時后才發(fā)生變化

■在當(dāng)前時刻使用A值的其他語句,即便在語句

之后,使用的仍是A的舊值。這是一個非常重

要的概念,也是VHDL語言的核心

6

2008-9-23

j慣性延遲和傳輸延遲

■慣性延遲

-信號通過器件產(chǎn)生的時間延遲

-當(dāng)信號從器件的輸入端輸入,必須使輸入信號值在

相應(yīng)的延遲時間內(nèi)保持不變,器件的輸出端才有輸

■慣性延時在為實際電路建模時被普遍使用

■sigyi<=Inertialsig_BAfter5ns;

■傳輸延遲

?信號通過導(dǎo)線產(chǎn)生的時間延遲

-任何信號從導(dǎo)線的一端輸入,經(jīng)一定時間延遲后,

從導(dǎo)線的另一端輸出

■sig/<=Transportsig_BAfter5ns;

7

2008-9-23

延遲時間t

干擾時間<七

輸入脈沖寬度小于慣性閾值時,

慣性延遲元件的輸出端將沒有反應(yīng)

8

2008-9-23

>IF語句

If布爾表達(dá)式Then

分順序語句;

[Elsif布爾表達(dá)式Then

順序語句1;

語[Else

EndIf;俁注else的用途!,

指令if配合其后面所接語句的完整與否,

可以合成出組合或時序電路

9

2008-9-23

&CASE語句

Case表達(dá)式is

{When表達(dá)式值=>順序語句};

[WhenOthers=>順序語句;]

EndCase;---------

關(guān)注Others的用途!

注意:在when后面所指定信號對象的范圍

不可以有重疊的現(xiàn)象

10

2008-9-23

jcase語句與if語句的比較

|?if語句各分支的執(zhí)行■if語句中最后一個分支

順序有優(yōu)先級之分;else

■case語句各分支的執(zhí)■case語句中最后一個分支

行順序無優(yōu)先級之分,whenothers

并行執(zhí)行;

■如果缺省,對綜合工具

■綜合工具必須考慮此產(chǎn)生什么影府?

特點

■如果不寫,綜合工具會保

持原值不變(用一個觸發(fā)

器),增加硬件成本

11

2008-9-23

j循環(huán)語句(loop)

■無條件loop語句:

標(biāo)號:loop<語句>endloop標(biāo)號;

■for???loop語句:

標(biāo)號:for循環(huán)變量in離散范圍loop

<語句>endloop標(biāo)號;

■while???loop語句:

標(biāo)號:while條件表達(dá)式loop

V語句〉endloop標(biāo)號;

12

2008-9-23

循環(huán)控制語句

■next語句:■exit語句:

next標(biāo)號[when條件];exit標(biāo)號;

■跳過下面的語句執(zhí)行指■退出指定標(biāo)號的循環(huán)

定標(biāo)號的下一個循環(huán)

■若不指定標(biāo)號,指當(dāng)前■若不指定標(biāo)號,指當(dāng)

的循環(huán)前的循環(huán)

■若有條件,則在不滿足

條件的情況下該語句無

13

2008-9-23

j使用順序代碼設(shè)計組合邏輯電路

■需要遵循兩條原則:

■原則一:確保在PROCESS中用到的所有輸

入信號都出現(xiàn)在敏感信號表中

■原則二:確保考慮了輸入/輸出信號的所有

可能組合,也就是說,電路的真值表必須在

代碼中完整地反映出來(實際上對順序代碼

和并發(fā)代碼都有這一要求)

14

2008-9-23

j本講內(nèi)容----并行語句

——并行語句只能出現(xiàn)在architecture中,

不可放在Process中!

進(jìn)程(PROCESS)語句

信號賦值語句

元件例化語句

GENERATE語句

15

2008-9-23

數(shù)據(jù)流描述

■利用信號賦值的方式,來描述電路

內(nèi)信號數(shù)據(jù)的流動情形

-直接式的信號賦值<="

■條件式的信號賦值"when■?else”

■選擇式的信號賦值"with■?select-when”

■3種信號賦值方式皆為并發(fā)性的賦值

16

2008-9-23

條件并行信號賦值語句

&when??else

17

2008-9-23

并行語句只能用在

Architecture中

y<=TwhenA=andB=Telse

'O';

■等價于順序語句只能用在

process(A,B)Process中

begin

ifA=TandB=Tthen

y<=T;

else

y<='O';

endprocess;

18

2008-9-23

選擇并行信號賦值語句

with?-select-?when

注意使用而不是”

with表達(dá)式selectprocess(敏感信號表)

信號<=begin

case表達(dá)式is

波形1when分支1.

<=>“hen分支1=>

/信號v=波形1;

波形nwhen分支n;

when分支n=>

信號<=波形n;

endcase;

dudprocess;

并行語句順序語句

19

2008-9-23

jWhen語句

WithcontrolSelect

output<="000"Whenreset,

“111”Whenset,

UNAFFECTEDWhenOthers;

■必須對所有可能出現(xiàn)的條件給予考慮,經(jīng)常使用關(guān)鍵字

Others

■如果在某些條件出現(xiàn)時不需要進(jìn)行任何操作,使用

UNAFFECTED指出這一點

20

2008-9-23

jWhen語句

■Whenvalue的描述方式

■Whenvalue-針對單個值進(jìn)行判斷

■Whenvalue1tovalue2一針對取值范圍進(jìn)行

判斷,適用于枚舉類型

■Whenvaluellvalue2l…―針對多個值進(jìn)行判

21

2008-9-23

4,例:

并行語句.順序語句

process(Sei)

1/7begin

^easeSeiis

withSeiselect

when〃00〃=>

Dout<=Dout<=〃0001

"0001"when〃00",when〃01〃=>

〃0010"when"01",Dout<=〃0010〃;

"0100"when〃10",when〃10"=>

Dout<="0100〃;

"1000"whenothers;

whenothers=>

Dout<=n1000〃;

-------------/N--、endcase;

不能是dwhen"11";endprocess;

22

2008-9-23

jCase語句與When語句的比較

WHENCASE

代碼類型并發(fā)代碼順序代碼

在Process、Function和在Process、Function和

用法

Procedure外部使用Procedure內(nèi)部使用

必須列出所有可是(對于with…select…when

能的組合來說)

每個判斷分支允

許的最大賦值操1任意

作數(shù)量

沒有操作動作時

UNAFFECTEDNULL

使用的關(guān)鍵字

23

2008-9-23

四選一多路選擇器

x<=awhen(s=、'00〃)else

bwhen(3=else

cwhen(s=else

df

WITHsSELECT

x<=aWHEN''00〃,——meanswhens=''00〃

bWHEN''01〃,

cWHEN

dWHENOTHERS;

24

2008-9-23

編碼器(WithWHEN/ELSE)

ENTITYencoderIS

PORT(x:INSTD_LOGIC_VECTOR(7DOWNTO0);

y:OUTSTD_LOGIC_VECTOR(2DOWNTO0));

ENDencoder;

ARCHITECTUREencoderlOFencoderIS

BEGIN

y<=''OO0"WHENx=''00000001”ELSE

''001"WHENx=''00000010”ELSE

''010"WHENx=''00000100”ELSE

''Oil"WHENx=''00001000”ELSE

''100"WHENx=''00010000”ELSE

''101"WHENx=''00100000”ELSE

''110"WHENx=''01000000”ELSE

''111"WHENx=''10000000”ELSE

、'ZZZ"r

ENDencoderl;

25

2008-9-23

編碼器(WithWITH/SELECTAVHEN)

ENTITYencoderIS

PORT(x:INSTD_LOGIC_VECTOR(7DOWNTO0);

y:OUTSTD_LOGIC_VECTOR(2DOWNTO0));

ENDencoder;

ARCHITECTUREencoder2OFencoderIS

BEGIN

WITHxSELECT

y<=''000z,WHEN''00000001”,

''001"WHEN''00000010”,

''010"WHEN''00000100”,

''011"WHEN''00001000”,

''100"WHEN''00010000”,

''101"WHEN''00100000”,

''110"WHEN''01000000”,

''111"WHEN''10000000”,

、'ZZZ〃WHENOTHERS;

)encoder2;

26

2008-9-23

j結(jié)構(gòu)才苗述(StructureDescription)

■以元件連接方式來完成一個復(fù)雜的硬件電路

■如何設(shè)計元件—元件的設(shè)計

■如何取用元件

■元件的聲明

COMPONENT元件名IS

PORT(端口名表);

ENDCOMPONENT;

■各元件間的連線映射(Mapping)----元件例化

例化名:元件名PORTMAP([端口名二刁連接端口名,...);

27

2008-9-23

■元件的聲明(Declaration)

■Componentcomponent_name

port(Signal_name1:modeDatatype;

Signal_name2:modeDatatype;

Signal_namen:modeDatatype;

);

endComponent;

■元件名稱必須與元件程序的實體及文件名稱一樣

■Port內(nèi)部的語句,不論是信號數(shù)量、工作模式、數(shù)

據(jù)類型,都必須與元件程序內(nèi)實體的聲明一致,但

其名稱可以不需要相同

28

2008-9-23

j元件例化

■元件連線映射(Mapping)

■完成元件的實例化(Component

Instantiation)

■如何去連接每個元件之間的引腳

■名稱映射(Mappingbyname)

■位置映射(Mappingbyposition)

29

2008-9-23

■名稱映射(Mappingbyname)

■把事先設(shè)計好的元件調(diào)出來使用時,其電路與調(diào)用元件之間的映射關(guān)系是以

引腳的名稱作映射,指明哪一個引腳接到哪一個引腳上去,它與引腳的排放

位置無關(guān)

■Label:Component_jiameportmap(

Signal_natnel->Signaljtiamel,

Signaljnatne2=>Signal_tiame2,

元Signal_namen=>Signal_iiamen);

?label:例化標(biāo)號,可看作例化元件名。

?括號內(nèi)部的語句用來描述被調(diào)用的元件引腳與調(diào)用它的硬件電路之

間的連接關(guān)系,左邊為被調(diào)用元件的引腳名稱,右邊為調(diào)用它的硬

件電路名稱,兩者之間以映射符號“=>”相連接。

■位置映射(Mappingbyposition)

?當(dāng)調(diào)用事先規(guī)劃好的元件時,其引腳之間的映射關(guān)系是以當(dāng)

初聲明時的引腳順序來連接

■Label:Component_nameportmap(

SignallySignal2y…,Signaln);

30

2008-9-23

以元件的結(jié)構(gòu)設(shè)計一個8選1多路選擇器

4選1多路選擇器2選1多路選擇器

libraryIEEE;libraryIEEE;

useIEEE.std_logic_l164.all;useIEEE.std_logic_l164.all;

entityMUL4_COMisentityMUL2_C0Mis

port(port(

I:inSTD_LOGIC_VECTOR(0to3);I:inSTD_LOGIC_VECTOR(0to1);

S:inBIT.VECTOR(1downto0);S:inBIT;

Y:outSTD_LOGICY:outSTD_LOGIC

););

endMUL4__COM;endMUL2_C0M;

architectureMUL4_COM_archofMUL4_COMisarchitectureMUL2_COM_archofMUL2_C0Mis

beginbegin

Y<=1(0)whenS=,'00HelseY<=I(0)whenS='O'else

1(1)whenS=n0r,elseKD;

1(2)whenS=n10MelseendMUL2_COM_arch;

1(3);

endMUL4_COM_arch;

31

2008-9-23

uselEEE.stdJogic_l164.all;8選1多路選擇器

entityCOMPON_1is

port(

I:inSTD_LOGIC_VECTOR(0to7);

S:inBIT.VECTOR(2downto0);

--------¥:out8TD_LO&I€

);

endCOMPONJ;

architectureCOMPON_l_archofCOMPON_1is

componentMUL4_COM

port(

I:instd_iogic_vector(0to3);

S:inBIT_VECTOR(1downto0);

Y:outstdjogic

);元件

endcomponent;A聲明

componentMUL2_COM

port(

I:instd_logic_vector(0to1);

S:inBIT;

Y:outstdjogic

);

endcomponent;

32

2008-9-23

signalY1,Y2:stdjogic;

begin

Ielement1:MUL4_COMportmap(

1(0)=>1(0),

'IUHKi)=>I(D,

I⑵-,I(2)r

1(3)=>I⑶,

S=>S(1downto0),

Y=>Yl);

element2:MUL4_COMportmap(件

1(0)=>1(4),

Id)=>K5),

I⑵=>1(6),

1(3)=>1(7),

S=>S(1downto0),

Y=>Y2);

element3:MUL2_COMportmap(

1(0)=>Y1,

1(1)=>Y2,

S=>S(2),

Y=>Y);7

endCOMPON1arch:

33

2008-9-23

8選1多路選擇器電路圖

34

2008-9-23

jGENERATE語句

■并發(fā)描述語句

-與順序描述語句Loop語句一樣用于循

環(huán)執(zhí)行某項操作,通常與For一起使用

■語法結(jié)構(gòu)

label:FORidentifierINrangeGENERATE

(concurrentassignments)

ENDGENERATE;

■注意:GENERATE中循環(huán)操作的上界和下界

都必須是靜態(tài)的

35

2008-9-23

jGENERATE語句

OK:FORiIN0TO7GENERATE

output(i)<=TWHEN(a(i)andb(i))=TELSE'O';

ENDGENERATE;

■當(dāng)出現(xiàn)下面兩種情況之一時,編譯器會提示多驅(qū)動錯誤,

同時停止編譯

NotOK:FORiIN0TO7GENERATE

accum<="11111111”WHEN(a(i)andb(i))='1'ELSE”00000000”;

ENDGENERATE;

NotOK:FORiIN0TO7GENERATE

accum<=accum+1WHENx(i)=T;

ENDGENERATE;

36

2008-9-23

libraryIEEE;

useIEEE.std_logic_l164.all;

entityshift_rgtis

port(A,CLK:inSTD.LOGIC;

四B:outSTD_LOGIC);

endshift_rgt;

architecturef_shift_rgtofshift_rgtis

串COMPONENTdff

port(d,CLK:inSTD_LOGIC;

行q:outSTD_LOGIC);

ENDCOMPONENT

移SIGNALx:STD_LOGIC_VECTOR(0to4);

BEGIN由4個D觸發(fā)器dff生

x(0)<=A;

寄成4次而成

G1:FORiINOto3GENERATE

UkdffPORTMAP(x(i),CLK,x(i+l));

ENDGENERATE;

B<=x(4);

ENDf_shift_rgt;

37

2008-9-23

實驗二并行加法器設(shè)計

■采用并行進(jìn)位設(shè)計實現(xiàn)下圖所示的4位并行加

法器。

38

2008-9-23

實驗二并行加法器設(shè)計

■定義輸入信號a和b,數(shù)據(jù)類型為

Std_Logic_Vector(4位),輸入信號Cin,數(shù)據(jù)

類型為Std_Logic。

-定義輸出信號S,數(shù)據(jù)類型為Std_Logic_Vector(

4位),輸出信號Cout,數(shù)據(jù)類型為Std_Logic。

■要求進(jìn)位Ci的本地進(jìn)位di和傳遞條件ti及加法器

輸出Si用并發(fā)語句GENERATE描述,進(jìn)位Ci用數(shù)

據(jù)流描述方式實現(xiàn)。

39

2008-9-23

結(jié)構(gòu)體(Architecture)的用途

■用于定義該設(shè)計單元的內(nèi)部特性,有以下3種描述方式

-行為描述:描述該設(shè)計單元的功能,即該單元能做些什么。主要

使用函數(shù)、過程和進(jìn)程語句,以算法形式描述數(shù)據(jù)的變換和傳送

?數(shù)據(jù)流方式:以類似于寄存器傳輸級的方式描述數(shù)據(jù)的傳輸和變

換。主要使用并行的信號賦值語句,既顯式表示了該設(shè)計單元的

行為,也隱式表示了該設(shè)計單元的結(jié)構(gòu)

?結(jié)構(gòu)描述:描述該設(shè)計單元的硬件結(jié)構(gòu),即該硬件是如何構(gòu)成的。

主要使用元件例化語句描述元件的類型及元件的互連關(guān)系

?結(jié)構(gòu)體中的語句都是并行語句(包括進(jìn)程)

40

2008-9-23

各種描述方法的選擇

■行為描述■數(shù)據(jù)流描述結(jié)構(gòu)描述

■對硬件知識的依?根據(jù)邏輯表達(dá)式?基本設(shè)計單元一

賴最少般用數(shù)據(jù)流描述

或邏輯真值表進(jìn)

或行為描述實現(xiàn)

?程序結(jié)構(gòu)簡單行設(shè)計描述

?邏輯綜合需要的■純結(jié)構(gòu)描述不存

?程序結(jié)構(gòu)最簡單

時間最長在

?綜合結(jié)果的優(yōu)化?邏輯綜合時間最■混合描述

程度最差短-頂層及分層模

?邏輯綜合以高層?優(yōu)化程度最好塊用結(jié)構(gòu)描述

.比較簡單的分

次綜合理論為基■對硬件知識依賴

礎(chǔ)模塊,用數(shù)據(jù)

最多流描述或行為

?適于較簡單的設(shè)3苗述

計使用

41

2008-9-23

各種描述方法的選擇

描述方法綜合時間硬件知識程序結(jié)構(gòu)優(yōu)化程度

行為描述最長最少簡單最不優(yōu)化

結(jié)構(gòu)描述中等多復(fù)雜優(yōu)化

數(shù)據(jù)流描述最短最多最簡單最優(yōu)化

42

2008-9-23

《狀態(tài)機(jī)

■有限狀態(tài)機(jī)(FSM)是為時序邏輯電

路設(shè)計創(chuàng)建的特殊模型技術(shù)-------

■組合邏輯電路包含兩部分輸入—Pul"組合邏輯電路

■另一部分是實際的外部輸入信號_________

■組合邏輯電路送出兩部分信號pjstate___________

■nx_state(下一個狀態(tài))

>實際的電路輸出信號

時序邏輯電路

■時序邏輯電路包含3個輸入信號

■clock,reset^pnx_state

■時序邏輯電路包含1個輸出信號

■pr_state

43

2008-9-23

&狀態(tài)機(jī)

?米里(Mealy)型狀態(tài)機(jī)

■如果狀態(tài)機(jī)的輸出信號不僅與電路的

當(dāng)前狀態(tài)有關(guān),還與當(dāng)前的輸入有關(guān)

■摩爾(Moore)型狀態(tài)機(jī)

■如果狀態(tài)機(jī)的當(dāng)前輸出僅僅由當(dāng)前狀

態(tài)決定

44

2008-9-23

?設(shè)計風(fēng)格1

■FSM中的時序邏輯部分和組合邏輯部

分分開獨立設(shè)計

■需要定義一個枚舉數(shù)據(jù)類型,其內(nèi)部

包含所有FSM需要的狀態(tài)

■用戶自定義的枚舉類型

TYPEstateIS(stateO,state1,state2,state3,1??);

45

2008-9-23

設(shè)計風(fēng)格1

■狀態(tài)機(jī)中時序邏輯部分的設(shè)計

■clock和reset通常應(yīng)該出現(xiàn)在用來實現(xiàn)時序

邏輯電路功能的process的敏感信號列表中

■當(dāng)reset有效時,pr_state將強(qiáng)制回到系統(tǒng)的

初始狀態(tài)

■當(dāng)reset無效時,每當(dāng)出現(xiàn)時鐘的上升沿,寄

存器將存儲nx_state,并通過pjstate反饋給

組合邏輯電路

46

2008-9-23

設(shè)計風(fēng)格1

■狀態(tài)機(jī)中時序邏輯部分的設(shè)計

Process(reset,clock)

BEGIN

IF(reset-'H)THEN

pr_state<=stateO;

ELSIF(clock'eventandclock=T)THEN

pr_state<=nx_state;

ENDIF;

ENDProcess;

■這種FSM設(shè)計風(fēng)格的優(yōu)點是時序電路的設(shè)計

方注?基本上是標(biāo)準(zhǔn)的

■另一個優(yōu)點是占用的寄存器數(shù)量最少

47

2008-9-23

■狀態(tài)機(jī)中組合邏輯部分的設(shè)計

Process(input,pr_state)

BEGIN對輸出端口賦值

CASEpr__stateIS

WHENstateO=>

IF(input=-)THEN

output<=<value>;

nx_state<=statel;

ELSE…

ENDIF;

WHENstate1=>確定狀態(tài)機(jī)的下一個狀態(tài)

IF(input=-)THEN

output<=<value>;

nx_state<=state2;

ELSE…

ENDIF;

WHENstate2=>

IF(input=…)THEN

output<=<value>;

nx_state<=state3;

ELSE…

ENDIF;

ENDCASE;

ENDPROCESS;

48

2008-9-23

例:簡單有限狀態(tài)機(jī)設(shè)計

■整個設(shè)計包括兩個狀態(tài)(狀態(tài)A和狀態(tài)B),每

次當(dāng)發(fā)現(xiàn)d-T時,它都會從當(dāng)前狀態(tài)跳變到另

一個狀態(tài)。當(dāng)狀態(tài)機(jī)處于stateA時,輸出端口

x=a;當(dāng)狀態(tài)機(jī)處于stateB時,輸出端Dx=b

49

2008-9-23

(應(yīng)用設(shè)計風(fēng)格1編寫的VHDL代碼

entitysimple_fsmis

Port(a,b,d,elk,rst:instd_logic;

x:outstd_logic);

endsimple_fsm;

architectureBehavioralofsimple_fsmisprocess(a,b,d,pr_state)

typestateis(stateA,stateB);begin

signalprostate,nx_state:state;caseprostateis

whenstateA=>

beginx<=a;

process(r

溫馨提示

  • 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

提交評論