数字电路与逻辑设计 课件 (陈彦辉)2、3 逻辑门与逻辑电路描述、逻辑电路结构与硬件描述_第1页
数字电路与逻辑设计 课件 (陈彦辉)2、3 逻辑门与逻辑电路描述、逻辑电路结构与硬件描述_第2页
数字电路与逻辑设计 课件 (陈彦辉)2、3 逻辑门与逻辑电路描述、逻辑电路结构与硬件描述_第3页
数字电路与逻辑设计 课件 (陈彦辉)2、3 逻辑门与逻辑电路描述、逻辑电路结构与硬件描述_第4页
数字电路与逻辑设计 课件 (陈彦辉)2、3 逻辑门与逻辑电路描述、逻辑电路结构与硬件描述_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

逻辑门与逻辑函数片上微控制系统原理与项目设计第二讲TheCMOSTransistorCMOStransistor(ASignificantInvention)BasicswitchinmodernICsEnablingustodaytodothingslikeseetheworldonTV,surftheweb,andtalkoncellphones.TwotypesofCMOStransistornMOSandpMOSdoesnotconduct0conducts1gatenMOSdoesnotconduct1gatepMOSconducts0anMOStransistorsymbolconductswhengate=1pMOStransistorsymbolconductswhengate=0TheCMOSTransistor(Cont.)AnanalogyThecurrenttryingtocrossthechannelApersontryingtocrossariverMOSMOStransistorsusemetal(toconnecttransistors),oxide(toinsulate),andsemiconductormaterial.练习:用继电器实现与非门NandGame-Buildacomputerfromscratch.实验1NAND本节课内容课程讲授思路布尔逻辑量布尔逻辑运算布尔逻辑函数数字逻辑电路逻辑门逻辑电路逻辑符号真值表波形图电路功能信号代数式数学逻辑真值表由逻辑输入和逻辑输出的值组成的表格采用一个表格将逻辑输入的所有取值组合按组合值顺序排成若干行将每个组合产生的逻辑输出值也列出同一行中逻辑真值表

输入输出ABF001010101111逻辑真值表

输入输出ABF1F20010011110111100逻辑真值表某变量的逻辑非称为反变量该变量称为原变量原变量反变量真值表将输入原变量及其反变量作为新的输入将输出原变量及其反变量作为新的输出重新构建真值表探究如何从真值表中获得逻辑函数表达式输入输出ABF001110011001100110110010逻辑真值表输出1分析每一行都有三个1两个为输入量为1一个为输出量为1值为1的输出量是两个为1的输入量的与运算结果输入输出ABF001110011001100110110010

①每个值为1的输出都可以由值为1的输入原变量或反变量进行与运算获得。通常把单个逻辑变量(或反变量)进行与运算构成的项称为与项。②只要输入的值使某一与项结果为1,输出值就为1,输出是这些与项的或运算。通常把由与项相或构成的表达式称为与或式。③分析输出原变量或反变量都可以得到相同的逻辑函数表达式。

输入输出ABF001110011001100110110010逻辑真值表输出0分析每一行都有三个0两个为输入量为0一个为输出量为0值为0的输出量是两个为0的输入量的或运算结果

①每个值为0的输出都可以由值为0的输入原变量或反变量进行或运算获得。通常把单个逻辑变量(或反变量)进行或运算构成的项称为或项。②只要输入的值使某一或项结果为0,输出值就为0,输出是这些或项的与运算。通常把由或项相与构成的表达式称为或与式。③分析输出原变量或反变量都可以得到相同的逻辑函数表达式。

