基于FPGA的NAND控制器设计精要.docx

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于FPGA的NAND控制器设计精要

毕业设计 1.数字设计 数字系统设计的介绍 实现数字电路的方案 随着电子计算机和手机的普及,数字系统在人们的生活中得到了越来越广泛的应用。数字系统的设计与实现也收到了越来越多的重视。而伴随电路生产工艺的成长和电脑的进步,数字电路系统也在不断发展,数字电路的设计有许多方法: 一,使用制作好的常用的分立的数字器件制成 二,使用微处理器配合外部设备实现, 三,使用可编程的器件实现 四,设计制造完整的数字集成电路芯片。 上述四种方法中,第四种将一个全部整体的电路系统的集成到一块硅片之上,被命名为片上系统,是成本最高,设计难度最大,产品性能最优的设计制造方法,也是行业发展的方向,是如今高性能数字系统设计的最优方案。 数字集成电路设计的流程: 设计数字系统的方案 数字系统设计的方案,主要可以区分为两种大类:从上至下和从下至上这两种。 从下至上的方案: 这种方法比较接近一种尝试法,工程师根据过去设计的经验把复杂的设计依照其功能分解成许多子部分,一直分解直到子部分可以按照传统并且标准的方案设计,最后再把系统组装修改直到满足设计要求。这种设计方案的缺点非常明显,设计强烈的依靠经验,当整体设计出现较大误差的时候,修改和测试验证会出现很大的困难。 从上至下的方案: 从上至下的方案是对电路整体架构层级明显的特性,把整体的设计按照层次进行。常见的是把整个数字系统分成控制模块以及计算模块。假如计算模块或者控制模块的整体时间比较困难,也会继续分解。从上至下的设计方案一般流程是: 1,确定计划实现的功能并分析功能把它的具体算法设计成型。 2,把复杂的功能划分成不同的控制部分和计算部分,同时确定每一个子部分之间的相互关系,确定子部分之间的信号流向和逻辑关系。在确定各部分关系和功能之后再开始分模块地设计。 本论文中涉及的就是采用自上而下的方案,设计一个集成电路上的NAND FLASH控制器。但是由于数字集成电路设计和制造本身的复杂性,它的整个设计制造流程很长并且跨越多个学科领域,本论文的设计的只是RTL(寄存器传输级)级别的设计。下面介绍数字集成电路的设计流程。 行为级(behavior level),设计者在这一阶段描述电路的行为,行为具体指的是输入输出端口本身的信号数值的变化以及逻辑上的关系,忽略这种实际的内部电路对它的影响。行为级是按照人类的分析思路解析问题,大多数时候是根据算法,选择类C++的语言来描述。 RTL级,也就是register transfer level,指的是用寄存器之间的信号传输来描述实际电路的行为。行为级仅仅需要显示电路的功能而不用在乎能否电路实现,但是RTL级描述的是可以实际制造出来的电路,需要遵守严格的设计规定。通常RTL级别的设计采用HDL(hardware description language)语言设计通过EDA(electronic design automatic)工具辅助仿真。工业界常用的HDL语言是verilog语言和VHDL语言。我在设计过程中采用verilog语言。 网表:网表,同时也被称作连线表(英语中叫netlist),说的是用最基本的逻辑门电路来记录电路信息的文件。网表一般记录了电路中元器件之间的连接关系,包括模块,线网,组合逻辑门等等。一般可以用EDA工具自动地把HDL语言描述的电路转换成网表文件。 版图:版图(英文中叫layout),是实际晶源厂商生产IC芯片所需要的描述实际电路中每个元器件,互联线的尺寸,位置的文件。这一步设计仿真验证完成之后整个IC设计就完全结束了。 RTL级别设计的流程 1,设计者根据功能规格要求分模块写RTL代码。 2,验证者根据功能规格要求设计一个完整的测试平台,这个测试平台应当能够方便的产生RTL模块中不同功能操作对应的输入激励,并且把这些激励输入到RTL模块之中,之后测试平台能够自动生成正确的输出并且判断RTL模块的输出是否正确。设计者根据验证的结果不断修改代码以完善功能。 3,验证者设计足够多的测试激励,使这些测试激励能够完整地测试RTL模块的所有功能。 4,在FPGA上验证RTL代码。通过FPGA厂商的合成工具软件,将RTL代码转换成FPGA上的电路配置二进制文件,然后将该文件加载到FPGA上,然后通过FPGA开发板上的外设输入测试激励(有时候也会将前一级的RTL模块一起加载到FPGA上面)并验证模块功能的正确性。 FPGA的介绍: FPGA(field programmable gate array),翻译为现场可变成门阵列,这是在可编程门阵列,复杂可编程门阵列等电子设备上的基础不断进步不断研究的产物。FPGA是用来做application specific integrated circuit行业的一

您可能关注的文档

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档