FPGA设计实验指导书(2015)_第1页
FPGA设计实验指导书(2015)_第2页
FPGA设计实验指导书(2015)_第3页
FPGA设计实验指导书(2015)_第4页
FPGA设计实验指导书(2015)_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、FPGA设计实验指导书安全操作注意事项1、接插下载电缆前,请务必关闭开发板开关,避免损坏下载电缆或实验箱器件。2、操作过程中应防止静电,手指不可以接触开发板的扩展口引脚。3、保持实验室整洁。4、小心轻放,避免不必要的硬件损伤或者人身受伤。实验一 Quartus ii软件的操作使用一、实验目的 1、 熟悉Quartus II软件的使用; 2、 掌握用原理图输入法和硬件描述语言(Verilog HDL)两种方法来设计逻辑电路; 3、 通过电路的仿真及验证,进一步了解2选1多路选择器的功能; 二、实验内容1、用原理图输入法来设计2选1多路选择器参照按图1-1所示来编辑完成2选1多路选择器的原理图输入

2、,其中a、b、为数据输入端,sl为控制输入端,out为2选1多路选择器输出端。图1-1 2选1多路选择器原理图2、用Verilog HDL硬件描述语言来设计数据选择器三、实验仪器、设备及材料 电脑、EDA软件、实验箱、下载电缆。四、实验原理2选1多路选择器的RTL图及真值表如图1-2及表1-1所示。图1-2 2选1多路选择器的RTL图表1-1 2选1多路选择器的真值表选择输入sl输出out0a1b五、重点、难点 本实验技术重点在于理解2选1多路选择器的功能后,用原理图输入法和硬件描述语言(Verilog HDL)两种方法来设计该逻辑电路。六、实验步骤(一)原理图输入法的设计步骤:进入Windo

3、ws 操作系统,双击Quartus II图标,启动软件。1、单击File New Project Wizard菜单,输入文件名路径与设计项目的名字mux21a,点击finish, 建立设计项目。点击Assignment Device菜单,选择器件(本设计选用cyclone 系列的EP4CE6E22C8)。2、启动菜单File New,选择Block Diagram/Schematic File,点OK,启动原理图编辑器。画出图1-1(在原理图空白处双击,会出现元件选择对话框,在name处输入元件名,点OK完成元件放置。把鼠标移到元件引脚附近,则鼠标光标自动由箭头变为十字,按住鼠标右键拖动,即可

4、画出连线)。默认存盘名为mux21a,保存。图1-1 mux21a原理图项目导航栏内容如下(依次为层次标签、文件标签、设计单元标签)。选用的FPGA器件型号,双击可修改项目名称3、综合和分析点击菜单栏上分析和综合红色箭头所指的工具图标,可以为下一步功能仿真作准备(注意功能仿真需要产生网表文件)。上图快捷工具栏中主要用到的快捷操作按钮英文含义如下:Project navigator 项目导航;Device 器件选择;Setting 环境设置;Pin planner 引脚锁定;Start compilation 全程编译;Start analysis & synthesis 分析和综合4、

5、引脚锁定点击菜单栏上pin planner红色箭头所指的工具图标,进行引脚锁定,引脚编号请查阅原理图。5、全程编译点击菜单栏上全程编译红色箭头所指的工具图标,可以进行全程编译。6、编译无误后,用下载电缆通过JTAG接口将对应的mux21a.sof文件下载到FPGA中。7、观察实验结果是否与仿真结果相吻合。 (二)用Verilog HDL语言完成的设计步骤:与(一)大体类似,只是在其第步时选择verilog hdl file,点击OK后,键入下列代码:module mux21a (out,a,b,sl);output out;input a,b,sl;reg out;always(a,b,sl)

6、case(sl)0:out=a;1:out=b;default:out=1'bz;endcaseendmodule七、实验报告要求写出用Verilog HDL设计mux21a的主要过程。八、实验注意事项用原理图输入法和Verilog HDL语言两种方法所做的设计,一定要建两个不同的工程,并放在不同的目录中,且目录路径中千万不要出现中文字符。实验二 组合逻辑电路设计一、实验目的1、学习Verilog HDL基本语法;2、巩固Quartus II环境下的Verilog HDL编程设计的基础二、主要仪器设备EDA实验系统1台PC机三、实验内容1、设计一个四线至二线编码器,其真值表如下:表2.

