1、Basys 2数字电路实验指导书 同学们先去网上下载ISE软件,破解并安装!前 言一、实验课目的EDA实验课是电子工程类专业教学中重要的实践环节,涉及了ISE开发环境基本操作及Verilog语言、组合逻辑电路设计、流水灯设计、计数器设计、扫描显示电路的驱动、综合层次性实验交通灯或数字秒表设计实验。规定学生通过实验学会对的使用EDA技术,掌握FPGA器件的开发,纯熟使用ISE开发环境,掌握Verilog语言的编程,掌握数字电路和系统的设计。通过实验,使学生加深对课堂专业教学内容的理解,培养学生理论联系实际的能力,实事求是,严谨的科学作风,使学生通过实验结果,运用所学的理论去分析研究EDA技术。培
2、养学生使用EDA实验设备的能力以及运用实验方法解决实际问题的能力。二、实验规定: 1.课前预习 认真阅读实验指导书,了解实验内容; 认真阅读有关实验的理论知识; 读懂程序代码。2.实验过程 准时到达实验室; 认真听取老师对实验内容及实验规定的讲解; 认真进行实验的每一步,观测程序代码与仿真结果是否相符; 将实验过程中程序代码和仿真结果提交给老师审查; 做完实验后,整理实验设备,关闭实验开发板电源、电脑电源后方可离开。3.实验报告 按规定认真填写实验报告书;认真分析实验结果;准时将实验报告交给老师批阅。三、实验学生守则1保持室内整洁,不准随地吐痰、不准乱丢杂物、不准大声喧哗、不准吸烟、不准吃东西
3、;2.爱惜公务,不得在实验桌及墙壁上书写刻画,不得擅自删除电脑里面的文献;3.安全用电,严禁触及任何带电体的裸露部分,严禁带电接线和拆线;4.任何规章或不按老师规定操作导致仪器设备损坏须论价补偿。目 录实验一 ISE开发环境入门_五人表决器4实验二加法器、乘法器、比较器的设计26实验三 流水灯28实验四 计数器30实验五 综合层次性实验交通灯设计32实验六 综合层次性实验数字秒表设计34附录一 basys 2开发板资料 36实验一 ISE开发环境入门一、实验目的1.了解ISE开发环境及基本操作。2.熟悉设计方法和环节。3.掌握电路的综合和实现。4.掌握电路仿真与时序分析。5.熟悉3/8线译码器
4、工作原理和五人表决器设计。二、实验内容和基本原理1.以3/8线译码器为例,总体思绪以Basys 2开发板中的三个拨位开关,SW2,SW1,SW0为三个输入信号,可以代表8种不同的状态,该译码器对这8种状态译码,并把所译码的结果在八个发光二级管(LD7LD0)上显示。2.输入与输出之间逻辑关系 3.以Basys 2开发板中的五个拨位开关,SW4,SW3,SW2,SW1,SW0为五个输入信号,可以代表五个表决的人,当五个人中有三个以上批准时,则表决通过,并将表决的结果在LD0上显示出来。4. 其真值表: 输入输出ABCDEF0011110101110110110111011001111010111
5、01101110011110101111001011111101111110111111011111101111111others05.输入与输出之间逻辑关系f=abc+abd+abe+acd+ace+ade+bcd+bce+bde+cde;三、重要仪器和设备重要仪器和设备:计算机,Basys 2开发板。图1 Basys 2开发板四、ISE开发环境1、 建立工程。选择菜单“File”“New Preject”。点击New Project进入新建工程向导对话框输入工程名字:experiment1工程所在目录点击“Next”按纽顶层源文献类型点击“Next”后,进入工程设立对话框。产品范围(pro
6、duct category)芯片的系列(Family)具体的芯片型号(Device)封装类型(Package)速度信息(speed)综合工具(Synthesis Tool)仿真工具(Simulator)喜欢的语言(VHDL/Verilog)点击“Next”按钮对如下选项进行设立:Family:Spartan3EDevice:XC3S100EPackage:CP132TOP-Level Source:HDLSynthesis Tool:XST(VHDL/Verilog)Simulator:ISim(VHDL/Verilog)Preferred Language:Verilog点击“Next”后,
7、进入工程摘要对话框。点击“Finish”按钮点击“Finish”后,完毕工程的创建。生成了空的工程框架1工程名器件名字12、建立Verilog源文献。选中器件名字,点击鼠标右键,弹出一个快捷菜单。选中器件名字,点击鼠标右键选中New Source选中“New Source”,进入新建源文献向导对话框,输入文献名。0IP生成向导000000000原理图文献用户文档文献Verilog模块模板文献Verilog测试平台模板文献VHDL模块模板文献VHDL库模板文献VHDL包模板文献VHDL测试平台模板文献片上系统设计向导0选择VHDL Module0输入”experiment”作为VHDL模块的名字
8、点击“Next”按钮点击“Next”后,进入定义模块对话框,进行端口指定。0指定端口名0指定端口方向0指定位宽点击“Next”点击“Next”点击“Next”后,进入概要对话框。点击“Finish”点击“Finish”后,回到ISE主界面。生成的experiment1.v文献添加代码到experiment1.v文献中输入源程序代码:module experiment1( output 7:0 ld, input 2:0 sw );assign ld0=sw2&sw1&sw0;assign ld1=sw2&sw1& sw0;assign ld2=sw2& sw1&sw0;assign ld3=s
9、w2& sw1& sw0;assign ld4= sw2&sw1&sw0;assign ld5= sw2&sw1& sw0;assign ld6= sw2& sw1&sw0;assign ld7= sw2& sw1& sw0;endmodule3、综合。选中experiment1.v文献双击进行综合4、仿真。先选中Simulation,然后选中器件名字,点击鼠标右键,弹出一个快捷菜单。点击“New Source”后,进入选择源文献类型对话框。选择关联文献概要进入仿真测试文献编辑窗口 输入测试程序代码module test;reg 2:0 sw;wire 7:0 ld;experiment1 u
10、ut (.ld(ld), .sw(sw);initial begin sw = 8b000;#100 sw = 3b001;#100 sw = 8b010;#100 sw = 8b011;#100 sw = 8b100;#100 sw = 8b101;#100 sw = 8b110;#100 sw = 8b111;end endmodule 右键单击“Simulate Behavioral Model”弹出快捷菜单,点击“run”命令。 进入ISim仿真器界面,选中Simulation菜单中的“Run”命令。显示仿真波形时序图。5、编写约束文献。选中器件名字,点击鼠标右键,弹出一个快捷菜单。选
11、中器件名字,点击鼠标右键选中New Source选中“New Source”,进入新建源文献向导对话框,输入约束文献名。点击“Next”按钮输入约束文献名选中实现约束文献点击“Next”后,进入概要对话框。点击“Finish”按钮点击“Finish”后,回到ISE主界面,编辑约束文献。输入约束文献代码NET sw LOC=K3;NET sw LOC=L3;NET sw LOC=P11;NET ld LOC=G1;NET ld LOC=P4;NET ld LOC=N4;NET ld LOC=N5;NET ld LOC=P6;NET ld LOC=P7;NET ld LOC=M11;NET ld
12、LOC=M5;6、实现双击进行实现选中experiment1.v文献7、生成编程文献双击生成编程文献选中experiment1.v文献8、下载将Basys 2开发板右上角的Mode左边两个引脚(PC)用跳帽短接(JTAG模式)。将Basys 2开发板左下角的Power开关打开。打开Digilent Adept下载软件,浏览选中编程文献,并进行下载。编程下载浏览选中下载文献9、功能测试五、实验环节1、新建一个工程,命名为vote5.xise。2、新建一个Verilog源文献,命名为vote5.v,编写源文献。3、综合4、新建一个测试文献,命名为test.v,编写测试文献进行波形仿真。5、新建一个
13、约束文献,命名为vote.ucf。6、实现7、生成编程文献8、下载9、功能测试六、实验报告规定1.写出设计思想及框图2.简述设计环节和调试过程。涉及总体电路设计、相应模块设计,以及在ISE上完毕的设计和仿真。相关文档涉及:Verilog HDL语言的源代码(程序要有具体的注释和功能说明)、引脚分派的约束文献、验证设计功能等设计的所有文档与调试的结果。3.写出结论及心得体会。4.按照实验报告模板,撰写实验报告。实验报告各项内容都要填好,不能空缺。源代码和图可以打印,其它内容手写。说明:1、模仿3/8译码器的操作,写出下列五人表决器的VHDL程序并对其进行仿真和下载测试。2、按照实验报告模板完毕实
14、验报告具体涉及:实验目的实验内容及基本原理重要实验设备型号及技术指标(计算机,Basys 2开发板,ISE开发环境)。实验方案与测试记录(实验方案涉及进行实验的硬件电路、Verilog程序、操作环节,测试记录涉及实验过程中测得的重要数据和现象)实验结果分析(分析实验过程中获得的数据、仿真波形、现象或问题的对的性和必然性,分析产生不对的结果的因素和解决方法)。实验二 加法器、乘法器、比较器的设计一、实验目的1. 进一步熟悉ISE开发环境及基本操作。2. 掌握两个四位二进制加法器模块的设计方法。3. 掌握两个四位二进制乘法器模块的设计方法。4. 掌握两个四位二进制比较器模块的设计方法。二、实验内容
15、及基本原理以Basys 2开发板上的八个拨码开关(SW7,SW6,SW5,SW4,SW3,SW2,SW1,SW0)为八个输入信号,其中(SW7,SW6,SW5,SW4)表达一个四位二进制数a,(SW3,SW2,SW1,SW0)表达另一个四位二进制数b,结果在LD7LD0上显示出来。规定实现如下功能:(1) 两个四位二进制加法运算(2) 两个四位二进制乘法运算(3) 两个四位二进制比较运算三、实验环节1.新建一个工程,命名为adder.xise。2.新建一个Verilog源文献,命名为adder.v,编写源文献,实现加法器功能。3.综合4.新建一个测试文献,命名为test.v,编写测试文献进行波
16、形仿真。5.新建一个约束文献,命名为adder.ucf。6.实现7.生成编程文献8.下载9.功能测试说明:乘法器和比较器的设计环节参考加法器的环节。四、重要仪器和设备重要仪器和设备:计算机,Basys 2开发板。五、实验报告规定1.写出设计思想及框图2.简述设计环节和调试过程。涉及总体电路设计、相应模块设计,以及在ISE上完毕的设计和仿真。相关文档涉及:Verilog HDL语言的源代码(程序要有具体的注释和功能说明)、引脚分派的约束文献、验证设计功能等设计的所有文档与调试的结果。3.写出结论及心得体会。4.按照实验报告模板,撰写实验报告。实验报告各项内容都要填好,不能空缺。源代码和图可以打印
17、,其它内容手写。实验三 流水灯一、实验目的1. 进一步熟悉ISE开发环境及基本操作。2. 掌握分频电路的设计方法。3. 掌握流水灯的设计方法。二、实验内容及基本原理以Basys 2开发板上的晶振产生的50M的脉冲作为时钟信号,先进行分频,然后驱动八个led显示按照设立的模式显示。五个拨码开关,SW4,SW3,SW2,SW1,SW0为五个输入信号,可以控制五种闪烁模式,结果在LD7LD0上显示出来。规定实现如下功能:(1)从右往左依次点亮8个led。(2)从左往右依次点亮8个led。(3)从中间往两边依次点亮8个led。(4)从两边往中间依次点亮8个led。(5)8个led以1Hz的频率闪烁。三
18、、实验环节1.新建一个工程,命名为flashled.xise。2.新建一个Verilog源文献,命名为flashled.v,编写源文献,实现交通灯功能。3.综合4.新建一个测试文献,命名为test.v,编写测试文献进行波形仿真。5.新建一个约束文献,命名为flashled.ucf。6.实现7.生成编程文献8.下载9.功能测试四、重要仪器和设备重要仪器和设备:计算机,Basys 2开发板。五、实验报告规定1.写出设计思想及框图2.简述设计环节和调试过程。涉及总体电路设计、相应模块设计,以及在ISE上完毕的设计和仿真。相关文档涉及:Verilog HDL语言的源代码(程序要有具体的注释和功能说明)
19、、引脚分派的约束文献、验证设计功能等设计的所有文档与调试的结果。3.写出结论及心得体会。4.按照实验报告模板,撰写实验报告。实验报告各项内容都要填好,不能空缺。源代码和图可以打印,其它内容手写。实验四 计数器一、实验目的1. 进一步熟悉ISE开发环境及基本操作。2.计数器的设计方法。3.掌握七段数码管显示模块的设计方法。二、实验原理数码的显示方式一般有三种:第一种是字型重叠式;第二种是分段式;第三种是点阵式。目前以分段式应用最为普遍,重要器件是七段发光二极管(LED)显示器。它可分为两种,一是共阳极显示器(发光二极管的阳极都接在一个公共点上),另一是共阴极显示器(发光二极管的阳极都接在一个公共
20、点上,使用时公共点接地)。 Basys 2开发板使用的数码管为四位共阳极数码管,每一位的共阳极7段数码管由7段发光LED组成,呈条字状,7个发光LED的阳极连接在一起,阳极分别连接至 FPGA相应引脚。an0、an1、an2和an3为四位7段数码管的位选择端。当其值为“0”时,相应的7段数码管被选通。当输入到7段数码管CACG和DP管脚的数据为低电平时,该管脚相应的段变亮,当输入到7段数码管CACG和DP管脚的数据为高电平时,该管脚相应的段变灭。规定按一次按键数码管上的数字加1。三、实验环节1.新建一个工程,命名为counter.xise。2.新建一个Verilog源文献,命名为counter
21、.v,编写源文献,实现计数功能。3.综合4.新建一个测试文献,命名为test.v,编写测试文献进行波形仿真。5.新建一个约束文献,命名为counter.ucf。6.实现7.生成编程文献8.下载9.功能测试四、重要仪器和设备重要仪器和设备:计算机,Basys 2开发板。五、实验报告规定1.写出设计思想及框图2.简述设计环节和调试过程。涉及总体电路设计、相应模块设计,以及在ISE上完毕的设计和仿真。相关文档涉及:Verilog HDL语言的源代码(程序要有具体的注释和功能说明)、引脚分派的约束文献、验证设计功能等设计的所有文档与调试的结果。3.写出结论及心得体会。4.按照实验报告模板,撰写实验报告
22、。实验报告各项内容都要填好,不能空缺。源代码和图可以打印,其它内容手写。实验五 交通灯一、实验目的1.掌握分频器的设计方法。2.掌握计数器的设计方法。3.掌握状态机的设计方法。二、实验内容及基本原理1234显示十字路口东西、南北两个方向的红、黄、绿灯的指示状态。用两组红黄绿三种颜色灯分别作为东西、南北两个方向的红、黄绿灯。变化规律为东西绿灯亮,南北红灯亮东西绿灯闪烁,南北红灯亮东西黄灯亮,南北红灯亮东西红灯亮,南北绿灯亮东西红灯亮,南北绿灯闪烁东西红灯亮,南北黄灯亮东西绿灯亮,南北红灯亮,如此循环。红灯亮30秒,黄灯亮5秒,绿灯亮20秒后闪烁5秒,时间可设立修改,在绿灯转为红灯时,规定黄灯先亮
23、5秒钟,才干变换车道,规定有复位功能。其状态转换如下表所示:状态装换表状态东西方向南北方向statered1yellow1green1red2yellow2green200000110000100clock1s10001001010001110000110010000clock1s101100010交通灯信号控制系统一般由晶体振荡器、分频器、时间计数器、控制器以及译码显示电路组成,根据设计内容规定,其组成框图如图所示: 系统时钟分频器时间计数控 制 器复位信号紧急请求译码器时间显示东西灯南北灯三、实验环节1.新建一个工程,命名为trafficlights.xise。2.新建一个Verilog源
24、文献,命名为trafficlights.v,编写源文献,实现交通灯功能。3.综合4.新建一个测试文献,命名为test.v,编写测试文献进行波形仿真。5.新建一个约束文献,命名为trafficlights.ucf。6.实现7.生成编程文献8.下载9.功能测试四、重要仪器和设备重要仪器和设备:计算机,Basys 2开发板。五、实验报告规定1.写出设计思想及框图2.简述设计环节和调试过程。涉及总体电路设计、相应模块设计,以及在ISE上完毕的设计和仿真。相关文档涉及:Verilog HDL语言的源代码(程序要有具体的注释和功能说明)、引脚分派的约束文献、验证设计功能等设计的所有文档与调试的结果。3.写
25、出结论及心得体会。4.按照实验报告模板,撰写实验报告。实验报告各项内容都要填好,不能空缺。源代码和图可以打印,其它内容手写。实验六 数字跑表设计一、实验目的1.掌握Verilog的层次化设计法。2.掌握分频模块的设计方法。3.掌握计时模块的设计方法。4.掌握数码显示的设计方法。5.掌握模块的调用方法。二、实验内容及基本原理跑表是体育比赛中常用的计时仪器,设计一个数字跑表,它通过一个按键来控制计时的开始和暂停,另一个按键控制跑表清零。按下清零按键时,跑表清零,当清零按键无效时,按一下开始/暂停键则计时器开始计时,再按一下则暂停计时,再按一下则又继续计时。规定实现如下功能:(1)跑表的计时范围为0
26、.01s59min59.99s,计时精度为10ms。(2)具有异步清零、启动、计时和暂停功能。(3)计时频率为100Hz。(4)数字跑表的分和秒在数码管上显示出来,百分秒的BCD码在8个led上显示出来。交通灯信号控制系统一般由晶体振荡器、分频器、时间计数器、控制器以及译码显示电路组成,根据设计内容规定,其组成框图如图所示:系统时钟分频器时间计数控 制 器复位信号开始暂停译码器数码管显示LED显示三、实验环节1.新建一个工程,命名为timer.xise。2.新建一个Verilog源文献,命名为div.v,编写源文献实现分频功能。3.新建一个Verilog源文献,命名为timer.v,编写源文献
27、实现计时功能。4.新建一个Verilog源文献,命名为display.v,编写源文献实现数码显示功能。5.新建一个Verilog源文献,命名为timer.v,编写源文献实现数码显示功能。6.综合7.新建一个测试文献,命名为test.v,编写测试文献进行波形仿真。8.新建一个约束文献,命名为timer.ucf。9.实现10.生成编程文献11.下载12.功能测试四、重要仪器和设备重要仪器和设备:计算机,Basys 2开发板。五、实验报告规定1.写出设计思想及框图2.简述设计环节和调试过程。涉及总体电路设计、相应模块设计,以及在ISE上完毕的设计和仿真。相关文档涉及:Verilog HDL语言的源代码(程序要有具体的注释和功能说明)、引脚分派的约束文献、验证设计功能等设计的所有文档与调试的结果。3.写出结论及心得体会。4.按照实验报告模板,撰写实验报告。实验报告各项内容都要填好,不能空缺。源代码和图可以打印,其它内容手写。附录一 basys 2开发板资料Basys2 电路连接图Basys2 引脚定义表Basys2 引脚定义表