VHDL与数字系统课程设计

上传人:无*** 文档编号:193653690 上传时间:2023-03-11 格式:DOCX 页数:27 大小:43.68KB
收藏 版权申诉 举报 下载
VHDL与数字系统课程设计_第1页
第1页 / 共27页
VHDL与数字系统课程设计_第2页
第2页 / 共27页
VHDL与数字系统课程设计_第3页
第3页 / 共27页
资源描述:

《VHDL与数字系统课程设计》由会员分享,可在线阅读,更多相关《VHDL与数字系统课程设计(27页珍藏版)》请在装配图网上搜索。

1、VHDL与数字系统课程设计学 生:指导老师:系 别:专 业:班 级:学 号: 课程设计报告 VHDL与数字系统课程设计 XXX XXX、XXX 电子信息与电气工程系 电子科学与技术 XXX XXX 实践课题: 一、设计任务 用VHDL设计一个简单的处理器,并完成相关的仿真测试。 .设计要求: 图1是一个处理器的原理图,它包含了一定数量的寄存器、一个复用器、一个加法/减法器,一个计数器和一个控制单元。 图1 简单处理器的电路图 数据传输实现过程:16位数据从DIN输入到系统中,可以通过复用器分配给R0R7和A,复用器也允许数据从一个寄存器传通过Bus送到另外一个寄存器。 加法和减法的实现过程:复

2、用器先将一个数据通过总线放到寄存器A中,然后将另一个数据放到总线上,加法/减法器对这两个数据进行运算,运算结果存入寄存器G中,G中的数据又可根据要求通过复用器转存到其他寄存器中。 下表是该处理所支持的指令。 操作 mv Rx, Ry mvi Rx, #D add Rx, Ry sub Rx, Ry 功能 Rx Ry Rx Data Rx Rx + Ry Rx Rx - Ry 1) Rx Ry :将寄存器Ry中的内容复制到Rx; 2) Mvi Rx,#D :将立即数存入寄存器Rx中去。 所有指令都按9位编码存储在指令存储器IR中,编编码规则为IIIXXXYYY,III表示指令,XXX表示Rx寄存

3、器,YYY表示Ry寄存器。立即数#D是在mvi指令存储到IR中之后,通过16位DIN输入的。 有一些指令,如加法指令和减法指令,需要在总线上多次传输数据,因此需要多个时钟周期才能完成。控制单元使用了一个两位计数器来区分这些指令执行的每一个阶段。当Run信号置位时,处理器开始执行DIN输入指令。当指令执行结束后,Done信号置位,下表列出四个指令在执行过程中每一个时间段置位的控制信号。 时间 指令 (mv):I0 (mvi):I1 (add):I2 (sub):I3 T0 IRin IRin IRin IRin T1 RYout,RXin,Done DINout,RXin,Done RXout,

4、Ain RXout,Ain T2 - - RYout,Gin,Addsub RYout,Gin,Addsub T3 - - Gout,RXin,Done Gout,RXin,Done 二、实现功能说明 2.1 mv Rx,Ry 实现的功能:将寄存器Rx的值赋给寄存器Ry 计数器为“00”时,指令寄存器的置位控制信号输入端IRin=1有效,将DIN输入的数据的高9位锁存。置位的控制信号如图3加粗黑线所示。 图3 计数器为“01”时,首先控制单元根据设计器为“00”时输入的指令,向复用器发出选通控制信号,复用器根据该控制信号让R5的值输出到总线上,然后控制单元控制寄存器R0将总线上的值锁存,完成整

5、个寄存器对寄存器的赋值过程。置位的控制信号和数据流如图4加粗黑线所示。 图4 2.2 mvi Rx,#D 实现的功能:将的立即数#D赋给寄存器Rx 计数器为“00”时,指令寄存器的置位控制信号输入端IRin=1有效,将DIN输入的数据的高9位锁存。置位的控制信号如图5加粗黑线所示。 图5 计数器为“01”时,首先控制单元根据设计器为“00”时输入的指令,向复用器发出选通控制信号,复用器根据该控制信号让DIN的值输出到总线上,然后控制单元控制寄存器R0将总线上的值锁存,完成整个立即数对寄存器的赋值过程。置位的控制信号和数据流如图6加粗黑线所示。 图6 2.3 add Rx,Ry和sub Rx,R

