基于FPGA的DDR2存储器控制器设计本科毕业设计.docx

上传人:b****2 文档编号:3174235 上传时间:2023-05-05 格式:DOCX 页数:33 大小:931.88KB
下载 相关 举报
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第1页
第1页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第2页
第2页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第3页
第3页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第4页
第4页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第5页
第5页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第6页
第6页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第7页
第7页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第8页
第8页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第9页
第9页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第10页
第10页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第11页
第11页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第12页
第12页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第13页
第13页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第14页
第14页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第15页
第15页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第16页
第16页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第17页
第17页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第18页
第18页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第19页
第19页 / 共33页
基于FPGA的DDR2存储器控制器设计本科毕业设计.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于FPGA的DDR2存储器控制器设计本科毕业设计.docx

《基于FPGA的DDR2存储器控制器设计本科毕业设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA的DDR2存储器控制器设计本科毕业设计.docx(33页珍藏版)》请在冰点文库上搜索。

基于FPGA的DDR2存储器控制器设计本科毕业设计.docx

基于FPGA的DDR2存储器控制器设计本科毕业设计

 

毕业设计

 

基于FPGA的DDR2存储器

控制器设计

 

毕业设计中文摘要

随着消费电类电子产品以及便携式通讯产品向多功能、高性能和低功耗方向的飞快发展,而随之带来的是对大量的数据处理,而产品的系统对其主要的存储设备的要求也越来越高。

目前,DDR2凭着其及其高的数据传输速率和低廉的成本则越来越多的被用到一些高档类的消费类电子和便携式产品中。

对DDR2SDRAM的控制器处理的设计变得也就非常有必要。

使用FPGA技术设计数字电路,不仅可以简化设计过程,而且还可以减低整个系统的体积和成本,增加系统的可靠性。

本次设计则使用Altear公司的CycloneV代器件,经行开发的最小系统。

本次设计使用的是Mircon公司的MT47系列的芯片,借助Altera公司提供的IP核所自动生成PHY接口。

由于DDR2的读写驱动的要求,多次设计了电压的要求。

本文对DDR2SDRAM基本结构和原理进行了简单的介绍。

并且阐述基于FIFO和PHY接口的DDR2设计方法。

关键词DDR2FPGA存储器控制器FIFO

 

毕业设计外文摘要

TitleDDR2MemoryControllerDesignbasedonFPGA

Abstract

Asconsumerelectricclasselectronicproductsandportablecommunicationproductstomulti-functional,highperformanceandlowpowerconsumptiondirectionofrapiddevelopment,andthenbringsaboutalotofdataprocessing,theproductofthesystemtothemainstoragedevicerequirementsmoreandmorehigher.Atpresent,theDDR2withitsandhighdatatransferrateandlowcostaremoreandmoreusedinsomehigh-endconsumerelectronicsandportableproducts.ProcessingofDDR2SDRAMcontrollerdesignbecomesandisverynecessary.

DigitalcircuitdesignusingFPGAtechnology,notonlycansimplifythedesignprocess,butalsocanreducethesizeandcostofthewholesystem,increasethereliabilityofthesystem.ThisdesignUSESAltearcompanyCycloneVgenerationdevice,thesmallestsystemdevelopment.

ThisdesignUSEStheMirconMT47serieschips,andIPcoreprovidedbyAlteracorporationhowcanautomaticallygeneratethePHYinterface.DrivenrequirementsduetoDDR2,speaking,readingandwriting,anddesignthevoltagerequirementsformanytimes.

inthispaper,thebasicstructureandprincipleofDDR2SDRAMhascarriedonthesimpleintroduction.Andinthispaper,theDDR2designmethodbasedonFIFOandPHYinterface

 

KeyWordsDDR2FPGAmemorycontrolleFIFO

4.1芯片的选择和介绍11

 

1绪论

随着大规模、甚大规模的集成电路的设计技术的飞速发展,科技的日益更新,跟随而来的是各种的芯片的弄能不段的变复杂,而同时,数字产品例如掌上电脑、网络设备、音频设备、高清电视等,对高性能的内存的需求也越来越高。

为了满足这一要求,JEDEC(电子设备工程联合委员会)发布了JESD79-2B规范,即DDR2SDRAM标准,使得处理大数据和快速存取数据得到了可能,尤其是在今天,所需的数据处理更加复杂的情况下,以其低的功耗,高的速率,成熟的工艺,使得其得到了广泛的应用。