课程讲授思路布尔逻辑量布尔逻辑运算布尔逻辑函数数字逻辑电路逻辑门逻辑电路逻辑符号真值表波形图电路功能信号代数式数学基本逻辑门与门实现与运算的电路称为与门(AND)。只有所有输入都成立,输出才成立只要有一个输入不成立,输出就不成立两个输入分别为A和B,输出为F与运算代数表达式为F=A·B基本逻辑门与门某大门门禁闸机有证件读卡器和摄像头,通过系统进行证件认证和人脸识别。控制器的功能只有人脸识别成功且证件认证成功,闸机门才打开,否则闸机门保持关闭。控制器设计人脸识别成功时A为1,失败时A为0证件认证成功时B为1,失败时B为0F为1表示打开,为0时表示关闭F=A·B基本逻辑门或门实现或运算的电路称为或门(OR)只要有一个输入成立,输出就成立只有所有输入都不成立,输出才不成立两个输入分别为A和B,输出为F或运算代数表达式为F=A+B基本逻辑门或门某大门门禁闸机有证件读卡器和摄像头,通过系统进行证件认证和人脸识别。控制器的功能只要人脸识别成功或证件认证成功,闸机门就打开,否则闸机门保持关闭。控制器设计人脸识别成功时A为1,失败时A为0证件认证成功时B为1,失败时B为0F为1表示打开,为0时表示关闭F=A+B基本逻辑门

节能台灯当外部亮度超过规定强度时断开台灯电路,否则接通台灯光强检测结果为A,光强足够大时A为1,否则A为0开关控制输出为F,1表示打开,0时表示关闭复合逻辑门

与非门可以实现一切数字电路NandGame-Buildacomputerfromscratch.INVANDOR复合逻辑门

复合逻辑门与或非门实现与或非运算的电路称为与或非门

复合逻辑门

课程讲授思路布尔逻辑量布尔逻辑运算布尔逻辑函数数字逻辑电路逻辑门逻辑电路逻辑符号真值表波形图电路功能信号代数式数学变换化简优化逻辑函数常用形式逻辑函数与、或、非与或式或与式与非-与非式或非-或非式与或非式或与非式完备集相互转换逻辑函数常用形式

逻辑函数常用形式四个端口A、B、C、DD不可能是输出A=B=C=0时,D有0和1两种取值A不可能是输出B=C=D=1时,A有0和1两种取值C不可能是输出A=B=D=1时,C有0和1两种取值A、C和D为输入,B为输出A01010110B00111100C00101110D00110101逻辑函数常用形式

ACDBACDB00001000001010110101110001111111A01010110B00111100C00101110D00110101逻辑函数标准形式与项单个逻辑变量(或反变量)进行与运算构成的项最小项n个变量的最小项是n个变量的“与项”每个变量都以原变量或反变量的形式出现一次共有2n个最小项采用符号mi表示下标i是最小项的编号对应变量取值的等效十进制数iABC与项最小项0000m01001m12010m23011m34100m45101m56110m67111m7iAB与项最小项000m0101m1210m2311m3逻辑函数标准形式

序号ABCm0m1m2m3m4m5m6m7000010000000100101000000201000100000301100010000410000001000510100000100611000000010711100000001逻辑函数标准形式与或式由“与项”相或构成的表达式最小项表达式所有与项均为最小项的与或表达式标准与或式F(A,B,C)=AB̅C+AB̅C̅+ABC̅F(A,B,C)=m4+m5+m6=Σm(4,5,6)任何一个逻辑函数都可以表示为最小项之和的形式将真值表中使函数值为1的各个最小项相或最小项表达式是唯一的最小项表达式示例函数F的最小项表达式F=A̅B̅C+A̅BC̅+AB̅C̅+ABC=Σm(1,2,4,7)函数F的最小项表达式F=A̅C+BC̅+AB̅F=Σm(1,2,3,4,5,6)ABCFABCF00001001001110100101110001101111ABCFABCF00001001001110110101110101111110最小项表达式示例ABCDABCD00011001001010100101110001111110D=Σm(0,2,3,4)

ABCFABCF00001001001010110100110001111111F=Σm(3,4,5,7)最小项表达式示例手机来电控制振动模式有电话呼入时发生振动而无响铃振铃模式有电话呼入时发生响铃而无振动输入输出ABYZ0000010010011110电路输入A:是否有电话呼入1-是,0-否B:是否置振动模式1-是,0-否电路输出Y:是否振动1-是,0-否Z:是否响铃1-是,0-否

