第一范文网 - 专业文章范例文档资料分享平台

基于FPGA的NAND控制器设计 - 图文

来源:用户分享 时间:2025/5/28 22:44:37 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

毕业设计 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行业的一类部分定制的集成电路而制作出来的,这种产品不仅克服了ASIC电路的某些缺点,也客服了旧的PLD器件编程资源不够的缺点。

用HDL语言设计的数字电路系统,能够方便的通过EDA软件工具加载到FPGA上进行验证,这是目前集成电路设计的主要方案。FPGA上的可编辑的元器件包括某些比较基础的与非门,或非门,异或门,同或门,非门,以及时序逻辑电路中最基础的D触发器等等,某些FPGA还集成了乘法器,除法器,甚至是快速傅里叶转换器模块(FFT)。

IC设计工程师可以从设计需求出发把可编程逻辑器件里面的功能模块连接在一起,如同在芯片的内部搭建了一个测试电路板,FPGA内部模块之间的连接关系可以不断改变,从而实现需要的功能。

一般而言,FPGA工作的速度比相同制程的ASIC慢的多,但是可编程器件有专用电路无法比拟的优点,那就是成本低廉,使用方便。一块ASIC从建立项目到设计电路到最终的流片,直到样片出厂最少要一年的时间,而写RTL代码并且将代码模块下载到可编程器件上只需要两三个月。 FPGA与CPLD的区别:

FPGA和CPLD都是可编程的逻辑器件,都被广泛引用在各个领域。然而在IC验证的过程中,基本只使用FPGA,这是由两者的特性所决定的。CPLD是工作的时候,把组合逻辑分解成最小项,然后加载到电路中去。与之不同的是,FPGA工作的时候,把组合逻辑分解为不同的多路选择器。这样的结果是,加载同一个电路,FPGA需要的晶体管的数量更少,也就是说相同制程,相同面积的FPGA芯片可以加载比CPLD多非常多的电路。然而有得必有失,FPGA的运行速度会远远地大于CPLD,因为将电路分解为多路选择器的结构,这个电路的最大延迟时间会很长,性能会收到很大的影响。在IC设计者验证RTL的完整性和正确性的时候,需要FPGA加载更多电路从而能一次完成更大规模的RTL模块的验证,而它的延迟相较而言并不重要,因为FPGA验证在整个IC设计流程之中只占不到10%的时间,FPGA运行的时间更少,所以对FPGA运行速度并没有过于严格的要求。 HDL

设计RTL通常要使用硬件描述语言来设计数字逻辑电路。硬件描述语言语言是用文本文件来确定地描述数字逻辑电路的实际电路的行为和内部架构的语言。主流的HDL语言包括VHDL和verilog语言,两种语言有各自的优缺点,并且两种语言都是由IEEE(美国电子电器工程师协会)制定标准的。通常工业界使用的是verilog语言。这两者有共同的特点:

1,可以抽象的表述数字电路的行为和架构

2,可以从不同的抽象层次描述同一个数字逻辑电路

3,这两种语言描述的电路主要在于型号的转换,和工艺没有太大的关系 4,语言本身支持不可综合的验证模块的设计,方便开发人员的测试和验证 5,两种硬件描述语言书写编辑的过程中使用的文本文件可以很方便地管理 6,两种硬件描述语言都比较容易学习和使用。

比起VHDL语言,verilog硬件描述语言最显著的优点就是便于学习。因为这种语言是参考了最流行的C语言的语法习惯而开发出来的,学习过C语言或者类C语言的人可以非常迅速地学习这种语言。而且verilog硬件描述语言本身语法非常灵活,也使初学者很容易学习,虽然这种灵活的语法规则经常让人写出不可综合甚至于莫名其妙的代码。

课题介绍

1.AXI协议

AXI协议(advance extensivable interface)是由ARM公司设计的一种总线传输协议。

AXI协议的特点包括:

1,可以应用于高速度,带宽较大,延迟时间短的设计 2,提供了非常灵活的联接架构

3,适合用于高延迟的存储控制器的设计 4,可以进行非顺序的读写操作 5,突发数据读写只需要首地址 6,地址和数据分离传输。

AXI总线包括五组传输通道(CHANNEL),分别用于写地址(write address),写数据(write data),读地址(read address),读数据(read data),写应答(read response),每一组传输通道有独立的准备(ready),和有效(valid_信号),用于握手协议。

下面是AXI4-LITE协议的具体内容: 通道 写地址 写数据 读地址 读数据 写应答 AWVALID WVALID ARVALID RVALID BVALID 端口 AWREADY WREADY ARREADY RREADY BREADY AWADDR WDATA ARADDR ARADDR BRESP AWPORT WSTRB ARPORT ARPORT // 每一组传输通道之中都有一个准备(ready),和有效(valid)信号。在一个数据传输的系统之中,当主机和从机即将进行数据交互时,数据传输的发起者发出偶、、有效(valid)信号,数据传输的接收者发出准备(ready)信号,当准备(ready) 和有效(valid)两个信号都是高电平的时候,数据(data)线上的数据必须是正确的即将传输的信号并且随时可以进行传输。

AXI协议规定,在读取数据的时候,应当首先发送读地址,读地址发送握手完成之后开始读数据。在写入数据的时候,应当首先发送写地址,写地址握手完成之后开始写数据。每次读或者写数据之前都应该先发送地址。

AXI协议有很多的优点。这个总线协议采用单方向传输数据方案,任何数据信息只允许从一个方向传输,降低了每条线上的逻辑门的数量,降低了信息传输时的延时,降低了总线对系统时钟频率的限制。AXI协议将数据通道和地址通道分离,从而能够根据需要单独对速度慢的通道进行优化,从而降低延时。同时这个协议有很强的灵活性,主机和从机的数据接口是镜像的,在多点对多点传输的系统之

搜索更多关于: 基于FPGA的NAND控制器设计 - 图文 的文档
基于FPGA的NAND控制器设计 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c1inwk0j2n26j6mx9r6rx_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top