《数字系统与fpga设计》实验指导书.doc_第1页
《数字系统与fpga设计》实验指导书.doc_第2页
《数字系统与fpga设计》实验指导书.doc_第3页
《数字系统与fpga设计》实验指导书.doc_第4页
《数字系统与fpga设计》实验指导书.doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字系统与FPGA设计实验指导书实验一 设计输入(2学时)一、实验要求学习使用quartus2设计软件。学习模块和原理图编辑器、文本编辑器使用,掌握模块图和原理图的输入方法,完成本讲实例my_design的模块图输入和原理图mux2的输入,并完成HDL模块my_dff.v的输入。完成设计编译。二、实验设备PC机 一台Quartus5.1 开发软件三、设计步骤1、使用Quartus5.1软件新建项目my_design。选择FileNew Project Wizard选项,输入新建项目名称my_design,单击next完成项目建立;2、在FileNewBlock/Schematic document选择Device Design Files进入模块编辑器,对mux2完成模块图和原理图输入;3、选择HDL模块,利用文本编辑器完成my_dff.v的输入。四、实验电路描述与实验结果1、完成项目my_design的顶层设计(附设计图)。2、对mux2完成模块图和原理图输入(附模块图和模块原理图)。3、对my_dff.v进行HDL输入设计(附Verilog HDL程序)。五、思考题1、常用的设计输入的方法有哪些?2、图表模块的输入设计流程是什么?怎样实现模块图和原理图输入(写出具体步骤)。3、在编译设计时有哪些需要注意的问题?实验二 简单电路仿真与IP定制(2学时)一、实验要求1、学习quartus2设计软件的仿真工具使用,掌握波形编辑器使用,建立my_design的激励波形输入文件,并完成其功能仿真。2、宏模块的定制与仿真。建立新工程,如my_design4。学习quartus2的宏模块定制方法,用LPM宏定制10bit加法器、RAM和ROM,并完成它们的功能仿真。二、实验设备PC机 一台Quartus5.1 开发软件三、设计步骤1、建立项目my_design,完成激励波形文件输入和仿真。(1)在File 菜单下,点击New命令,在随后弹出的对话框中,切换到 Other Files 页。选中 Vector Waveform File 选项,点击 OK 按钮进入波形编辑界面。(2)在 Edit 菜单下,点击 Insert Node or Bus命令。(3)点击 Node Finder按钮,打开Node Finder对话框。点击List按钮,列出电路所有的端子。点击按钮,全部加入。点击OK按钮,确认。(4)回到 Insert Node or Bus 对话框,点击 OK 按钮,确认。(5)选中信号,在 Edit 菜单下,选择 Value = Clock 命令。在随后弹出的对话框的 Period 栏目中设定参数,点击 OK 按钮。(6)保存文件,在 Processing 菜单下,选择 Start Simulation 启动仿真工具。仿真结束后,点击确认按钮,观察仿真结果。2、完成10bit加法器的LPM宏定制(参见课件8bit加法器和教材第6章P321)。3、对RAM和ROM进行宏定制(参见课件ROM使用和教材第6章P321)。四、实验电路描述与实验结果1、列出项目my_design的激励波形和仿真结果。2、列出用LPM宏定制10bit加法器的仿真结果。3、列出用LPM宏定制RAM和ROM的仿真结果。五、思考题1、Quartus5.1仿真平台由哪三部分组成,各自作用是什么?2、什么是IP,如何进行分类?3、如何进行宏模块定制,在使用上有何原则?实验三 8bit无符号数串行硬件乘法器模块设计和功能仿真(2学时)一、实验要求用一个8bit加法器串行相加实现,模块如下图。 完成模块设计和功能仿真。 输入输出说明:Reset:复位Clk:时钟St:启动信号Done:运算结束信号Mul:乘数Muld:被乘数Product:运算结果二、实验设备PC机 一台Quartus开发软件 三、实验原理:1.模块体系结构模块主要由三大部分构成,控制单元负责控制逻辑、移位累加器和加法计数器实现具体数据处理和数据路径。控制单元移位累加器加法计数器2.乘法原理算法模型如下图:四、实验步骤1. 使用quartus2设计软件建立工程文件。由file New block/进入,由模块实现选择进入。2. 使用verilog语言设计控制单元,用模块编辑器调用宏器件设计乘法器的移位累加器和加法计数器。(参见课件第二讲模块编辑器内容)3. 根据设计要求建立仿真激励文件。(参见课件第二讲Quartus2仿真工具内容)4. 编译定制乘法器模块,并在simulator tool中点击【Start】,运行仿真器进行功能仿真。五、实验电路描述与实验结果1.模块算法流程图及说明。2.控制逻辑ASM图及说明及相关程序代码3.功能仿真时序图。六、思考题1. 在数字系统设计中,用户可以利用加入Quartus II 提供的基本器件库(primitives)的器件来设计,也可以利用加入Quartus II 提供的LPMs,宏功能函数(器件),以及用户自己用HDL构造的库函数来设计。简述各种设计方法的优缺点。 2.分析自己的激励文件波形和功能仿真时序图,根据功能仿真结果说明你的设计是否正确?给出理由。实验四 8bit无符号数串行硬件乘法器模块设计综合与FPGA实现(2学时)一、实验要求在完成“8bit无符号数串行硬件乘法器模块设计”的功能仿真基础上实现该模块,即分配芯片管脚,设置设计约束,综合实现该设计。查看设计的资源使用情况,进一步查看静态时序分析报告,分析芯片管脚的建立、保持时间要求。使用辅助设计工具查看设计实现结果,加深对设计的理解。二、实验设备PC机 一台Quartus开发软件 三、实验步骤1.进入Quartus软件界面,选择AssignmentsPin Planner进入管脚编辑器,分配芯片管脚。2.在Quartus软件界面的AssignmentsTime Setting中选择Time Requirments&Option,设置时序约束输入。(参见课件第四讲)3.在Quartus软件界面的AssignmentsSetting中选择Analysis & Synthesis Settings 进行综合工具设置。(参见课件第四讲)4.在Quartus软件界面的AssignmentsSetting中选择Synthesis Netlist Optimazitions进行综合网表的优化。(参见课件第四讲)5. 在Quartus软件界面中的AssignmentsSetting中选择Fitter Settings进行时序驱动的分配设置。(参见课件第四讲)6在完成上述设置后进入Quartus软件中的ProcessingStart Compilation开始启动综合与布局布线。7. 综合与布局布线完成后,在Quartus软件中的toolsRTL Viewer和Technology Map Viewer中观察相应的RTL级原理电路图和工艺库映射图的综合结果,并进入Quartus软件中的toolsTiming Analyzer tool,进行静态时序分析。8. 在toolsSimulator tool,进行动态时序仿真分析验证。9.改变全局时钟设置重复上次实验,观察静态和动态时序分析结果的异同。四、实验电路描述与实验结果1.综合的RTL级原理电路图2.综合的工艺库映射图3动态时序仿真结果(两种全局时钟)五、思考题1.动态时序分析与静态时序分析有什么不同作用?2.实验第9步完成后,观察静态和动态时序分析结果,列出几个典型信号延时值,对于不同延时值解释其含义?实验五 交通灯控制器设计(4学时)一、实验目的1、掌握FPGA综合建模设计方法。2、掌握FPGA各种建模方法的综合运用。二、实验设备PC机 Quartus开发软件三、实验要求设计一个具有主、支干道十字路口的交通灯自动控制芯片。当主干道与支干道均无车辆要求通行时,主干道应保持畅通,亮绿灯,支干道亮红灯。如果主干道无车,支干道有车,则允许支干道通行,主干道亮红灯,支干道亮绿灯。如果主干道和支干道均有车要求通行,则两者应交替通行,并要求主干道每次通行30秒,支干道每次通行20秒,并显示剩余时间。每次绿灯变红灯时,黄灯应先亮3秒钟,并显示绿灯和黄灯剩余时间。系统设计依据:主、支干道上有车时,车辆传感器输出为高电平。系统实现要求:要求在Mars-EP1C3-EDA实验平台上,用FPGA实现该交通灯自动控制芯片。四、实验原理1. 系统设计分析根据自动交通控制系统设计规范,可对该系统的工作过程作如下分析:1) 一般情况下,如果主干道和支干道均无车辆要求通行,应该保证主干道绿灯亮,支干道红灯亮,剩余时间按30秒循环显示。2) 若支干道有车辆要求通行,主干道无车辆,则应允许支干道车辆通行;在支干道有车辆通行时,若主干道无车辆要求通行,则支干道始终保持畅通,剩余时间按20秒循环显示;如果此时支干道已无车辆要求通行,或主干道有车辆要求通行,并且支干道通行时间已超过20秒钟,则应立刻准备使主干道通行。3) 若主干道、支干道均有车辆要求通行,则应先保证主干道通行30秒钟后,允许支干道通行。4) 在允许主干道通行前,应先使支干道的黄灯亮3秒钟,主干道红灯保持3秒钟后,变成主干道绿灯亮,支干道红灯亮。在允许支干道车辆通行前,应先使主干道黄灯亮3秒钟,支干道红灯保持3秒钟后,变成主干道红灯亮,支干道绿灯亮。2. 系统模块划分与结构框图系统结构框图如图所示系统分为三个模块:TR_ctl:交通灯控制。Clock_cnt:定时计数。Disp_ctl:剩余时间显示。输入输出信号:clk:系统时钟reset:1,系统复位b_req:1,支干道通行请求m_req:1,主干道通行请求d_out7:0:显示数据输出d_col1:0:动态显示LED选择mgreen:1,主干道绿灯亮myellow:1,主干道黄灯亮mred:1,主干道红灯亮bgreen: 1,支干道绿灯亮byellow:1,支干道黄灯亮bred: 1,支干道红灯亮3. 顶层设计系统顶层模块设计与各模块输入输出信号如图示:顶层模块结构图设计规范与说明:系统时钟和复位规划:本设计采用一个全局时钟clk和复位reset。芯片与封装选择:本设计用EP1C3T FPGA实现,144脚封装,输入输出为LVTTL电平。系统各模块功能说明:1) TR_ctl:交通灯控制模块。根据主、支干道车辆通行请求和通行规则,控制交通灯。控制定时计数模块启动,并接收定时到信号。2) Clock_cnt:定时计数模块。接收TR_ctl的定时启动控制,s_3s 、 s_20s 、 s_30s 分别为3秒、20秒、30秒计时初值加载和减法计数启动的控制脉冲,为1时启动相应计时。cnt_ok 是计时到指示脉冲,为1表示已减到0,计时时间到。d_time6:0为十进制计时剩余时间,其中d_time6:4 为十位数, d_time3:0为个位数 。3) Disp_ctl:剩余时间显示控制模块,用于控制显示绿灯和黄灯的剩余时间。采用2个7段LED动态显示方式。4. 系统测试方案系统验证、测试方案:1) 采用quartus2的功能和时序仿真分析,验证设计的正确性。2) 在Mars-EP1C3-EDA实验平台上实现本设计,并测试其正确性。具体方案如下图。测试方案图对应得管脚定义为:本设计信号名实验板信号名FPGA引脚备注本设计信号名实验板信号名FPGA引脚备注d_out0display7p5低显dp段mgreenLD5p75低灯亮d_out1display6p4低显g段myellowLD3p79低灯亮d_out2display5p3低显f段mredLD1p85低灯亮d_out3display4p2低显e段bgreenLD11p74低灯亮d_out4display3p1低显d段byellowLD9p78低灯亮d_out5display2p143低显c段bredLD7p84低灯亮d_out6display1p141低显b段m_reqKEY1p107按下为低d_out7display0p142低显a段b_reqKEY2p106按下为低d_col1Dis_A1p27低显示clkCLK_40Mp1640M时钟d_col0Dis_A2p26低显示resetSYS_RSTp144低复位注:实验时,实验板上J1连(2,3),J4连接,J3断开。电源接FPGA扩展板。 五、实验电路描述与实验结果(1)画出本交通灯控制器的流程图,要求能详细反映设计中的每一条件、判断和状态转移的过程。(可以划分成三个功能模块绘制各个模块的流程图)六、思考题(1)如果外部输入时钟为40MHZ,那么实现准确计时的分频器应如何设计?(2)完成仿真,画出系统时序仿真图,结合仿真图分析说明在时序仿真情况下两干道红绿灯的各个状态的转换是否正常。(3)写出本实验的心得,并列出自己掌握了哪些方面知识?自己在哪些方面知识的掌握比较欠缺?自己将要通过怎样的途径来弥补自己的不足?实验六:数字钟设计(6学时)一、实验目的1、掌握FPGA综合建模设计方法。2、掌握FPGA各种建模方法的综合运用。3、锻炼和测试个人独立综合设计能力和各方面知识的综合应用。二、实验设备PC机 Quartus开发软件三、实验要求系统概述:设计一个用 LED 7段显示器显示的24小时制数字钟。系统目标:1. 用8个LED 显示时间,如9点25分10秒显示为,092510。2. 设置2个按键,按键SET用于工作模式选择,按键UP用于设置数值。(可选)3. 按SET键循环设置工作模式为:正常显示时设置分设置秒设置4. 在设置工作模式时,被设置相应数字按1秒速率闪烁,其它数字不变。5. 在设置工作模式时,按UP键一次,被设置相应数字增加1,加到最大值后再加返回0,如小时加到23后再加就返回0,分和秒加到59后再加就返回0 。6. 系统设计依据:外部输入时钟为40MHZ。7. 系统实现要求:要求在Mars-EP1C3-EDA实验平台上,用FPGA实现本系统。四、实验原理1. 系统设计分析1) 时钟计数:秒60进制BCD码计数。分60进制BCD码计数。时24进制BCD码计数。2) 同时整个计数器有清零、调时、调分、调秒功能。在接近整数时能提供报时信号。3) 具有驱动8位8段共阴极扫描数码管的片选驱动信号输出和8段字形译码输出。2. 系统输入输出说明输入输出管脚图newclockinstclkclkrstrstsetsetupupdataout7.0dataout7.0en7.0en7.0顶层模块结构参考图如图所示系统分为三个模块fen1:1秒计时模块。fen60:模60计数器。fen24:模24计数器。fen100:模100计数器。set:时、分、秒数值设定模块。sel:实时输出显示选择模块。decode47:输出显示译码模块。输入输出信号:clk:系统时钟rst:1,系统复位set:时、分、秒数值选择up:时、分、秒数值设定d_out7:0:显示数据输出en7:0;动态显示LED选择顶层模块结构图只做参考,同学们可以参考上图划分模块,也可以自行划分设计模块。(如划分为计时模块、显示输出模块、时间设置模块)clk是外部时钟输入,rst是复位信号,set是工作模式选择信号,up是数值设置输入;en是8个数码管使能控制信号,当en某一位为高时,其对应的数码管接收dataout输出的数据;dataout是8位的数值输出,用来点亮LED显示具体数值;如下图所示,dataout对应图中Display0.7,而Display0.7又对应数码管的A、B、C、D、E、F、G及DP数码段,用来将送入数码管的8位信号转化为0-9的具体数字。en对应图中Dis_A1.8,用来选择当前dataout数据输出的数码管。3. 系统测试方案系统验证、测试方案:1) 采用quartus2的功能和时序仿真分析,验证设计的正确性。2) 在Mars-EP1C3-EDA实验平台上实现本设计,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论