7、1 四线至二线编码器的真值表1、 设计一个2位信号的比较器,该比较器的电路符号如图2.1所示。图2.1 比较器电路符号引脚说明:A、B皆为二位信号;CLK为时钟脉冲输入;RST为清除控制信号。AGTB:当A>B时,其值为1,否则为0;AEQB:当A=B时,其值为1,否则为0;ALTB:当A<B时,其值为1,否则为0;3、设计一个四位全加器。四、实验报告根据以上实验内容写出实验报告,包括程序设计,软件编译,管脚分配,硬件测试结果等内容。实验三 时序逻辑电路设计一、实验目的理解触发器概念,掌握时序器件的Verilog HDL语言程序设计的方法二、主要仪器设备EDA实验系统1台PC机三、

8、实验内容设计以下内容:1、 基本的D触发器;2、 同步复位的D触发器;3、 异步复位的D触发器;4、 同步置位/复位的D触发器;四、实验报告根据以上实验内容写出实验报告,包括程序设计,管脚分配;并提交其仿真结果及分析。 实验四 一般计数器的设计及数码管显示一、实验目的1、学习计数器的设计、仿真和硬件测试;2、掌握原理图与文本混合设计方法;3、学习硬件扫描显示电路的设计方法。二、主要仪器设备计算机1台,FPGA开发板1套。三、实验原理1、将50分频为;2、设计1个模为24的8421BCD码加法计数器。3、将分频或计数结果在数码管上显示。五、实验报告要求根据以上实验内容写出实验报告,包括仿真结果及

9、分析、硬件实现、硬件测试等内容。实验五 乐曲硬件演奏电路的设计一、实验目的学习设计硬件乐曲演奏电路以及相关的控制电路二、主要仪器设备FPGA开发板1台,计算机1台三、实验原理与利用微处理器(CPU或MCU)来实现乐曲演奏相比,以纯硬件完成气脉逻辑要复杂一些。本实验设计项目作为梁祝乐曲演奏电路的实现。硬件乐曲演奏电路顶层模块由个子模块电路构成。其详细实现原理参考教材.200四、实验内容1、定制音符数据ROM_MUSIC。2、完成系统仿真调试和硬件验证。3、(选做内容)在模块MUSIC内填入新的乐曲。五、实验报告根据以上实验内容写出实验报告,包括仿真结果及分析、硬件实现、硬件测试等内容。实验六 M

10、odelSim 仿真测试一、实验目的1、掌握一般计数器的ModelSim 仿真测试方法。二、主要仪器设备EDA实验系统1台PC机三、实验原理以下是2选一多路选择器的verilog结构描述程序:下面是它的测试模块:四、ModelSim仿真步骤见参考资料ModelSim操作简介五、实验内容试设计一个含异步复位、同步计数使能和可预置的十进制计数器,请写出它的Verilog 程序和test bench模块,并在ModelSim软件平台上进行仿真测试。五、实验报告根据以上实验内容写出实验报告,包括verilog源程序和verilog test bench程序,并绘出仿真波形图,总结ModelSim仿真的

11、主要工作流程。实验七 1011序列检测器的设计一、实验目的1、用状态机实现序列检测器;2、进一步熟悉TEST BENCH的编写方法。二、主要仪器设备FPGA开发板1台;Quartus II12.0开发软件;ModelSim仿真软件。三、实验要求1、程序中时钟频率为1Hz;2、数字码流为“1011011001”。3、用开发板和ModelSim验证实验结果。四、实验原理序列检测器的逻辑功能:序列检测器就是将一个指定的序列从数字码流中识别出来。本例中,将设计一个“1011”序列的检测器。设为数字码流输入,为检出输出标记,高电平表示“发现指定序列”,低电平表示“没有发现指定序列”。考虑数字码流为“10

