Verilog基础之十、计数器实现

这篇具有很好参考价值的文章主要介绍了Verilog基础之十、计数器实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、前言

二、工程设计

2.1 设计代码

2.2 综合结果

​2.3 仿真结果


一、前言

    计数器是较为基础的逻辑,很多其他逻辑可依靠计数器实现,如控制器,分频。原理为通过统计时钟脉冲的个数来输出计数值。

二、工程设计

2.1 设计代码

工程设计以计数20的计数器为例

module Counter(clk,out,rst);
input clk,rst;
output reg [5:0] out;
always@(posedge clk,negedge rst)
begin
if(!rst)
out<=6'b0;
else if(out==6'd19) //此处设置计数值,因为计数输出从0开始,因此如果计数20,则计数到19即结束
out<=6'b0;
else
out<=out+1'b1;
end
endmodule

测试代码

module Counter_tb( );
reg clk,rst;
wire [5:0] out;
initial
begin
rst=1;
clk=0;
#50 rst=0;
#30 rst=1;
end
always #1 clk=~clk;
Counter Counter_test(.clk(clk),.rst(rst),.out(out));
endmodule

2.2 综合结果

综合后的网表可知,6位的计数器由6个LUT和6个FF实现,多余的一个连接到rst的LUT1是用于取反,因为rst低电平复位

verilog 计数器,FPGA所知所见所解,Verilog学习笔记,Vivado,fpga开发,Verilog,modelsim,计数器

​2.3 仿真结果

下图仿真中,计数输出out在计数到19后从0开始,符合预期

verilog 计数器,FPGA所知所见所解,Verilog学习笔记,Vivado,fpga开发,Verilog,modelsim,计数器文章来源地址https://www.toymoban.com/news/detail-700474.html

到了这里,关于Verilog基础之十、计数器实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 通过verilog实现模可变计数器的设计

    实验要求:          (一) 实验目的 (1)掌握组合逻辑电路和时序电路的 FPGA实现方法; (2)熟悉EDA开发板和开发软件的使用方法; (3)学习静态数码管的使用和7段数码显示译码器设计; (4)掌握时钟在时序电路中的作用; (5)掌握分频电路的实现方法。 (二)

    2024年02月05日
    浏览(8)
  • verilog中几种实现计数器的方法

    module counter ( input clk, output reg [3:0] count ); always @(posedge clk) begin if (count == 4’hF) begin count = 4’h0; end else begin count = count + 4’b1; end end endmodule integer      i ; reg [3:0]    counter2 ; initial begin     counter2 = \\\'b0 ;     for (i=0; i=10; i=i+1) begin         #10 ;         counter2 = coun

    2024年02月03日
    浏览(7)
  • 【FPGA】Verilog:升降计数器 | 波纹计数器 | 约翰逊计数器 | 实现 4-bit 升降计数器的 UP/DOWN

    【FPGA】Verilog:升降计数器 | 波纹计数器 | 约翰逊计数器 | 实现 4-bit 升降计数器的 UP/DOWN

    目录 Ⅰ. 理论部分 0x00 升降计数器(UP DOWN Counter) 0x01 波纹计数器(Ripple Counter)

    2024年02月05日
    浏览(16)
  • verilog手撕代码5——计数器(置位、加减、环形、扭环形、格雷码计数器实现)

    verilog手撕代码5——计数器(置位、加减、环形、扭环形、格雷码计数器实现)

    2023.5.12 编写一个十六进制计数器模块,计数器输出信号递增每次到达0,给出指示信号 zero ,当置位信号 set 有效时,将当前输出置为输入的数值 set_num 。 注意 :这里zero=1和num=0是同一拍输出的,按道理如果根据num=0,然后去输出zero=1应该延迟一拍。所以这里考虑将number延迟一

    2024年02月07日
    浏览(11)
  • OUC数字逻辑Verilog实验二 用Verilog实现4位计数器(时序逻辑)

    OUC数字逻辑Verilog实验二 用Verilog实现4位计数器(时序逻辑)

    clk为模拟的脉冲,reset为重置信号,如果reset为0,则把init的值作为初始值赋值给out,enable为使能端,如果enable为1,则在上升沿根据mode的值,如果mode为1,为加计数,mode为0,为减计数。 仿真图像中, 第1个脉冲,reset为0,为out赋值输入的初始值0010。 第2~6个脉冲,enable为1,

    2024年01月17日
    浏览(10)
  • FPGA开发] 使用Verilog实现一个简单的计数器

    计数器是数字电路中常见的元件之一,它能够按照一定的规律进行计数。在FPGA开发中,我们可以使用硬件描述语言Verilog来实现一个简单的计数器。本文将为您详细介绍如何使用Verilog编写一个基于FPGA的计数器,并提供相应的源代码。 首先,我们需要定义计数器的功能和规格

    2024年02月03日
    浏览(9)
  • (数字逻辑笔记)用Verilog实现4位计数器。(时序逻辑)

    (数字逻辑笔记)用Verilog实现4位计数器。(时序逻辑)

    实验描述: 输入: Clock:如果计数器enable信号为1,那么在时钟上升沿,count加1 Enable:如果enable为1,那么在时钟上升沿,count加1;如果enable为0,count保持不变 Reset:重置信号,如果reset为0,count重置为0 输出: Count[3:0]:4位计数信号,范围:4‘b0000 – 4’b1111 实现代码: Tes

    2024年02月11日
    浏览(9)
  • 【FGPA】Verilog:移位寄存器 | 环形计数器 | 4bit移位寄存器的实现 | 4bit环形计数器的实现

    【FGPA】Verilog:移位寄存器 | 环形计数器 | 4bit移位寄存器的实现 | 4bit环形计数器的实现

      目录 Ⅰ. 理论部分 0x00 移位寄存器(Shift Register) 0x01 环形计数器(Ring Counter)

    2024年02月05日
    浏览(39)
  • verilog计数器

    verilog计数器

    (1) 深入了解计数器原理 (2) 学习使用 Verilog 实现同步计数器 ( 模八) 计数器的功能是记忆脉冲个数,它是数字系统中应用最为广泛的时序逻辑构件。 下图为设计 计数器从0开始每隔25_000_000个时钟周期(0.25秒)数码管末位显示加一,最大值为7,7后复0值              这

    2024年02月05日
    浏览(12)
  • 【Verilog异步清零计数器】

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 本人只是初学,代码经过实验验证,仅供参考 我自己查找模仿编写运行的代码,如有侵权,联系删除。 这是异步清零+控制加减法+进位指示灯的计数器 代码如下(示例): 这个程序适合已经了解书本例

    2024年02月11日
    浏览(9)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包