FPGA课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
F
P
G
A
课
程
设
计
报
告
学部:信息科学与技术学部
专业:通信工程
班级:10级1班
学号:************
姓名:***
指导老师:***
合作伙伴:张紫君
2012.12.13
一.《任务书》:
实验一100进制的可逆计数器(11——12周)实验二交通灯控制系统(15周)
实验三多功能数字钟系统(14-15周)二.实验书写格式:
一:题目要求
二:程序代码
三:操作步骤及运行结果截图
四:心得体会
三.实验附录:
一:老师提供的资源
二:关于实验所用EP4CE115F29板的简介
实验一100进制的可逆计数器
一、设计一个可控的100进制可逆计数器,要求用实验箱下载。
(1)计数器的时钟输入信号周期为200ns。
(2)以十进制形式显示。
(3)有一个复位端clr和两个控制端plus和minus,在这些控制信号的作用下,计数器具有复位、增或减计数、暂停功能。
二、程序如下:
module keni100(CLR,CLK,PLUS,MINUS,OUT); //100进制的可逆计数器
input CLR,PLUS,MINUS,CLK;
output [7:0]OUT;
reg [7:0]OUT;
always@(posedge CLK)
begin
if(!CLR) //如果CLR为零,输出为零;反之,运行else程序
OUT[7:0]<=0;
else
begin
if(PLUS==0 && MINUS==1) //100进制的递减计数
begin
if (OUT[3:0]==0)
begin
OUT[3:0]<=9;
if (OUT[7:4]==0) OUT[7:4]<=9;
else
OUT[7:4]<=OUT[7:4]-1;
end
else OUT[3:0]<=OUT[3:0]-1;
end
if(PLUS==1 && MINUS==0) //100进制的递增计数
begin
if (OUT[3:0]==9)
begin
OUT[3:0]<=0;
if (OUT[7:4]==9) OUT[7:4]<=0;
else
OUT[7:4]<=OUT[7:4]+1;
end
else OUT[3:0]<=OUT[3:0]+1;
end
if(PLUS==1 && MINUS==1) OUT<=OUT; //若PLUS和MINUS都为1,暂停计数
if(PLUS==0 && MINUS==0) OUT<=0; //若都为零,输出为零end
end
endmodule
三、运行程序
1、在quarters II9.1输入程序
打开quarters II界面,点击file→New,在出现的对话框,如图1.1所示,选择Text File,点击OK.
——图1.1 在出现的输入界面内输入程序,点击file→save as,在出现的对话框中点击Yes,然后在出现的new project Wizard对话框中点击next,在Family&Device Settings 对话框中选择如下图1.2所示的选项,在选择第三方软件的对话框中的选项选为none后点击next,在随后出现的对话框中,点击finish。设置完成。
——图1.2
2、点击project→Set as Top-Level Entity,指向所输入的文件。
3、点击Processing→Start→Start Analysis & Synthesis。
——图1.3
4、点击File→New出现上面第一步时出现的对话框,如图1.1,选择Vector Waveform File。
5、点击View→Utility Windows→Node Finder,在出现的对话框中点击List,如下图1.4所示
——图1.4
选择所需要的节点,将其拉到后面的Name栏中,并设置输入数据
6、选择End Time:点击Edit→End Time,设置参数,如下图1.5所示
——图1.5
7、输入参数的数据设置完成后,保存,仿真图形如下图1.6所示:
——图1.6
8.点击Assigment→Settings,在出现的对话框(如图1.7所示)中,选择Simulator Settings,在Simulation mode中选择Functional,进行功能编译。
——图1.7
8、点击Processing→Generate Functional Simulation Netlist
9、点击Processing→Start Simulation,进行仿真。
四、仿真结果:
——图1.8
如上图1.8所示,当CLR为0时,OUT清零;当CLR为1时,OUT 开始输出,当PLUS=1,MINUS=0时,OUT开始递加;
——图1.9
如图 1.9所示,当PLUS=1,MINUS=1时,OUT暂停计数;当PLUS=0,MINUS=1时,OUT开始递减。
五、封装
在quartus II11.0中点击file→open project,在弹出的对话框中选择counter100文件,单击右键选择Creat Symbol File for Current File
——图1.10