逻辑函数标准形式或项单个逻辑变量(或反变量)进行或运算构成的项最大项n个变量的最大项是n个变量的“或项”每一个变量都以原变量或反变量的形式出现一次n个变量可以构成2n个最大项只有一组变量取值使它为0,而变量的其余取值均使它为1符号Mi表示iABC或项最大项0000M01001M12010M23011M34100M45101M56110M67111M7逻辑函数标准形式最大项n变量的全部最大项的逻辑乘恒为0,即∏Mi=0n变量的任意两个不同的最大项的逻辑和必等于1,即Mi+Mj=1(i≠j)。n变量的每个最大项有n个相邻项或与式由“或项”相与构成的表达式最大项表达式所有的或项均为最大项的或与式标准或与式ABCFABCF00001001001110100101110001101111F=(A+B+C)(A+B̅+C̅)(A̅+B+C̅)(A̅+B̅+C)=∏M(0,3,5,6)逻辑真值表

输入输出ABCF00000010010001111000101111011111具有无关项的逻辑函数无关项逻辑函数值不确定的输入变量的某些取值组合约束项(禁止项)输入变量的某些组合不可能出现不允许出现的最小项称为约束项(或禁止项)任意项(随意项)函数值为1或为0都可以非完全描述逻辑函数具有无关项的逻辑函数真值表中填Ø或×、d,表示为0或1均可逻辑表达式中用约束条件来表示ABCFABCF000010010010101

0101110

011

111

逻辑函数化简

名称公式1公式2合并律A

B+A

B̅=A(A+B)(A+B̅)=A吸收律①A+A

B=AA

(A+B)=A吸收律②A+A̅

B=A+BA

(A̅+B)=A

B吸收律③A

B+A̅

C+B

C=A

B+A̅

CA

A̅=0逻辑函数化简卡诺图根据最小项真值表按一定规则排列的方格图逻辑函数的K图表示任何一个n变量的逻辑函数都可以用n变量K图来表示K图是真值表的一种特殊形式n变量的K图包含了n变量的所有最小项将逻辑函数真值表中每个最小项的值填入K图中的相应方格逻辑函数化简卡诺图化简合并几何位置相邻最小项相接相对任一行或列的两头相重对折起来位置重合逻辑函数化简

作业:

1.参照课件第30页(最小项表达式示例),改变逻辑定义,重新画真值表,写表达式。

2根据课件第24页(逻辑函数常用形式)的真值表例子,画出波形图、写出最小项表达式、最大项表达式。

3.画出课件第28、29页(最小项表达式示例)中除最后一个例子外的波形图。逻辑电路结构与硬件描述片上微控制系统原理与项目设计第三讲上节复习课程讲授思路布尔逻辑量布尔逻辑运算布尔逻辑函数数字逻辑电路逻辑门逻辑电路逻辑符号真值表波形图电路功能信号代数式数学HDL硬件结构逻辑电路结构因果系统只有输入发生变化输出才可能变化两种类型组合逻辑电路(组合电路)一个电路的输入相同时输出也相同任何一时刻的稳态输出仅仅取决于该时刻的输入,而与电路原来的状态无关时序逻辑电路(时序电路)相同输入在不同时刻的输出不同表明逻辑运算与时间有关任一时刻的输出不仅与该时刻输入变量有关,而且还与过去时刻电路内部电平有关具有记忆功能输入没变化,输出不可发生变化组合电路任何一时刻的稳态输出仅仅取决于该时刻的输入与电路原来的状态无关无记忆功能数学描述X=(x1,…,xn)表示输入逻辑量Z=(z1,…,zm)表示输出逻辑量Z=F(X)表示逻辑函数F=(f1,...,fm)fi是zi与X之间的逻辑函数

组合电路示例输入为A、B、C,输出是F1、F2,试判定它们是否为组合电路输出组合电路示例通过比较相同的A、B、C组合其输出是否相同来判定是否为组合逻辑输出波形真值表A00001111000011110B00110011001100110C01010101010101010F111101100111011001F211100000110000111组合电路示例