6、y 实现的功能:将寄存器Ry的值加上/减去寄存器Rx的值并赋给寄存器Rx。 计数器为“00”时,指令寄存器的置位控制信号输入端IRin=1有效,将DIN输入的数据的高9位锁存。置位的控制信号如图7加粗黑线所示。 图7 计数器为“01”时,首先控制单元根据设计器为“00”时输入的指令,向复用器发出选通控制信号,复用器根据该控制信号让R0的值输出到总线上,然后控制单元控制寄存器A将总线上的值锁存。置位的控制信号和数据流如图8加粗黑线所示。 图8 计数器为“10”时,首先控制单元根据设计器为“00”时输入的指令,向复用器发出选通控制信号,复用器根据该控制信号让R1的值输出到总线上,然后控制单元控制加

7、法/减法器addsub将寄存器A的值和总线上的值相加/相减并输出,接着寄存器G将加法/减法器addsub的计算结果锁存。置位的控制信号和数据流如图9加粗黑线所示。 图9 计数器为“11”时,首先控制单元向复用器发出选通控制信号,复用器根据该控制信号让寄存器G的值输出到总线上,寄存器R0将总线上的值进行锁存,完成整个寄存器与对寄存器见加减法的运算过程。置位的控制信号和数据流如图10加粗黑线所示。 图10 三、单元模块设计说明 4.1寄存器Registe 寄存器R0R7、寄存器A或寄存器G : 用于数据的存储。当时钟输入clk的上升沿到来且rin=1时,将数据输入端rxin15.0的数据锁存到寄存

