verilog模六十计数器设计.pdf

上传人:飞****9 文档编号:136790398 上传时间:2020-07-02 格式:PDF 页数:7 大小:323.13KB
返回 下载 相关 举报
verilog模六十计数器设计.pdf_第1页
第1页 / 共7页
verilog模六十计数器设计.pdf_第2页
第2页 / 共7页
verilog模六十计数器设计.pdf_第3页
第3页 / 共7页
verilog模六十计数器设计.pdf_第4页
第4页 / 共7页
verilog模六十计数器设计.pdf_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《verilog模六十计数器设计.pdf》由会员分享,可在线阅读,更多相关《verilog模六十计数器设计.pdf(7页珍藏版)》请在金锄头文库上搜索。

1、1 模六十计数器设计模六十计数器设计 一、 系统设计实现目标要求 利用层次化方法在实验板上实现模六十计数, 即 01234910 5901,并在 Basys2 实验板的 AN1 与 AN0 上显示。 二、 设计原理 顶层模块图如图 1 所示,子模块图如图 2 所示。 图 1 图 2 frequency2 模块将 50MHz 分频为 2Hz,作为计数器的计数脉冲。frequency1000 模块将 50MHz 分频为 1000Hz,用于分别轮换点亮两个数码管。cnt10 为 10 进制计数器,一方 面作为点亮个位数码管的输入, 另一方面得到 6 进制计数器的进位输入。 cnt6 为 6 进制 计

2、数器,作为点亮十位数码管的输入。slt 将 1000Hz 频率分给 cs0和 cs1,作为两个 使能信号,用于分别轮换点亮两个数码管。selector 将 cnt10 和 cnt6 的输出端轮换送给 decoder,decoder 将计数器的数据译码,使之可以在数码管上显示。 三、 源程序 2 主模块主模块: module cnt_60( input cp,ce,cr, output 7:0seg, output 3:0cs ); wire cp0; frequency2 U0( .cp(cp), .cp0(cp0) ); wire cp1; frequency1000 U1( .cp(cp)

3、, .cp1(cp1) ); wire tc; wire 3:0q10; cnt10 U2( .cp0(cp0), .ce(ce), .cr(cr), .tc(tc), .q10(q103:0) ); wire 3:0q6; cnt6 U3( .tc(tc), .cr(cr), .q6(q63:0) ); slt U4( .cp1(cp1), .cs(cs3:0) ); wire 3:0q; selector U5( .q0(q63:0), 3 .q1(q103:0), .cs(cs3:0), .q(q3:0) ); decoder U6( .q(q3:0), .seg(seg7:0) );

4、endmodule 子模块子模块 0 0: module frequency2( input cp, output reg cp0 ); reg 24:0cnt=0; always(posedge cp) begin cnt=25b1011111010111100000111111)/25000000-1,把 50MHz 分 频为 2Hz begin cp0=cp0; cnt=251b0; end end endmodule 子模块子模块 1 1: module frequency1000( input cp, output reg cp1 ); reg 15:0cnt=0; always(p

5、osedge cp) begin cnt=16b1100001101001111)/50000-1,把 50MHz 分频为 1000Hz begin cp1=cp1; 4 cnt=161b0; end end endmodule 子模块子模块 2 2: module cnt10( input cp0, input ce, input cr, output reg tc, output reg 3:0q10 ); always(posedge cp0 or negedge cr) begin tc=1b0; if(cr) q10=4b0000; else if(ce) q10=4b1001) b

6、egin q10=4b0000; tc=1b1; end else q10=q10+1b1; end endmodule 子模块子模块 3 3: module cnt6( input tc, input cr, output reg 3:0q6=0 ); always(posedge tc or negedge cr) begin if(cr) q6=4b0101) q6=4b0000; 5 else q6=q6+1b1; end endmodule 子模块子模块 4 4: module slt( input cp1, output 3:0cs ); assign cs0=cp1; assig