输入输出ABCF1F2000110011101011/001100100101011011000/111100/1时序电路任一时刻的输出不仅与该时刻输入变量有关,而且还与过去时刻电路内部电平有关具有记忆功能触发器具有记忆功能的基本电路状态输出就是所要记忆的数状态转移当某输入信号发生某种特定变化时,触发器可以从一个稳定状态转换到另一个稳定态触发条件触发状态改变的条件产生状态转移的输入信号的特征高电平(值为1)、低电平(值为0)、上升沿(从低电平变为高电平的瞬间,值用

表示)、下降沿(从高电平变为低电平的瞬间,值用

表示)只有触发条件满足,状态才可能发生变化,否则状态不变,即保持操作。时序电路状态当前状态(现态)Q触发时的状态触发后的状态(次态)Qn+1电路框图存储电路采用触发器构成存储电路来保存当前内部信号供将来使用组合电路将当前输入和当前保存的过去产生的内部信号组合产生当前输出和当前内部信号时序电路信号输入X=(x1,x2,…,xn)状态Q=(q1,q2,…,qj)存储电路的状态输出组合电路的内部输入输出Z=(z1,z2,…,zm)激励Y=(y1,y2,…,yk)存储电路的激励信号组合电路的内部输出电路状态转移函数Qn+1=H(X,Q)输出函数Z=F(X,Q)激励函数Y=G(X,Q)时序电路确定输入输出及触发条件B变化时A不一定变化A变化时B一定变化A在B下降沿变化A输出,B输入B下降沿触发时序电路确定输入输出及触发条件B、C不变时A变化A、C不变时B变化A不是输出C在A或B上升沿变化A、B输入,C输出A和B上升沿触发B不是输出C变化时A或B必变化课程讲授思路布尔逻辑量布尔逻辑运算布尔逻辑函数数字逻辑电路逻辑门逻辑电路逻辑符号真值表波形图电路功能信号代数式数学HDL硬件结构硬件描述语言逻辑符号基本器件逻辑运算触发器专用集成电路功能电路通过连接线将所用的逻辑符号连接在一起构成电路硬件描述语言采用专用语句以文本描述的方式构建功能电路减少对逻辑化简的过度依赖直观地利用规定的运算符来实现功能有利于大规模电路的实现逻辑符号方式直观看出逻辑关系、容易定义连接信号复杂的逻辑电路需要太多的符号及连接线描述麻烦硬件描述语言减少复杂逻辑的符号描述,便于维护设计者不易形成整体框架,不直观逻辑符号与硬件描述语言同时使用两者本质是一致的逻辑符号描述应用在模块级,用来描述整个电路的构架硬件描述语言侧重于功能级描述及系统的实现做到“电路在心中,程序在手中”避免设计过度软件化而导致电路连接关系较乱。硬件描述语言逻辑符号硬件描述语言电路描述基本单元:逻辑运算、触发器、专用集成电路功能电路:通过连接线将所用的逻辑符号连接在一起构成电路采用专用语句以文本描述优点可以直观看出逻辑关系,并非常容易定义连接信号可以减少对逻辑化简的过度依赖;可以直观地利用规定的运算符来实现功能,有利于大规模电路的实现;可以减少复杂逻辑的符号描述,并且便于维护缺点复杂的逻辑电路需要太多的符号及连接线,比较麻烦不直观,设计者不易形成整体框架应用模块级,用来描述整个电路的构架功能级描述及系统的实现电路在心中,代码在手中避免设计过度软件化而导致电路连接关系较乱VerilogHDL模块最基本设计单元模块声明由模块名称和模块输入输出端口列表组成module模块名(端口名1,端口名2,...,端口名n);endmodule端口定义输入input端口名1,端口名2,...,端口名n;输出output端口名1,端口名2,...,端口名n;双向inout端口名1,端口名2,...,端口名n;相同类型端口列表x[m],…,x[n]<类型>[m:n]xmoduletest(A,B,C,CP,F1,F2);inputA,B,C,CP;outputF1,F2;wireF1;regF2;always@(posedgeCP)F2<=F1;

assignF1=A&B|C;endmoduleVerilogHDL模块信号声明模块中所用到的所有信号都进行类型声明连续型wire只要输入有变化,输出马上无条件地反映不能作为存储电路的状态例:x是3位连线型信号wire[2:0]x;寄存器型reg一定要有触发输出才会反映输入可以作为存储电路的状态,也可以作为组合电路的输出例:y和z为一寄存器型信号,cnt为4位寄存器型信号regy,z;reg[3:0]cnt;moduletest(A,B,C,CP,F1,F2);inputA,B,C,CP;outputF1,F2;wireF1;regF2;always@(posedgeCP)F2<=F1;

