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

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

3天内不再提示

verilog的时钟分频与时钟使能

FPGA设计论坛 来源:未知 2023-01-05 14:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

时钟使能电路是同步设计的基本电路,在很多设计中,虽然内部不同模块的处理速度不同,但由于这些时钟是同源的,可以将它们转化为单一时钟处理;在ASIC中可以通过STA约束让分频始终和源时钟同相,但FPGA由于器件本身和工具的限制,分频时钟和源时钟的Skew不容易控制(使用锁相环分频是个例外),难以保证分频时钟和源时钟同相,因此推荐的方法是使用时钟使能,通过使用时钟使能可以避免时钟“满天飞”的情况,进而避免了不必要的亚稳态发生,在降低设计复杂度的同时也提高了设计的可靠性;

禁止用计数器分频后的信号做其它模块的时钟,而要用改成时钟使能的方式,否则这种时钟满天飞的方式对设计的可靠性极为不利,也大大增加了静态时序分析的复杂性;

带使能端的D触发器,比一般D触发器多了使能端,只有在使能信号EN有效时,数据才能从D端被打入D触发器,否则Q端输出不改变,我们可以用带使能端的D触发器来实现时钟使能的功能;

verilog模型举例

在某系统中,前级数据输入位宽为8位,而后级的数据输出位宽为32,我们需要将8bit数据转换为32bit,由于后级的处理位宽为前级的4倍,因此后级处理的时钟频率也将下降为前级的1/4,若不使用时钟使能,则要将前级的时钟进行4分频来作后级处理的时钟;这种设计方法会引入新的时钟域,处理上需要采取多时钟域处理的方式,因而在设计复杂度提高的同时系统的可靠性也将降低。为了避免以上问题,我们采用了时钟使能以减少设计复杂度;

  1. module clk_en(

  2. clk, rst, data_in, data_out

  3. );

  4. input clk;

  5. input rst;

  6. input [7:0] data_in;

  7. output [31:0] data_out;


  8. reg [31:0] data_out;

  9. reg [31:0] data_shift;

  10. reg [1:0] cnt;

  11. reg clken;//使能信号


  12. always @(posedge clk )

  13. begin

  14. if (rst)

  15. cnt <= 0;

  16. else

  17. cnt <= cnt + 1;

  18. end


  19. always @(posedge clk )

  20. begin

  21. if (rst)

  22. clken <= 0;

  23. else if (cnt == 2'b01)

  24. clken <= 1;//使能信号只在一个周期拉高

  25. else

  26. clken <= 0;

  27. end


  28. always @(posedge clk )

  29. begin

  30. if (rst)

  31. data_shift <= 0;

  32. else

  33. data_shift <= {data_shift[23:0],data_in};//移位

  34. end


  35. always @(posedge clk)

  36. begin

  37. if (rst)

  38. data_out <= 0;

  39. else if (clken == 1'b1)

  40. data_out <= data_shift;//只在一个周期输出

  41. end

  42. endmodule





精彩推荐



至芯科技12年不忘初心、再度起航12月17日北京中心FPGA工程师就业班开课、线上线下多维教学、欢迎咨询!
FIR滤波器和IIR滤波器的区别与联系
Vivado使用技巧-支持的Verilog语法
扫码加微信邀请您加入FPGA学习交流群




欢迎加入至芯科技FPGA微信学习交流群,这里有一群优秀的FPGA工程师、学生、老师、这里FPGA技术交流学习氛围浓厚、相互分享、相互帮助、叫上小伙伴一起加入吧!

点个在看你最好看





原文标题:verilog的时钟分频与时钟使能

文章出处:【微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

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

    关注

    1655

    文章

    22283

    浏览量

    630290

原文标题:verilog的时钟分频与时钟使能

文章出处:【微信号:gh_9d70b445f494,微信公众号:FPGA设计论坛】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    时钟树解析

    决定锁相环的输出频率,此处设置为1分频,也就是不分频使PLL功能,并告知用到的时钟源、时钟
    发表于 11-28 08:24

    MCU时钟管理对功耗优化方向

    时仅需几μA),但精度较差。 策略: 在运行模式使用外部高速时钟,进入低功耗模式前切换到内部低速时钟。 (4) 分频器优化 原理:通过预分频器降低外设
    发表于 11-24 06:16

    停车的时长准不准?铁路时钟系统、铁路时钟、铁路授时

    时钟系统
    西安同步电子科技有限公司
    发布于 :2025年11月12日 17:41:04

    铁路时钟系统介绍、时钟系统、授时服务器

    时钟系统
    西安同步电子科技有限公司
    发布于 :2025年11月12日 17:39:23

    RVMCU课堂「20」: 手把手教你玩转RVSTAR—实时时钟RTC篇

    主要模块,一个是RTC预分频模块,模块包含一个20位可编程预分频器,该分频器可以通过对RTC时钟分频产生SC_CLK,如果RTC_INTE
    发表于 10-29 08:10

    时钟设计优化实战

    1、时钟设计,芯片性能的节拍器 在现代 IC 设计中,时钟网络的优化是实现高性能、高可靠性和低功耗的关键。本文聚焦四大核心技术:CTS 优化、DCD 最小化、时钟门控和时钟域交叉(CD
    的头像 发表于 10-09 10:07 289次阅读

    ‌CDC5801A低抖动时钟倍频/分频器技术文档总结

    CDC5801A器件提供从单端参考时钟 (REFCLK) 到差分输出对 (CLKOUT/CLKOUTB) 的时钟乘法和分频。乘法和分频端子 (MULT/DIV0:1) 提供倍频比和
    的头像 发表于 09-19 14:35 653次阅读
    ‌CDC5801A低抖动<b class='flag-5'>时钟</b>倍频/<b class='flag-5'>分频</b>器技术文档总结

    ‌CDCLVD1213 1:4低附加抖动LVDS缓冲器带分频器 技术文档摘要

    CDCLVD1213时钟缓冲器将输入时钟分配给4对差分LVDS 时钟输出具有低附加抖动,用于时钟分配。输入可以是LVDS, LVPECL,或 CML。 该CDCLVD1213包含
    的头像 发表于 09-16 13:53 577次阅读
    ‌CDCLVD1213 1:4低附加抖动LVDS缓冲器带<b class='flag-5'>分频</b>器 技术文档摘要

    指针式时钟 单面网络子钟

    时钟
    jf_47371611
    发布于 :2025年09月12日 13:38:52

    第三十一章 MCO——PA8从主频分频输出

    本篇文章介绍了W55MH32 的 MCO 从 PA8 输出内部时钟时钟源有 HSI、HSE 等,经分频后输出。其用于为外部设备供时钟、多芯片同步等,配置需
    的头像 发表于 07-01 15:51 1235次阅读
    第三十一章 MCO——PA8从主频<b class='flag-5'>分频</b>输出

    AS32X601驱动系列教程 SMU_系统时钟详解

    时钟和复位的管理。在默认状态下SMU工作在IDLE状态。只有接收到PMU的使信号后才开始工作。SMU模块会根据PMU的指令自动配置COR、AXIBUS0/1/2等总线的时钟和复位。
    的头像 发表于 05-23 16:01 579次阅读
    AS32X601驱动系列教程 SMU_系统<b class='flag-5'>时钟</b>详解

    时钟电路的组成与设计要点介绍

    在数字电子系统的运行中,时钟电路掌控着各部件协同工作的节奏。它通常由时钟发生器、时钟分频器、时钟缓冲器等核心部分构成,这些组件各司其职,共同
    的头像 发表于 05-05 15:40 1275次阅读

    AD9508 1.65GHz时钟扇出缓冲器,集成输出分频器和延迟调整技术手册

    AD9508提供时钟扇出能力,针对能使系统性能达到优质的低抖动进行设计。这款器件满足时钟数据转换器等应用所需的相位噪声和低抖动要求,可优化这些应用的性能。
    的头像 发表于 04-10 14:05 916次阅读
    AD9508 1.65GHz<b class='flag-5'>时钟</b>扇出缓冲器,集成输出<b class='flag-5'>分频</b>器和延迟调整技术手册

    stm32h7s78 rcc pll2时钟使失败的原因?

    调用了 systemclock update 函数,然后对 sdmmc 进行了初始化,看到在使 sdmmc 时钟时, pll2 相应的时钟输出位没有被成功置 1,但同样设置 ltdc
    发表于 03-14 10:33

    一文看懂!时钟在数据采集系统中究竟起到哪些关键作用?

    等重要性能指标,因此合理选择时钟源对于优化系统性能至关重要。 时钟的分类 板载10M参考源 使用板载10MHz参考源,通过板载逻辑控制电路,并根据用户设置的分频比,生成相应的时钟信号。
    的头像 发表于 01-21 13:44 1077次阅读
    一文看懂!<b class='flag-5'>时钟</b>在数据采集系统中究竟起到哪些关键作用?