- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
姓名 班级 学号
实验日期 节次 教师签字 成绩
基于BASYS2开发板的
记忆秒表设计
实验目的
熟悉基于Verilog HDL语言输入方式的数字电路的设计方法。
掌握基于FPGA的设计流程。
熟悉BASYS2开发板的使用方法。
熟悉Xilinx ISE软件的使用方法。
培养自己独立自主设计并完成实验的能力。
本实验利用BASYS2开发板的已有资源来进行设计实验,并用Xilinx ISE软件来编写和综合Verilog代码。总体设计方案是设计一个带有记忆功能的秒表。具体而言,该秒表通过BASYS2开发板的50M的时钟进行分频计时,最大计时时间为99.99s,用4位数码管动态显示计时时间,除了有基本的运行、暂停及复位清空功能,还有存储当前时间和查看存储时间的功能。
硬件:BASYS2开发板
软件:Xilinx ISE(编程)、Digilent Adept(下载)
/////////////////////////////////////////////////////////程序文件
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 15:45:01 11/26/2014
// Design Name:
// Module Name: miaobiao
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
///////////////////////////////////////////////////////////秒表的顶层模块
module miaobiao(
input wire clk,///////////////////////////////开发板系统时钟50MHz
input wire[1:0] btn,////////////////////////两个按键:[0]复位和[1]存时间
input wire[1:0] sw,/////////////////////////两个开关:[0]运行/暂停和[1]显示存储时间
output wire[7:0] smg,/////////////////////数码管的8个段选信号
output wire[3:0] smg_an/////////////////数码管的4个位选信号
);
wire clear;
assign clear=btn[0];////////////////////////////////////将复位按键信号传给clear变量
wire clk_1k;
clkdiv #(50000) m0(clk,clear,clk_1k);//将50MHz进行5万分频输出1kHz时钟信号
wire[15:0]number;
timer m1(sw[0]clk_1k,clear,number);///////////计时器模块,输出当前时间数据
wire[15:0]num_save;
save m2(clk,clear,btn[1],number,num_save);//////按键按下存储当前时间
wire[15:0]num_display;
/////////////////////////////////////////////////////////////////////////////根据开关状态选择显示内容
choose_4num m3(sw,number,num_save,num_display);
display m4(clk_1k,clear,num_display,smg,smg_an);///////将数字送给数码管显示
endmodule
///////////////////////////////////////////////////////////////////////////////4选1数据选择器模块
module choose_4num(
input wire[1:0]sw,
input
文档评论(0)