assignF1=A&B|C;endmoduleVerilogHDL模块逻辑功能定义持续赋值语句assign过程赋值块always调用元件(元件例化)always语句是上升沿触发的存储电路assign语句是变量A、B、C的组合电路两条语句是同时工作的F2锁存当前A、B、C产生的F1moduletest(A,B,C,CP,F1,F2);inputA,B,C,CP;outputF1,F2;wireF1;regF2;always@(posedgeCP)F2<=F1;

assignF1=A&B|C;endmodule所有语句都是并行同时执行,与书写先后无关VerilogHDL模块模板module<顶层模块名>(<输入输出端口列表>);

/*端口声明*/output输出端口列表;//输出端口声明input输入端口列表;//输入端口声明

/*定义数据、信号类型,函数声明*/wire信号名;reg信号名;/*逻辑功能定义*/

assign<结果信号名>=<表达式>;always@(<敏感信号表达式>)begin//过程赋值end/*例化模块*/<调用模块名><例化模块名>(<端口列表>);

门元件关键字<例化门元件名>(<端口列表>);endmoduleVerilogHDL-运算量常量三种类型整数、实数和字符串4种方式来表示逻辑状态0表示逻辑0(低电平)、1表示逻辑1(高电平)、x表示不确定、z表示高阻态表示格式<位宽>'[b/d/o/h]<值>b、d、o、h分别代表为二、十、八、十六进制parameter定义一个标志符,代表一个常量parameter参数名1=表达式1,参数名2=表达式2,……;变量采用非负整数作为下标来定义,变量的位数也称为位宽reg[3:0]X;位宽为4的寄存器变量X,每位按先后顺序分别标识为X[3]、X[2]、X[1]和X[0]wire[1:4]Y;定义了位宽为4的连线型变量Y,每位按先后顺序分别标识为Y[1]、Y[2]、Y[3]和Y[4]8'hab、4'b0110、5'o17、6'd35parameterN=8,M=2;VerilogHDL-运算符运算符算术运算符+(加)、-(减)、*(乘)、/(除)、%(求模)位运算符&(按位与)、|(按位或)、~(按位非)、^(按位异或)、~^(按位同或)逻辑运算符&&(逻辑与)、||(逻辑或)、!(逻辑非)关系运算符<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、==(等于)、===(全等于)、!=(不等于)、!==(不全等于)缩位运算符&(与)、~&(与非)、|(或)、~|(或非)、^(异或)、~^(同或)单目运算,将运算量的各位作为逻辑量进行运算符规定的操作移位运算符<<(左移)、>>(右移)采用0进行补充。条件运算符运算符为“?:”,它是三目运算符<条件>?<表达式1>:<表达式2>若条件成立,则取表达式1的值,否则取表达式2的值。位拼接运算符运算符为“{}”将{}中的变量拼接为一个多位的变量重复拼接符为“{n{}}”重复n次后面的内容后拼接在一起优先级从高到低依次为(!、~)、(*、/、%)、(+、-)、(<<、>>)、(<、<=、>、>=)、(==、!=、===、!==)、(&、~&)、(^、~^)、(|、~|)、&&、||、?:VerilogHDL–行为语句过程语句always@(<触发条件列表>)触发条件列表也称为敏感信号表达式,触发条件写在敏感信号表达式之中,当触发条件满足时,其后的语句才能被执行触发条件列表中的多个条件之间采用“or”来连接触发条件分为两类电平敏感型边沿敏感型上升沿(由低电平变到高电平)下降沿(由高电平变到低电平)由一种类型的敏感信号来触发不要将边沿敏感型信号和电平敏感型信号列在一起always@(AorB)always@(A)//A发生改变时always@(posedgeA)//A上升沿时always@(negedgeA)//A下降沿时always@(*)//任一输入变化时VerilogHDL–赋值语句块语句begin-end赋值语句assign持续赋值用于组合逻辑的赋值always过程赋值非阻塞赋值在整个过程块结束时才完成赋值操作并行赋值操作阻塞赋值语句结束后赋值操作完成串行执行assignF=(A&B)|(~A&~C);always@(posedgecp)beginb<=c;a<=b;endalways@(posedgecp)beginb=c;a=b;end//非阻塞赋值示例modulenon_blocking_example;rega,b,c;initialbegina=0;b=0;c=0;a<=1;b<=a;c<=b;endendmodule//阻塞赋值示例moduleblocking_example;rega,b,c;initialbegina=0;b=0;c=0;a=1;b=a;c=bendendmodule//结果是:a=1,b=1,c=1//在下一个时钟边缘,结果是:a=1,b=0,c=0VerilogHDL-条件语句if–else语句①if(表达式)

