集成电路综合课程设计_第1页
集成电路综合课程设计_第2页
集成电路综合课程设计_第3页
集成电路综合课程设计_第4页
集成电路综合课程设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、课程设计开课学期: 2013-2014学年第一学期 课程名称: 集成电路综合课程设计 学 院: 专 业: 班 级: 学 号: 姓 名: 任课教师: 2013 年 9 月 11 日 一、课程设计目的3二、设计要求33三、设计基本原理3四、设计设计分析4五,设计实现过程5A.电路设计5B.综合过程5C.结果8五.总结及感想9附件:23设计目的利用verilogHDL设计数字电路异步FIFO,通过对verilogHDL的学习,掌握一些基本的知识,本次课程设计的安排旨在提升学生的动手能力,加强大家对专业理论知识的理解和实际运用,加强大家的自学能力,为大家做毕业设计做很好的铺垫。设计要求遵循RTL设计规

2、则,利用VerilogHDL 设计数字电路异步FIFO.异步FIFO具有读写两个时钟,读时钟100MHz,写时钟50MHz。RTL为可综合设计,需要考虑不同时钟领域的同步设计,具有空满标志产生逻辑,并且根据空满标志进行读写数据及读写使能等逻辑控制。根据RTL设计,编写验证环境,即testbench,在testbench中测试异步FIFO的读写功能是否正确。异步FIFO写数据由testbench产生。编写一定的测试向量,来测试覆盖所设计的异步FIFO各项功能及指标。将异步FIFO RTL在DC环境中进行综合,编写约束文件,给出最终的综合结果,包括面积报告,网表及时序报告。约束

3、文件中,读写时钟要求见上,输入延迟为写时钟周期的一半,输出延迟为读时钟周期的1/3,其他约束要求根据RTL设计自己确定。设计基本原理从硬件的观点来看,就是一块数据内存。它有两个端口,一个用来写数据,就是将数据存入FIFO;另一个用来读数据,也就是将数据从FIFO当中取出。与FIFO操作相关的有两个指针,写指针指向要写的内存部分,读指针指向要读的内存部分。FIFO控制器通过外部的读写信号控制这两个指针移动,并由此产生FIFO空信号或满信号。对于异步FIFO而言,数据是由某一个时钟域的控制信号写入FIFO,而由另一个时钟域的控制信号将数据读出FIFO。也就是说,读写指针的变化动作是由不同的时钟产生

4、的。因此,对FIFO空或满的判断是跨时钟域的。如何根据异步的指针信号对FIFO的满状态或空状态进行正确的判断。设计分析在数字集成电路中,触发器要满足setup/hold的时间要求。当一个信号被寄存器锁存时,如果信号和时钟之间不满足这个要求,Q端的值是不确定的,并且 在未知的时刻会固定到高电平或低电平。这个过程称为亚稳态(Metastability)。图2所示为异步时钟和亚稳态,图中clka和clkb为异步时 钟。对写地址/读地址采用格雷码。由实践可知,同步多个异步输入信号出现亚稳态的概率远远大于同步一个异步信号的概率。对多个触发器的输出所组成的写地址/读地址可以采用格雷码。由于格雷码每次只变化

5、一位,采用格雷码可以有效地减少亚稳态的产生。  2.2 空/满标志的产生空/满标志的产生FIFO的核心部分。如何正确设计此部分的逻辑,直接影响到FIFO的性能。空/ 满标志产生的原则是:写满不溢出,读空不多读。即无论在什么进修,都不应出现读写地址同时对一个存储器地址操作的情况。在读写地址相等或相差一个或多个地 址的时候,满标志应该有效,表示此时FIFO已满,外部电路应对FIFO发数据。在满信号有效时写数据,应根据设计的要求,或保持、或抛弃重发。同理,空 标志的产生也是如此,即:空标志<=(|写地址-读地址|<=预定值)AND(写地址超前读地址)满标志<=(|写地址-

6、读地址|<=预定值)AND(读地址超前写地址)设计实现过程五、设计实现过程A、电路实现过程 附图 1 由异步FIFO内部模块图和接口信号(附图1)可以知道,因为是两个异步的时钟,所以用锁存器来避免产生亚稳态。为了生成空满标志,我们采用格雷码来编写。我们可以看出FIFO中的读写指针是一个循环指针,读写指针初始化值都为0,满标志初始化为0,空标志初始化值为1.读写操作开始的时候,每做一次写操作,写指针加1,每做一次读操作,读指针也加1,。当读指针在加1过程中与写指针相等的时候,表示缓冲区为空,应置空标志。反之,写指针加1过程中等于读指针,缓冲区满,应置满标志。 经上面的分析,结合格雷码的特点

