阶段二设计
来源:互联网 发布:网址和域名的区别 编辑:程序博客网 时间:2024/05/22 17:10
2-1:多周期-恒最大值计数-显示电路
module cnt_synt(CLK, CNT, OV);input CLK ;output reg[31:0] CNT;output reg OV ;parameter MAX_VAL = 50_000_000;always @ (posedge CLK) beginif(CNT < MAX_VAL) CNT <= CNT+ 1'b1 ;else CNT <= 0;endalways @ (CNT) begin if (CNT==MAX_VAL) OV = 1'b1; else OV = 1'b0;endendmodulemodule cnt_0to9(CLK, EN, IN,OUT);input CLK, EN ;output reg [7:0] OUT;output reg [3:0] IN ;always @ (posedge CLK ) begin if(EN) begin if(IN < 9) IN <= IN + 1'b1 ; else IN <= 0; end else IN <= IN ;endalways @ (IN) begin case(IN) 4'h0: OUT = 8'b1100_0000; 4'h1: OUT = 8'b1111_1001; 4'h2: OUT = 8'b1010_0100; 4'h3: OUT = 8'b1011_0000; 4'h4: OUT = 8'b1001_1001; 4'h5: OUT = 8'b1001_0010; 4'h6: OUT = 8'b1000_0010; 4'h7: OUT = 8'b1111_1000; 4'h8: OUT = 8'b1000_0000; 4'h9: OUT = 8'b1001_0000; endcaseendendmodule![singletap波形图](http://img.blog.csdn.net/20170706114602121?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSFlMXzIwMTU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)``
2-2:LED的亮度调节
module cnt_synt(CLK, CNT,OV);input CLK ;output reg[31:0]CNT;output reg OV;parameter MAX_VAL=500_000;always @ (posedge CLK) begin if(CNT < MAX_VAL) CNT <= 1'b1+CNT ; else CNT <= 0;endalways @ (CNT) beginif (CNT == MAX_VAL )OV = 1'b1;elseOV = 1'b0;endendmodulemodule duty_division(CLK, EN, OUT);input CLK ,EN;output reg [3:0] OUT ;reg [7:0]COUNT;always @ (posedge CLK) beginif(EN)begin if(COUNT<99) COUNT <= COUNT + 1'b1; else COUNT <= 0; if((COUNT >= 0)&&(COUNT <50)) OUT[0] <= 1; else OUT[0] <=0; if((COUNT >= 0)&&(COUNT <25)) OUT[1] <= 1; else OUT[1] <=0; if((COUNT >= 0)&&(COUNT <100/8)) OUT[2] <= 1; else OUT[2] <=0; if((COUNT >= 0)&&(COUNT <100/16)) OUT[3] <= 1; else OUT[3] <=0; endelse COUNT<= COUNT;endendmodule
2-3:0到9循环计数,0最暗,9最亮
module cnt_synt(CLK , CNT ,OV);input CLK ;output reg [31:0] CNT;output reg OV ;parameter MAX_VAL = 50000_000;always @ (posedge CLK ) beginif(CNT < MAX_VAL) CNT <= CNT+ 1'b1; else CNT <= 0;endalways @(CNT) beginif(CNT== MAX_VAL) OV = 1'b1; else OV = 1'b0;endendmodulemodule cnt_en_0to9(CLK, EN ,CNT);input CLK ,EN;output reg [3:0]CNT ;always @ (posedge CLK) beginif(EN)begin if(CNT <9) CNT <= CNT+ 1'b1 ; else CNT <= 0 ; endelse CNT <= CNT;endendmodulemodule duty_division(CLK,IN,PULSE);input CLK ;input [3:0]IN;output reg PULSE ;reg [6:0] COUNT;always @ (posedge CLK)begin if(COUNT < 10 ) COUNT <= COUNT + 1'b1; else COUNT <= 0; if((COUNT >= 0 )&& (COUNT <= IN)) PULSE <= 1; else PULSE <= 0;endendmodulemodule dec_4to7(IN,EN,OUT);input EN ;input [3:0]IN;output reg[7:0] OUT;always @(IN) begin if(EN) begincase(IN)4'h1: OUT = 8'b1111_1001;4'h2: OUT = 8'b1010_0100;4'h3: OUT = 8'b1011_0000;4'h4: OUT = 8'b1001_1001;4'h5: OUT = 8'b1001_0010;4'h6: OUT = 8'b1000_0010;4'h7: OUT = 8'b1111_1000;4'h8: OUT = 8'b1000_0000;4'h9: OUT = 8'b1001_0000;4'h0: OUT = 8'b1100_0000;default: OUT = 8'b1111_1111;endcaseendelseOUT = 8'b1111_1111;endendmodule
阅读全文
0 0
- 阶段二设计
- 设计阶段
- 保研阶段二
- 阶段自考之二
- MySQL(阶段二)
- 内核启动:阶段二
- 泉demo阶段二
- 设计阶段结束了
- 非常重要的设计阶段
- 软件的设计阶段
- 软件工程的设计阶段
- 软件开发设计阶段
- 设计模式学习阶段
- 计算机设计阶段
- 数据库设计---实现阶段
- 【软件工程】--设计阶段
- 软件工程--设计阶段
- 数据库优化-- 设计阶段
- Quaterion-Euler
- Android如何设置文字点击事件
- 游戏编程入门(17):开发 Space Out(逃离太空)游戏
- spring开思想-框架底层思想
- JDK7中的ConcurrentHashMap实现原理
- 阶段二设计
- c#中 实现 字符串转字典数据 字符串转字典 数组字典转字符串
- 基于redis setnx的简易分布式锁
- Wireshark过滤规则之:http数据包
- 详解UCOS中的内存管理
- JAVAWEB开发之redis学习(三)——list相关的操作命令
- C++静态库与动态库
- Krpano插件的使用
- Android RecyclerView+StaggerLayoutManager实现瀑布流单选item乱跳