1、 FPGA课程设 计报告学部:信息科学与技术学部专业:通信工程班级:10 级 1 班学号:100103011125姓名:万洁 指导老师:祝宏合作伙伴:张紫君 2012.12.13一 任务书:实验一 100 进制的可逆计数器(1112 周)实验二 交通灯控制系统(15 周)实验三 多功能数字钟系统(14-15 周)二实验书写格式:一:题目要求二:程序代码三:操作步骤及运行结果截图四:心得体会三实验附录:一:老师提供的资源二:关于实验所用 EP4CE115F29 板的简介实验一 100 进制的可逆计数器一、设计一个可控的 100 进制可逆计数器,要求用实验箱下载。(1) 计数器的时钟输入信号周期为
2、 200ns。(2) 以十进制形式显示。(3) 有一个复位端 clr 和两个控制端 plus 和 minus,在这些控制信号的作用下,计数器具有复位、增或减计数、暂停功能。clr plus minus 功能0 复位为 01 1 0 递增计数1 0 1 递减计数1 1 1 暂停计数二、程序如下:module keni100(CLR,CLK,PLUS,MINUS,OUT); /100 进制的可逆计数器input CLR,PLUS,MINUS,CLK;output 7:0OUT;reg 7:0OUT;always(posedge CLK)beginif(!CLR) /如果 CLR 为零,输出为零;反
3、之,运行 else 程序OUT7:08b00000001)begin if(numa3:0=0)begin numa3:0=17)sk1)clk_p1)clk_n=1;elseclk_n=0;endendmodule 2、译码程序module decode4_7 (input 3:0 indec_0,indec_1,indec_2,indec_3,indec_4,indec_5,indec_6,indec_7,output reg 6:0 dout_0,dout_1,dout_2,dout_3,dout_4,dout_5,dout_6,dout_7);always(indec_0 or ind
4、ec_1 or indec_2 or indec_3 or indec_4 or indec_5 or indec_6 or indec_7 )begincase(indec_0)4h1: dout_0 = 7b111_1001; / -0-4h2: dout_0 = 7b010_0100; / | |4h3: dout_0 = 7b011_0000; / 5 14h4: dout_0 = 7b001_1001; / | |4h5: dout_0 = 7b001_0010; / -6-4h6: dout_0 = 7b000_0010; / | |4h7: dout_0 = 7b111_1000
5、; / 4 24h8: dout_0 = 7b000_0000; / | |4h9: dout_0 = 7b001_1000; / -3-4ha: dout_0 = 7b000_1000;4hb: dout_0 = 7b000_0011;4hc: dout_0 = 7b100_0110;4hd: dout_0 = 7b010_0001;4he: dout_0 = 7b000_0110;4hf: dout_0 = 7b000_1110;4h0: dout_0 = 7b100_0000;endcasecase(indec_1)4h1: dout_1 = 7b111_1001; / -0-4h2:
6、dout_1 = 7b010_0100; / | |4h3: dout_1 = 7b011_0000; / 5 14h4: dout_1 = 7b001_1001; / | |4h5: dout_1 = 7b001_0010; / -6-4h6: dout_1 = 7b000_0010; / | |4h7: dout_1 = 7b111_1000; / 4 24h8: dout_1 = 7b000_0000; / | |4h9: dout_1 = 7b001_1000; / -3-4ha: dout_1 = 7b000_1000;4hb: dout_1 = 7b000_0011;4hc: do
7、ut_1 = 7b100_0110;4hd: dout_1 = 7b010_0001;4he: dout_1 = 7b000_0110;4hf: dout_1 = 7b000_1110;4h0: dout_1 = 7b100_0000;endcasecase(indec_2)4h1: dout_2 = 7b111_1001; / -0-4h2: dout_2 = 7b010_0100; / | |4h3: dout_2 = 7b011_0000; / 5 14h4: dout_2 = 7b001_1001; / | |4h5: dout_2 = 7b001_0010; / -6-4h6: do
8、ut_2 = 7b000_0010; / | |4h7: dout_2 = 7b111_1000; / 4 24h8: dout_2 = 7b000_0000; / | |4h9: dout_2 = 7b001_1000; / -3-4ha: dout_2 = 7b000_1000;4hb: dout_2 = 7b000_0011;4hc: dout_2 = 7b100_0110;4hd: dout_2 = 7b010_0001;4he: dout_2 = 7b000_0110;4hf: dout_2 = 7b000_1110;4h0: dout_2 = 7b100_0000;endcasecase(indec_3)4h1: dout_3 = 7b111_1001; / -0-4h2: dout_3 = 7b010_0100; / | |4h3: dout_3 = 7b011_0000; / 5 14h4: dout_3 = 7b001_1001; / | |4h5: dout_3 = 7b001_0010; / -6-4h6: dout_3 = 7b000_0010; / | |4h7: dout_3 = 7b111_1000; / 4 24h8: dout_3 = 7b000_0000; / | |4h9: dout_3 = 7b001_1000; / -3-