随着对DDR2控制器一直不断的研究,DDR2控制器的性能也在逐步的提升,DDR2控制器的数据宽带增加,可以在一个时钟周期内传输64bits数据;支持的DDR2存储器的内存容量大量增加,从512Mb到1Gb甚至更大;DDR2器件的时钟频率不断的提高,其传输速率不断变快,所要求的的DDR2控制器的时钟速度也越来越高。

由于FBGA的封装形式具有更好的电气性能和散热性能,DDR2采用这种形式来最大可能的减小了寄生阻抗,使得工作的频率变超过DDR变得更高。

DDR2采用1.8V电压,石凳功耗大大的降低。

同时,数字时序电路的设计也越来越复杂,所有需的芯片的资源和板级资源也越来越大,而FPGA却具有大量的时序逻辑资源,其可编程性使得数字电路设计可根据自己的需要来以硬件描述语言经行系统的逻辑设计,而且可以在设计的过程中经行时序要求的修改来达到满足设计的要求。

FPGA芯片的的时序频率高,适合快速处理器器件的开发。

FPGA器件具有高的可靠性,而且功耗还很低。

使用FPGA器件开发使得开发变的简单,尤其是对要反复经行开发的设计,可以很大程度上,降低开发的成本。

随之软件系统集成读越来越高,产生了针对硬件开发的语言,其使得硬件开发变得简易,而且使得硬件电路的设计可以从软件的方式上经行开发设计,从而节省了开发着的时间,缩短了开发的流程,并且和可编程器件结合使得在同样的资源的情况下,进行可重复的设计变成了可能。

最常用的硬件描述语言用VHDL和Verilog,本次设计是借助VHDL语言进行的软件设计。

本次设计的主要章节安排如下

1:

绪论部分,讲述本次设计的背景和章节的安排

2:

动态随机存储器部分,讲述本次设计中动态随机存储器发张及其原理结构和功能。

3:

可编程逻辑器件的原理部分,讲述本次设计中的FPGA器件的原理、内部结构和使用这个器件开发的优势。

4:

本次设计的外围电路的设计部分,讲述本次设计中所采用的芯片、工作原理及硬件电路的原理图

5:

本次设计的系统设计部分,主要是软件开发部分,讲述了本次开发所用到的开发工具和具体的设计步骤。

 

2动态随机存储器

由于现在所需要处理的数据量越要越大,虽然电路的响应时间也越来越快,但是,依旧满足不了所需要处理的数据的量,因此需要将信号经行锁存,而DDR技术发展已经成熟,因此,本次设计借助于DDR2经行设计。

2.1同步动态随机存储器原理与结构

同步动态随机存储器,也就是我们所说的SDRAM(SynchronousDynamicRandomAccessMemory),同步是指Memory工作需要的同步时钟,内部命令的发送与数据传输都要以它为基准;动态是指存储阵列需要不断刷新来保证数据不丢失;随机指的是数据不是线性依次存储,而是由指定地址的进行数据的读写。

SDRAM又称为DRARM,因为它需要不断的刷新(Refresh)才能保留住原来的数据。

SDRAM是多Bank结构,例如在一个有两个Bank的SDRAM的模组中,其中一个Bank在进行预充电同时,另一个Bank却马上可以被读取,这样当进行了一次读取后,又马上去读取已经预充电Bank的数据时,就不需等待而是可以直接读取了,大大提高了存储器的访问速度。

SDRAM具有多种的工作模式,其内部操作是一个非常复杂的有限状态机。

从大体上讲SDRAM的引脚主要分为以下三种功能:

1、信号的控制:

包括片选引脚、时钟使能引脚、时钟引脚、行列地址选择引脚、读写有效以及数据有效。

2、要输入的地址引脚:

其是时分复用引脚,为存储器的行或者列地址的信号。

3、数据信号:

为双向I/O引脚,受数据有效位控制。

2.2双倍动态随机存储器原理与特点

双倍速率同步动态随机存储器,也就是人们所说的DDR(DoubleDataRate)。

严格的将DDR应该叫做DDRSDRAM,人们习惯称为DDR。

DDR技术是在SDRAM技术的基础上发展而来的,其基本结构任然为SDRAM。

SDRAM仅能在一个时钟周期内传送一次数据,它是在时钟的有效的上升沿期间进行数据传输;而DDR内存则是在一个时钟周期内进行两次的数据传输,它能够在时钟的上升沿和下降沿各进行一次的数据传输,因此又被人们称之为双倍速率同步动态随机存储器,即DDR。

在相同的时钟的频率下DDR的存取速度远远的超出了SDRAM.

在与SDRAM相比,DDR其内部的电路设计更为先进,使地址的指定、数据的输入和输出的主要步骤既能够独立的执行,又可以保持与CPU的时钟的完全同步。

