当前位置: 首页 > news >正文

广州软件开发外包/杭州seo俱乐部

广州软件开发外包,杭州seo俱乐部,中国今日新增新冠肺炎,学校网站制作模板【连载】 FPGA Verilog HDL 系列实例 Verilog HDL 之 十进制加减法计数器 一、原理 上面的一个实验我们介绍了二进制计数器, 这个实验我们介绍非二进制计数器。在非二进制计数器中我们最常用的就是十进制计数器。下面设计一个8421码十进制计数器为例该计数器可以通过一个控制…

【连载】 FPGA Verilog HDL 系列实例  

Verilog HDL 之 十进制加减法计数器

一、原理

  上面的一个实验我们介绍了二进制计数器, 这个实验我们介绍非二进制计数器。在非二进制计数器中我们最常用的就是十进制计数器。下面设计一个8421码十进制计数器为例
该计数器可以通过一个控制信号决定计数器时加计数还是减计数,另外,该寄存器还有一个清零输入,低电平有效。还有一个load装载数据的信号输入,用于预置数据;还有一个C的输出,用于计数器的级联。其功能表如表1.1所示。

二、实现

在设计文件中输入Verilog代码

 1  /****************************** 分频模块  *************************************/
2
3 `timescale 1 ns / 1 ps
4 module qu_dou ( clk ,rst , a ,b );
5
6 input clk ;
7 wire clk ;
8 input rst ;
9 input a ;
10 wire a ;
11
12 output b ;
13 reg b ;
14
15 reg [31:0] cnt ;
16 reg clkout ;
17 always @ ( posedge clk or negedge rst )
18 begin
19 if ( rst == 1'b0 )
20 cnt <= 0 ;
21 else begin if ( a==1'b1 ) begin
22 if ( cnt >= 32'd3000000 )
23 b <= 1 ;
24 else
25 cnt <= cnt + 1'b1 ;
26
27 end
28 else begin b <= 1'b0 ;
29 cnt <= 0 ;
30 end
31 end
32 end
33
34
35 endmodule

功能实现

 1 `timescale 1 ns / 1 ps
2
3 module counter10 ( load ,clr ,c ,DOUT ,clk, up_down ,DIN ,seven_seg ,sysclk ,rst);
4
5 input load ;
6 input clk;
7 wire load ;
8 input clr ;
9 wire clr ;
10 input up_down ;
11 wire up_down ;
12 input [3:0] DIN ;
13 wire [3:0] DIN ;
14 input sysclk ;
15 input rst ;
16
17 output c ;
18 reg c ;
19 output [3:0] DOUT ;
20 output [7:0] seven_seg;
21 wire [3:0] DOUT ;
22 reg [3:0] data_r;
23
24 /***************** 例化去抖模块 *************************************/
25 wire clk_r ;
26 qu_dou qu_dou (
27 .clk (sysclk) ,
28 .rst (rst) ,
29 .a (clk),
30 .b (clk_r));
31
32 /*********************************************************************/
33
34 assign DOUT = data_r;
35 always @ ( posedge clk_r or posedge clr or posedge load)
36 begin
37 if ( clr == 1) //同步清零
38 data_r <= 0;
39 else if ( load == 1) //同步预置
40 data_r <= DIN;
41 else if ( up_down ==1 & data_r == 9)
42 begin
43 c = 1;
44 data_r <= 4'b0000;
45 end
46 else if ( up_down ==0 & data_r == 0)
47
48 begin
49 c = 1;
50 data_r <= 9;
51 end
52 else
53 begin
54 if ( up_down ==1) begin //加计数
55 data_r <= data_r +1;
56 c = 0 ;
57 end
58 else begin //减计数
59 data_r <= data_r -1 ;
60 c = 0 ;
61 end
62 end
63 end
64 /*****************************数码管*********************************/
65 assign seven_seg ={1'b1,~Y_r};
66 reg [6:0] Y_r;
67
68
69 always @(data_r )
70 begin
71 Y_r = 7'b1111111;
72 case (data_r )
73 4'b0000: Y_r = 7'b0111111; // 0
74 4'b0001: Y_r = 7'b0000110; // 1
75 4'b0010: Y_r = 7'b1011011; // 2
76 4'b0011: Y_r = 7'b1001111; // 3
77 4'b0100: Y_r = 7'b1100110; // 4
78 4'b0101: Y_r = 7'b1101101; // 5
79 4'b0110: Y_r = 7'b1111101; // 6
80 4'b0111: Y_r = 7'b0000111; // 7
81 4'b1000: Y_r = 7'b1111111; // 8
82 4'b1001: Y_r = 7'b1101111; // 9
83 4'b1010: Y_r = 7'b1110111; // A
84 4'b1011: Y_r = 7'b1111100; // b
85 4'b1100: Y_r = 7'b0111001; // c
86 4'b1101: Y_r = 7'b1011110; // d
87 4'b1110: Y_r = 7'b1111001; // E
88 4'b1111: Y_r = 7'b1110001; // F
89 default: Y_r = 7'b0000000;
90 endcase
91 end
92 endmodule

 

 

 

 

 

转载于:https://www.cnblogs.com/kongtiao/archive/2011/09/02/2151868.html

http://www.lbrq.cn/news/1383463.html

相关文章:

  • 中山精品网站建设新闻/品牌推广方案案例
  • 网站开发属于IT行业/百度广告推广费用年费
  • 做片头片尾比较好的网站/找客户的软件有哪些
  • 南阳做网站/合肥百度关键词推广
  • 女和女做网站/神马推广登录
  • 原子艺术做的网站怎么样子/自己怎么优化网站
  • 娄底企业网站建设制作/公司网站建设哪家公司好
  • 做初中数学题的网站/淘宝推广方法有哪些
  • 成都建站开发/网络营销ppt模板
  • 如何做新闻源网站/信息流优化师培训
  • 大都会app约/站群seo
  • 重庆网站制作机构/朋友圈营销广告
  • 山西运城给网站做系统的公司/电商平台排行榜
  • 视频网站开发视频/电商运营怎么自学
  • 网站建设报价word文档/千川推广官网
  • 浪起网站建设/优化推广联盟
  • 武汉做企业网站/如何自己开发软件app
  • 建设厅网站如何查询企业信息/莆田百度快照优化
  • 高端的科技网站建设/软文推广案例大全
  • 游戏网站开发公司/广州seo推广
  • 定制一款app/咖啡seo是什么意思
  • 如何开发网站自己做站长/外包公司的优势和劣势
  • 怎样搭建web网站/电商网站建设报价
  • 绍兴网站建设设计/西安网站制作费用
  • 外贸网站推广 上海/网站推广优化排名公司
  • 网站制作价格便宜/aso关键词覆盖优化
  • 网站里的横幅怎么做/天津疫情最新情况
  • 电脑微信公众号登录入口/seo线上培训多少钱
  • flash做导航网站/网站推广的作用在哪里
  • 织梦贷款网站模板/中国今天刚刚发生的新闻
  • 文件操作与IO流
  • 【PHP】通过IP获取IP所在地理位置(免费API接口)
  • KubeSphere理论及实战
  • 24点数学游戏(穷举法求解表达式)
  • Python|OpenCV-实现快速处理图像的方法(23)
  • C++ TAP(基于任务的异步编程模式)