12、11011001”,则如表7.1所示。表7.1序列检测器的逻辑功能时钟67891011X1011011001Z0001001000由表可见,在时钟,码流中出现“1011”,对应输出Z在第个时钟输出高电平“1”,表示“发现指定序列”。同时注意,在时钟47,Z还有一次输出,但它与第一次检出的序列重叠。设电路的初始状态为“IDLE”。五、实验报告根据以上实验内容写出实验报告,包括状态转换图、程序源代码(含序列检测器及其testbench),软件编译summary(Quartus ii 12.0全程编译报告和ModelSim编译报告),ModelSim仿真结果及结果分析,硬件测试情况等内容。选做实验一

13、 交通灯设计及仿真实验一、实验目的1、学习动态数码管的工作原理;2、实现FPGA对四位动态数码管的控制;3、学习设计硬件乐曲演奏电路以及相关的控制电路;3、熟悉模块化编程的操作流程。二、主要仪器设备EDA实验系统1台PC机三、实验内容编写时序控制程序,实现东西、南北向的交通灯计数并亮灯的程序。并用modelsim进行仿真测试。东西、南北方向红灯、绿灯亮的时间各为30秒,黄灯亮时间为3秒;表7.1 交通灯控制器的状态转换表主程序设计提示:(1)为了实现计时,需要设计一个分频器子程序,输出周期为1秒的时钟信号;采用倒计时形式,需要设计减法计时器;(2)为了在七段数码管上正确显示十进制数据,需要设计

14、一个译码器;(3)主程序使用case语句,采用有限状态机的方式设计。四、实验报告根据以上实验内容写出实验方案,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。选做实验二 秒表的设计一、实验目的1、实现FPGA对四位动态数码管的控制;2、熟悉模块化编程的操作流程二、主要仪器设备EDA/SOPC实验系统1台三、实验要求1、秒表的最小计时单位为0.1秒;2、设计的秒表能够实现暂停和继续计时的功能。五、实验报告根据以上实验内容写出实验报告,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。选做实验三 出租车计费器设计一、实验目的1了解出租车计费器的工作原理。2学会用Verilog HDL

15、 语言编写正确的七段码管显示程序。3掌握用Verilog HDL编写复杂功能模块。4掌握电机测速、显示电器、计数电路的设计方法。5熟悉状态机在数字系统设计中的应用二、主要仪器设备EDA/SOPC实验系统1台三、实验原理出租车计费器一般都是按公里计费,通常是起步价xx 元(xx 元可以行走2 公里),然后再是xx 元/公里。所以要完成一个出租车计费器,就要有两个计数单位,一个用来计公里,另外一个用来计费用。通常在出租车的轮子上都有传感器,用来记录车轮转动的圈数,而车轮子的周长是固定的,所以知道了圈数自然也就知道了里程。在这个实验中,就要模拟出租车计费器的工作过程,用直流电机模拟出租车轮子,通过传

16、感器,可以得到电机每转一周输出一个脉冲波形。结果的显示用8 个七段码管,前四个显示里程,后四个显示费用。在设计verilog 程序时,首先在复位信号的作用下将所有用到的寄存器进行清零,然后开始设定到起步价记录状态,在此状态时,在起步价规定的里程里都一直显示起步价,直到路程超过起步价规定的里程时,系统转移到每公里计费状态,此时每增加一公里,计费器增加相应的费用。为了便于显示,在编写过程中的数据用BCD 码来显示,这样就不存在数据格式转换的问题。比如表示一个三位数,那么就分别用四位二进制码来表示,当个位数字累加大于9时,将其清零,同时十位数字加1,依此类推。四、实验内容本实验要完成的任务就是设计一

17、个简单的出租车计费器,要求是起步价3 元,准行1 公里,以后1 元/公里。显示部分的七段码管扫描时钟选择时钟模块的1KHz,电机模块的跳线选择GND 端,这样通过旋钮电机模块的电位器,即可达到控制电机转速的目的。另外用按键模块的S1 来作为整个系统的复位按钮,每复位一次,计费器从头开始计费。直流电机用来模拟出租车的车轮子,没转动一圈认为是行走1 米,所以每旋转1000 圈,认为车子前进1 公里。系统设计是需要检测电机的转动情况,每转一周,计米计数器增加1。七段码管显示要求为前4 个显示里程,后3 个显示费用。五、实验报告根据以上实验内容写出实验报告,包括程序设计,软件编译,仿真结果及分析,硬件