DDR本质上是不需要提高时钟频率就能加倍提高SDRAM的传输速度,它在时钟脉冲的上升沿和下降沿来读入或者读出数据,因此其数据存取速度比标准SDRAM的存取速度快一倍。

2.3DDR2随机存储器的简介

DDR2/DDRII(DoubleDataRate2)SDRAM是由JEDEC(电子设备工程联合委员会)进行开发的新生代内存技术标准,它与第一代的DDR内存技术标准的最大不同就是,虽然同样采用了上升沿和下降沿同时传输数据,但DDR2却拥有者第一代DDR的2倍的预存取功能。

DDR2引入了三项新的技术,它们是OCD、ODT和PostCAS。

OCD(Off-ChipDriver):

即离线驱动调整,DDRⅡ可以通过OCD来提高系统信号的完整性。

通过调整其上拉/下拉的电阻值使两者电压保持相等。

通过使用OCD技术,减少DQ-DQS的倾斜度从而提高系统信号的完整性;通过控制电压提高信号的品质。

ODT:

即片内终结电阻。

实际上,不同的内存模组要求的终结电路不一样,而终结电阻的大小决定了数据线的信号比和反射率,终结电阻小的则数据线信号的反射低,但是信噪比也比较低;而终结电阻高的,则数据线的信噪比较高,但是信号的反射也会大大增加。

DDR2能够设计并且借助内建电阻来自动调节,保证得到最佳的信号。

PostCAS:

是为了提高DDR2的有效利用率来设定的。

在PostCAS操作中,CAS信号能够被插入到RAS信号的后面的一个时钟周期上,CAS的命令也可以在附加延迟AL(AdditiveLatency)后面仍保持着有效。

则原来的tRCD(RAS到CAS的时间延迟)会被AL所取代,AL可以被设置为0至4之间的整数。

CAS的信号是放在了RAS信号后面额一个时钟周期上,所以ACT信号和CAS信号永不会产生交集而发生碰撞。

但由于是采用双通道运行的,所运行的速度理论上是DDR的2倍。

由于对DDR2SDRAM的访问方式是基于突发模式的;进行读写时,要事先选定一个起始的地址,并且能够按照事先编程设定的突发字节长度(4或8)和突发的顺序来依次的进行读或者写的访问.访问操作的开始于一个激活命令,后面紧跟就是读数据命令或者写数据的命令。

同激活命令同时到达的地址位包含着所要存取的bank和行.而与读命令或者写命令同步达到的地址位还包含了突发存取起始的列地址,还决定着是否发布自动预充电命令。

本次设计所采用的是Micron公司的芯片,其内部原理图结构如图2-1,其各个引脚功能在第四章讲述。

图2-2为读数据的命令时序,图2-3为写命令的时序。

图2-1MicronDDR2内部结构原理图。

突发读命令时序

图2-2突发读操作

突发写操作时序

图2-3突发写操作

 

3可编程逻辑器件原理

在数字电路中,由于对于时序的要求而来回反复的进行设计,因此而诞生了基于可编程的逻辑器件,从而能够快速的进行时序电路设计,而本次设计借助于基于LUT的FPGA可编程器件来进行设计。

3.1FPGA原理

FPGA即现场可编程门阵列,采用了逻辑单元阵列LCA(LogicCellArray)的这样一个概念,其内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。

FPGA借助于小型查找表(16×1RAM)来实现组合逻辑,而每个查找表后面连接到一个D触发器输入端,由触发器驱动其他逻辑电路或者I/O,因此即能实现逻辑功能也能实现时序功能,通过金属连线进行互相连接或者连接到I/O模块。

FPGA的逻辑功能的实现是通过向内部静态存储单元加载编程数据来完成的,存储在存储单元的值决定了逻辑功能和连线,并最终决定了FPGA所能完成的功能,从理论上FPGA允许无限次的编程。

3.2FPGA结构

FPGA是基于查找表技术的,但已经整合了常用的基本功能(如RAM、时钟管理和DSP)的硬核(ASIC型)模块。

如图3-1所示,FPGA芯片主要由7部分完成,分别为:

可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元。

图3-1FPGA芯片的内部结构示意图

每个模块的功能如下:

1.可编程输入输出模块(IOB)

可编程输入/输出单元简称I/O单元,是芯片与外界电路的完成电气连接的接口部分,FPGA内部的I/O是按组分类,每一组都能够支持独立的I/O标准。

可以使用软件的灵活配置,来达到所需要的电气特性。

I/O口的频率非常高,对信号的处理非常快。

