开发工具:
文件大小: 2kb
下载次数: 0
上传时间: 2013-12-07
详细说明: module digital_show( input wire [1:0]SW, input wire CLOCK_50, output wire [6:0]HEX0,HEX1,HEX2,HEX3 ); wire q; part2 a1(.clk(CLOCK_50),.max_tick(q),.enable(SW[0])); part1 a2(.clk(CLOCK_50),.reset(SW[1]),.en(q),.hex3(HEX3),.hex2(HEX2),.hex1(HEX1),.hex0(HEX0)); endmodule module part1( input wire clk ,reset,en, output reg [6:0]hex0,hex1,hex2,hex3 ); localparam s0=4'b0000, s1=4'b0001, s2=4'b0010, s3=4'b0011, s4=4'b0100, s5=4'b0101, s6=4'b0110, s7=4'b0111, s8=4'b1000, s9=4'b1 001; reg [3:0]r_reg,r_next; always@(posedge clk,posedge reset) begin if(reset) r_reg<=0; else r_reg<=r_next; end always@* begin case(r_reg) s0: if(en) r_next=s1; else r_next=s0; s1: if(en) r_next=s2; else r_next=s1; s2: if(en) r_next=s3; else r_next=s2; s3: if(en) r_next=s4; else r_next=s3; s4: if(en) r_next=s5; else r_next=s4; s5: if(en) r_next=s6; else r_next=s5; s6: if(en) r_next=s7; else r_next=s6; s7: if(en) r_next=s8; else r_next=s7; s8: if(en) r_next=s9; else r_next=s8; s9: if(en) r_next=s0; else r_next=s9; default: r_next=s0; endcase end always@* begin case(r_reg) s0: begin hex3=7'b1000000; hex2=7'b1111001; hex1=7'b0100100; hex0=7'b0110000; end s1: begin hex3=7'b1111001; hex2=7'b0100100; hex1=7'b0110000; hex0=7'b0011001; end s2: begin hex3=7'b0100100; hex2=7'b0110000; hex1=7'b0011001; hex0=7'b0010010; end s3: begin hex3=7'b0110000; hex2=7'b0011001; hex1=7'b0010010; hex0=7'b0000010; end s4: begin hex3=7'b0011001; hex2=7'b0010010; hex1=7'b0000010; hex0=7'b1111000; end s5: begin hex3=7'b0010010; hex2=7'b0000010; hex1=7'b1111000; hex0=7'b0000000; end s6: begin hex3=7'b0000010; hex2=7'b1111000; hex1=7'b0000000; hex0=7'b0010000; end s7: begin hex3=7'b1111000; hex2=7'b0000000; hex1=7'b0010000; hex0=7'b1000000; end s8: begin hex3=7'b0000000; hex2=7'b0010000; hex1=7'b1000000; hex0=7'b1111001; end s9: begin hex3=7'b0010000; hex2=7'b1000000; hex1=7'b1111001; hex0=7'b0100100; end endcase end endmodule module part2 #(parameter n=26) (input wire clk,reset,enable, output wire max_tick ); reg [n-1:0]r_reg; wire [n-1:0]r_next; always@(posedge clk,posedge reset) begin if(reset) r_reg=0; else r_reg=r_next; end assign r_next=(enable)?((r_reg==50000000)?1'b0:r_reg+1'b1):r_reg; assign max_tick=(r_reg==50000000)?1'b1:1'b0; endmodule ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.