第4章VHDL语言基础_第1页
第4章VHDL语言基础_第2页
第4章VHDL语言基础_第3页
第4章VHDL语言基础_第4页
第4章VHDL语言基础_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章VHDL语言基础,常见的HDL有ABEL、AHDL、VHDL、VerilogHDL和SystemC等。HDLIEEE工业标准硬件描述语言VHDL、Verilog超高速集成电路硬件描述语言VHDL,美国国防部研究计划,硬件描述语言HDL,第4章VHDL语言基础,覆盖面广,描述能力强,多层次硬件描述语言VHDL有良好的可读性,既是程序又是文件VHDL的移植性很强VHDL生命周期长,硬件描述与器件工艺无关代码量大,书写烦琐,VHDL,第4章VHDL语言基础,基本组成语言要素,本章内容:,4.1基本结构,参数部分实体部分结构体,例:2选1多路选择器的VHDL描述,4.1基本结构,2选1多路选择器的VHDL描述,4.1基本结构,2选1多路选择器的VHDL描述方法一:,ENTITYmux21aISPORT(a,b:INBIT;s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISSIGNALd,e:BIT;BEGINd=aAND(NOTS);e=bANDs;y=dORe;ENDARCHITECTUREone;,4.1基本结构,实体,结构体,2选1多路选择器的VHDL描述方法二:,ENTITYmux21aISPORT(a,b,s:INBIT;y:OUTBIT);ENDENTITYmux21a;ARCHITECTUREoneOFmux21aISBEGINPROCESS(a,b,s)BEGINIFs=0THENy=a;ELSEy=b;ENDIF;ENDPROCESS;ENDARCHITECTUREone;,4.1基本结构,【例4-1】LIBRARYieee;-库程序包调用USEieee.std_logic_1164.ALL;USEieee.std_logic_unsigned.ALL;,4.1基本结构,ENTITYcntm16IS-实体cntm16GENERIC(cntwidth:integer:=4);PORT(ci:INstd_logic;nreset:INstd_logic;clk:INstd_logic;co:OUTstd_logic;qcnt:BUFFERstd_logic_vector(cntwidth-1DOWNTO0);ENDcntm16;,4.1基本结构,ARCHITECTUREbehaveOFcntm16IS-结构体BEGINco=1WHEN(qcnt=”1111”ANDci=1)ELSE0;PROCESS(clk,nreset)BEGINIF(nreset=0)THENqcnt=”0000”ELSIF(clkeventANDclk=1)THENIF(ci=1)THENqcnt=qcnt+1;ENDIF;ENDIF;ENDPROCESS;ENDbehave;,4.1基本结构,模块结构参数部分:库(LIBRARY)、程序包(USE);实体(ENTITY):类属、端口(PORT);结构体(ARCHITECTURE):赋值、进程(PROCESS-IF)。,4.1基本结构,4.1基本结构,VHDL程序设计约定语句结构描述中方括号“”内的内容为可选内容。程序文字的大小写是不加区分的。程序中的注释使用双横线“-”。建议书写使用层次缩进格式。建议各个源程序文件的命名均与其实体名一致。,4.1基本结构,库说明存放已经编译的实体、结构体、程序包和配置,用于设计共享,是编程资源。library;,4.1.1参数部分,程序包引用使用USE子句指明要使用库中某一个设计单元。use.all;,【例4-2】LIBRARYieee;USEieee.std_logic_1164.ALL;,实体(ENTITY)实体是一个设计实体的表层设计单元,其功能是对这个设计实体与外部电路进行接口描述。它规定了设计单元的输入/输出接口信号或引脚,是设计实体经封装后对外的一个通信界面。类似于原理图中的一个部件符号。,4.1.2实体部分,实体格式ENTITY实体名ISGENERIC(常数名:数据类型:设定值);-类属表PORT-端口表(端口名:方向(端口模式)端口类型;:;端口名:方向(端口模式)端口类型);END实体名;ENTITY实体名IS,4.1.2实体部分,GENERIC类属参数定义端口界面常数(端口宽度、器件延迟时间)。类属参量的值可由设计实体的外部提供。书写格式:GENERIC(常数名:数据类型:设定值;常数名:数据类型:=设定值);例4-1GENERIC(cntwidth:integer:=4);,4.1.2实体部分,PORT端口用于定义模块所有的输入/输出信号,相当于定义一个模块符号需要定义端口信号名、端口模式、端口数据类型例4-1,4.1.2实体部分,PORT端口模式,端口数据类型,VHDL数据类型:预定义数据类型、自定义数据类型只能使用已经定义的数据类型例4-1中数据类型Std_logic和Std_logic_vector,在ieee.std_logic_1164.all程序包中说明,使用时首先打开。,实体实例,【例4-3】4位全加器的实体描述。Libraryieee;Useieee.std_logic_1164.all;Entityadd4isPort(a,b:instd_logic_vector(3downto0);Ci:instd_logic;Sum:outstd_logic_vector(3downto0);Co:outstd_logic);Endadd4;,结构体(ARCHITECTURE)结构体主要用来描述实体的内部结构,即描述一个实体的功能。描述方式行为描述方式、数据流描述方式、结构描述方式、混合描述方式,4.1.3结构体部分,结构体格式ARCHITECTURE结构体名OF实体名IS结构体说明部分;BEGIN结构体描述部分;END结构体名;,4.1.3结构体部分,结构体组成,4.1.3结构体部分,行为描述描述该设计单元的功能,主要使用函数、过程和进程语句,以算法形式描述数据的变换和传送,结构体描述风格,例4-4Libraryieee;Useieee.std_logic_1164.all;Useieee.std_logic_unsigned.all;Useieee.std_logic_arith.all;,Entityeqcomp4isPort(a,b:instd_logic_vector(3downto0);equals:outstd_logic);Endeqcomp4;Architecturebehavioralofeqcomp4isBeginComp:process(a,b)BeginIfa=bthenEquals=1;ElseEquals=0;Endif;Endprocesscomp;Endbehavioral;,行为描述,结构描述描述该设计单元的硬件结构,调用库中的元件或是设计模块,主要使用元件说明语句及元件例化语句,结构体描述风格,例4-5,Architecturestructofeqcomp4isComponentxnor2-元件说明Port(a,b:instd_logic;X:outstd_logic);Endcomponent;Componentand4-Port(a,b,c,d:instd_logic;y:outstd_logic);Endcomponent;Signalx:std_logic_vector(0to3);,结构描述,BeginU0:xnor2portmap(a(0),b(0),x(0);-元件例化U1:xnor2portmap(a(1),b(1),x(1);U2:xnor2portmap(a(2),b(2),x(2);U3:xnor2portmap(a(3),b(3),x(3);U4:and4portmap(x(0),x(1),x(2),x(3),equals);Endstruct;,结构描述,数据流描述从信号到信号的数据流的路径形式进行描述。使用并行的信号赋值语句,既显式表示了该设计单元的行为,也隐式表示了该设计单元的结构。,结构体描述风格,例4-6Architecturedataflowofeqcomp4isBeginEquals=1when(a=b)else0;并行信号赋值语句Enddataflow;,一个实体可有多种方案的结构体,但仿真和综合时要用configuration配置语句选择一个结构体映射到硬件电路,即为实体选择、指定或者激活一个结构体。,结构体配置,4.1.3结构体部分,4.2VHDL语言要素,文字规则数据对象数据类型运算符属性,4.2.1文字规则,标示符数值字符串下标,4.2.1文字规则,标示符,1、标识符由字母、数字及下划线组成;2、以字母开头;3、下划线不能放在结尾;4、下划线不能连用;5、不能使用保留字;6、VHDL不区分大小写。,4.2.1文字规则,数值表示,(1)整数表示整数表示十进制数值,如:11,123,135E2(=13500),12_345_678(=12345678)(2)实数表示实数也表示十进制数值,必须带有小数点,如:1.252.01.56E-3(0.00156)1_120.123_678(11120.123678),数值表示,(3)数制基数表示有5部分组成:十进制数表示数值的基数;隔离符号“#”;该基数下对应的数值;隔离符号“#”;十进制表示的指数部分。2#1110#-二进制表示数值148#120#-八进制表示数值8016#A0#-十六进制表示数值16010#12#E2-十进制表示数值120016#D#E1-十六进制表示数值208,4.2.1文字规则,字符串,字符、字符串:单引号引起来的ASCII字符(数值、符号或字母);双引号中的一维的字符数组。如:R,a,*,Z,-,0;“ERROR”,“NOTE”,两种类型字符串:文字字符串和数位字符串(位矢量,是BIT数据类型的一维数组)。B“1_0101_1010”-二进制数数组,长度是9O“17”-八进制数数组,长度为6X“A2E0”-十六进制数数组,位矢数组长度是16,4.2.1文字规则,下标名及下标段名,1、用于指示数组型变量或信号的某一元素或某一段元素2、语句格式分别为:名(表达式);名(表达式1to/downto表达式2);3、signala,b:bit_vector(7downto0);signalc,d:bit;a=“01000111”;-给a(7)到a(0)赋值为“01000111”c=a(6);-把a(6)值1赋值给cb(7downto4)=a(3downto0);-a的低4位赋给b的高4位b(0to3)=a(4to7);-a的高4位赋给b的低4位d=a(0);-把a(0)值1赋值给d,4.2.2数据对象,数据对象类似于一种容器,接受不同数据类型的赋值常量变量信号,对象种类:信号signal、变量variable、常量constant、文件file。常量:也并不对应电路中的物理量,但可以说明全局量。在结构体、实体、程序包、进程、函数、过程中均可使用。变量:程序运算的中间量,并不对应电路中的物理量。变量说明局部量,用于进程、函数、过程。信号:电路中的物理量,对应于电路的连线和节点。信号说明全局量,用于描述结构体、实体、程序包。,4.2.2数据对象,对象特点:1、信号和变量可以被连续地赋值;2、常量只能被赋值一次;3、信号和变量的赋值形式和执行过程不同:变量是立即赋值(:=),没有延迟,而信号赋值要有一定的延迟(1);,4.2.2数据对象,【例4-12】libraryieee;useieee.std_logic_1164.all;useieee.std_logic_arith.all;useieee.std_logic_unsigned.all;entitybcdadderisport(op1,op2:inintegerrange1to9;result:outintegerrange0to31);endbcdadder;,4.2.2数据对象,architecturebehaveofbcdadderisconstantajustnum:integer:=6;signalbinadd:integerrange0to18;beginbinadd9thentmp:=adjustnum;elsetmp:=0;endif;result=binadd+tmp;endprocess;endbehave;,4.2.2数据对象,4.2.3数据类型,VHDL是一种强类型语言,要求设计实体中的每一个常数、信号、变量、函数以及设定的各种参量都必须具有确定的数据类型,并且只有数据类型相同的量才能互相传递和作用。VHDL中的数据类型:标量(整数、浮点、枚举、物理)、复合(数组、记录)、文件、存取。VHDL中的数据类型引用方式有:预定义、自定义和类型转换等。,标准数据类型(可直接引用)在VHDL标准程序包STANDARD中定义的,在实际使用中,已自动包含进VHDL的源文件中,因而不必通过USE语句以显式调用。,4.2.3数据类型,标准数据类型,(1)整数(INTEGER)整数类型的数代表正整数、负整数和零。整数在硬件电路中是用二进制表示的,但其不能被看作位矢量(枚举型),不能使用逻辑操作符。整数常量的书写方式示例如下:2-十进制整数10E4-十进制整数16#D2#-十六进制整数2#11011010#-二进制整数,标准数据类型,(2)实数VHDL的实数类型类似于数学上的实数,或称浮点数,取值范围为-1.0E38+1.0E38。书写时一定要有小数。仅能在VHDL仿真器中使用,VHDL综合器不支持实数,因为实数类型的实现相当复杂,目前在电路规模上难以承受。实数常量的书写方式举例如下:65971.333333-十进制浮点数8#43.6#E+4-八进制浮点数43.6E-4-十进制浮点数,(3)位(BIT)位数据类型也属于枚举型,取值1或0。可以进行逻辑运算,运算结果仍是位数据类型。VHDL综合器用一个二进制位表示BIT。在程序包STANDARD中定义的源代码是:TYPEBITIS(0,1);例:signala,b,c:bit;c=aandb;,标准数据类型,(4)位矢量(BIT_VECTOR)位矢量是基于BIT数据类型的数组。在程序包STANDARD中定义的源代码是:TYPEBIT_VECTORISARRAY(NATURALRANGE)OFBIT;位矢量是用双引号括起来的一组位数据。Signala:bit_vector(7downto0):=”11001010”;,标准数据类型,(5)布尔(BOOLEAN)布尔数据类型实际上是一个二值枚举型数据类型,它的取值有FALSE和TRUE两种。可以进行关系运算和逻辑运算,不能用于算术运算。IFa=b,标准数据类型,(6)字符(CHARACTER)字符类型通常用单引号引起来,如A。字符类型区分大小写,如B不同于b。(7)字符串(STRING)非约束型字符数组,或称为字符串数组。字符串必须用双引号标明。VARIABLESTRING_VARSTRING(1TO7);STRING_VAR:=“ABCD”;,标准数据类型,标准数据类型,(8)时间(TIME)VHDL中唯一预定义物理类型,由整数和物理量单位两部分组成,之间至少留一个空格,如55ms。STANDARD程序包中时间型定义如下:TYPETIMEISRANGE-2147483647TO2147483647unitsfs;-飞秒,VHDL中的最小时间单位ps=1000fs;-皮秒ns=1000ps;-纳秒us=1000ns;-微秒ms=1000us;-毫秒sec=1000ms;-秒min=60sec;-分hr=60min;-时enduntis;,标准数据类型,(9)错误等级(SEVERITY_LEVEL)在VHDL仿真器中,错误等级用来指示设计系统的工作状态,共有四种可能的状态值:NOTE(注意)、WARNING(警告)、ERROR(出错)、FAILURE(失败)。其定义如下:TYPESEVERITY_LEVEIS(NOTE,WARNING,ERROR,FAILURE);,(10)自然数(NATURAL)和正整数(POSITIVE)整数的子类型,即非负的整数、正整数它们在STANDARD程序包中定义的源代码如下:SUBTYPENATURALISINTEGERRANGE0TOINTEGERHIGH;SUBTYPEPOSITIVEISINTEGERRANGE1TOINTEGERHIGH;,标准数据类型,IEEE预定义标准逻辑类型,在IEEE库的程序包STD_LOGIC_1164中,定义了两个非常重要的数据类型,即标准逻辑位STD_LOGIC和标准逻辑矢量STD_LOGIC_VECTOR。使用时用USE语句显式调用。,(1)标准逻辑位STD_LOGICSTD_LOGIC数据类型的定义如下所示:TYPESTD_LOGICIS(U,X,0,1,Z,W,L,H,-);各值的含义是:U-未初始化的,X-强未知的,0-强0,1-强1,Z-高阻态,W-弱未知的,L-弱0,H-弱1,-忽略。,IEEE预定义标准逻辑类型,(2)标准逻辑矢量(STD_LOGIC_VECTOR)STD_LOGIC_VECTOR类型定义如下:TYPESTD_LOGIC_VECTORISARRAY(NATURALRANGE)OFSTD_LOGIC;例如:Signala:std_logic_vector(7downto0);a=”11001010”;,IEEE预定义标准逻辑类型,其它预定义数据类型,VHDL综合工具配带的扩展程序包中,定义了一些有用的类型。如Synopsys公司在IEEE库中加入的程序包STD_LOGIC_ARITH中定义了如下的数据类型:无符号型(UNSIGNED)、有符号型(SIGNED)和小整型(SMALL_INT)。NUMERIC_STD程序包和NUMERIC_BIT程序包中也分别定义了针对STD_LOGIC型和BIT型的UNSIGNED、SIGNED数据类型。使用这些数据类型时,必须首先打开相应的程序包。,(1)无符号数据类型(UNSIGNEDTYPE)UNSIGNED数据类型代表一个无符号的数值,在综合器中,这个数值被解释为一个二进制数,这个二进制数的最左位是其最高位。【例4-13】UNSIGNED型举例:VARIABLEvar:UNSIGNED(0TO9);定义变量var为10位二进制数,最高位是var(0)。SIGNALsig:UNSIGNED(3TO0);定义信号sig为4位二进制数,最高位为sig(3)。,其它预定义数据类型,(2)有符号数据类型(SIGNEDTYPE)SIGNED数据类型表示一个有符号的数值,补码表示,例如:SIGNED(“0101”)代表+5;SIGNED(“1101”)代表-5。【例4-14】SIGNED型举例:VARIABLEvar:SIGNED(0TO9);定义变量var为10位二进制数,最高位var(0)是符号位。SIGNALsig:SIGNED(3TO0);定义信号sig为4位二进制数,最高位sig(3)是符号位。,其它预定义数据类型,用户自定义数据类型包括自定义的新类和子类即有约束范围的类;可以自定义的数据类型有:整数、实数、枚举、物理、数组、记录等。一般格式为:TYPE数据类型名,数据类型名IS数据类型定义;,用户自定义数据类型,枚举类型VHDL中的枚举数据类型是用文字符号来表示一组实际的二进制数的类型(若直接用数值来定义,则必须使用单引号)。,用户自定义数据类型,定义格式:TYPE数据类型名IS(元素1、元素2、);,编码:枚举类型的文字元素在综合时会自动编码,其编码顺序默认最左边元素为0,向右依次加1,即在枚举列表中,最左边值最小,最右边值最大,可以使用比较运算。,例:TYPEweekIS(Sun,Mon,Tue,wed,Thu,Fri,Sat);Signaltoday:week;result=Frielse0;,枚举类型,应用TYPEM_STATEIS(STATE1,STATE2,STATE3,STATE4,STATE5);SIGNALCURRENT_STATE,NEXT_STATE:M_STATE;信号CURRENT_STATE和NEXT_STATE的数据类型定义为M_STATE,它们的取值范围是可枚举的,即从STATE1STATE5共五种,而这些状态代表五组唯一的二进制数值。,枚举类型,在综合中,整数和实数非枚举型数据类型的取值定义范围太大,综合器无法进行综合。需要定义其约束范围,综合时将负数编码为二进制补码,正数编码为二进制原码。,整数和实数子类型,定义格式:TYPE数据类型名IS数据类型定义约束范围;SUBTYPE子类型名基本类型RANGE约束范围;,【例4-17】TYPEcurrentISREALRANGE-1E4TO1E4;TYPEdigit1ISINTEGERRANGE0TO9;SUBTYPEdigit2INTEGERRANGE-9TO9;综合时digit1为4位二进制原码;digit2为5位二进制补码。,整数和实数子类型,VHDL支持两种复合类数据类型:数组和记录。数组是相同类型元素的组合,记录则是不同类型元素的组合。综合器只支持一维数组或者线性记录。数组的元素可以是任何一种数据类型,用以定义数组元素的下标范围子句决定了数组中元素的个数以及元素的排序方向,即下标数是由低到高,或是由高到低。定义格式:TYPE数据类型名ISARRAY范围OF原数据类型名;,数组类型,数组定义示例【例4-18】TYPEwordISARRAY(1TO8)OFSTD_LOGIC;TYPEwordISARRAY(INTEGER1TO8)OFSTD_LOGIC;TYPEinstructionIS(ADD,SUB,INC,SRL,SRF,LDA,LDB);SUBTYPEdigitISINTEGER0TO9;TYPEindflagISARRAY(instructionADDTOSRF)OFdigit;,数组类型,数组赋值与引用:以单个元素、段元素或数组整体为单位。【例4-19】typebyteisarray(7downto0)ofbit;signala,b:byte;signalc:bit;signald:bit_vector(0to3);赋值:a=“01000111”;等效于:a(7)=0;a(6)=1;a(0)=1;引用:b=a;c=a(0);dBX);VARIABLEINSTR3OPERATION;INSTR3.OPSTR:=MULAX,BX;INSTR3.OP1:=AX;,记录类型,VHDL是强类型语言,不同数据类型的对象,不能直接运算和代入。一般用类型转换函数实现转换。数据类型的变换函数通常由“STD_LOGIC_1164”、“STD_LOGIC_ARITH”、“STD_LOGIC_UNSIGNED”、“STD_LOGIC_OPS”等程序包提供。,数据类型转换,数据类型转换,表4-1常用类型转换函数,数据类型转换,【例4-21】类型转换函数应用举例。SIGNALA:BIT_VECTOR(11DOWNTO0);SIGNALB:STD_LOGIC_VECTOR(11DOWNTO0);A=O”5177”;-八进制值可赋予位矢量b=O”5177”;-语法错,八进制值不能赋予STD矢量b=TO_STDLOGICVECTOR(O”5177”);b=TO_STDLOGICVECTOR(B”1010_1111_0111”);,【例】类型转换函数LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYCNT4ISPORT(CLKINSTD_LOGIC;PBUFFERSTD_LOGIC_VECTOR(3DOWNTO0);ENDENTITYCNT4;,数据类型转换,LIBRARYDATAIO;USEDATAIO.STD_LOGIC_OPS.ALLARCHITECTUREARTOFCNT4ISBEGINPROCESS(CLK)ISBEGINIFCLK=1ANDCLKEVENTTHENP=TO_VECTOR(TO_INTEGER(P)+1,4);ENDIF;ENDPROCESS;ENDARCHITECTUREART;,数据类型转换,此例中利用了DATAIO库中的程序包STD_LOGIC_OPS中的两个数据类型转换函数:TO_VECTOR和TO_INTEGER(前者将INTEGER转换成STD_LOGIC_VECTOR,后者将STD_LOGIC_VECTOR转换成INTEGER)。,数据类型转换,VHDL的各种表达式由操作数和操作符组成,其中,操作数是各种运算的对象,而操作符则规定运算的方式。在VHDL中,一般有四类操作符,即逻辑操作符(LogicaOperator)、关系操作符(RelationaOperator)、算术操作符(ArithmeticOperator)和符号操作符(SignOperator),,4.2.4运算符,逻辑运算符,种类AND(与逻辑)、OR(或逻辑)、NAND(与非逻辑)、NOR(或非逻辑)、XOR(异或逻辑)、XNOR(同或逻辑)、NOT(非逻辑)。优先级NOT的优先级高于其他6个,其他6个优先级别相同。适用类型Std_Logic、Bit、Boolean;std_logic_vector、bit_vector,逻辑运算符,注意:一个表达式中有两个以上的运算符时,要用括号将其分组。如果运算符是AND、OR、XOR中的某一种运算符的组合,则不需要加括号。【例4-22】SIGNALa,b,c:STD_LOGIC_VECTOR(7DOWNTO0);SIGNALd,e,f,g:STD_LOGIC_VECTOR(1DOWNTO0);SIGNALh,I,j,k:STD_LOGIC;SIGNALl,m,n,o,p:BOOLEAN;,逻辑运算符,.a=bANDc;d=eORfORg;-两个操作符OR相同,不需括号h=(iNANDj)NANDk;l=(mXORn)AND(oXORp);h=iANDjANDk;h=iANDjORk;ab,1=c);OTHERS使用QC,0=D,OTHERS=A);,求积类,求积类算术运算符包括:*(乘)、/(除)、MOD(取模)、REM(取余)。VHDL规定,乘与除的数据类型是整数和实数,而取模和取余的操作数及运算结果都是整数。求积类运算符只能有条件地被综合,比如QuartusII规定乘、除右边的操作数必须是2的幂,不支持MOD和REM运算。,混合类,混合类算术运算符包括:*(乘方)、ABS(取绝对值)。VHDL规定,混合运算的操作数一般为整数类型。而综合器对乘方运算也有一定的限制。,移位类,移位运算符包括:SLL(逻辑左移)、SRL(逻辑右移);(补0)SLA(算术左移)、SRA(算术右移);(不变)ROL(逻辑循环左移)、ROR(逻辑循环右移)。适用类型:BIT或BOOLEAN数组;重载使其也支持STD_LOGIC_VECTOR和INTEGER。,移位类,语句格式标识符移位操作符移位位数;移位操作符左边是支持的类型,右边必须是整数。举例:,关系运算符,关系运算符包括:=(等于)、/=(不等于)、(大于)、=(大于等于)、=(小于等于)。比较结果:对相同数据类型的数据进行数值比较,为BOOLEAN型常数TRUE或FALSE。,关系运算符,应用:【例4-25】Signala:std_logic_vector(3downto0):=”1010”;Signalb:std_logic_vector(3downto0):=”1011”;Signalc:std_logic_vector(3downto0):=”1010;Signa

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论