7、n cs1=cp1; assign cs2=1b1; assign cs3=1b1; endmodule 子模块子模块 5 5: module selector( input 3:0q0, input 3:0q1, input 3:0cs, output 3:0q ); assign q=cs0?q1:q0; endmodule 子模块子模块 6 6: module decoder( input 3:0q, output reg 7:0seg ); always(*) begin case(q) 4h1:seg = 8b11111001; 4h2:seg = 8b10100100; 4h3:s

8、eg = 8b10110000; 4h4:seg = 8b10011001; 4h5:seg = 8b10010010; 6 4h6:seg = 8b10000010; 4h7:seg = 8b11111000; 4h8:seg = 8b10000000; 4h9:seg = 8b10010000; 4hA:seg = 8b10001000; 4hB:seg = 8b10000011; 4hC:seg = 8b11000110; 4hD:seg = 8b10100001; 4hE:seg = 8b10000110; 4hF:seg = 8b10001110; default:seg = 8b1

9、1000000; endcase end endmodule 四、 管脚约束文件 #Created by Constraints Editor (xc3s100e-cp132-4) - 2013/12/05 NET cp TNM_NET = cp; TIMESPEC TS_cp = PERIOD cp 20 ns HIGH 50 %; # PlanAhead Generated physical constraints NET ce LOC = P11; NET cr LOC = L3; NET seg0 LOC = L14; NET seg1 LOC = H12; NET seg2 LOC

10、= N14; NET seg3 LOC = N11; NET seg4 LOC = P12; NET seg5 LOC = L13; NET seg6 LOC = M12; NET seg7 LOC = N13; NET cs0 LOC = J12; NET cs1 LOC = F12; NET cs2 LOC = K14; NET cs3 LOC = M13; NET cp LOC = B8; 7 五、 系统使用说明 拨码开关 SW1 为复位开关,拨码开关 SW0 为暂停开关,当 SW0 与 SW1 同时处于闭合 状态时, 每过 0.5 秒计一次数, 并在数码管上显示, 到 59 后回到 0

11、0, 重新计数。 当 SW1 闭合,SW0 断开时,计数暂停。当 SW1 断开,无论 SW0 闭合还是断开,数码管始终显 示 00.当 SW1 闭合后,重新开始计数。 六、 系统功能与性能测试结果 功能测试: 1、 将 SW0 与 SW1 同时打到闭合,观察到数码管上显示每过 0.5 秒计一次数,到 59 后 回到 00,完成基本计数功能。 2、 将 SW0 与 SW1 同时打到闭合,在数码管上显示 05 时,将 SW0 断开,数码管上保 持显示 05,完成暂停功能。 3、 将 SW0 与 SW1 同时打到闭合,在数码管上显示 05 时,将 SW1 断开,观察到数码 管上保持显示 00,再将

12、SW1 闭合,观察到数码管上重新计数,完成复位功能。 4、 将 SW0 与 SW1 同时打到闭合,在数码管上显示 05 时,将 SW0 断开,数码管上保 持显示 05,再将 SW1 断开,观察到数码管上保持显示 00,再将 SW1 闭合,观察到 数码管上重新计数,完成在暂停的基础上复位的功能。 性能测试: 用电子表测量系统从 00 显示到 59,再到 00 的时间,确实为 30 秒(计数信号为 2Hz) , 性能上达到要求。 七、 系统设计开发步骤与过程 1、 明确设计要求与拥有的资源; 2、 设计原理图; 3、 编写代码; 4、 仿真; 5、 修改代码后,重复步骤 4、5,直到仿真结果无误为止; 6、 将代码写入开发板,进行性能与功能测试; 7、 修改代码后,重复步骤 4、5、6、7,直到性能与功能都达到要求为止; 8、 撰写系统说明书与报告。 八、 实验心得体会 这次实验从上学期的原理到这学期的实践,跨度稍有些大,因而显得很有挑战性。自己 在课下又自学了很多东西,才把问题基本解决。虽然耗时较大,但收获也较大。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号