首页 VHDL程序设计教程习题解答

VHDL程序设计教程习题解答

举报
开通vip

VHDL程序设计教程习题解答《VHDL程序设计教程》习题参考答案 VHDL程序设计教程 习题参考解答 第1章思考题解答 1. 什么是VHDL?简述VHDL的发展史。 答: VHDL是美国国防部为电子项目设计承包商提供的,签定合同使用的,电子系统硬件描述语言。1983年成立VHDL语言开发组,1987年推广实施,1993年扩充改版。VHDL是IEEE标准语言,广泛用于数字集成电路逻辑设计。 2. 简述VHDL设计实体的结构。 答:实体由实体名、类型表、端口表、实体说明部分和实体语句部分组成。根据IEEE标准,实体组织的一般格式...

VHDL程序设计教程习题解答
《VHDL程序 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 教程》习题参考答案 VHDL程序设计教程 习题参考解答 第1章思考题解答 1. 什么是VHDL?简述VHDL的发展史。 答: VHDL是美国国防部为电子项目设计承包商提供的,签定 合同 劳动合同范本免费下载装修合同范本免费下载租赁合同免费下载房屋买卖合同下载劳务合同范本下载 使用的,电子系统硬件描述语言。1983年成立VHDL语言开发组,1987年推广实施,1993年扩充改版。VHDL是IEEE 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 语言,广泛用于数字集成电路逻辑设计。 2. 简述VHDL设计实体的结构。 答:实体由实体名、类型 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 、端口表、实体说明部分和实体语句部分组成。根据IEEE标准,实体组织的一般格式为: ENTITY 实体名 IS [GENERIC(类型表);] --可选项 [PORT(端口表);] --必需项 实体说明部分; --可选项 [BEGIN 实体语句部分;] END [ENTITY] [实体名]; 3. 分别用结构体的3种描述法设计一个4位计数器。 答: 用行为描述方法设计一个4位计数器如下,其它描述方法,读者可自行设计。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; use ieee.std_logic_unsigned.all; ENTITY countA IS PORT (clk,clr,en:IN STD_LOGIC; Qa,qb,qc,qd:OUT STD_LOGIC); END countA; ARCHITECTURE example OF countA IS SIGNAL count_4:STD_LOGIC_vector (3 DOWNTO 0); BEGIN Qa <= count_4(0); Qb <= count_4(1); Qc <= count_4(2); Qd <= count_4(3); PROCESS (clk,clr) BEGIN IF (clr = '1' ) THEN Count_4 <= "0000"; ELSIF (clk'EVENT AND clk = '1' ) THEN IF (en = '1' ) THEN IF (count_4 = "1111") THEN count_4 <= "0000"; ELSE count_4 <= count_4+ '1'; END IF; END IF; END IF; END PROCESS; END example; 第2章 思考题解答 1. 什么叫对象?对象有哪几个类型? 答:在VHDL语言中,凡是可以赋于一个值的客体叫对象(object)。VHDL对象包含有专门数据类型,主要有4个基本类型:常量(CONSTANT)、信号(SIGNAL)、变量(VARIABLE)和文件(FILES)。 2. VHDL语言定义的标准类型有哪些? 答 VHDL语言标准所定义的标准数据类型 (1) 整数类型(INTEGER TYPE) (2) 实数类型或浮点类型(REAL TYPE & FLOATING TYPE) (3) 位类型(BIT TYPE) (4) 位矢量类型(BIT_VECTOR TYPE) (5) 布尔类型(BOOLEAN TYPE) (6) 字符类型(CHARACTER TYPE) (7) 时间类型或物理类型(TIME TYPE & PHYSICAL TYPE) (8) 错误类型(NOTE,WARNIING,ERROR,FAILURE TYPE) (9) 自然数、整数类型(NATURAL TYPE) (10) 字符串类型(TRING TYPE) 3. 简述VHDL语言操作符的优先级。 答: 在表2.1中,取反和取绝对值优先级较高,与、或逻辑运算的优先级低于算术运算的优先级。 4. 哪3种方法可用来进行类型转换? 答:进行不同类型的数据变换,有3种方法:类型标记法、函数转换法和常数转换法。 第3章思考题解答 1. 什么叫进程?简述进程的工作方式。 答:进程(process)是由外部信号触发执行的一段程序。进程语句是并行处理语句,即各个进程是同时处理的,在结构体中多个Process语句是同时并发运行的。在进程内部是顺序执行的。Process语句在VHDL程序中,是描述硬件并行工作行为的最常用、最基本的语句。 进程Process语句中一般带有几个信号量例表,称为该进程的敏感量表。这些信号无论哪一个发生变化都将启动Process进程。一旦启动,进程Process中的程序将从上到下顺序执行一遍,由新变化的量引导进程产生变化结果输出。当进程的最后一个语句执行完成后,就返回到进程开始处,等待敏感量的新变化,引发进程的再一次执行。周而复始,循环往复,以至无穷。这就是进程的执行过程。 2. 什么叫模块?区分模块与进程。 答:模块(Block)语句是结构体中积木化设计语言,适用于复杂项目设计。 Block块是一个独立的子结构,可以包含PORT语句、GENERIC语句,允许设计者通过这两个语句将Block块内的信号变化传递给Block块的外部信号。同样,也可以将Block块的外部信号变化传递给Block块的内部信号。 对VHDL语言中的Block模块进行仿真时,Block模块中所描述的各个语句是可以并发执行的,和模块中的语句书写顺序无关。进程语句是一段程序,这段程序是顺序执行的。 3. 用结构描述法和GENERATE语句设计一个8位移位寄存器。 答: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY shift_register IS PORT(a,clk: IN STD_LOGIC; b: OUT STD_LOGIC); END ENTITY shift_regester; ARCHITECTURE eight_BIT_shift_register OF shift_register IS COMPONENT dff -- dff元件调用 PORT(a,Clk: IN STD_LOGIC; b: OUT STD_LOGIC); END COMPONENT; SIGNAL X: STD_LOGIC_VECTOR(0 TO 4); BEGIN X(0) <= a; dff1:dff PORT MAP (X(0),clk,Z(1)); dff2:dff PORT MAP (X(1),clk,Z(2)); dff3:dff PORT MAP (X(2),clk,Z(3)); dff4:dff PORT MAP (X(3),CLK,Z(4)); dff5:dff PORT MAP (X(4),CLK,Z(5)); dff6:dff PORT MAP (X(5),CLK,Z(6)); dff7:dff PORT MAP (X(6),CLK,Z(7)); dff4:dff PORT MAP (X(7),CLK,Z(8)); B<=X(8); END ARCHITECTURE eight_bit_shift_register; 4. 设计一个3-8优先级编码器。 答:参考书中第5章编码器设计。 5. 设计一个4-16译码器。 答:参考书中第5章译码器设计。 第4章思考题解答 1. 配置语句的书写格式是怎样的? 答:配置语句的书写形式为: CONFIGURAT10N 配置名 OF 实体名 IS FOR 选配构造体名 END FOR; END 配置名; 2. 配置说明中的映射有哪两种方法? 答:位置关联法和名称关联法。 3. 在配置语句中用GENERIC 指定参数,设计一个译码器。 答:LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; ENTITY decode IS PORT(a,b,en : IN std_logic; Q0,q1,q2,q3: OUT std_logic); END decode; ARCHITECTURE structural OF decode IS COMPONENT inv PORT(a : IN std_logic; b : OUT std_logic); END COMPONENT; COMPONENT and3 PORT(a1,a2,a3 : IN std_logic; O1: OUT std_logic); END COMPONENT; SIGNAL nota,notb : std_logic; BEGIN I1 : inv PORT MAP(a,nota); I2 : inv PORT MAP(b,notb); AN1 : and3 PORT MAP(nota,en,notb,q0); AN2 : and3 PORT MAP(a,en,notb,q1); AN3 : and3 PORT MAP(nota,en,b,q2); AN4 : and3 PORT MAP(a,en,b,q3); END structural; ------------------------------------------- CONFIGURATION decode_gen1_con OF decode IS FOR structural FOR I1 : inv USE ENTITY WORK.inv(inv_gen1) GENERIC MAP(int_rise => 1.2 ns, Int_fall => 1.7 ns, Ext_rise => 2.6 ns, Ext_fall => 2.5 ns); END FOR; FOR I2 : inv USE ENTITY WORK.inv(inv_gen1) GENERIC MAP(int_rise => 1.3 ns, Int_fall => 1.4 ns, Ext_rise => 2.8 ns, Ext_fall => 2.9 ns); END FOR; FOR AN1 : and3 USE ENTITY WORK.and3(and3_gen1) GENERIC MAP(int_rise => 2.2 ns, Int_fall => 2.7 ns, Ext_rise => 3.6 ns, Ext_fall => 3.5 ns); END FOR; FOR AN2 : and3 USE ENTITY WORK.and3(and3_gen1) GENERIC MAP(int_rise => 2.2 ns, Int_fall => 2.7 ns, Ext_rise => 3.1 ns, Ext_fall => 3.2 ns); END FOR; FOR AN3 : and3 USE ENTITY WORK.and3(and3_gen1) GENERIC MAP(int_rise => 2.2 ns, Int_fall => 2.7 ns, Ext_rise => 3.3 ns, Ext_fall => 3.4 ns); END FOR; FOR AN4 : and3 USE ENTITY WORK.and3(and3_gen1) GENERIC MAP(int_rise => 2.2 ns, Int_fall => 2.7 ns, Ext_rise => 3.0 ns, Ext_fall => 3.1 ns); END FOR; END FOR; END decode_gen1_con; 4. 计一个加法器,元件例化后放入库中备用。 答:半加器及全加器VHDL程序设计(1)。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY full_adder IS PORT (a,b,cin:IN STD_LOGIC; Sum,co:OUT STD_LOGIC); END full_adder; ARCHITECTURE full1 OF full_adder IS COMPONENT half_adder PORT (a,b:IN STD_LOGIC; S,co:OUT STD_LOGIC); END COMPONENT; SIGNAL u0_co,u0_s,u1_co:STD_LOGIC; BEGIN U0:half_adder PORT MAP (a,b,u0_s,u0_co); U1:half_adder PORT MAP (u0_s,cin,sum,u1_co); Co <= u0_co OR u1_co; END full1; 半加器及全加器VHDL程序设计(2)。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY half_adder IS PORT (a,b:IN STD_LOGIC; S,co:OUT STD_LOGIC); END half_adder; ARCHITECTURE half1 OF half_adder IS SIGNAL c,d:STD_LOGIC; BEGIN C <= a OR b; D <= a NAND b; Co <= NOT d; S <= c AND d; END half1; 5. 简述层次化设计的过程。 答:层次化设计是指对于一个大型设计任务,将目标层层分解,在各个层次上分别设计的方法。有些设计,在一些模块的基础上,通过搭建积木的方法进行设计。有人称,在整个设计任务上进行行为描述的设计方法,称为高层次设计,而从事某一模块、某一元件行为设计称为底层设计方法。 6. 什么是库,程序包,子程序,过程调用,函数调用? 答:库(libraries)和程序包(package)用来描述和保存元件、类型说明、函数、模块等,以便在其他设计中可随时引用它们。 库(libraries)是用来存储和放置可编译的设计单元的地方,通过其目录可查询、调用。设计库中的设计单元(实体说明、结构体、配置说明、程序包说明和程序包体)可以用作其他VHDL描述的资源。 函数和过程统称为子程序。 子程序由过程和函数组成。在子程序调用过程中,过程能返回多个变量,函数能返回一个变量。若子程序调用是一个过程,就称为过程调用;若子程序调用是一个函数,则称为函数调用。过程调用和函数调用都是子程序调用。 函数的参数都是输入参数。 过程的参数有输入、输出和双向参数。 函数有顺序函数、并行函数。 过程有顺序过程、并行过程。 7. 编写一个OR函数,重载它,对不同的数据类型进行OR运算。 答: 参考例4-24 读者自行编写。 第5章思考题解答 1. CLK信号怎样用VHDL语言描述? 答:时钟信号的上升沿的描述: if clk‘event and clk = ‘1’ then …; 时钟信号的下降沿的描述: if clk ‘event and clk = ‘1’ then …; 2. 异步复位怎样用VHDL语言描述? 答:当复位信号低电平有效时,VHDL的描述为: if reset = ‘0’ then …; 当复位信号高电平有效时, VHDL的描述为: if reset =‘1’ then …; 3. 设计一个8位循环移位寄存器。 答: 8位循环计寄存器的VHDL参考程序设计如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY circleshift8 IS PORT (seldata:in std_logic_vector(2 downto 0); clr,clk: IN STD_LOGIC; sel: OUT STD_LOGIC_vector(7 downto 0)); END circleshift8; ARCHITECTURE sample OF circleshift8 IS begin process(clk,clr) Begin if (clr='1')then sel<="00000000"; elsif clk'event and clk='1' then case seldata is when "001"=> sel<="00000001"; when "010"=> sel<="00000010"; when "011"=> sel<="00000100"; when "100"=> sel<="00001000"; when "101"=> sel<="00010000"; when "110"=> sel<="00100000"; when "111"=> sel<="01000000"; when others => sel<="00000000"; end case; end if; end process; end sample; 4. 设计一个六十进制计数器。 答: 60进制计数器的VHDL参考程序设计如下: Library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; --******************************************************* Entity counter60 is port( cp:in std_logic; bin:out std_logic_vector(6 downto 0); s:in std_logic; clr:in std_logic; ec:in std_logic; cy60:out std_logic ); End counter60; --******************************************************* Architecture b of counter60 is signal q:std_logic_vector(6 downto 0); signal rst,dly:std_logic; begin process(rst,cp) begin if rst='1' then q<="0000000"; -- cy(60)<='0'; elsif cp'event and cp='1' then dly<=q(5); if ec='1'then if q=59 then q<="0000000"; else q<=q+1; end if; else q<=q; end if; end if; end process; cy60<= not q(5) and dly; rst<= clr; bin<=q when s='1' else "1111111"; End b; 5. 设计一个八位编码器。 答: 八位编码器的VHDL参考程序设计如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY priotyencoder IS PORT (d : IN Std_Logic_Vector (7 Downto 0); E1: IN Std_Logic; GS,E0: OUT BIT STD_LOGIC; Q : OUT Std_Logic_Vector(2 Downto 0); END priotyencoder; ARCHITECTURE encoder OF prioty encoder IS BEGIN P1: PROCESS ( d ) BEGIN IF ( d(0) = 0 AND E1 = 0 ) THEN Y <= 111; GS <= 0 ; E0 <= 1 ; ELSIF (d(1) = 0 AND E1 = 0 ) THEN Q <= 110; GS <= 0 ; E0 <= 1 ; ELSIF (d(2) = 0 AND E1 = 0 ) THEN Q <= 101 ; GS <= 0 ; E0 <= 1 ; ELSIF (d(3) = 0 AND E1= 0 ) THEN Q <= 100 ; GS <= 0 ; E0 <= 1 ; ELSIF (d(4) = 0 AND E1= 0 ) THEN Q <= 011 ; GS <= 0 ; E0 <= 1 ; ELSIF (d(5) = 0 AND E1= 0 ) THEN Q <= 010 ; GS <= 0 ; E0 <= 1 ; ELSIF (d(6) = 0 AND E1 = 0 ) THEN Q <= 001 ; GS<= 0 ; E0<= 1 ; ELSIF (d(7) = 0 AND E1 = 0 ) THEN Q <= 000 ; GS <= 0 ; E0 <= 1 ; ELSIF (E1 = 1 ) THEN Q <= 111 ; GS <= 1 ; E0 <= 1 ; ELSIF (d = 1111 1111 AND E1 = 0 ) THEN Q <= 111 ; GS <= 1 ; E0 <= 0 ; END IF; END PROCESS P1; END encoder; 6. 设计一个三八译码器。 答: 三八译码器的VHDL参考程序设计如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY decoder3_8 IS PORT (a,b,c,g1,g2a,g2b:IN STD_LOGIC; Y:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END decoder3_8; ARCHITECTURE rtl OF decoder3_8 IS SIGNAL indata:STD_LOGIC_VECTOR (2 DOWNTO 0); BEGIN Indata <= c & b & a; PROCESS (indata,g1,g2a,g2b) BEGIN IF (g1 = 1 AND g2a = 0 AND g2b = 0 ) THEN CASE indata IS WHEN 000 => y <= 11111110 ; WHEN 001 => y <= 11111101 ; WHEN 010 => y <= 11111011 ; WHEN 011 => y <= 11110111 ; WHEN 100 => y <= 11101111 ; WHEN 101 => y <= 11011111 ; WHEN 110 => y <= 10111111 ; WHEN 111 => y <= 01111111 ; WHEN OTHERS=> y <= XXXXXXXX ; END CASE; ELSE Y <= 11111111 ; END IF; END PROCESS; END rtl; 7. 设计一个N位通用加法器。 答: 设N=8位时,通用加法器的VHDL参考程序设计如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY B8_adder IS PORT (a,b,cin:IN STD_LOGIC_VECTOR(7 DOWNTO 0); Sum,co:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END B8_adder; ARCHITECTURE STRUCTURE OF B8_adder IS COMPONENT full_adder PORT (a,b,cin:IN STD_LOGIC; Sum,co:OUT STD_LOGIC); END COMPONENT; BEGIN ga: for i in 0 to 7 generate adder: full_adder PORT MAP (a(i),b(i),cin(i),Sum(i),co(i)); end generate; END STRUCTURE; LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY full_adder IS PORT (a,b,cin:IN STD_LOGIC; Sum,co:OUT STD_LOGIC); END full_adder; ARCHITECTURE full1 OF full_adder IS COMPONENT half_adder PORT (a,b:IN STD_LOGIC; S,co:OUT STD_LOGIC); END COMPONENT; SIGNAL u0_co,u0_s,u1_co:STD_LOGIC; BEGIN U0:half_adder PORT MAP (a,b,u0_s,u0_co); U1:half_adder PORT MAP (u0_s,cin,sum,u1_co); Co <= u0_co OR u1_co; END full1; LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY half_adder IS PORT (a,b:IN STD_LOGIC; S,co:OUT STD_LOGIC); END half_adder; ARCHITECTURE half1 OF half_adder IS SIGNAL c,d:STD_LOGIC; BEGIN C <= a OR b; D <= a NAND b; Co <= NOT d; S <= c AND d; END half1; 8.为什么要层次化设计? 答: 原因有二。第一,对于一个大型设计项目,层次分解后,由不同设计人员分别进行设计,可以大大提高设计效率。第二 层次分解后,各个层次由不同的设计模块构成,可以分别测试,验证。大大降低了项目的风险和难度。 9.Moore型状态机和Mealy型状态机有什么相同和不同? 答: Moore型状态机的输出信号仅与现态相关,Moore 型状态机输出是现态的函数,Mealy型状态机输出是现态和输入的函数。 10.一位有效状态机有什么优点? 答:一位有效编码,比顺序编码方式占用资源多,在目标器件具有较多寄存器资源,并且寄存器之间组合逻辑较少时,一位有效编码是一个比较合适的方法。 11.设计一个3位8状态机。 答: library ieee; use ieee.std_logic_1164.all; entity memory_controller is port ( reset, read_write, ready, burst, clk : in std_logic; bus_id : in std_logic_vector(7 downto 0); oe,we : out std_logic; addr : out std_logic_vector(1 downto 0)); end memory_controller; architecture state_machine of memory_controller is type StateType is (idle, decision, read1, read2, read3, read4, write); signal present_state,next_state : StateType; begin state_comb:process(reset, bus_id, present_state, burst, read_write, ready) begin if (reset = '1') then --复位处理 oe <='-'; addr <='—'; next_state <=idle; --信号代入 else case present_state is when idle => oe <='0'; we <='0'; addr <="00"; if (bus_id) = "11110011") then next_state <= decision; else next_state <= idle; end if; when decision=> oe <='0'; we <='0'; addr <="00"; if (read_write) = '0') then next_state <= read1; else — read_write='0' next_state <= write; end if; when read1 => oe <='1'; we <='0'; addr <="00"; if (ready = '0') then next_state <= read1; elsif (burst ='0') then next_state <= idle; else next_state <= read2; end if; when read2 => oe <='1'; we <='0'; addr <="01"; if (ready = '1') then next_state <= read3; else next_state <= read2; end if; when read3 => oe <='1'; we <='0'; addr <="10"; if (ready = '1') then next_state <= read4; else next_state <= read3; end if; when read4 => oe <='1'; we <='0'; addr <="11"; if (ready = '1') then next_state <= idle; else next_state <= read4; end if; when write => oe <='0'; we <='1'; addr <="00"; if (ready = '1') then next_state <= idle; else next_state <= write; end if; end case; end if; end process state_comb; state_clocked:process(clk) begin if rising_edge(clk'EVENT AND clk='1') then present_state <= next_state; end if; end process state_clocked; end state_machine; 12.设计一个PCI BUS VGA图像接口芯片,画出层次分解图,由几个人分别编程,再组合通调,写出一个团体协作的案例,总结成功失败的经验。 答: 1. 首先熟悉PCI总线 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 。 2.其次熟悉VGA图象处理器件工作原理。 3.分解设计任务。 4.分别由不同的设计小组编写VHDL程序 5.分别编译、调试,仿真、验证通过。 6.项目合成,整体通调,仿真验证。 7.设计实验原理电路,设计实验电路板。 8.编程、配置FPGA器件,进行性能测试。 9.进行ASIC版图设计,进行MPW流片。 10.编写产品使用手册,提供用户详尽技术参数。 第7章思考题解答 1. VHDL程序到集成电路版图需要那些过程? 答:需要逻辑综合,功能仿真,形式验证或FPGA功能验证,时序仿真,到版图设计。 2. 怎样在实验室实现集成电路设计? 答:用VHDL语言进行行为设计,用EDA工具作为设计环境,用FPGA器件作为设计实现载体,就可以在实验室进行集成电路的设计和实现。 3. 什么是MPW多项目晶圆服务? 答:多项目晶圆(Multi-Profect Wafer,简称MPW)就是将多种具有相同工艺的集成电路设计项目放在同一圆片上流片,流片后,每个设计项目可以得到数十片芯片样品,这一数量对于设计开发阶段的实验、测试已经足够。而实验费用就由所有参加MPW的项目按照芯片面积分摊,极大地降低了实验成本,降低了中小集成电路设计企业在起步时的门槛。 4. 设计一个8位CPU版图,参加MPW流片,并测试设计结果。 答:参考实验讲义,研究实验8的内容并付诸实践。 PAGE 1
本文档为【VHDL程序设计教程习题解答】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_220972
暂无简介~
格式:doc
大小:90KB
软件:Word
页数:0
分类:工学
上传时间:2013-03-07
浏览量:2