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

010---基于Verilog HDL的分频器设计

文章目录

  • 摘要
  • 一、时序图
  • 二、程序设计
    • 2.1 rtl
    • 2.2 tb
  • 三、仿真分析
  • 四、实用性


摘要

文章为学习记录。绘制时序图,编码。通过修改分频值参数,实现一定范围分频值内的任意分频器设计。


一、时序图

在这里插入图片描述

二、程序设计

2.1 rtl

module divider
#(parameter    DIV_VALUE = 5)
(
input wire sys_clk , //系统时钟 50MHz
input wire sys_rst_n , //全局复位output reg clk_flag //指示系统时钟分频后的脉冲标志信号);reg [10:0] cnt; //计数//cnt:always@(posedge sys_clk or negedge sys_rst_n)beginif(sys_rst_n == 1'b0)cnt <= 'b0;else if(cnt == DIV_VALUE -1)cnt <= 3'b0;elsecnt <= cnt + 1'b1;end//clk_flag:脉冲信号指示always@(posedge sys_clk or negedge sys_rst_n)beginif(sys_rst_n == 1'b0)clk_flag <= 1'b0;else if(cnt == DIV_VALUE -2)clk_flag <= 1'b1;elseclk_flag <= 1'b0;endendmodule

2.2 tb

module tb_divider();reg sys_clk ; //系统时钟 50MHz
reg sys_rst_n ; //全局复位wire clk_flag ;//初始化系统时钟、全局复位initial beginsys_clk = 1'b1;sys_rst_n <= 1'b0;#20sys_rst_n <= 1'b1;end//sys_clk:模拟系统时钟,每 10ns 电平翻转一次,周期为 20ns,频率为 50MHzalways #10 sys_clk = ~sys_clk;divider
#(
.    DIV_VALUE(5))
divider_inst1
(
. sys_clk (sys_clk), //系统时钟 50MHz
. sys_rst_n(sys_rst_n) , //全局复位. clk_flag(clk_flag) //指示系统时钟分频后的脉冲标志信号);endmodule

三、仿真分析

5分频:
系统时钟周期20ns,clk_flag周期100ns。
在这里插入图片描述
10分频:
系统时钟周期20ns,clk_flag周期200ns。
在这里插入图片描述

四、实用性

确保系统时钟继续作为工作时钟:
系统时钟是由外部晶振直接通过管脚连接到了 FPGA 的专用时钟管脚上,会连接到全局时钟网络,能够使时钟信号到达每个寄存器的时间都尽可能相同,以保证更低的时钟偏斜(Skew)和抖动(Jitter)。

always@(posedge sys_clk or negedge sys_rst_n)
beginif(sys_rst_n == 1'b0)A <= 4'b0;else if(clk_flag == 1'b1)A <= A + 1'b1;end

http://www.mrgr.cn/news/93353.html

相关文章:

  • YOLOv12改进之A2(区域注意力)
  • 洛谷 P1480 A/B Problem(高精度详解)c++
  • 【大模型篇】推理模型大作战(QwQ-32B vs DeepSeek-R1)
  • Gartner发布2025年网络安全六大预测
  • FusionInsight MRS云原生数据湖
  • ROS2 Rviz 实战:给 panda 机械臂场景塞个圆柱体
  • Redis数据结构-Zset有序集合
  • 【JAVA架构师成长之路】【持久层】第2集:SQL常用优化手段
  • 从零开始的 Kafka 学习(一)| 概念,Java API
  • 【JAVA架构师成长之路】【JDK源码】第5集:Map集合框架与泛型
  • 【leetcode hot 100 73】矩阵置零
  • PythonWeb开发框架—Flask工程创建和@app.route使用详解
  • Redis|集群 Cluster
  • 软考架构师笔记-存储管理
  • 【15】蚂蚁链产品与服务
  • AI绘画软件Stable Diffusion详解教程(6):文生图、提示词细说与绘图案例
  • java+jvm笔记
  • 【长安大学】苹果手机/平板自动连接认证CHD-WIFI脚本(快捷指令)
  • SQL注入的原理及详细运用
  • 从0到1入门Linux