18、测试等内容。选做实验四 频率计的设计一、实验目的1 了解频率计的工作原理。2 体会FPGA 在数字系统设计方面的灵活性。3 掌握Verilog HDL 在测量模块设计方面的技巧。二、主要仪器设备EDA/SOPC实验系统1台、信号源1台三、实验原理所谓频率就是周期性信号在单位时间(1s)内变化的次数。若在一定时间间隔T(也称闸门时间)内测得这个周期性信号的重复变化次数为N,则其频率可表示为fN/T由上面的表示式可以看到,若时间间隔T 取1s,则fN,但是这种频率计仅能测出频率大于或者等于1Hz 的情况,且频率越高,精度也越高。实际应用中,频率计的闸门时间十个可变量,当频率小于1Hz 是,闸门时间

19、就要适当放大。本实验中为了简化实验代码,闸门时间固定为1s,闸门信号是一个0.5Hz 的方波,在闸门有效(高电平)期间,对输入的脉冲进行计数,在闸门信号的下降沿时刻,所存当前的计数值,并且清零所有的频率计数器。由于闸门时间是1s(0.5Hz 方波),所以显示的频率是1s 钟更新一次,且显示的内容是闸门下降沿时锁存的值。在设计频率计的时候,八个七段码管最多可以显示99,999,999Hz,因此在设计时候用八个4 位二进制码(BCD 码)来表示,另外还必须有同样的八个4 位二进制码来对输入的频率进行计数,在闸门下降沿的时候,将后者的值锁存到前者的8 个寄存器中。另外为了读数方便,在显示时需要进行判

20、断,假如频率的值小于1KHz 并且大于100Hz,那么只显示三位有效值,其他高位全部不显示。四、实验内容本实验要完成的任务就是设计一个频率计,系统时钟选择实验箱时钟模模块的1KHz 时钟,闸门时间为1s(0.5Hz,需要对系统时钟进行2000 分频),在闸门为高电平期间,对输入的频率进行计数,当闸门变低的时候,记录当前的频率值,并将频率计数器清零,频率的显示每过2 秒刷新一次。频率计的输入从实验箱的观察模块的探针输入。五、实验报告根据以上实验内容写出实验报告,包括程序设计,软件编译,仿真结果及分析,硬件测试等内容。附 录FPGA接口对照表复位信号信号名称对应FPGA引脚RESET240串行接口

21、(RS-232)信号名称对应FPGA引脚RXD1195TXD1128RXD2223TXD2222VGA接口信号名称对应FPGA引脚R219G218B217HS216VS215PS/2接口信号名称对应FPGA引脚CLOCK214DATA213USB接口模块信号名称对应FPGA引脚DB0228DB1233DB2234DB3235DB4236DB5237DB6238DB7239A0227WR224RD225CS208INT207SUSPEND206LCD显示模块信号名称对应FPGA引脚DB0228DB1233DB2234DB3235DB4236DB5237DB6238DB7239C/D227WR22

22、4RD225CS226以太网接口模块信号名称对应FPGA引脚SA096/38SA195SA294SA393SA488SA587SA686SA785SA884SA983SD098SD1100SD241SD3104SD4106SD5108SD6114SD7116SD899SD9101SD1047SD11105SD12107SD13113SD14115SD15117RD82WR23AEN79INT39RESET21LED显示模块信号名称对应FPGA引脚D1_198D1_299D1_3100D1_4101D1_541D1_647D1_7104D1_8105D2_1106D2_2107D2_3108D2_4113D2_5114D2_6115D2_7116D2_8117拨档开关信号名称对应FPGA引脚K1153K257K356K455K554K653K750K849按键模块信号名称对应FPGA引脚S166S265S364S463S562S661S760S859键盘阵列模块信号名称对应FPGA引脚ROW066ROW165ROW264ROW363COL062COL161COL260COL359七段码显示模块信号名称对应FPGA引脚A219B218C214D213E217F216G215DP42SEL043SEL144SEL

温馨提示

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

评论

0/150

提交评论