8、器中并从数据输出端rxout15.0输出;当rin=0时,输出端保持原来的值不变。 registeclkrinrxin15.0inst1rxout15.0寄存器Registe的VHDL代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY registe is port( clk:in std_logic; rin:in std_logic; rxin:in std_logic_vector(15 downto 0); rxout:out std_logic_vector(15 downto 0); end entity registe; a

9、rchitecture one of registe is begin process(clk) begin if clkevent and clk=1 then if rin=1 then rxout=rxin; end if; end if; end process; end one; 4.2指令寄存器IR 指令寄存器IR用于对输入的16为指令进行处理,取其高9位。当时钟输入clk的上升沿到来且rin=1时,取数据输入端rxin15.0的高9位将其锁存到寄存器中并从数据输出端rxout8.0输出;当rin=0时,输出端保持原来的值不变。 IRclkrinrxin15.0inst4rxout

10、8.0指令寄存器IR的VHDL代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY IR is port( clk:in std_logic; rin:in std_logic; rxin:in std_logic_vector(15 downto 0); rxout:out std_logic_vector(8 downto 0); end entity IR; architecture one of IR is begin process(clk) begin if clkevent and clk=1 then if rin=1 th

11、en rxout=rxin(15 downto 7); end if; end if; end process; end one; 4.3加/减法器addsub 加/减法器addsub用于处理两个输入的数据datain215.0 和datain115.0,当控制端Addsub=1时,两个数据输入端datain215.0 和datain115.0相加并从数据输出端dataout15.0输出;当控制端Addsub=0时,数据输入端datain215.0 减去datain115.0,结果从数据输出端dataout15.0输出。 addsubain15.0bin15.0adsubaddsubabout

12、15.0 加/减法器addsub的VHDL代码: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; use ieee.std_logic_unsigned.all; ENTITY addsub is port( ain:in std_logic_vector(15 downto 0); bin:in std_logic_vector(15 downto 0); adsub:in bit; about:out std_logic_vector(15 downto 0); end entity addsub; architecture one of addsub

13、 is signal a,b:std_logic_vector(15 downto 0); begin process(adsub,ain,bin) begin if adsub=0 then about=ain+bin; elsif adsub=1 then about01101100不断循环;当clear=1时,对输出Q1.0同步清零,与时钟有关。 counterclkclearcount1.0counter 计数器counter的VHDL代码: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.a

14、ll; entity counter is port( clk:in std_logic; clear:in std_logic; count:out std_logic_vector(1 downto 0); end counter; architecture one of counter is signal c:std_logic_vector(1 downto 0); begin process(clk,clear) begin if clkevent and clk=1 then if(clear=1)then c=00; else c=c+1;end if; end if; end

15、process; count=c; end one; 4.5 复用器 multiplexers 复用器根据控制单元的控制信号将指定的输入数据输出到总线上。来自控制单元的控制信号为R0outR7out、Gout、DINout,输入数据位来自寄存器R0R7、寄存器A、数据输入端DIN,当控制信号的某一位为1时,将其对应的输入数据输出到总线上。 multiplexersdin15.0gin15.0r015.0r115.0r215.0r315.0r415.0r515.0r615.0r715.0ren7.0gendineninst3dout15.0复用器 multiplexers的VHDl代码: lib

16、rary ieee; use ieee.std_logic_1164.all; entity multiplexers is port ( din:in std_logic_vector(15 downto 0); gin:in std_logic_vector(15 downto 0); r0:in std_logic_vector(15 downto 0); r1:in std_logic_vector(15 downto 0); r2:in std_logic_vector(15 downto 0); r3:in std_logic_vector(15 downto 0); r4:in

17、std_logic_vector(15 downto 0); r5:in std_logic_vector(15 downto 0); r6:in std_logic_vector(15 downto 0); r7:in std_logic_vector(15 downto 0); ren:in bit_vector(7 downto 0); gen:in bit; dinen:in bit; dout:out std_logic_vector(15 downto 0); end multiplexers; architecture bhv of multiplexers is begin d

18、out=gin when gen=1 else r0 when ren(0)=1 else r1 when ren(1)=1 else r2 when ren(2)=1 else r3 when ren(3)=1 else r4 when ren(4)=1 else r5 when ren(5)=1 else r6 when ren(6)=1 else r7 when ren(7)=1 else din when dinen=1 else 0000000000000000; end bhv; 4.6控制单元control 控制单元根据计数器发出的脉冲和DIN输入的操作指令对整个系统的其他模块进

19、行控制,完成指定的操作。 instdoneginaddsubainr7inr6inr5inr4inr3inr2inr1inr0inrout7.0dinoutgoutiroutclearirin8.0clk1.0runresetcontrol控制单元control的VHDL代码: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity control is port( reset:in std_logic; run:in std_logic; clk:in std_logic_vecto

20、r(1 downto 0); irin:in std_logic_vector(8 downto 0); clear:out std_logic; irout:out std_logic; gout:out std_logic; dinout:out std_logic; rout:out std_logic_vector(7 downto 0); r0in:out std_logic; r1in:out std_logic; r2in:out std_logic; r3in:out std_logic; r4in:out std_logic; r5in:out std_logic; r6in

21、:out std_logic; r7in:out std_logic; ain:out std_logic; addsub:out std_logic; gin:out std_logic; done:out std_logic); end control; architecture one of control is begin process(clk,run,reset,irin) begin if(reset=0)then clear=1; irout=0; gout=0; dinout=0; rout=00000000; r0in=0; r1in=0; r2in=0; r3in=0;

22、r4in=0; r5in=0; r6in=0; r7in=0; ain=0; addsub clear=0; irout=1; gout=0; dinout=1; rout=00000000; r0in=0; r1in=0; r2in=0; r3in=0; r4in=0; r5in=0; r6in=0; gin=0; done=0; r7in=0; ain=0; addsub=0; gin=0; done=0; if run=0 then irout=1; else irout if(irin(8 downto 6)=000)then clear=1; irout=0; gout=0; din

23、out=0; ain=0; addsub=0; gin=0; doner0in=1;r1in=0;r2in=0;r3in=0;r4in=0;r5in=0;r6in=0;r7inr1in=1;r0in=0;r2in=0;r3in=0;r4in=0;r5in=0;r6in=0;r7inr2in=1;r0in=0;r1in=0;r3in=0;r4in=0;r5in=0;r6in=0;r7inr3in=1;r0in=0;r1in=0;r2in=0;r4in=0;r5in=0;r6in=0;r7inr4in=1;r0in=0;r1in=0;r2in=0;r3in=0;r5in=0;r6in=0;r7in

24、r5in=1;r0in=0;r1in=0;r2in=0;r3in=0;r4in=0;r6in=0;r7inr6in=1;r0in=0;r1in=0;r2in=0;r3in=0;r4in=0;r5in=0;r7inr7in=1;r0in=0;r1in=0;r2in=0;r3in=0;r4in=0;r5in=0;r6innull; end case; case irin(2 downto 0)is when000=routroutroutroutroutroutroutroutnull; end case; elsif(irin(8 downto 6)=001)then clear=1; irou

25、t=0; gout=0; dinout=1; rout=00000000; ain=0; addsub=0; gin=0; doner0in=1;r1in=0;r2in=0;r3in=0;r4in=0;r5in=0;r6in=0;r7inr1in=1;r0in=0;r2in=0;r3in=0;r4in=0;r5in=0;r6in=0;r7inr2in=1;r0in=0;r1in=0;r3in=0;r4in=0;r5in=0;r6in=0;r7inr3in=1;r0in=0;r1in=0;r2in=0;r4in=0;r5in=0;r6in=0;r7inr4in=1;r0in=0;r1in=0;r

26、2in=0;r3in=0;r5in=0;r6in=0;r7inr5in=1;r0in=0;r1in=0;r2in=0;r3in=0;r4in=0;r6in=0;r7inr6in=1;r0in=0;r1in=0;r2in=0;r3in=0;r4in=0;r5in=0;r7inr7in=1;r0in=0;r1in=0;r2in=0;r3in=0;r4in=0;r5in=0;r6innull; end case; elsif(irin(8 downto 6)=010 or irin(8 downto 6)=011)then clear=0; irout=0; gout=0; dinout=0; r0

27、in=0; r1in=0; r2in=0; r3in=0; r4in=0; r5in=0; r6in=0; r7in=0; ain=1; addsub=0; gin=0; doneroutroutroutroutroutroutroutroutnull; end case; else clear=1; irout=0; gout=0; dinout=0; rout=00000000; r0in=0; r1in=0; r2in=0; r3in=0; r4in=0; r5in=0; r6in=0; r7in=0; ain=0; addsub=0; gin=0; done if(irin(8 dow

28、nto 6)=010)then clear=0; irout=0; gout=0; dinout=0; r0in=0; r1in=0; r2in=0; r3in=0; r4in=0; r5in=0; r6in=0; r7in=0; ain=0; addsub=0; gin=1; doneroutroutroutroutroutroutroutroutnull; end case; elsif(irin(8 downto 6)=011)then clear=0; irout=0; gout=0; dinout=0; r0in=0; r1in=0; r2in=0; r3in=0; r4in=0;

29、r5in=0; r6in=0; r7in=0; ain=0; addsub=1; gin=1; doneroutroutroutroutroutroutroutroutnull; end case; else clear=1; irout=0; gout=0; dinout=0; rout=00000000; r0in=0; r1in=0; r2in=0; r3in=0; r4in=0; r5in=0; r6in=0; r7in=0; ain=0; addsub=0; gin=0; done if(irin(8 downto 6)=010 or irin(8 downto 6)=011)the

30、n clear=0; irout=0; gout=1; dinout=0; rout=00000000; ain=0; addsub=0; gin=0; doner0in=1;r1in=0;r2in=0;r3in=0;r4in=0;r5in=0;r6in=0;r7inr1in=1;r0in=0;r2in=0;r3in=0;r4in=0;r5in=0;r6in=0;r7inr2in=1;r0in=0;r1in=0;r3in=0;r4in=0;r5in=0;r6in=0;r7inr3in=1;r0in=0;r1in=0;r2in=0;r4in=0;r5in=0;r6in=0;r7inr4in=1;

31、r0in=0;r1in=0;r2in=0;r3in=0;r5in=0;r6in=0;r7inr5in=1;r0in=0;r1in=0;r2in=0;r3in=0;r4in=0;r6in=0;r7inr6in=1;r0in=0;r1in=0;r2in=0;r3in=0;r4in=0;r5in=0;r7inr7in=1;r0in=0;r1in=0;r2in=0;r3in=0;r4in=0;r5in=0;r6innull; end case; else clear=0; irout=0; gout=0; dinout=0; rout=00000000; r0in=0; r1in=0; r2in=0;

32、 r3in=0; r4in=0; r5in=0; r6in=0; r7in=0; ain=0; addsub=0; gin=0; donenull; end case; end if; end process; end one; 4.7 数码管显示led 采集寄存器R0R7的值作为led的输入,将各寄存器值的低四位以19、AF分别显示在8个数码管,从而观察各寄存器值的变化。ledout6.0 为数码管段码输出端,control2.0 为第几个数码管有效的数码管选择端输出。 ledclkreg_015.0reg_115.0reg_215.0reg_315.0reg_415.0reg_515.0r

33、eg_615.0reg_715.0inst2ledout6.0control2.0数码管显示led的VHDL代码: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity led is port( clk:in std_logic; reg_0:in std_logic_vector(15 downto 0); reg_1:in std_logic_vector(15 downto 0); reg_2:in std_logic_vector(15 downto 0); reg_3:in

34、 std_logic_vector(15 downto 0); reg_4:in std_logic_vector(15 downto 0); reg_5:in std_logic_vector(15 downto 0); reg_6:in std_logic_vector(15 downto 0); reg_7:in std_logic_vector(15 downto 0); ledout:out std_logic_vector(6 downto 0); control:out std_logic_vector(2 downto 0); end led; architecture one

35、 of led is signal controls:std_logic_vector(2 downto 0); signal led0,led1,led2,led3,led4,led5,led6,led7,outer:std_logic_vector(3 downto 0); begin led0=reg_0(3 downto 0); led1=reg_1(3 downto 0); led2=reg_2(3 downto 0); led3=reg_3(3 downto 0); led4=reg_4(3 downto 0); led5=reg_5(3 downto 0); led6=reg_6

36、(3 downto 0); led7=reg_7(3 downto 0); process(clk) begin if clkevent and clk=1 then if controls=111 then controls=000; else controls=controls+1; end if; end if; controlouterouterouterouterouterouterouterouterouter ledout ledout ledout ledout ledout ledout ledout ledout ledout ledout ledout ledout le

37、dout ledout ledout ledout ledout=XXXXXXX; end case; end process; end one; 四、处理器各个模块的连接 采用原理图连接的方法进行各个模块间的连接,连接后的原理图见附录1。 五、操作说明及功能、时序仿真效果 5.1 功能仿真 将R0 - 6 , R0R1 , R0 R1 R0 , R0 + R1 R0 . 仿真结果如下: 5.2 时序仿真 1)、按设计说明书的仿真图中的数据进行设置,仿真结果如下: 2)、将R3 - 1 , R5 - 6 , R5 R3 R2 , R5 + R3 R5 . 仿真结果如下: 5.3 操作说明 Cl

38、ock 接的是数字时钟 1KHz,DIN15.0管脚分配到开关K1K12、按键S5S8,Resetn管脚分配到按键S1,Run管脚分配到S2,R0R7的低四位值分别显示在led1led8数码管中。将Run改为低电平有效。Busout15.0高12位管脚分配到二极管L1L12。 1)、mvi R0,#D 先将DIN置为“0010 0000 0000 FFFF”即K3向上拨,其余开关向下拨,按键都不按, 再按一下S2键,此时指令已被读到,再将要置的数置入,5=“0000 0000 0000 0101”即所有开关向下拨并按下S5、S7两键,再按一下S2键,即可看到了led1显示5,其余显示0。 2)

39、、mv R1,R0 先将DIN置为“0000 0100 0000 FFFF”同上方法操作开关、按键,再按一下S2键,即可看到led1、led2都显示5,其余显示0。 3)、add R1,R0 先将DIN置为“0100 0100 0000 FFFF”同上方法操作开关、按键,再按一下S2键,即可看到led1显示5,led2显示A,其余显示0。 4)、sub R1,R0 先将DIN置为“0110 0100 0000 FFFF”同上方法操作开关、按键,再按一下S2键,即可看到led1显示5,led2也显示5,其余显示0。 其余操作以此类推! 六、实验箱下载及实现功能 下载后能从数码管观察到指令mvi

40、Rx,#D和mv Rx,Ry运行结果且是正确的,但是指令add Rx,Ry与sub Rx,Ry时数码管是闪烁的显示。 原因:由于Run按一下之后,指令就被存在IR寄存器中,并且由于在此处Run只是指令寄存器的使能端,这样Run之后就一直重复执行这条指令,这样加、减法指令就成为累加、累减操作了,故数码管值随指令周期一直在变,即数码管是闪烁的。 改进:将Run改为整个处理器的使能端。 七、实验总结 (1 )总线输入端的命名:比如位宽为8位的DIN输入端,端口名后面跟着中括号 ,中括号中用 X.0 说明位宽位X。 图22 (2 )本次课程设计要求使用时寄存器传输级RTL(Register Trans

41、fer Level)设计,按照给出的框架完成简单处理器的功能。RTL寄存器传输级的基本功能模块是寄存器、计数器、多路复用器和算术逻辑单元(ALU)。RTL设计方法的基本流程如图23所示。 图23 (3 )把总线分开连接到到独立的信号线的方法:模块输入的是一个4位总线data3.0,现在想把总线的每一位分别与输出的单一的信号线连接起来,给对应要相连接的信号线命同样的名即可,如图24所示。 图24 (4 )对产生的图形文件进行外形编辑,改变某些端口的位置以方便连线。右键单击要编辑的图形文件,选择Edit Selected Symbol,进入图形文件编辑模式,此时可以根据连线的方便对图形文件中的端口