7、,我们可以将满标志定义如下: overflow=(wptrnrptrn-1)&(wptrn-1rptrn 我们可以将空标志定义如下: underflow=(wptrnrptrn-1&(wptrn-1rptrn)分析后根据RTL设计的规则来编写代码如下所示:/asyn fifotimescale 1ns/1nsmodule fifo (wdata,full,winc,wclk,wrst_n,rdata,rinc,empty,rclk,rrst_n);/-parameterWIDTH = 8;parameter DEPTH = 2;parametermax_count = 2

8、9;b11;/-inputWIDTH:0wdata;inputwinc;inputwclk;inputwrst_n;inputrinc;inputrclk;inputrrst_n;/-outputfull;outputWIDTH:0rdata;outputempty;/-regfull_r;regempty_r;regWIDTH:0rdata_r;/-regDEPTH:0wptr; /n+1 ptrregDEPTH:0rptr;regDEPTH:0w1_rptr;regDEPTH:0w2_rptr;regDEPTH:0r1_wptr;regDEPTH:0r2_wptr;/-reg(WIDTH-

9、1):0fifomem 0:max_count;regDEPTH:0wbin,rbin;wireDEPTH:0rgnext,rbnext,wgnext,wbnext;regDEPTH:0 rgnext_r,rbnext_r;wire(DEPTH-1):0raddr,waddr;/reg(DEPTH-1):0raddr_r;wirefull_val,empty_val;/-/write inalways(posedge wclk)beginif(!winc&!full)/write enable no fullfifomemwaddr <= wdata;end/read outal

10、ways(posedge rclk)beginif(!rinc&!empty)rdata_r <= fifomemraddr;end/-/asyn write ptralways(posedge wclk or negedge wrst_n)beginif(!wrst_n)w2_rptr,w1_rptr <= 2'b00;elsew2_rptr,w1_rptr <= w1_rptr,rptr;end/-/generate wptr and wbinalways(posedge wclk or negedge wrst_n)beginif(!wrst_n)wbi

11、n,wptr <= 2'b00;elsewbin,wptr <= wbnext,wgnext;end/-assign waddr = wbin(DEPTH-1):0;assign wbnext = !full ? (wbin + !winc) : wbin;assignwgnext = (wbnext >> 1) wbnext;assign full_val = (wgnext = w2_rptrDEPTH,w2_rptr(DEPTH-1):0);always(posedge wclk or negedge wrst_n)beginif(!wrst_n)full

12、_r <= 1'b0;elsefull_r <= full_val;end/asyn read ptr -always(posedge rclk or negedge rrst_n)beginif(!rrst_n)r2_wptr,r1_wptr <= 2'b00;elser2_wptr,r1_wptr <= r1_wptr,wptr;end/-/generate rbin and rptralways(posedge rclk or negedge rrst_n)beginif(!rrst_n)rbin,rptr <= 2'b00;else

13、rbin,rptr <= rbnext_r,rgnext_r;end/-assignraddr = rbin(DEPTH-1):0;assignrbnext = !empty ? (rbin + !rinc) :rbin;assign rgnext = (rbnext >> 1) rbnext;assignempty_val = (rgnext_r = r2_wptr);always(posedge rclk or negedge rrst_n)beginif(!rrst_n)empty_r <= 1'b0;elseempty_r <= empty_val

14、;end/-assignfull = full_r;assignempty = empty_r;assignrdata = rdata_r;/assign rgnext = rgnext_r;always (posedge rclk )beginrgnext_r <= rgnext;rbnext_r <= rbnext;/raddr_r <= raddr;endendmodule在quartus II中进行编译,语法正确无误后在modelsim中进行仿真查看是否有满足预设的功能和要求。编译文件(testbench)如下所示。timescale 1 ns/ 1 psmodule

15、 FIFO_vlg_tst();/ constants / general purpose registers/reg eachvec;/ test vector input registersreg 7:0 IN;reg RD_CLOCK;reg RINC;reg RRESET_N;reg WINC;reg WRESET_N;reg WR_CLOCK;/ wires wire EMPTY_P;wire FULL_P;wire 7:0 OUT;/ assign statements (if any) FIFO i1 (/ port map - connection between master

16、 ports and signals/registers .EMPTY_P(EMPTY_P),.FULL_P(FULL_P),.IN(IN),.OUT(OUT),.RD_CLOCK(RD_CLOCK),.RINC(RINC),.RRESET_N(RRESET_N),.WINC(WINC),.WRESET_N(WRESET_N),.WR_CLOCK(WR_CLOCK);initial fork WR_CLOCK = 0;WINC = 1;#10 WRESET_N = 0;#20 WRESET_N = 1;#40 WINC = 0;/IN = 8'd10;join initial fork

17、 RD_CLOCK = 0;RINC = 1;#10 RRESET_N = 0;#200 RRESET_N = 1;#400 RINC = 0;join always begin #10 WR_CLOCK = WR_CLOCK; end always begin #100 RD_CLOCK = RD_CLOCK; end endmoduleB、综合过程将RTL文件拷如liux系统中进行综合,生成门级网表,并根据要求来编写约束文件,使文件最优化。完成后的约束文件如下:#fifo constrains #authou johnny#design entry#read_verilog ./rtl/f

18、ifo.vcheck_designcurrent_designset_max_area 1000#set_min_area 0.0#setup operating conditions ,wire load, clocks,reset#create_clock -period 10 -waveform0 5 get_ports CLOCKcreate_clock -period 20 get_ports wclkcreate_clock -period 10 get_ports rclkset_dont_touch_network get_clocks wclkset_dont_touch_n

19、etwork get_clocks rclk#set_dont_touch_network list CLOCK RESET_Nset_operating_conditions -max WCIND -min WCCOMset_wire_load_model -name "10x10"set_wire_load_mode enclosedset_clock_latency 4.0 get_clocks wclkset_clock_latency 2.0 get_clocks rclkset_clock_uncertainty -setup 4.0 -hold 0.50 ge

20、t_clocks wclkset_clock_uncertainty -setup 2.0 -hold 0.25 get_clocks rclk#useful commands #report_port -verbose #report_clock#reset_design#list_libs#remove_design -all#remove_design -design#list_files#lists all files in DC memory#list_designs#list_license#input drives#set_driving_cell -lib_cell AN2 g

21、et_ports wdata#set_drive 0 list RESET_N#output load #set_load 5 all_outputs#set input & set output delay#set_input_delay -max 10 -clock wclk get_ports wdataset_input_delay -max 5 -clock rclk get_ports rdataset_output_delay -max 3.3 -clock rclk get_ports rdata#set_input_delay 5 -clock CLOCK all_i

22、nputs#Advanced constrints#group_path#set_false_path#set_multicycle#compile and write the database#compile#create reports#write -hierarchy -format verilog -output ./rtl/fifo_timing.vwrite_sdc ./rtl/fifo_timing.sdcreport_timingreport_areareport_area > ./fifo_test.area_rptreport_constraint -all_viol

23、ators > fifo_test.constraint_rpt#gui_start#report#report_timing结果系统功能仿真波形:时序仿真波形:总结及感想虽然该设计用了差不多两个星期的时间,虽然效率不高,但也对学到了不少东西。对同步异步信号有了较深的理解,以及怎样通过看RTL和描述语言作对比,找出问题的所在,此方法对于小的设计及有帮助。同时也让我积累了一些经验,比如在设计之前还查找相关的资料,了解该方面设计目前的大体情况。整理好设计方案、思想等。这样能在很大程度上提高设计效率。附件:门级网表:module fifo ( wdata, full, winc, wclk,

24、wrst_n, rdata, rinc, empty, rclk, rrst_n ); input 8:0 wdata; output 8:0 rdata; input winc, wclk, wrst_n, rinc, rclk, rrst_n; output full, empty; wire N5, N6, fifomem07 , fifomem06 , fifomem05 , fifomem04 , fifomem03 , fifomem02 , fifomem01 , fifomem00 , fifomem17 , fifomem16 , fifomem15 , fifomem14

25、, fifomem13 , fifomem12 , fifomem11 , fifomem10 , fifomem27 , fifomem26 , fifomem25 , fifomem24 , fifomem23 , fifomem22 , fifomem21 , fifomem20 , fifomem37 , fifomem36 , fifomem35 , fifomem34 , fifomem33 , fifomem32 , fifomem31 , fifomem30 , N14, N15, N16, N17, N18, N19, N20, N21, w2_rptr2 , full_va

26、l, rbin2 , empty_val, n10, n20, n23, n26, n29, n31, n32, n33, n34, n35, n36, n37, n38, n39, n40, n41, n42, n43, n44, n45, n46, n47, n48, n49, n50, n51, n52, n53, n54, n55, n56, n57, n58, n59, n60, n61, n62, n63, n64, n65, n66, n67, n68, n69, n70, n71, n72, n73, n74, n75, n76, n77, n78, n79, n80, n81

27、, n82, n83, n84, n85, n86, n87, n88, n89, n96, n97, n98, n99, n100, n101, n102, n103, n104, n105, n106, n107, n108, n109, n110, n111, n112, n113, n114, n115, n116, n117, n118, n119, n120, n121, n122, n123, n124, n125, n126, n127, dp_cluster_0/N34 , N32, dp_cluster_1/N36 , N31, n128, n129, n130, n131

28、, n132, n133, n134, n135, n136, n137, n138, n139, n140, n141, n142, n143, n144, n145, n146, n147, n148, n149, n150, n151, n152, n153, n154, n155, n156, n157, n158, n159, n160, n161, n162, n163, n164, n165, n166, n167, n168, n169, n170, n171, n172, n173, n174, n175, n176, n177, n178, n179, n180, n181

29、, n182, n183, n184, n185, n186, n187, n188, n189, n190, n191, n192, n193; wire 2:0 w1_rptr; wire 2:0 rptr; wire 2:0 wbnext; wire 1:0 wgnext; wire 2:0 wptr; wire 2:0 wbin; wire 2:0 r1_wptr; wire 1:0 rbnext_r; wire 2:0 rgnext_r; wire 2:0 rbnext; wire 2:0 rgnext; assign rdata8 = 1'b0; FD2 wptr_reg2

30、 ( .D(wbnext2), .CP(wclk), .CD(wrst_n), .Q(wptr2) ); FD2 wptr_reg1 ( .D(wgnext1), .CP(wclk), .CD(wrst_n), .Q(wptr1) ); FD2 wptr_reg0 ( .D(wgnext0), .CP(wclk), .CD(wrst_n), .Q(wptr0) ); FD2 wbin_reg2 ( .D(wbnext2), .CP(wclk), .CD(wrst_n), .Q(wbin2) ); FD2 r1_wptr_reg2 ( .D(wptr2), .CP(rclk), .CD(rrst

31、_n), .Q(r1_wptr2) ); FD2 r1_wptr_reg1 ( .D(wptr1), .CP(rclk), .CD(rrst_n), .Q(r1_wptr1) ); FD2 r1_wptr_reg0 ( .D(wptr0), .CP(rclk), .CD(rrst_n), .Q(r1_wptr0) ); FD2 r2_wptr_reg2 ( .D(r1_wptr2), .CP(rclk), .CD(rrst_n), .QN(n38) ); FD2 r2_wptr_reg1 ( .D(r1_wptr1), .CP(rclk), .CD(rrst_n), .QN(n39) ); F

32、D2 r2_wptr_reg0 ( .D(r1_wptr0), .CP(rclk), .CD(rrst_n), .QN(n37) ); FD1 rbnext_r_reg2 ( .D(rbnext2), .CP(rclk), .Q(rgnext2) ); FD1 rgnext_r_reg2 ( .D(rgnext2), .CP(rclk), .Q(rgnext_r2) ); FD2 rptr_reg2 ( .D(rgnext_r2), .CP(rclk), .CD(rrst_n), .Q(rptr2) ); FD2 w1_rptr_reg2 ( .D(rptr2), .CP(wclk), .CD

33、(wrst_n), .Q(w1_rptr2) ); FD2 w2_rptr_reg2 ( .D(w1_rptr2), .CP(wclk), .CD(wrst_n), .Q( w2_rptr2 ) ); FD2 rbin_reg2 ( .D(rgnext2), .CP(rclk), .CD(rrst_n), .Q(rbin2 ) ); FD1 rbnext_r_reg1 ( .D(rbnext1), .CP(rclk), .Q(rbnext_r1) ); FD2 rbin_reg1 ( .D(rbnext_r1), .CP(rclk), .CD(rrst_n), .Q(N6), .QN( n16

34、3) ); FD1 rgnext_r_reg1 ( .D(rgnext1), .CP(rclk), .Q(rgnext_r1) ); FD2 rptr_reg1 ( .D(rgnext_r1), .CP(rclk), .CD(rrst_n), .Q(rptr1) ); FD2 w1_rptr_reg1 ( .D(rptr1), .CP(wclk), .CD(wrst_n), .Q(w1_rptr1) ); FD2 w2_rptr_reg1 ( .D(w1_rptr1), .CP(wclk), .CD(wrst_n), .QN(n40) ); FD1 rbnext_r_reg0 ( .D(rbn

35、ext0), .CP(rclk), .Q(rbnext_r0) ); FD2 rbin_reg0 ( .D(rbnext_r0), .CP(rclk), .CD(rrst_n), .Q(N5), .QN( n178) ); FD1 rgnext_r_reg0 ( .D(rgnext0), .CP(rclk), .Q(rgnext_r0) ); FD2 rptr_reg0 ( .D(rgnext_r0), .CP(rclk), .CD(rrst_n), .Q(rptr0) ); FD2 w1_rptr_reg0 ( .D(rptr0), .CP(wclk), .CD(wrst_n), .Q(w1

36、_rptr0) ); FD2 w2_rptr_reg0 ( .D(w1_rptr0), .CP(wclk), .CD(wrst_n), .QN(n41) ); FD1 fifomem_reg07 ( .D(n96), .CP(wclk), .Q(fifomem07 ), .QN(n73) ); FD1 fifomem_reg06 ( .D(n97), .CP(wclk), .Q(fifomem06 ), .QN(n72) ); FD1 fifomem_reg05 ( .D(n98), .CP(wclk), .Q(fifomem05 ), .QN(n71) ); FD1 fifomem_reg0

37、4 ( .D(n99), .CP(wclk), .Q(fifomem04 ), .QN(n70) ); FD1 fifomem_reg03 ( .D(n100), .CP(wclk), .Q(fifomem03 ), .QN(n69) ); FD1 fifomem_reg02 ( .D(n101), .CP(wclk), .Q(fifomem02 ), .QN(n68) ); FD1 fifomem_reg01 ( .D(n102), .CP(wclk), .Q(fifomem01 ), .QN(n67) ); FD1 fifomem_reg00 ( .D(n103), .CP(wclk),

38、.Q(fifomem00 ), .QN(n66) ); FD1 fifomem_reg17 ( .D(n104), .CP(wclk), .Q(fifomem17 ), .QN(n65) ); FD1 fifomem_reg16 ( .D(n105), .CP(wclk), .Q(fifomem16 ), .QN(n64) ); FD1 fifomem_reg15 ( .D(n106), .CP(wclk), .Q(fifomem15 ), .QN(n63) ); FD1 fifomem_reg14 ( .D(n107), .CP(wclk), .Q(fifomem14 ), .QN(n62)

39、 ); FD1 fifomem_reg13 ( .D(n108), .CP(wclk), .Q(fifomem13 ), .QN(n61) ); FD1 fifomem_reg12 ( .D(n109), .CP(wclk), .Q(fifomem12 ), .QN(n60) ); FD1 fifomem_reg11 ( .D(n110), .CP(wclk), .Q(fifomem11 ), .QN(n59) ); FD1 fifomem_reg10 ( .D(n111), .CP(wclk), .Q(fifomem10 ), .QN(n58) ); FD1 fifomem_reg27 (

40、.D(n112), .CP(wclk), .Q(fifomem27 ), .QN(n57) ); FD1 fifomem_reg26 ( .D(n113), .CP(wclk), .Q(fifomem26 ), .QN(n56) ); FD1 fifomem_reg25 ( .D(n114), .CP(wclk), .Q(fifomem25 ), .QN(n55) ); FD1 fifomem_reg24 ( .D(n115), .CP(wclk), .Q(fifomem24 ), .QN(n54) ); FD1 fifomem_reg23 ( .D(n116), .CP(wclk), .Q(

41、fifomem23 ), .QN(n53) ); FD1 fifomem_reg22 ( .D(n117), .CP(wclk), .Q(fifomem22 ), .QN(n52) ); FD1 fifomem_reg21 ( .D(n118), .CP(wclk), .Q(fifomem21 ), .QN(n51) ); FD1 fifomem_reg20 ( .D(n119), .CP(wclk), .Q(fifomem20 ), .QN(n50) ); FD1 fifomem_reg37 ( .D(n120), .CP(wclk), .Q(fifomem37 ), .QN(n49) );

42、 FD1 fifomem_reg36 ( .D(n121), .CP(wclk), .Q(fifomem36 ), .QN(n48) ); FD1 fifomem_reg35 ( .D(n122), .CP(wclk), .Q(fifomem35 ), .QN(n47) ); FD1 fifomem_reg34 ( .D(n123), .CP(wclk), .Q(fifomem34 ), .QN(n46) ); FD1 fifomem_reg33 ( .D(n124), .CP(wclk), .Q(fifomem33 ), .QN(n45) ); FD1 fifomem_reg32 ( .D(

43、n125), .CP(wclk), .Q(fifomem32 ), .QN(n44) ); FD1 fifomem_reg31 ( .D(n126), .CP(wclk), .Q(fifomem31 ), .QN(n43) ); FD1 fifomem_reg30 ( .D(n127), .CP(wclk), .Q(fifomem30 ), .QN(n42) ); FD2 empty_r_reg ( .D(empty_val), .CP(rclk), .CD(rrst_n), .Q(empty), .QN( dp_cluster_1/N36 ) ); FD1 rdata_r_reg0 ( .D

44、(n89), .CP(rclk), .Q(rdata0), .QN(n74) ); FD1 rdata_r_reg1 ( .D(n88), .CP(rclk), .Q(rdata1), .QN(n75) ); FD1 rdata_r_reg2 ( .D(n87), .CP(rclk), .Q(rdata2), .QN(n76) ); FD1 rdata_r_reg3 ( .D(n86), .CP(rclk), .Q(rdata3), .QN(n77) ); FD1 rdata_r_reg4 ( .D(n85), .CP(rclk), .Q(rdata4), .QN(n78) ); FD1 rd

45、ata_r_reg5 ( .D(n84), .CP(rclk), .Q(rdata5), .QN(n79) ); FD1 rdata_r_reg6 ( .D(n83), .CP(rclk), .Q(rdata6), .QN(n80) ); FD1 rdata_r_reg7 ( .D(n82), .CP(rclk), .Q(rdata7), .QN(n81) ); OR2 U68 ( .A(full), .B(winc), .Z(n20) ); AN3 U69 ( .A(n31), .B(n32), .C(n33), .Z(full_val) ); AN3 U75 ( .A(n34), .B(n

46、35), .C(n36), .Z(empty_val) ); EOI U3 ( .A(rgnext2), .B(rbnext_r1), .Z(rgnext1) ); EOI U4 ( .A(rbnext_r1), .B(rbnext_r0), .Z(rgnext0) ); EOI U70 ( .A(wgnext1), .B(n40), .Z(n33) ); EOI U71 ( .A(wbnext2), .B(wbnext1), .Z(wgnext1) ); EOI U72 ( .A(wbnext2), .B(w2_rptr2 ), .Z(n32) ); EOI U73 ( .A(wgnext0), .B(n41), .Z(n31) ); EOI U74 ( .A(wbnext0), .B(wbnext1), .Z(wgnext0) ); EOI U76 ( .A(rgnext_r2), .B(n38), .Z(n36) ); EOI U77 ( .A(rgnext_r1), .B(n39), .Z(n35) ); EOI U78 ( .A(rgnext_r0), .B(n37), .Z(n34) ); FD2 wbin_reg1 ( .D(wbnext1), .CP(wclk), .CD(wrst_

温馨提示

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

评论

0/150

提交评论