← 问题记录——李锐博恩

推荐答案 测试一下

写出一个7分频的电路?或画出波形?

写出一个7分频的电路?
编程题 中等 笔试真题

参考答案

实现7分频电路,通常采用计数器结合双边沿触发的方式,以获得近似50%的占空比。具体方法:设置一个模7计数器(计数范围0-6),在时钟上升沿计数。同时利用时钟下降沿产生另一个计数信号,或者直接通过组合逻辑产生分频输出。一种典型方案:定义两个计数器cnt1和cnt2,分别对上升沿和下降沿计数,当cnt1计数到3或4时产生高电平,从而得到占空比4:3或3:4的波形。例如:在上升沿计数,当cnt1=0~3时输出高,cnt1=4~6时输出低,这样占空比为4/7≈57.1%;若要接近50%,可让上升沿和下降沿各自产生半个周期,然后或运算。具体Verilog代码:reg [2:0] cnt; always@(posedge clk or negedge rst_n) if(!rst_n) cnt<=0; else if(cnt==6) cnt<=0; else cnt<=cnt+1; assign clk_out = (cnt<=2) ? 1 : 0; // 占空比3/7。若需要50%,则使用双边沿:reg clk_p, clk_n; always@(posedge clk) if(cnt==0) clk_p<=~clk_p; always@(negedge clk) if(cnt==3) clk_n<=~clk_n; assign clk_out = clk_p ^ clk_n; 这样可得到50%占空比。注意复位初始状态。波形图:时钟周期为T,7分频后周期为7T,高低电平各占3.5T(50%)或近似。考点:奇数分频原理,双边沿触发,计数器设计。易错点:未考虑占空比要求,忘记复位,多bit计数器竞争问题。

涉及知识点

  • 奇数分频器设计
  • 双边沿触发技术
  • 占空比控制方法
  • 模7计数器实现
  • Verilog/RTL代码编写
  • 时序电路复位处理
← 上一题
登录后反馈错题
下一题 →