《电子线路EDA》课程设计8×9先进先出(FIFO)缓冲器.doc
《《电子线路EDA》课程设计8×9先进先出(FIFO)缓冲器.doc》由会员分享,可在线阅读,更多相关《《电子线路EDA》课程设计8×9先进先出(FIFO)缓冲器.doc(24页珍藏版)》请在三一办公上搜索。
1、课程设计任务书学生姓名: 专业班级: 指导教师: 工作单位: 仅供参考 题 目: 89先进先出(FIFO)缓冲器 一、设计目的根据设计要求,完成对89先进先出(FIFO)缓冲器的设计。进一步加强对Quartus的应用和对VHDL语言的使用。二、设计内容和要求设计一个89先进先出(FIFO)缓冲器,8位字深,9位字宽;当读信号ready有效时,FIFO的输出data_out使能;当ready无效时,FIFO的输出处于高阻态;当写信号writey有效时,9位款的寄存器进行写操作,信号rdinc和wrinc被用来作为寄存器读和写指针递增,以指示该位寄存器的读和写。信号rdptclr和wrptclr复
2、位读写指针指向FIFO的第一个寄存器。data_in是将被载入到一个寄存器的数据。掌握Quartus的操作和使用方法。利用Quartus软件对所设计的电路进行仿真分析。 三、 初始条件 CPLD,按键,时钟信号,拨码开关等。四、时间安排: 2011.1.11课程设计任务布置、选题、查阅资料。 2011.1.12-2010.1.17 设计,软件编程、仿真和调试。 2011.1.18-2010.1.20 设计的硬件调试。 2011.1.21 机房检查设计成果,提交设计说明书及答辩。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目录摘要IIIAbstractIII绪 论31 软件使
3、用31.1 Quartus简介31.2 Quartus基本使用31.2.1 新建工程31.2.2 程序编写31.2.3 仿真31.2.4 硬件调试32 FIFO32.1 FIFO的使用32.2 FIFO的参数32.3 FIFO的分类及设计33 先进先出缓存器设计33.1 设计思想33.2 各部分模块33.2.1 先入先出缓存器33.2.2 消抖电路33.2.3 分频电路33.2.4 顶层原理图34 仿真及硬件调试34.1 缓冲器仿真34.2 缓存器硬件测试35 心得体会36 参考文献3附录3摘要本文介绍了先进先出(FIFO)缓存器的设计方法,主要阐述如何使用新兴的EDA器件取代传统的电子设计方
4、法。利用FPGA的可编程性,拥有简洁而又多变的设计方法。本设计实现了先进先出缓存器的一些基本功能,也把一些新的思路加入到设计中。主要包括采用了FPGA芯片,使用Quartus中的VHDL语言进行编程。VHDL是一个标准语言,其具有良好的移植性,值得本设计更为灵活,从而更有利于产品升级。关键词:VHDL;FIFO;缓存器;Quartus; Abstract This article describes the design approach of First In First Out (FIFO) buffer,it focuses primarily on how to use the eme
5、rging EDA electronic design device to replace the traditional methods, There has many simple yet varied design approaches with the use of FPGAs programmability. This design achieved a FIFO buffer some of the basic functions, but also bring some new ideas into the design. Mainly include the use of a
6、FPGA chip, using the VHDL language in the Quartus ? programming. VHDL is a standard language, which has good portability, it is worth this design is more flexible and thus more conducive to product upgrades. Keywords: VHDL;FIFO;register;Quartus; 绪 论当前电子系统的设计正朝着速度快,容量大,体积小,质量轻,用电省的方向发展。推动该潮流迅速发展的决定性因
7、素就是使用了现代化的EDA设计工具。EDA是电子设计自动化(Electronic Design Automation)的缩写,是90年代初,从CAD(计算机辅助没计)、CAM(算机辅助制造)、CAT(计算机辅助测试)和CAE(计算机辅助工程)的概念发展而来的。EDA技术就是以计算机为工具,在EDA软件平台上,对以硬件描述语言HDL为系统逻辑描述手段完成的设计文件自动地完成逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑行局布线、逻辑仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作1。设计者的工作仅限于利用软件的方式,即利用硬件描述语言来完成对系统硬件功能的描述,在EDA工具的帮
8、助下就可以得到最后的设计结果。尽管目标系统是硬件,但整个设计和修改过程如同完成软件设计一样方便和高效。高速发展的CPLD/FPGA器件又为EDA技术的不断进步奠定可坚实的物质基础。CPLD/FPGA器件更广泛的应用及厂商间的竞争,使得普通的设计人员获得廉价的器件和EDA软件成为可能。VHDL是一种全方位的硬件描述语言,包括系统行为级、寄存器传输级和逻辑门级多个设计层次,支持结构、数据流和行为3种描述形式的混合描述,因此VHDL几乎覆盖了以往各种硬件描述语言的功能,整个自顶向下或自底向上的电路设计过程都可以用VHDL来完成。另外,VHDL还有以下优点:VHDL的宽范围描述能力使它成为高层次设计的
9、核心,将设计人员的工作重心转移到了系统功能的实现和调试上,只需要花较少的精力用于物理实现;VHDL可以用简洁明确的代码描述来进行复杂控制逻辑的设计,灵活且方便,而且也便于设计结果的交流、保存和重用;VHDL的设计不依赖于特定的器件,方便了工艺的转换。1 软件使用1.1 Quartus简介 Quartus II 是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程2。 Quartus
10、包括模块化的编译器。它的编译器支持的硬件描述语言有VHDL、Verilog HDL及AHDL。Quartus支持层次化设计,可以在一个新的编辑输入环境中对环境中使用不同输入设计方式完成的模块进行调用。在设计输入之后,Quartus的编译器将给出设计输入的错误报告,这给编程和修改提供了很好的帮助。 1.2 Quartus基本使用1.2.1 新建工程双击桌面QUARTUS II图标进入主界面,如下图所示: 图1-1 Quartus II主界面单击软件主界面中File ? New Project Wizard.开始新建一个工工程,根据提示选择存储路径,输入工程名,软件会默认顶层实体名与工程名相同并显
11、示。往下选择芯片,在此时选择Cyclone下的EP2C8Q208C8,最后会显示所有选择结果,以供最后确认。确认图如图1.2:图1.2 New Project Wizard1.2.2 程序编写单击File?New.,在弹出的窗口中选择新建VHDL File,然后在其中编写程序。一般用三段式VHDL语言编写程序代码3。 库或程序包调用的说明部分; 实体说明部分; 结构体描述模块功能;编写完成程序代码后,将其以实体名保存,编译程序,若编译成功则继续向下进行。将多个程序连起来成为创建顶层文件,可以由程序编写或者用画图来实现。1.2.3 仿真 单击File?New.,在弹出的窗口中选择新建Vector
12、 Waveform File。左键双击图左边的空白处,在弹出的Insert Node or Bus窗口下单击Node Finder,在弹出的窗口中单击List,并将Nodes Found全部导到Selected Nodes,单击OK,仿真图上会显示所有的输入输出端口。选定某一输入端口,在左边的工具条中选择适当的图标设置输入波形。将所有的输入端口设置完毕后保存,单击Processing?Simulator Tool,Simulation Tool设置为Functional,单击Generate Functional Simulation Netlist。待其完成后选择Simulator Tool
13、窗口下方的的Start,完成后,单击Open,仿真结果会覆盖在仿真图上。根据波形检查是否实现要达到的功能4。1.2.4 硬件调试单击主界面Assignments?Device.在弹出的Setting窗口下单击Device&Pin Option,在弹出的窗口中设置不是用的管脚为高阻态。单击Assignments?Pins,对应实验箱上的管脚名进行设置,设置完毕后进行编译,软件会检测管脚设置有无错误。设置无误单击Programmer,在实验箱与微机主机连接好并通电打开电源的前提下,即可以向实验箱中导入程序,进行硬件调试5。 2 FIFO FIFO( First In First Out)简单说就是
14、指先进先出。由于微电子技术的飞速发展,新一代FIFO芯片容量越来越大,体积越来越小,价格越来越便宜。作为一种新型大规模集成电路,FIFO芯片以其灵活、方便、高效的特性,逐渐在高速数据采集、高速数据处理、高速数据传输以及多机处理系统中得到越来越广泛的应用。2.1 FIFO的使用FIFO一般用于不同时钟域之间的数据传输,比如FIFO的一端时AD数据采集,另一端时计算机的PCI总线,假设其AD采集的速率为16位100K SPS,那么每秒的数据量为100K16bit=1.6Mbps,而PCI总线的速度为33MHz,总线宽度32bit,其最大传输速率为1056Mbps,在两个不同的时钟域间就可以采用FI
15、FO来作为数据缓冲。另外对于不同宽度的数据接口也可以用FIFO,例如单片机位8位数据输出,而DSP可能是16位数据输入,在单片机与DSP连接时就可以使用FIFO来达到数据匹配的目的。2.2 FIFO的参数FIFO的宽度:也就是英文资料里常看到的THE WIDTH,它只的是FIFO一次读写操作的数据位,就像MCU有8位和16位,ARM 32位等等,FIFO的宽度在单片成品IC中是固定的,也有可选择的,如果用FPGA自己实现一个FIFO,其数据位,也就是宽度是可以自己定义的。FIFO的深度:THE DEEPTH,它指的是FIFO可以存储多少个N位的数据(如果宽度为N)。如一个8位的FIFO,若深度
16、为8,它可以存储8个8位的数据,深度为12 ,就可以存储12个8位的数据,FIFO的深度可大可小。一般来说根据电路的具体情况,在兼顾系统性能和FIFO成本的情况下估算一个大概的宽度和深度就可以了。而对于写速度慢于读速度的应用,FIFO的深度要根据读出的数据结构和读出数据的由那些具体的要求来确定。在FIFO实际工作中,其数据的满/空标志可以控制数据的继续写入或读出。满标志:FIFO已满或将要满时由FIFO的状态电路送出的一个信号,以阻止FIFO的写操作继续向FIFO中写数据而造成溢出(overflow)。空标志:FIFO已空或将要空时由FIFO的状态电路送出的一个信号,以阻止FIFO的读操作继续
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子线路EDA 电子线路 EDA 课程设计 先进 FIFO 缓冲器

链接地址:https://www.31ppt.com/p-4147003.html