0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA Verilog中计数器的2中写法对比

FPGA学习交流 2018-09-26 12:51 次阅读

功能是,计数记到24,清零,重新计数….

第一种写法:

module count_debug (

clk,

rst_n,

dout

);

input clk;

input rst_n;

output [4:0] dout;

reg [4:0] cnt;

always @(posedgeclk or negedge rst_n) begin

if(rst_n == 1'b0) begin

cnt <= {5{1'b0}};

end else if(cnt == 5'd24)begin

cnt <= {5{1'b0}};

end else begin

cnt <= cnt + 1'b1;

end

end

assign dout = cnt;

endmodule

这种写法是我常用的方式,现在来看看消耗的逻辑单元



; Family ; Cyclone II ;

; Device ; EP2C8Q208C8 ;

; TimingModels ; Final ;

; Total logicelements ; 9 / 8,256 ( <1 % )                     ;

; Total combinational functions ; 9 / 8,256 ( < 1 % )           ;

; Dedicated logic registers ; 5 / 8,256 ( < 1 % )               ;

; Totalregisters ; 5 ;

; Total pins ; 7 / 138 ( 5 % ) ;

; Total virtualpins ; 0 ;

; Total memorybits ; 0 / 165,888 ( 0 %) ;

; EmbeddedMultiplier 9-bit elements ; 0 / 36 ( 0 % ) ;

RTL图如下:



第二种写法:

module count_debug (

clk,

rst_n,

dout

);



input clk;

input rst_n;

output [4:0] dout;

reg [4:0] cnt;

always @(posedgeclk or negedge rst_n) begin

if(rst_n == 1'b0) begin

cnt <= {5{1'b0}};

end else if(cnt < 5'd24)begin

cnt <= cnt + 1'b1;

end else begin

cnt <= {5{1'b0}};

end

end

assign dout = cnt;

endmodule

消耗的逻辑单元:

; Family ; Cyclone II ;

; Device ; EP2C8Q208C8 ;

; TimingModels ; Final ;

; Met timingrequirements ; Yes ;

; Total logicelements ; 6 / 8,256 ( <1 % )                      ;

; Total combinational functions ; 6 / 8,256 ( < 1 % )            ;

; Dedicated logic registers ; 5 / 8,256 ( < 1 % )                ;

; Totalregisters ; 5 ;

; Total pins ; 7 / 138 ( 5 % ) ;

; Total virtualpins ; 0 ;

; Total memorybits ; 0 / 165,888 ( 0 %) ;

; EmbeddedMultiplier 9-bit elements ; 0 / 36 ( 0 % ) ;


RTL图如下:




第一种写法比第二种写法多耗了3个逻辑单元。

从上面的逻辑单元和RTL图对比,在用计数器实现相同的功能时,可以看出 == COUNT 消耗的逻辑单元比 <   COUNT  消耗的逻辑单元要多。

这只是从例子上看出来的,那具体其他情况是不是,就不知道了。目前我在学习中,

以上结论仅供参考。


仿真波形如下:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593155
收藏 人收藏

    评论

    相关推荐

    计数器怎么判断同步和异步 计数器异步和同步的区别

    计数器是计算机领域中常用的一种数据结构,用于记录和控制程序执行中的指令或事件发生的次数。计数器可以根据同步机制或异步机制进行操作。本文将详细讨论计数器的同步性和异步性,深入探讨两者的区别及其在实际
    的头像 发表于 02-22 15:14 478次阅读

    单片机定时器与单片机计数器分析

     从一个生活中的例程看起:一个水盆在水龙头下,水龙没关紧,水一滴滴地滴入盆中。水滴持续落下,盆的容量是有限的,过一段时间之后,水就会逐渐变满。录音机上的计数器多只计到999…。那么单片机中计数器有多大的容量呢?8031单片机中有两个计数
    发表于 02-15 16:24 139次阅读

    计数器怎么用 计数器的作用有哪些

    计数器是一种被广泛应用于各个领域的实用工具,在我们的日常生活中随处可见。无论是进行时间统计,协助工作任务的完成,还是用于科学研究和编程技术,在各个领域都起到了重要的作用。本文将详细介绍计数器
    的头像 发表于 02-03 10:04 1209次阅读

    同步计数器和异步计数器各有什么特点

    同步计数器和异步计数器是两种常见的数据结构,它们都用于控制对共享资源的访问。它们的主要作用是实现多个线程之间的同步和并发控制。尽管它们都被用于同步的目的,但它们有很多不同的特点和用例。 同步计数器
    的头像 发表于 12-15 10:49 642次阅读

    同步计数器和异步计数器的区别主要在哪里

    同步计数器和异步计数器的区别详解 同步计数器和异步计数器是数字电路中两种常见的计数器类型,它们在实现方式和功能上存在明显的区别。本文将详细介
    的头像 发表于 12-13 14:54 2471次阅读

    PLC计数器应用简介

    基本指令里面找到计数器操作,点击加计数
    的头像 发表于 11-08 17:22 1104次阅读
    PLC<b class='flag-5'>计数器</b>应用简介

    verilog每日一练】计数器计时

    已知外部输入时钟信号clk为50MHz,请用verilog实现计数器的计时1秒钟,每间隔1秒输出一个clk时钟周期的脉冲信号flag,参考波形如下:
    发表于 08-17 09:13

    求助,求使用计数器生成内部复位的推荐写法

    使用计数器生成内部复位的推荐写法
    发表于 08-11 06:10

    计数器在程序中有什么作用

    PLC程序除了梯形图之外,还有FBD功能块作为指令,这种指令一般都有背景DB。   PLC计数器指令可使其对内部程序事件和外部过程事件进行计数。这样就可以节约外部计数器的使用。   每个
    的头像 发表于 07-04 15:57 1002次阅读
    <b class='flag-5'>计数器</b>在程序中有什么作用

    扭环形计数器与环形计数器的随机序列

    扭环形计数器,每次状态变化时仅有一个触发器发生翻转,译码不存在竞争冒险,在n(n≥3)位计数器中,使用2n个状态,有2^n-2n个状态未使用;
    的头像 发表于 06-27 10:18 1472次阅读
    扭环形<b class='flag-5'>计数器</b>与环形<b class='flag-5'>计数器</b>的随机序列

    Verilog HDL中使用分频器的8位计数器的设计

    电子发烧友网站提供《在Verilog HDL中使用分频器的8位计数器的设计.zip》资料免费下载
    发表于 06-15 10:14 0次下载
    在<b class='flag-5'>Verilog</b> HDL中使用分频器的8位<b class='flag-5'>计数器</b>的设计

    简谈FPGA设计不同设计方法资源消耗对比

    今天和大侠简单聊一聊FPGA设计不同设计方法硬件资源消耗对比,话不多说,上货。 在这里,我们使用Verilog HDL 设计计数器,通过两
    发表于 05-31 17:25

    FPGA设计:4位计数器代码及仿真程序

    大家好!今天给大家分享的是4位计数器的代码以及仿真程序。
    的头像 发表于 05-24 09:22 1196次阅读
    <b class='flag-5'>FPGA</b>设计:4位<b class='flag-5'>计数器</b>代码及仿真程序

    求分享S32G2内存映射系统计数器的地址

    我正在寻找 S32G2 内存映射系统计数器的地址。 Armv8 参考手册(DDI 0487H.a,D7 章,尤其是 D7.1.2 节)提供了系统计数器的定义。引用其中的一点: 通用计
    发表于 05-12 06:18

    SIMATIC S7-1500 PLC SIMATIC计数器-加计数器

    计数器(S_CU)在计数初始值预置输入端S上有上升沿时,PV装入预置值,输入端CU每检测到一次上升沿,当前计数值CV加1(前提是CV 小于999);当前计数值大于0时,Q输出为高电平
    的头像 发表于 04-27 15:38 1674次阅读
    SIMATIC S7-1500 PLC SIMATIC<b class='flag-5'>计数器</b>-加<b class='flag-5'>计数器</b>