




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
步步详解!基于赛灵思FPGA的秒表设计-“89美元LX9开发板试用风暴”21顶拿到板子的时候,还在忙其他比赛,所以没怎么动过。最近交了作品,终于有时间了。下面我准备用LX9开发板来设计一个秒表,详述利用LX9开发板设计一个实用电路的流程。硬件规划:先说下秒表的硬件组成,秒表有两个按键,一个用于启动计时和暂停计时,另一个用于清零;秒表的显示用到数码管,两位显示秒,还有两位显示毫秒;最后,就是LX9开发板了,硬件组成框图如下:首先,根据需要准备好设计所用到的硬件。由于LX9开发板上没有显示器件,而且其按键仅有两个,除了一个用作复位外,实际留给用户的只有一个按键了,所以要对LX9开发板进行扩展。利用开发板上预留的两个PMOD口,我们可以方便的对系统进行扩展。设计需要一个四位七段共阳数码管和两个按键,刚好把我以前做的按键检测和数码管显示模块用上了,如下图,数码管有七个段选、一个小数点和四个位选,一共需要占用FPGA的12个引脚;按键用到两个,因此占用FPGA的2个引脚;整个模块总共需要14个引脚。LX9上的两个PMOD口一共有16个引脚,完全满足扩展要求。根据LX9开发板原理图(关于LX9开发板的各种资料可到安富利官方网站:/s6microboard上下载)可知,两个PMOD与LX9引脚之间的连接关系如下图:LX9开发板原理图根据模块引脚之间的关联性进行引脚的分配:数码管七个段选和一个小数点占用PMOD1的8个引脚,按照PMOD1的P1脚对应数码管a段,P2脚对应数码管b段的顺序连接好所有引脚;数码管四个位选和两个按键占用PMOSD2的6个引脚,按照PMOD2的P1脚对应数码管位选1,P2脚对应数码管位选2的顺序连接好引脚,两个按键连接到P7和P8。最后硬件连线如下图:硬件连线到此,硬件准备工作完成。软件设计:在本设计中,FPGA要实现的功能模块如下: 时钟产生:通过对LX9开发板提供的基本时钟脉冲进行计数,得出为秒表所需的计时脉冲和数码管动态扫描脉冲,分别为5ms和10ms。 数据处理:计时数据处理对来自时钟产生模块的10ms进行计数,得出秒表的毫秒与秒的数据,并送到时间显示模块;按键数据处理不停地对两个按键进行扫描,当检测到有效键值时,就根据键值进行相应的处理。 时间显示:对计时数据处理送来的二进制数据进行处理,使其能在数码管上显示。下面,开始用ISE 13.2进行设计。打开ISE,点击File-New Project,新建一个StopWatch的工程文件,如下图点Next,出现一个新的对话框中,在Family一行选择Spartan6,Device一行选择XC6SLX9,Package一行选择CSG324,由于设计采用Verilog HDL进行开发,故Preferred Language一行选择Verilog,其他可保持默认或者根据需要选择。点Next,出现如下对话框,确认没有问题后,点Finish。至此,一个新的空工程文件已经生成。如下:接着,添加文件到工程中。在Hierarchy区域中,单击右键,选择New Source,如下图出现如下对话框,选择Verilog Module。根据前面所述顺序,首先设计时钟产生模块,在File Name填上clock,点Next。出现端口设置对话框,本模块中需要一个时钟输入和两个时钟输出,设置如下:点Next,出现以下对话框,确认无误后点Finish。按照上述流程,再添加两个名为stopwatch和sen_seg的文件,添加完成如下:程序按照上面所述思路进行设计,由于程序不是很复杂,所以不进行仿真。完成后,直接进行顶层模块的设计。在顶层模块中,用实例语句将上面3个模块连接起来,如下:最后添加用户约束文件。该文件可以自己编写,或者用PlanAhead,或者直接从安富利网站上下载Avt_S6LX9_MicroBoard_UCF_110804.ucf这个文件,LX9开发板上所用到的引脚都在里面了。下面直接添加该文件到工程中,并根据需要进行相应的修改,并注释或者删除没有用到的引脚定义。设计中要用到的引脚如下:为了方便对整组的引脚进行操作,所以将单一的引脚换成数组的形式表示,如上图红圈中所示;为了确保按键在没有按下的时候检测到高电平,所以将两个按键检测的引脚默认设置为上拉状态,即输入为高电平,如上图黑圈所示。完成上面步骤后,即可进行综合、实现和生成编程文件了。综合(Synthesize)是指将HDL、原理图等设计输入翻译成与门、或门、非门等基本逻辑单元的逻辑连接(网表),并根据目标和要求(约束条件)优化所生成的逻辑连接;实现(Implementation)是指将综合输出的逻辑网表翻译成所选器件的底层模块和硬件原语,将设计映射到器件结构上,进行布局布线,达到在选定器件上实现设计的目的。为了在LX9开发板上运行所设计的电路,需要生成后缀名为“.bit”的编程文件。选择Hierarchy区域中的顶层文件,则在Hierarchy区域下面的进程区域中会出现如下信息:双击Generate Programming File,则ISE会自动进行综合、实现和生成编程文件的操作。以上过程没有问题的话,在Console会出现如下提示:Process Generate Programming File completed successfully,说明已经生成编程文件。最后将生成的文件下载到LX9开发板中,具体操作参考安富利的技术文档:U75_Avnet_Spartan-6_LX9_M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论