郑智论文副本Word格式文档下载.docx
- 文档编号:22704861
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:62
- 大小:4.64MB
郑智论文副本Word格式文档下载.docx
《郑智论文副本Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《郑智论文副本Word格式文档下载.docx(62页珍藏版)》请在冰豆网上搜索。
具体的要求就是一个通过8位拨码开关的输入模块来决定FLASH存储的数据并由其它4位拨码开关的控制模块对存储器的读擦写操作进行简单控制,最后就是通过显示模块将存入的数据显示出来进行验证与分析。
本次毕设的最终目的就是将存储器的端口连接上这个控制器就可以通过拨码开关的简单操作实现NANDFLASH的复杂操作,进而弥补了NANDFLASH的不足。
关键词:
NANDFlash;
FPGA;
Flash控制器
Abstract
Duetothecontinuousdevelopmentofembeddedsystem,thepeopleofdatastoragecapacityisgrowingrapidly.AtpresentFLASHatmosphereNORandNANDtwotypes,comparedwithNANDFLASHhasasmaller,fasterspeed,moretimetowriteanderaseerasablenumberandahigherprice,hasbecometheidealdevicetostorelargeamountsofdatastorage.WidelyusedinallkindsofdigitalproductsAlthoughcomparedtoNORFlash,NANDFlashhasmanyadvantages,butbecausetheNANDaddressoftheFlash,thecommandsanddatasharingabus,sothatthecomplexityoftheoperationismuchhigherthanthatofNORFlash.ThispaperintroducesthebasicprincipleofNANDFlash,anddesignasimpleNANDFLASHcontrollerfortheconvenienceofouroperationonamemory.MainisbasedontheFPGAdesignofthethreecoremodules:
inputmodule,controlmodule,displaymodule.Specificrequirementsisathroughthe8dialswitchinputmoduletodeterminetheFLASHstoreddataandbytheother4dialswitchcontrolmoduletoreadandwriteofthememoryoperationsaresimplecontrol,finallyisthroughthedisplaymodulewillbestoredinthedataaredisplayedforverificationandanalysis.ThefinalpurposeofthisgraduationdesignisthecomplexoperatingmemoryportonthecontrollercanbethroughsimpleoperationdialswitchimplementationsoftheNANDFLASH,whichmakesuptheshortageofNANDFLASH.
Keywords:
FPGANAND;
flashcontroller
目录
第一章绪论1
1.1研究背景1
1.2NANDFlash概述1
1.3FlashMemory的发展趋势及研究现状2
1.4本文研究的主要内容及其意义3
第二章FPGA介绍基本实验的开发流程4
2.1FPGA的基本介绍4
2.2典型FPGA的一般开发流程5
2.2.1电路功能设计5
2.2.2功能仿真6
2.2.3时序仿真与验证6
2.2.4芯片编程与调试6
2.3本实验的开发流程及思路6
第三章实验各个模块介绍8
3.1NANDFLASH模块8
3.1.1NANDFLASH存储结构8
3.1.2NANDFLASH操作基本命令集9
3.1.3NANDFLASH读操作10
3.1.4NANDFLASH擦操作11
3.1.5NANDFLASH写操作12
3.2控制模块13
3.3数码管显示模块13
第四章软件实现及仿真15
4.1硬件描述语言介绍15
4.2FLASH存储模块软件设计15
4.3显示模块软件设计16
4.4分频器模块18
4.5各个模块整合19
第五章硬件电路实现21
5.1硬件电路每部分的连接21
5.1.1拨码开关控制部分21
5.1.2FLASH存储器部分22
5.1.3数码管显示部分22
5.2FPGA开发板引脚分配23
5.3总体电路连接及程序烧录25
5.4理想效果27
5.5调试过程27
5.6设计结果28
结论29
致谢30
参考文献31
附录33
第1章绪论
1.1研究背景
现如今电子设备已经成为融合多种功能的多功能产品,比如IPDA、照相机、MP3、视频等集多种功能于一体的多功能通讯设备和具备数据处理和分析能力的电子设备己成为市场发展的主流趋势,娱乐和游戏、多媒体应用、信息处理和智能商务等要素已经是消费者普遍对的一个中高端手机所应具有的基本要求。
近些年尤其是随着3G时代的来临,伴随着网络带宽的不断拓宽让更多的娱乐和智能商务等应用成为手机中必备的功能,这就使得数据传输服务与语音服务并重有时甚至超过语音服务的需求[1]。
但这些需求都使存储器在存储数据量大小面临新的挑战,在手机从2.5G至2.75G再到3G的不断发展中,存储器子系统在整个手机芯片系统中变的越来越重要,其成本在整个系统成本中所占的比重不断上升,所需求的存储容量正在不断的提高中[2]。
随着嵌入式系统不断的向前的发展,对数据存储容量的需求正在快速增长。
而Flash具有运行速度较快、高密度、数据不易丢失和可多次读擦写等特点,所以广泛应用在智能手机、存储卡、音乐播放器、数码相机、平板电脑等领域。
NORFLASH和NANDFLASH是存储器的两种主要的元器件,而NANDFlash相对而言具有更小的体积、更快的读擦写速度、更多的可擦除次数以及更高的性价比等优势,从而可以成为存储数据最理想的器件,特别适合需要大容量存储的电子产品。
1.2NANDFlash概述
半导体存储器可以按照信息的保存性和存储方式还有数据存储原理的不同进行不一样的分类。
仅仅从信息的可保存性方面来分的话,半导体存储器可分为挥发性半导体存储器VM(VolatileMemory)和非挥发性半导体存储器NVM(NonVolatileMemory),前面一个也称为易失性存储器,这种存储器所存的信息只要一断电后就会消失,后面一个又被称为永久性存储器或者非易失性,顾名思义就是这种存储器通常在系统断电后所存储的信息不会丢失。
FlashMemory就是属于一种非挥发性半导体存储器,即它具有信息不易丢失的特性。
它是鉴于八十年代到九十年代在同样也是属于非挥发性半导体存储器的EPROM和EEPROM存储器的基础上发展起来的一种性能更优良的存储器,国内也通常叫它为闪存即闪速存储器。
FlashMemory作为一种最新型的半导体存储器,它的特点主要是体积相对较小、耗能少、存储速度快、性价比高[3]。
十多年来,FlashMemory的飞速发展一直都远远高于摩尔定律的增长速度。
目前为止,FlashMemory已发展成为IC技术发展的主要驱动方向之一,鉴于其市场发展迅猛,现在已和传统的DRAM、SRAM一起被称为IC存储器的三大支柱产业。
采用这种结构实现技术主要用于数据的存储或文件的存储两个方面,适用于MartMedia卡、CompactFlash卡、PCMCIAATA卡、固态盘的存储介质,成为闪速磁盘技术的核心器件。
所以NANDFLASH存储器具有以下等特点:
(1)通常都是以页为单位进行或者程序的编写操作,l页的存储容量通常为512B或者2KB;
以块为单位进行擦除操作,1块大小通常在128KB到32KB之间。
具有快编程和快擦除的功能,其块擦除时间是ms级(比NORFLASH擦除所用时间少很多)[4]。
(2)数据线和地址线是同一线,都通过串行读取,随机读取的速度比较慢并且字节随机编程不能实现[5]。
(3)芯片体积较小,引脚也少,已经发展成为成本(bitcost)最低的固态存储器,已突破每兆字节l美元的范围[6]。
(4)芯片中有可能包含失效块,数目可能达到30到40块(这主要由存储器的密度来决定的),失效块不会影响其他有效块的基本功能,但值得注意的是设计者需要将失效块在地址映射表中手动屏蔽起来[7]。
1.3FlashMemory的发展趋势及研究现状
NANDFLASH存储器于1980年代开始研究,由于刚开始的成本相对比较高的原因,仅仅被应用与军方面;
直到1993和1994年左右,才开始进入一般工业及产业应用(Industrialapplications)的领域,在之后的十几年间价格越来越低并且由于NANDFlash快速发展已具有储存大量资料的功能,开始逐渐被用于各种类型的电子产品例如数码相机、MP3等要求各种型号的体积较小的记忆卡。
同时随着人们对手机、PDA及数码相机等移动性电子产品存储容量需求的不断扩大,也成为NANDFlash逐渐取代NORFlash原有的地位的因素之一;
虽然NORFlash较早为IC存储行业所使用,但逐渐暴露出其成本较高以及写入速度较慢的缺点,这导致它只能被应用于在一些注重执行速度或者资料储存容量小的系统应用的领域(例如:
电脑的BIOS设定、线擦写、掉电保护数据以及分区保护数据等)。
NAND型存储器的除了在机器内部的应用外,有时为了能扩充和操作起来更方便,制造出类似软碟片一样便于随身携带的形状,这就是我们通常所说的快速闪存卡,一般有:
SmartMedia、CompactFlash和SecureDigital等。
现在伴随着人们对电子产品的需求量不断提高,同时对存储设备容量需求也在迅猛发展,所以,嵌入式类型存储器的发展前景一片大好[8]。
由于开发NANDFlash设备投资金量较多、技术要求比较高等限制,所以全球主要的生产厂商均为IDM企业,如Samsung的Electronics、Powerchip(力晶)、Toshiba、Sandisk、Micron(美光)、Hynix等。
2011年左右NANDFlash的制造技术基本都在在25nm左右,但大都表明到2012年制造工艺技术要缩小至20nm以内,且在不久的将来将向1Xnm挺进。
在今年初,三星公司公布在中国西安总投资70亿美元用来建设韩国国外最大的NANDFlash生产工厂,并将技术的级别限定在1Xnm。
近些年工艺的不断发展由2Xnm转向1Xnm的转变,也使得单个芯片的体积缩小为原有的三分之二,进而导致芯片价格再次大幅下降。
1.4本文研究的主要内容及其意义
由于NANDFALSH在其结构上独有的特点,区别于其他的存储元器件,单位体积内存储的数据量大,且与NORFLASH相比写入速度较快,大大降低了每比特的成本。
因为NANDFLASH采取复用的数据线和地址线的方法,这就导致我们要先通过寄存器进行数据的存取和读取,除此之外由于型号的不同存储元件对信号的端口定义不同,从而在操作应用方面比NORFLASH增加不少的难度。
所以我们十分有必要设计一款NANDFLASH控制器,这样可以方便开发人员更容易的对NANDFLASH进行操作。
所以本文主要研究NANDFLASH的控制器设计,从而更方便和更快捷的实现存储器的读写,擦除,写入等功能。
第2章FPGA芯片介绍及开发流程
2.1FPGA的基本介绍
FPGA(Field-ProgrammableGateArray),全称为现场可编程逻辑门阵列,这是一种在PAL、GAL、CPLD等器件基础上发展起来的一种新型可编程器件。
目前它主要的应用领域是集成电路中的半定制电路,这种器件既有利于解决可编程器件中门电路数量不足的缺陷,又对定制电路的不足进行了弥补。
因为FPGA的操控层次相对而言比较低,所以芯片的可选择性相对比较大,对FPGA的编程在编译后转化为FPGA内的各种类型的电路,就类似于FPGA内拥有大量的或非门、与非门和触发器等常见的数字逻辑器件,电路中的门电路数量的多少及连接方式则由开发人员所写的程序所决定。
只要FPGA的存储空间足够大,理论上任何数字系统包括单片机甚至于CPU都在芯片中形成。
此外FPGA在防止外界干扰,运行速度上也有很大优势[9]。
FPGA的基本特点包括以下几点,第一,因为FPGA采用特殊的ASIC电路(专用集成电路),所以可以很方便的就能得到适用的FPGA芯片。
第二,FPGA上的芯片内部设有大量的触发器和I/O引脚,这便于我们与外接设备的连接。
第三,FPGA是所有的ASIC电路中所需的开发费用最低、产品设计周期最短、隐藏的风险最小的器件之一。
最后,FPGA可以很方便的与TTL、CMOS电平兼容且其耗能少。
这就决定了FPGA芯片是最适合应用小批量、高集成度、高可靠性的电路设计元器件。
目前在全世界市场中,FPGA的技术与市场仍然占据绝对垄断地位的是Xilinx、Altera两大公司。
两大公司垄断了市场份额的9成以上,伴随着垄断地位不断的加强与美国政府实行对出口我国的FPGA产品与技术的严格审核和禁运的政策,这使得我们国家在航天航天以及国家安全等领域的发展受到严重的约束。
所以研发具有自主知识产权的FPGA技术与相关产品已经成为刻不容缓的任务。
这样才有利于我们国家的长远发展和打破西方国家的价格垄断地位。
作为一种可编程逻辑器件,在短短数十年中FPGA的地位逐渐从电子设计的外围器件向数字系统的核心方向不断转变和发展。
与此同时随着半导体工艺技术的进步和发展,FPGA芯片近些年在设计等各发面都取得了非常大的进步。
鉴于FPGA器件的发展历程,我们不难预测今后FPGA将朝以下几个方向发展[10]。
(1)动态可多次构造以及多片集成;
(2)所需电压低、耗能少、成本费用低、更廉价;
(3)IP软/硬核使用、系统集成度高;
(4)密度更高、运行速度快、高宽频、保密性强;
(5)更加贴近用户需求,适合多元化的发展。
2.2AlteraEP2C5Q208C8N芯片介绍
Altera公司在成功的推出CycloneI器件系列之后,继而又推出了CycloneII系列。
相对第一个系列来说CycloneII器件的制造基于300毫米晶圆,采用台积电90nm、低K值电介质工艺降低了FPGA的成本,除此之外它的密度也得到了扩充,最多包含达68,416个逻辑单元(LE),可提供622个可用的输入/输出引脚和1.1M比特的嵌入式寄存器。
这使得他和同类90nmFPGA器件相比,它提高了百分之六十的性能和降低了一半的功耗。
低成本和优化特征使CycloneIIFPGA系列为各种各样的汽车、消费、通讯、视频处理、测试与测量、和其他最终市场提供理想的解决方案。
EP2C5Q208C8N就是Altera公司CycloneII系列中的一种。
CycloneII器件不但能够支持NiosII嵌入式处理器,还能够扩展各种外部存储器和外接设备。
单个或多个NiosII嵌入式系统中嵌入式处理器也可以设计成为CycloneII设备提供一些额外的处理的能力或者甚至取代已经在你的系统中存在的嵌入式处理器。
使用CycloneII和NiosII能够拥有成本低和高性能处理方案的共同特点,CycloneII器件支持低成本运用中常见的各种外部寄存器界面和I/O口协议。
来自Altera和合作伙伴IP核使得CycloneII界面和协议变的快速和简单。
这就使得与一般的产品相比,这种芯片能够延长你的产品的生命周期,提高产品进入市场的时间。
下图2-1是本次毕设所采用芯片的开发板平面图。
图2-1开发板平面图
2.3典型FPGA的一般开发流程
常用的FPGA研发流程就是通过QuartusII等编程工具和EDA开发软件对FPGA芯片进行开发。
如图2-2所示是常用的FPGA开发的一般流程图,主要方面包括电子电路的设计、输入方式、功能仿真、功能优化、综合后仿真、硬件实现、布线板级仿真以及芯片烧录与调试等。
图2-2典型FPGA开发过程
2.3.1电路功能设计
一般在设计系统之前,我们首先要完成的是设计方案的论证、系统的主要设计模块和FPGA芯片或者开发板的选择等准备工作。
开发人员一般会从电路的基本要求,如系统的指标和复杂程度的高低,对工作速度和芯片本身性能的要求、成本价格等方面进行综合考虑,最终选择相对最优的设计方案和最适合的电子元器件来进行研发工作。
自上向下的设计方法一般是首选的,具体的操作方法就是先把整个系统分成若干个基本的单元,然后再把每个基本单元划分为下一层次的基本单元,以此类推,直到EDA元件库可以直接被使用为止[11]。
2.3.2功能仿真
功能仿真,是编程人员在程序编写过后通过编译软件对用户所需求的电路进行逻辑性功能检测,在这期间仿真不会有任何的延迟,但是仅仅能对初步的功能进行检测。
具体操作就是要先通过HDL和波形编辑器建立波形文件,仿真结果最终将会以报告文件和接收端输出的信号波形图显示出来,在这个表中我们从可以清楚的观察各个信号的变化过程和具体时间。
这样又便于我们在硬件电路连接前判断程序的错误与否,从而对程序进行修改。
目前常用的工具有ModelSim软件、Cadence公司的NC-Verilog以及NC-VHDL等软件[12]。
这个操作虽然在FPGA开发过程中不是必须要进行的操作,但却是整个设计的最为关键的步骤之一。
2.3.3时序仿真与验证
时序仿真,顾名思义就是将布局布线的延时信息加住到设计的网表中来检验时序是否有错误(即不满足时序约束条件和器件所固有的时序规则,如建立时间、保持时间等)现象[13]。
时序仿真的结果延迟所包含的信息是最全面和最精确的,这能让我们更加清晰的了解芯片运行的是否正确。
因为内部的延时不但与芯片的类型有关,而且延时也可能因为不同的布局布线方法的不同有所区别。
因此在完成仿真电路的布局布线后,我们很有必要严格按照要求对各个模块和整个系统进行时序仿真,了解和分析其具体的时序关系,用来判别系统性能的稳定性,在进行分析的同时注意还要检查并减少竞争冒险的存在,以方便系统有良好的稳定性。
2.3.4芯片编程与调试
芯片的编程与调试是设计系统的最后一步也是最关键的一步。
芯片编程是指产生使用的数据文件,随后将编程数据存储到FPGA芯片中。
但是,芯片编程需也要符合一定的规则,如编程时序、编程电压和编程算法等。
刚开始逻辑分析仪(LogicAnalyzer,LA)是FPGA设计的主要测试工具,由于操作需要大量的测试引脚,所以有时会觉得操作过程复杂,除此之外由于LA的购买成本比较低。
所以目前主流的FPGA芯片生产公司都会在FPGA芯片内部装有内嵌的逻辑分析仪(例如XilinxISE提供的ChipScope和AlteraQuartusII提供的SignalTapII和SignalProb)来解决上述问题,由于这种方案在占用系统的一小部分资源同时又解决了上述问题,所以该方案有很高的实用价值。
2.4本次毕设的开发流程及思路
因为我们所研究的课题工作量不是太大的,所以本次毕设的开发流程和设计思路相对比较简单。
首先分析该毕设最终要求根据需求列出方案,等待方案确定后,选定所需FPGA芯片,这就要考虑I/O端口的需求,此外还需要评估一下需要的逻辑门数,以便选择一个适当规模的FPGA开发板。
然后根据以上两点开始设计硬件电路,和逻辑设计(如果时间允许,或者编译过程不太确定的话,可以先做逻辑仿真)。
在逻辑设计中,一般自上而下或自下而上都可以,先排列一下所需要的模块,并画出所有的模块的互相关系图,整个上层的图画完后就可以开始设计Verilog代码了,这样设计有个优点就是思路清晰,不容易出错,后期即使出现错误也比较容易找到问题完成就是仿真了,一般每个模块都要做一个独立的仿真。
最后就是接板调试了。
本次毕业设计的目的就是通过外接设备实现对NANDFLASH的读擦写等基本的操作,所采用的是ALTERA公司的CycloneII系列的芯片[14],存储器则是三星的K9F1G08U0D,我们完全可以通过Verilog语言来实现其基本功能。
具体的思路就是先通过8位拨码开关来控制输入的数据,再通过FPGA将数据存入到NANDFLASH中。
此外还有四个拨码开关来控制存储器的读擦写操作,将存入到存储器的数据再存到FPGA中,最后通过共阴极数码管显示存入的数据来验证本次设计对错与否。
第3章模块介绍
3.1NANDFLASH模块
3.1.1NANDFLASH存储结构
NANDFLASH的数据存储与普通硬盘有很大的区别,NANDFLASH是一种依靠电子晶体管来存储数据的器件,传统硬盘则是利用磁介质来进行数据的存储。
在NANDFLASH中,通常存在存储单元(MemoryCell)中的数据都是以位为单位存储的。
根据结构的不同FLASH存储器可分为两类,一种是SLC结构的存储器,这种类型的一个存储单元只能存储一位数据.而另一种MLC结构的存储器,在一个存储单元内却能够存储两位数据,图3—1所示的NANDFASH存储单元。
跟据NANDFLASH的位宽不同,对于SLC构造的NANDFLASH来说,通常将8个或者16个存储单元连接在一起,这就会构成8位或者16位宽的NANDFLASH[15]。
图3-1NANDFASH存储单元
本实验中我们采用的NANDFLASH型号是K9F1G
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 郑智论文 副本 论文