语句/语句块;②if(表达式)

语句1/语句块1;else

语句2/语句块2;③if(表达式1)

语句1/语句块1;elseif(表达式2)

语句2/语句块2;︙elseif(表达式n)

语句n/语句块n;else

语句n+1/语句块n+1;case语句case、casez和casexcase(条件表达式)值1:语句1;值2:语句2;┇值n:语句n;default:语句n+1;endcase若干个值的执行语句相同,可以将这几个值采用“,”相连若为0、x和z则按“假”处理;若为1则按“真”处理case是全等比较,而对x和z值不敏感判定结果casecasexcasez01xz01xz01xz01000101110011010001110101x001011110011z000111111111VerilogHDL-组合电路采用assign采用过程赋值使用条件语句设计一定要列出所有条件分支if语句一定要加else语句case语句中值没有全列出时一定加default语句moduletest(X,Z);input[n:1]X;output[m:1]Y;reg[m:1]Y;always@(*)//输入变化时case(X) n’d0:Z<=; n’d1:Z<=;

⁝ n’dN:Z<=; default:Z<=;endcaseendmoduleVerilogHDL-组合电路输入输出ABF1F200CC01BC̅10BC̅11CC输入输出输入输出ABCF1F2ABCF1F20000010001001111010001011110000111011111moduletest(A,B,C,F1,F2);inputA,B,C;outputF1,F2;regF1,F2;always@(*)case({A,B,C})0,5,6:{F1,F2}<=2'b00;1,2,7:{F1,F2}<=2'b11;3:{F1,F2}<=2'b10;4:{F1,F2}<=2'b01;endcaseendmodulemoduletest(A,B,C,F1,F2);inputA,B,C;outputF1,F2;regF1,F2;always@(*)case({A,B})0,3:{F1,F2}<={C,C};1,2:{F1,F2}<={B,~C};endcaseendmodulemoduletest(A,B,C,D,F1,F2,F3);inputA,B,C,D;outputF1,F2,F3;assign{F1,F2,F3}=A?3'b000:B?3'b010:C?3'b100:{2'b11,~D};endmoduleVerilogHDL-组合电路moduletest(A,B,C,D,F1,F2,F3);inputA,B,C,D;outputF1,F2,F3;regF1,F2,F3;always@(*)casex({A,B,C})3'b1xx:{F1,F2,F3}<=3'b000;3'b01x:{F1,F2,F3}<=3'b010;3'b001:{F1,F2,F3}<=3'b100;3'b000:{F1,F2,F3}<={2'b11,~D};endcaseendmodule输入输出ABCDF1F2F31

00001

010001

10000011100000111moduletest(A,B,C,D,F1,F2,F3);inputA,B,C,D;outputF1,F2,F3;regF1,F2,F3;always@(*)if(A){F1,F2,F3}<=3'b000;elseif(B){F1,F2,F3}<=3'b010;elseif(C){F1,F2,F3}<=3'b100;else{F1,F2,F3}<={2'b11,~D};endmoduleVerilogHDL–仿真新建模块文件xxx.v定义模块既可以一个模块一个文件,也可以多个模块多个文件但不能出现多个相同名称的模块新建测试文件xxx_tb.v定义一个测试模块,将所用到的模块进行例化,初始化输入信号例化模块名实例名(.端口1(信号1),端口2(信号2),…,端口M(信号M));module模块名(端口1,端口2,…,端口M);┆endmoduletest(A,B,F)testu_0(.A(x),.B(y),.F(z));VerilogHDL–仿真新建测试文件xxx_tb.v例化初始化采用initial语句对输入信号的描述reg型变量赋初值不带触发条件,过程中的块语句沿时间轴只执行一次,且所赋值的信号必须是reg型

温馨提示

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

评论

0/150

提交评论