欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    电子科技大学数字式秒表设计与实现实验报告.docx

    • 资源ID:9942741       资源大小:1.16MB        全文页数:35页
    • 资源格式: DOCX        下载积分:1金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要1金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电子科技大学数字式秒表设计与实现实验报告.docx

    1、电子科技大学数字式秒表设计与实现实验报告数字式秒表设计与实现 指导老师: :学号:摘 要 本文主要介绍了基于FPGA使用VHDL语言的数字式秒表的设计开发流程。该设计以VHDL作为硬件开发语言,以ISE作为软件开发平台,成功的实现了数字式秒表的计数、清零、暂停等功能。并使用了ModelSim仿真软件对各个单元电路模块进行了仿真,且完成了综合布局布线,最终下载到电路板上,实际测试结果良好。关键字:FPGA,VHDL,数字第一章引言第1章选题背景电子技术综合实验课程通过引入模拟电子技术和数字逻辑设计的综合应用、基于MCU/FPGA/EDA技术的系统设计等综合型设计型实验,对学生进行电子系统综合设计

    2、与实践能力的训练与培养。 通过电子技术综合实验课程的学习,使学生对系统设计原理、主要性能参数的选择原则、单元电路和系统电路设计方法及仿真技术、测试方法拟定及调测技术有所了解;使学生初步掌握电子技术中应用开发的一般流程,初步建立起有关系统设计的基本概念,掌握其基本设计方法,为将来从事电子技术应用和研究工作打下基础。第2章实验方式教师引导下的自主实验设计的全过程:方案、电路设计与仿真、设计与实现、测试与调整、总结报告第3章技能培养数字电路的综合设计应用HDL语言 FPGA应用 EDA软件:ISE、Modelsim硬件电路制作或设计,调整与实现设计文档撰写 资料查阅第二章基于FPGA的VHDL设计流

    3、程第4章2.1概述数字秒表是数字电路中的一个典型应用,实际的硬件设计用到的器件较多,连线比较复杂,而且会产生比较大的延时,造成测量误差、可靠性差。秒表的设计有传统方法和现代方法,传统的设计方法耗时耗功,设计强度大,且容易出错,设计的质量不一定是最好的。自然我们考虑到现代方法,即EDA。在EDA设计工具中,用的最广泛的是VHDL和VERILOG,当然还有其它的。比较VHDL和VERILOG,在顶层设计方面VHDL优于VERILOG,在门级电路设计方面VERILOG优于VHDL。随着复杂可编程逻辑器件(CPLD)的广泛应用,以EDA工具作为开发手段,运用VHDL语言,将使整个系统大大简化,提高整体

    4、的性能和可靠性。本次的数字式秒表设计主要是先顶层设计,将秒表的除了外部输入部分以外,其余全部在一片FPGA芯片上实现,整个系统非常精简,而且具有灵活的现场可更改性。在不更改硬件电路的基础上,对系统进行各种改进还可以进一步提高系统的性能。该数字式秒表具有高速、精确、可靠、抗干扰性强和现场可编程等优点。2.2VHDL语言介绍VHDL语言是一种硬件描述语言(Hardware DescriptionLanguage,HDL),主要用在可编程逻辑器件(CPLDFPGA)和专用集成电路(ASIC)两个领域。写好的VHDL程序既可以下载到可编程逻辑器件中实现电路功能,又可以提交到工厂用于ASIC芯片的流片。

    5、VHDL主要用于描述数字系统的结构、行为、功能和接口。VHDL程序结构的特点是将一项工程设计或设计实体(可以是元件、电路模块或系统)分成外部和内部两部分,外部即可视部分,对设计实体和端口引脚进行声明;内部即不可视部分,描述模块的功能和算法。VHDL从实体与外部的接口以及实体内部的功能与结构这两个方面来描述实体,设计实体定义成功后就可生成共享功能模块。在顶层综合或其他设计中就可以直接调用这个实体模块。这种将设计实体分成内外部分的概念是VHDL系统设计的基本点。2.2.1VHDL的特点VHDL的特点:具有更强的行为描述能力VHDL的硬件描述能力很强,可以用于从门级、电路级直至系统级的描述、仿真、综

    6、合和调试,从逻辑功能和行为上描述和设计大规模系统,避开了具体器件内部结构。支持层次化和模块化设计这是运用EDA工具进行电路和系统设计区别于传统设计方法的重要方面,简化了系统设计,优化了系统结构,提高了系统可靠性。可仿真与可综合仿真是指代码模拟硬件的行为,综合是指将代码转化成可物理实现的电路结构。所有的VHDL语句都能用于仿真,但有一部分VHDL语句不能进行综合、翻译成与之对应的硬件电路,并在逻辑器件上实现。VHDL强大的仿真建模功能使设计者能在系统设计的各个阶段都能十分方便地对数字系统进行仿真验证。系统设计与硬件结构无关VHDL语言对设计的描述具有相对独立性,设计者可以进行独立的设计,可以不懂

    7、硬件的结构,也不必了解最终设计实现的目标器件是什么。具有很强的移植能力VHDL语言描述的设计通用性好,可以被支持VHDL标准的不同工具所支持,具有很强的移植能力。VHDL本身的生命周期长。VHDL的硬件描述与工艺无关,不会因工艺变化而过时,而且与工艺技术有关的参数可以用VHDL提供的属性加以描述,当生产工艺改变时,只需修改程序中相应属性参数即可。VHDL语言具有强大的语言功能、硬件描述能力和移植能力及设计与器件无关的特性,并且VHDL语言程序易于共享和复用,因此得到了十分广泛的应用。2.2.2VHDL开发流程采用VHDL语言对硬件电路进行描述的过程应该遵循一定的流程,通常情况下,其流程如图2.

    8、2.2-1所示。图2.2.2-1 VHDL设计电路从流程图可以看出,采用VHDL语言进行硬件电路设计的开发步骤主要包括以下几步:接受电路设计任务在进行硬件电路系统设计之前,首先作出总体设计方案,然后给出相应的硬件电路系统设计指标,最后将总体方案中各部分电路设计任务和要求下达给相应的设计部门。确定电路具体功能设计人员要具体分析电路的设计要求,确定其要实现的具体功能。划分模块、编写程序利用VHDL语言设计硬件电路通常采用自顶向下的设计方法,从电路设计的总体要求出发,先确定顶层模块并进行顶层模块的设计,然后将顶层模块划分为不同的完成一定逻辑功能的子功能模块,最后再详细设计子功能模块。模块划分的好坏将

    9、会直接影响到最终的电路设计,设计人员在这一步应该花费一定的时间,保证模块划分的最优化。VHDL语言程序模拟VHDL语言程序模拟即功能仿真,是利用仿真软件对设计的逻辑功能进行验证,可以在设计的早期发现电路设计上的缺陷和错误,节省设计时间、缩短开发周期。综合、优化和布局布线综合的作用简单的说就将电路设计的较高级抽象层次的VHDL语言描述转化成底层电路表示。优化的作用是将电路设计的时延缩到最小和有效利用资源。布局布线的作用是将通过综合和优化所得到的逻辑规划到一个逻辑器件的逻辑结构中,然后将各逻辑单元放置到相应优化的位置,最后再进行逻辑单元之间、逻辑单元和IO之间的布线,以消除布线延迟。布局布线后的程

    10、序模拟布局布线后的程序模拟又称后仿真,既验证设计的逻辑功能,又验证时序。如果时序不能满足要求,就需要回到前面的步骤重新进行操作。生成器件编程文件和进行器件编程顾名思义,器件编程是针对可编程逻辑器件进行的操作,具体过程是:将设计描述经过编译、综合、优化和布局布线的结果,经过一定的映射转化成一个器件编程所用的数据文件格式,然后通过烧片器或者下载电缆将数据文件下载到指定的可编程逻辑器件中去的过程。2.3FPGA开发介绍2.3.1FPGA简介FPGA是20世纪90年代发展起来的,其密度已超过25X 104 f-JA平,内部门延时小于3ns。这种器件完成某种特定的功能是完全由用户通过软件进行配置和编程来

    11、实现的,而且可以反复擦写,它具有芯片逻辑资源丰富、成本低、功耗小等优势。此外,它的另一个突出特点是现场编程,在FPGA工作的现场,可以不通过计算机把存于FPGA外的ROM中的编程数据加载给FPGA,通过简单的设备就能改变FPGA中的编程数据,从而改变FPGA执行的逻辑功能。这种方法也叫做ICR(ha Circuit Reconfiguration,在电路上直接配置)编程。FPGA的这个特点为工程技术人员维修、改进、更新电路逻辑功能提供了方便。大部分FPGA采用基于SRAM的查找表(LUT,LookUpTable)结构。查找表本质上就是一个RAM。若逻辑函数具有11个输入项的话,就需要由输入个数

    12、为n、容量为2n个位的RAM单元存放函数值,RAM的地址线起输入线的作用,地址即输入变量,RAM输出为逻辑函数值。每输入一个信号进行逻辑运算就等于输入一个地址进行查表,地址所对应的内容就是输出。2.3.2FPGA开发流程图2.3.2-1 FPGA开发流程对于目标器件为FPGA和CPLD的HDL设计,其工程设计的基本流程如图图2.3.2-1所示。现具体说明如下:1、文本编辑:用任何文本编辑器都可以进行,也可以用专用的HDL编辑环境。通常VHDL文件保存为.vhd文件2、功能仿真:将文件调入HDL仿真软件进行功能仿真,检查逻辑功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,只在布线完成以后,

    13、进行时序仿真)3、逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综合成最简的布尔表达式。逻辑综合软件会生成.edf(edif)的EDA工业标准文件。4、布局布线:将.edf文件调入PLD厂家提供的软件中进行布线,即把设计好的逻辑安放到PLD/FPGA内。5、时序仿真:需要利用在布局布线中获得的精确参数,用仿真软件验证电路的时序。(也叫后仿真)6、编程下载:确认仿真无误后,将文件下载到芯片中7、硬件测试:硬件测试的目的是为了在更真实的环境中检验HDL设计的运行情况,特别是对于HDL程序设计上不是十分规范,语义上含有一定歧义的程序。第三章 数字式秒表的软件开发环境本章主要介绍项目中将要用到了

    14、一系列软件,包括用于VHDL语言编写和编译的ISE软件和用于程序仿真的仿真软件ModelSim。3.1开发环境在考虑各种情况后,在本次设计中,由于选择的FPGA芯片是由Xilinx公司生产的,所以我们主要使用ModelSim和ISE软件进行仿真和综合。3.2ModelSim介绍ModelSim是业界最优秀的HDL语言仿真器,它提供最友好的调试环境,是唯一的单内核支持VHDL和Verilog混合仿真的仿真器。是作FPGAASIC设计的RTL级和门级电路仿真的首选,它采用直接优化的编译技术、TcFTk技术、单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用

    15、户接口,为用户加快调错提供强有力的手段。全面支持VHDL和Verilog语言的IEEE标准,支持CC+功能调用和调试。ModelSim专业版,具有快速的仿真性能和最先进的调试能力,全面支持UNIX(包括64位)、Linux和Windows平台。主要特点:RTL和门级优化,本地编译结构,编译仿真速度快;单内核VHDL和Verilog混合仿真;源代码模版和助手,项目管理;集成了性能分析、波形比较、代码覆盖等功能;数据流ChaseX;Signal Spy;C和TclTk接121,C调试。是业界唯一单一内核支持VHDL、Verilog HDL和SystemC混合仿真的仿真器。同时也支持业界最广泛的标准

    16、如Verilog 2001、SystemVerilog等,内部集成了用于CC+,PLIFLI和SystemC的集成C调试器。支持众多的ASIC和FPGA厂家库,可以用于FPGA和ASIC设计的RTL级和门级电路仿真。ModelSiml8J最大的特点是其强大的调试功能:先进的数据流窗121,可以迅速追踪到产生不定或者错误状态的原因;性能分析工具帮助分析性能瓶颈,加速仿真;代码覆盖率检查确保测试的完备;多种模式的波形比较功能;先进的Signal Spy功能,可以方便地访问VHDL或者VHDL和Verilog混合设计中的底层信号;支持加密IP;可以实现与Matlab的Simulink的联合仿真。Mo

    17、delSim分几种不同的版本:SE、PE、LE和OEM,其中SE是最高级的版本而集成在Actel、Atmel、Altera、Xilinx以及Lattice等FPGA厂商设计工具中的均是其OEM版本。SE版和OEM版在功能和性能方面有较大差别,比如对于大家都关心的仿真速度问题,以Xilinx公司提供的OEM版本ModelSim XE为例,对于代码少于40000行的设计,ModelSim SE比ModelSim XE要快10倍;对于代码超过40000行的设计,ModelSim SE要比ModelSimXE快近40倍。3.3 ISE介绍ISEt是Xilinx公司提供的集成化FPGA开发软件,它的主要

    18、功能包括设计输入、综合、仿真、实现和下载。(1)设计输入ISE软件提供的设计输入工具包括用于HDL代码输入和报告查看的ISE文本编辑器(TextEditor),用于原理图编辑的工具ECS(Engineering CaptureSystem),用于P CORE的COREGenerator,用于状态机设计的StateCAD,以及用于约束文件编辑的Constraint Editor等。(2)综合ISE的综合工具不但包括了Xilinx自身提供的综合工具xsr,同时还可以集成MentorGraphics公司的LeonardoSpectrum和Synplicity公司的Synplify。(3)仿真ISE本

    19、身自带了图形化波形编辑功能的仿真工具HDL Bencher,同时又提供了使用ModelTechnology公司的ModelSim进行仿真的接口。(4)实现ISE的实现功能包括了翻译(Translate)、映射(Map)、布局布线(Place andRoute)等。(5)下载下载功能包括了BitGen,用于将布局布线后的设计文件转换为比特流(Bitstream)文件。还包括了iMPACT功能,用于进行设备配置和通信,控制将程序烧写到FPGA芯片中去。使用ISE进行FPGA开发大致可以分为3个步骤。(1)设计输入和仿真设计输入(Design Entry)是指以HDL代码、原理图、波形图以及状态机的

    20、形式输入设汁源文件,而设计仿真(Simdmion)是指通过仿真工具对设计的整体模块或局部模块进行仿真来检验设计的功能和性能。(2)用户约束条件、综合和实现用户约束条件(User Constraints)的作用是对综合、实现过程进行控制,满足速度、面积、引脚位置等需求。编辑约束条件又包括了4个子项,意义分别为:创建时间约束、配置引脚、创建面积约束、以文本方式编辑约束。综合(Synthesize)是FPGA设计流程中的重要环节,综合结果的优劣直接影响到设计的最终性能。ISE自带的综合工具是XST,同时它也支持SynplifySynplify Pro等第三方综合工具,但是由于Xilinx对于其器件的

    21、底层最为了解,所以使用XST综合往往会得到比较满意的结果。综合包含了3个子项,意义分别为:查看综合报告、查看综合器件的RTL级原理图和检查语法。实现(Implementation)过程也包含了3个子项,ImplementDesign项所对应的子项,意义分别是:翻译、映射和布局布线。需要注意,进行实现步骤之前必须进行约束条件的编辑,否则实现可能会出错。(3)硬件编程硬件编程(Programming)是指生成编辑比特流文件bit,并将其下载到FPGA芯片内部的过程。硬件编程对应图2-5所示的Generate Programming File项。第四章数字式秒表的设计与实现344.1任务要求4.2实

    22、验条件4.3原理框图按照以上需求,整个电路的原理图如图4.3-1所示:图4.3-1 电路原理图从原理图可知,系统需要以下模块:1.分频器:对晶体振荡器产生的时钟进行分频,产生时间基准信号。2.计数器:对时间基准脉冲进行计数,完成计时功能。3.数据锁存器:锁存数据,使显示保持暂停。4.控制器:控制计数器的运行、停止以及复位,产生锁存器的使能信号。5.扫描显示的控制电路:包括扫描计数器、数据选择器和七段译码器,控制8个数码管以扫描方式,显示结果。6.按键消抖电路:消除按键输入信号,输出单脉冲。4.4各模块的实现4.4.1分频器XC3S200A芯片的外部有源晶振频率为48MHz,考虑到系统的稳定性,

    23、本设计选择了1KHz的信号作为各模块的时钟信号,即对晶振信号进行1/480000分频。 对晶振时钟信号进行计数,对每个上升沿,计数器加1;当计数达到47999时,计数清零,从头开始计数,最后获取计数的第15位为计数的输出信号仿真结果如图4.4.1.2-1所示,时钟周期为48000。图4.4.1.2-1 1KHZ信号仿真图4.4.2输入控制电路输入控制模块的功能是识别有效地按键输入和实现输入的按键信号对电子秒表不同状态的控制。,秒表的状态可分为计数开/关,显示锁定开/关和清零。考到有两个输入按键,所以必须有输入控制电路,同时考虑到按下按键以及松开按键会出现抖动,所以必须设计防抖动电路。即按键输入

    24、信号,必须先经过防抖电路,然后进入控制电路。4.4.2.1消抖电路由于按键输入,在按下过程中电平可能会有一个不确定的抖动状态。由于识别的有效按键电平为持续的低电平,因此设计一消抖电路,顶层设计框图如下:消抖电路的仿真结果如下所示:由图可见在1khz的驱动下,消抖电路能够做到每按一次按键只输出一个时钟周期,达到了按键消抖的目的。在实际板子上应用的时候,也还要根据按键实际情况来调整一下计数的周期,从而达到最佳的效果。4.4.2.2控制电路图4.4.2.2-1 控制电路状态图两个去抖动电路传入两个信号,将其组合成一个2bit输入(Start/Stop为高位,Split/Reset为低位),分别代表4

    25、个状态: “00”状态:锁定关,计数关,清零关,输出“111”; “10”状态:锁定关,计数开,清零关,输出“101”; “11”状态:锁定开,计数开,清零关,输出“001”; “01”状态:锁定关,计数关,清零开,输出“110”;处在“01”状态时,过一个时钟周期自动回到“00”状态。状态图如图4.4.2.2-1所示。源程序为见附录。仿真结果如图4.4.2.2-2所示,图4.4.2.2-2 控制电路仿真4.4.3计时模块由设计指标可知,秒表由六位显示最大计时为59min59s99,所以需要4个10进制计数器,还有两个6进制计数器。其中有暂定,清零的功能。整个计时模块的顶层设计电路图如下:4.

    26、4.3.1十进制计数器计数器输入端每识别一个上升沿,就依次从“0000”计数到“1001”。当计数变为“1001”时,进位端从1变为0,在下个输入的上升沿“1001”变为“0000”,进位端恢复1。如此,将进位端连入下一级的输入端时,可以实现低位由9变为0时高位进1。当清零信号有效时,计数器强制将计数值变为“0000”。源程序为见附录. 图4.4.3.1-1 十进制计数器仿真图如图4.4.3.1-1所示,计数周期为10。4.4.3.2六进制计数器 六进制计数范围是“0000”到“0110”,在“0110”时进位端发生变低,之后计数变为“0000”,进位端恢复高电平。对于六进制来说,三个二进制位

    27、就能够满足计数需要,但是考虑到后面译码器的输入均为四个二进制位,所以计数用4bit,方便译码。源程序为见附录。图4.4.3.2-1 六进制计数器仿真图 如图4.4.3.2-1所示,计数周期为6。4.4.3.3计数器组合 由于显示的最大计数为59min59s99,所以需要四位十进制计数器,以及二位六进制计数器。所以需要将六个计数器组合起来,由低位计数达到最大值,向前一位进1;由于输入的是1khz信号,这里用另外用了一个模10计数器将1khz信号分频到100hz,最后组合的电路模块连接图如下:图4.4.3.3-1 计数器组合仿真图4.4.3.4锁存器锁存器实现电子秒表的显示锁定功能。其输入时钟为外

    28、部时钟(1kHz)。当锁定信号无效时,在每个时钟上升沿将输入的数据信号输出;当锁定信号有效时,输出的数据信号保持当前值,无视输入数据的改变,源程序见附录。图4.4.3.4-1 锁存器仿真图放着结果如图4.4.3.4-1所示,当输入信号为高电平时,输出和输入信号相同;当输入信号为低电平时,输出信号保持当前值。4.4.4显示模块显示模块主要完成显示扫描和编码翻译的功能。其中需要用到扫描器,多路选择器和译码器, 时钟信号连接一个扫描器,用计数原理输出3bit扫描信号。利用3-8译码器的原理,实现对八位数码管的扫描,输出位选信号;另一方面根据相应的位选信号,将要现实的bacd码转换成数码管的七段显示码

    29、输出,整个显示模块的顶层电路图如下:4.4.4.1扫描器扫描器实现了八位数码管共用一组输入数据的可能性。其通过一个计数器,在每个时钟信号的上升沿,其输出的三位二进制信号加一,从“000”计数到“111”。当输出为“111”时,下一个时钟上升沿输出变为“000”,关键的程序代码如下:weixuan_code = weixuan_code+1 when clkevent and clk=1;图4.4.4.1-1 扫描器仿真图 扫描器仿真图如图4.4.4.1-1所示,扫描器根据时钟信号从“000” 计数到“111”。4.4.4.2多路选择器多路选择器输入八组四位数据信号和一组三位扫描信号,通过扫描信

    30、号的状态选择相应的数据信号进行输出源程序,源程序见附录。图4.4.4.2-1 多路选择器仿真图多路选择器放着结果如图4.4.4.2-1所示,多路选择器根据扫描信号的输入选择相应的信号输出。4.5分配引脚和下载实现 全部仿真通过后,就运行ISE的设计实现,然后再打开XILINX PACE,在里面分配引脚,即实现设计的输入输出端口与实际芯片的输入输出端口的对应连接。比如七段LED管的控制信号就连接到实际电路的七个引脚。需要注意的是一些端口是固定的,不能胡乱的连接。比如时基信号即石英振荡器所提供的信号就只能由T8输入。一切都准备就绪后就,便可开始下载了.分配引脚的源文件如下:NET clk_raw

    31、LOC = N9;NET duanxuan LOC = B12;NET duanxuan LOC = A11;NET duanxuan LOC = C11;NET duanxuan LOC = C10;NET duanxuan LOC = A10;NET duanxuan LOC = B10;NET duanxuan LOC = A9;NET duanxuan LOC = C9;NET split_reset LOC = F4;NET start_stop LOC = G5;NET weixuan LOC = N13;NET weixuan LOC = M13;NET weixuan LOC = L13;NET weixuan LOC = K13;NET weixuan LOC = J13;NET weixuan LOC = J12;NET weixuan LOC = H13;NET weix


    注意事项

    本文(电子科技大学数字式秒表设计与实现实验报告.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

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


    收起
    展开