为了更好的管理和达到多的电气要求,FPGA的IOB被划分成了若干个组(bank),每个bank的接口的电气标准由其接口电压的VCCO决定,一个bank仅允许一种VCCO,但不同bank的VCCO可以是不同的。

2.可配置逻辑块(CLB)

CLB是FPGA内部的基本逻辑阵列单元。

CLB的实际数量和特性根据所采用的器件的不同而各有不同,但每个CLB都包含着一个可配置的开关矩阵,此矩阵是由4或6个输入、一些多路选择器和触发器组成。

3.数字时钟管理模块(DCM)

大多数FPGA均给提供数字时钟管理。

4.嵌入式块RAM(BRAM)

大多数FPGA都都给内嵌的RAM块,使得FPGA的使用范围和灵活度同时也大大的提高。

单片RAM块的容量为18kbits,即位宽为18bits、深度为1024,也可以根据需要改变位宽和深度,但要满足两个原则:

(1)位宽深度不能大于18kbits;

(2)位宽最大不能超过36bits。

可以讲ram块进行级联,来达到更大ram块,此时则不在首以上两点的限制。

5.丰富的布线资源

布线资源是FPGA内部各个单元的进行连接资源,其连线的跨度和工艺决定着电路中的信号在连线上驱动的能力和传输的速度。

在设计中,布局布线器可以自动地选择布线资源来使得各个模块经行连接。

6.底层内嵌功能单元

内嵌功能模块主要指的是DLL(DelayLockedLoop)、PLL(PhaseLockedLoop)、DSP和CPU等软处理核(SoftCore)。

FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。

用户可以根据不同的配置模式,采用不同的编程方式。

加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。

掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。

FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。

当需要修改FPGA功能时,只需换一片EPROM即可。

这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。

因此,FPGA的使用非常灵活。

3.3FPGA器件开发的优点

使用FPGA器件设计数字电路,不仅仅可以简化设计的过程,而且可以降低整个系统的体积和成本,增加系统的可靠性。

FPGA设计数字系统优势有一下几点

(1)设计灵活

使用FPGA器件,其逻辑功能不会有所限制,而且其逻辑的修改可以在系统设计和使用的过程中的任何阶段进行修改,而修改过后只需要对其重新在编译即可,给系统的设计带来了大的灵活性

(2)增加功能密度

功能密度是值在给的空间上所能集合成的逻辑功能的数据。

可编程逻辑器件内所具有的资源很高,一片FPGA就可以替代几片、几十片、甚至是上百片中小规模的数字集成电路芯片。

用FPGA实现功能时,所使用的芯片数量很少,从而减少了使用芯片的数目,从而节省了PCB资源。

(3)提高可靠性

减少芯片和PCB印刷的数目,不仅能减小系统的规模,而且大大提高了系统的可靠性。

具有较高的集成度系统比用许多低集成度标准芯片设计的相同系统具有高的可靠性。

使用FPGA器件减少了实现系统所需要的芯片数目,在板级上,引线的减少和焊点数的减少,从而是得整个系统的可靠性能提高。

(4)工作速度快

FPGA器件的工作速度非常快,一般可以达到几百兆赫兹,远远大于其他绝大部分器件,而又使用FPGA器件后实现系统所需要的电路级数少,从而整个系统的工作速度就会增加。

(5)减小设计周期

由于FPGA器件的可编程性,设计一个系统所需要的时间比传统的方法大为缩短。

FPGA器件集成度非常高,使用时板级设计简单。

同时,在样板设计成功之后,由于开发工具先进,自动化高,对其进行逻辑修改液十分简便快捷。

因此,使用FPGA器件可以大大缩短系统的设计周期,加快产品的投放市场的速度,提高产品的竞争力。

(6)增加系统的保密性

很多FPGA器件都具有加密功能,在系统中广泛的使用FPGA器件可以有效地防止产品的非法复制。

(7)成本的减低

使用FPGA器件实现系统时,首先,由于器件的修改方便,设计周期短,使系统的研制开发费用降低;其次,FPGA器件可使印刷线路板和需要的插接减少,从而使系统的制造费用降低;其三,使用FPGA使得系统的可靠性提高,维修工作量减少,进而使系统的维修费用降低。

 

4外围电路设计

由于本次DDR2接口的设计完全是借助于FPGA的开发,所有仅需的FPGA的核心电路即可,该模块包含FPGA供电电压、DDR2供电电压、配置编程模块、晶振和复位模块,5V电压输入模块和18V电压输入模块。

4.1芯片的选择和介绍

本次设计所采用的硬件元器件选型见表4-1。

表4-1元器件选型表

名称

型号

功能简述

