基于FPGA的SPI控制器设计
以下是资料介绍,如需要完整的请充值下载.
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
1.无需注册登录,支付后按照提示操作即可获取该资料.
2.资料以网页介绍的为准,下载后不会有水印.资料仅供学习参考之用.
密 惠 保
资料介绍:
摘?? 要
SPI是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。SPI是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间。SPI Flash主要用于代码存储或者其他非易失性存储应用。
本设计目的在于完成一个SPI Flash Controller的设计,相当于在上层的Driver 和 Flash 器件之间建立起一座连接的桥梁。控制器接收上层配置的并行数据和控制信号,经过控制器处理之后以串行的方式发送至Flash 器件以完成对Flash 的相应的读写等操作。本设计采用Verilog HDL 语言,在Vi 编辑器中完成设计,并用EDA tool对设计进行了编译、模拟、仿真和调试。最后又在FPGA上对结果进行了实践证明。完成上述全部工作之后,再从功能、面积优化和成本缩减等方面对设计进行分析总结本次毕业设计中获得的宝贵经验。
关键词:?? 闪存?? Verilog HDL ??串行 ??并行 ??FPGA
目? 录第一章? 引 言??? 1第二章? SPI FLASH CONTROLLER 简介??? 32.1? SPI简介??? 32.2? SPI FLASH简介??? 5第三章? SPI FLASH CONTROLLER 设计环境??? 73.1? VERILOG HDL语言简介??? 73.2? LINUX系统下的设计开发环境简介??? 83.3? 数字电路设计方法??? 93.4? VERILOG HDL的设计流程??? 93.5? 编译、模拟仿真EDA TOOL简介??? 103.6? ISE软件简介??? 103.7? XILINX SPARTAN-3 系列器件介绍??? 113.8? HE REGISTER BUS 协议简介??? 12第四章? SPI FLASH CONTROLLER设计与实现??? 134.1??? SPI FLASH CONTROLLER的设计流程??? 134.2? 设计规格??? 144.2.1? 设计要求??? 144.2.2? I/O 端口??? 144.3? 功能模块划分??? 164.4? 功能模块设计??? 174.4.1? HE register 总线接口??? 174.4.2? 发送顺序控制逻辑??? 184.4.3? 串并转换控制逻辑??? 214.4.4? 并串转换控制逻辑??? 224.4.5? 数据状态信息选择逻辑??? 244.4.6? 分频模块??? 244.4.7? 片选逻辑模块??? 254.4.8? 中断信号产生模块??? 25第五章? SPI FLASH CONTROLLER测试与验证??? 275.1? 测试环境??? 275.2? 测试文件架构??? 285.3? 测试功能点??? 285.4? 测试流程??? 305.5? FPGA验证??? 315.5.1? C_CODE的仿真??? 315.5.2? FPGA 硬件测试??? 315.6? 验证结果??? 32第六章? 总??? 结??? 35致??? 谢??? 37参考文献??? 39
SPI是英语Serial
Peripheral Interface的缩写,就是串行外围设备接口。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。
闪速存储器(Flash Memory)是Intel公司于1988年推出的一种新型非易失性大容量存储器。它因良好的性能而深受广大用户和半导体芯片制造商的青睐。Flash Memory以其集成度高、成本低、使用方便等优点,在众多领域中获得了广泛应用。在现代数字电路设计中经常需要保存大量数据,而Flash存储速度快、体积小、功耗低且价格低廉,可在线电擦写,信息在掉电后不会丢失,因此成为设计人员的首选。在目前所有的非易失性存储器(PROM、EPROM、EEPROM和F lash)中唯有Flash存储器几乎拥有现今讲究个性化的用户所需的所有特点, 且成本已低于PROM/EPROM,因而已为新一代嵌入式应用(如数字相机和MP3播放机)的首选存储器。
Flash是一种具有电可擦除的可编程ROM,可以分为两大类:并行Flash和串行Flash。并行Flash存储量大,速度快;而串行Flash存储量相对较小,但体积小,连线简单,可减小电路面积,节约成本,二者各有其优缺点,可依据实际需要选取。随着并行总线的数据传输率越来越高,传统的并行接口逐渐暴露出一些设计上的缺陷,比如并行线路的信号干扰问题,而串行技术采有极少的数据线,虽然传输速率受到限制,但在传输数据时几乎不会因为受到干扰而出错。SPI Flash 就是这样一种采用串行接口的Flash 存储器件。
本课题通过对最基本的Flash 器件和SPI总线协议的研究和实现,设计了SPI Flash Controller, 以此来熟悉IP核的设计和验证。