42、位置进行移动,也可以改变图形文件的形状,编辑完成后点击保存,回到原理图输入模式,右键单击编辑过的图形文件,选择update symbol or block 更新图形文件。图25左边为编辑前的图形文件,右边为编辑后的图形文件。 图25 八、参考文献 EDA技术实用教材-科学出版社-潘松、黄继业编著-XX年6月 九、附录 OUTPUTr_015.0ledout6.0registeClockINPUTVCCregisteledclkrinrxin15.0rxout15.0clkrinrxin15.0rxout15.0r_015.0r_115.0r_215.0r_315.0r_415.0r_515.0

43、r_615.0r_715.0clkreg_015.0reg_115.0reg_215.0reg_315.0reg_415.0reg_515.0reg_615.0reg_715.0inst2OUTPUTledout6.0control2.0PIN_L2R0PIN_G6PIN_G7PIN_H3PIN_H4PIN_H5PIN_H6PIN_J4registeclkrinrxin15.0rxout15.0r_115.0Aaddsubain15.0bin15.0adsubaddsubabout15.0buscontrol2.0registeclkrinrxin15.0rxout15.0r_215.0R1P

44、IN_G5PIN_G3PIN_F4register_315.0OUTPUTbusout15.0R2registeclkrinrxin15.0R3DIN15.0rxout15.0clkrinrxin15.0Grxout15.0OUTPUTDoneinstmultiplexersdin15.0gin15.0r015.0r115.0r_515.0register_415.0INPUTVCCdonegindout15.0addsubainr7inr6inr5inr4inr3inr2inr1inr0inrout7.0dinoutgoutiroutclearirin8.0clk1.0runresetcontrolVCCINPUTVCCINPUTPIN_B18PIN_F15PIN_B17PIN_F12PIN_A18PIN_H7PIN_A17PIN_F14PIN_F13PIN_A16PIN_F11PIN_A15PIN_B15PIN_F9PIN_B14PIN_E15clkrinrxin15.0R4registeclkrinrxin15.0rxout15.0PIN_B20PIN_M7PIN_A19PIN_M8PIN_B19PIN_L7PIN_A13PIN_E14PIN_B13PIN_E11PIN_A11PIN_E9r215.0r315.0r415.0r515.0r

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!