FPGA芯片

5CGXFC7C7F23C8

详细内容见3.1.1节。

DDR2芯片

MT47H64M16

详细内容见3.1.3节。

1.8V/2.5V电源

TPS76801

将5V电源转成1.8V和1.1V,供给所需电路。

1.1V电源

TPS62000

将5V电源转成1.5V,提供FPGA内核电压。

4.1.15CGXFC7C7F23C8介绍

本次设计的所采用的芯片为CycloneV代(图4-1),为贴片型芯片。

图4-1CycloneV芯片

CycloneV代采用TSMC的28nm低功耗工艺进行开发的,降低了功耗,同时也提高了其性能。

其具有非常丰富的I/O接口。

4.1.2MT47H64M16介绍

本次设计所采用的DDR芯片为MT47H64M16,该芯片引脚图如4-2。

图4-2MT47H64M16引脚图

其各引脚功能为:

A[12:

0]:

地址输入引脚,对于激活命令提供行地址,同时也是数据输入的地址。

BA[2:

0]:

bank选择输入引脚,用来确定DDR2里面的所要读写数据的bank。

CK,CK#:

时钟输入信号,CK和CK#为差分时钟输入,所有的地址和控制信号在CK的上升沿和CK#的下降沿进行采样输入。

CKE:

时钟的允许输入信号。

CS#:

片选信号,高电平有效。

LDM,UDM,DM:

输入数据的屏蔽信号,DM是数据写数据的屏蔽信号,当DM为高时,数据允许输入。

DM取样在DQS的上升沿和下降沿。

LDM是DM中地8为即DQ[7:

0],UDM是DM中的高8位,即DQ[15:

8]。

ODT:

可进行设置的内部终结电阻。

RAS#,CAS#,WE#:

命令控制信号。

DQ[15:

0]:

双向数据总线,用来传输数据。

DQS,DQS#:

数据选通。

LDQS,LDQS#:

数据选通通道,对于低字节位。

UDQS,UDQS#:

数选选通通道,对于高字节位。

VDD:

器件的供电电路,供电电压1.8V,浮动范围不能超过0.1V。

VDDQ:

DQ的电压输入端口,用来提高器件的抗干扰性。

其电压为1.8V,浮动范围不能超过0.1V。

VDDL:

DLL的电压输入端口,其电压为1.8V,允许电压浮动不能超过该电压的0.1V的差值。

VREF:

SSTL_18的参考电压输入端口。

VSS:

参考地端。

VSSDL:

DLL的地端。

VSSQ:

供电端,为DQ的端,用来提高抗干扰性。

NC:

该引脚不进行连接。

NF:

没有功能的引。

NU:

没有使用的引脚。

RFU:

保留的没有使用的引脚,A13的行地址。

4.1.3TPS76801介绍

TPS76801(图4-3)为TI公司生产的一款交流——交流变压模块,其输入电压范围比较大,小至2.7V,大到10V,其输出电压范围为1.2V到5.5V。

还具有热中断功能,并且响应速度非常快。

图4-3TPS76801的引脚图

其引脚功能说明如下:

GND:

参考接地端,一般接电源负极。

EN#:

使能端,高电平时有效

IN:

要转变电压的输入电压端口,其中可以取从2.7V到10V的电压。

PG:

即power-good端口,用来指示输出的电压是否良好,当输出电压浮动超出2%时,其输出为高电平,否则为低电平。

FB:

可调节电压的电压输入反馈,用分压网络来生成所需要的电压。

OUT:

所需要的电压的输出引脚。

4.1.4TPS62000介绍

TPS62000同样也是TI公司生产的一款直流——直流变压芯片,其输入电压范围较小,从2V到5.5V,但其输出电压可以从0.8V到其所输入电压直接变换,输出驱动电流较大。

图4-4TPS62000的引脚图

其引脚功能如下:

Vin:

电压所需要的转换的电压的输入引脚。

FC:

旁路去耦端口,外接一个0.1uF的电容。

GND:

参考零势能点。

PG:

输出的电压是否良好的标志,PG和输出端借一个上拉电阻,当输出的电压在正常输出的92%时,则是定电平,否则输出高电平。

FB:

复合电压输出功能的反馈引脚,在可调节的模式下,外接分压电阻来获取所需要的电压。

PGND:

电压的地引脚,所有的电压地全部链接到该引脚。

L:

该引脚连接到一个电感上,该引脚是个开关引脚,在芯片中连接的内部MOSFETS的漏极。

EN:

允许位,当高电平时开启,低电平时,强制该器件进入关闭模式来减少供电电流,小于1uA

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2