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.mzph.cn/diannao/72573.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

维度建模事实表技术基础解析(以电商场景为例)

维度建模事实表技术基础解析(以电商场景为例) 1. 事实表结构 定义:事实表是维度建模的核心,由外键(关联维度表)、度量值(可量化的业务指标)及退化维度(冗余的维度属性)组成。其本质是记录业务过程中的度量事件,例如电商订单金额、商品库存量等。 场景识别:适用于…

Redis 主从复制、哨兵与集群的关系及工作原理详解

一、核心概念与关系 Redis 的 主从复制、哨兵&#xff08;Sentinel&#xff09; 和 集群&#xff08;Cluster&#xff09; 是逐步演进的高可用与分布式解决方案&#xff0c;三者关系如下&#xff1a; 主从复制&#xff1a;数据冗余与读写分离的基础。 哨兵&#xff1a;在主从…

确认机制的分类及其区别与联系探讨

在传输控制中&#xff0c;确认机制&#xff08;ACK 机制&#xff09;作为反馈模块在实现拥塞控制、丢包恢复和状态监测等功能中起到了至关重要的作用。今天我将基于之前发表的论文研究成果&#xff0c;对确认机制的分类进行系统梳理&#xff0c;并讨论各类机制之间的区别与联系…

115 道 MySQL 面试题,从简单到深入!

1. 什么是数据库事务&#xff1f; 数据库事务是一个作为单个逻辑工作单元执行的一系列操作。事务具有ACID属性&#xff0c;即原子性&#xff08;Atomicity&#xff09;、一致性&#xff08;Consistency&#xff09;、隔离性&#xff08;Isolation&#xff09;和持久性&#xf…

Linux - 网络套接字

一、网络编程 1&#xff09;地址结构 1. IP地址结构 struct in_addr&#xff1a;是用于表示 IPv4 地址 的结构体&#xff0c;定义在头文件 <netinet/in.h> 中。它的主要作用是存储一个 32 位的 IPv4 地址&#xff0c;通常与 struct sockaddr_in 一起使用。 struct in_a…

程序员学商务英语之Visiting the Factory

Dialogue-1 Arranging a Visit安排参观 I was wondering if you would / could lend me a million bucks, you know, I’m trying to start / run my own business. 我想知道你是否能够借给我一百万美金&#xff0c;你知道&#xff0c;我正在创业。 Take off your tie befor…

机器视觉运动控制一体机在天地盖同步跟随贴合解决方案

市场应用背景 纸盒天地盖是一种包装形式&#xff0c;广泛应用于消费电子、食品礼盒、奢侈品及化妆品等领域。其采用高强度纸板&#xff0c;经过预组装处理&#xff0c;结构坚固稳定&#xff0c;能有效保护产品并提升品牌形象。随着包装行业快速发展&#xff0c;市场对天地盖的…

【智能体Agent】ReAct智能体的实现思路和关键技术

基于ReAct&#xff08;Reasoning Acting&#xff09;框架的自主智能体 import re from typing import List, Tuplefrom langchain_community.chat_message_histories.in_memory import ChatMessageHistory from langchain_core.language_models.chat_models import BaseChatM…

Electron打包工具对比

在 Electron 生态中&#xff0c;打包工具的选择直接影响开发效率、配置复杂度和最终应用的性能。以下是主流的 Electron 打包工具及其优劣分析&#xff0c;结合你的 Vue 项目需求&#xff0c;我会在最后给出推荐方案&#xff1a; 一、主流 Electron 打包工具对比 1. Electron …

云原生系列之本地k8s环境搭建

前置条件 Windows 11 家庭中文版&#xff0c;版本号 23H2 云原生环境搭建 操作系统启用wsl(windows subsystem for linux) 开启wsl功能&#xff0c;如下图 安装并开启github加速器 FastGithub 2.1 下载地址&#xff1a;点击下载 2.2 解压安装文件fastgithub_win-x64.zip 2…

【计算机网络入门】TCP拥塞控制

目录 1. TCP拥塞控制和TCP流量控制的区别 2. 检测到拥塞该怎么办 2.1 如何判断网络拥塞&#xff1f; 3. 慢开始算法 拥塞避免算法 4.快重传事件->快恢复算法 5. 总结 1. TCP拥塞控制和TCP流量控制的区别 TCP流量控制是控制端对端的数据发送量。是局部的概念。 TCP拥…

Spring Boot 整合 JMS-ActiveMQ,并安装 ActiveMQ

1. 安装 ActiveMQ 1.1 下载 ActiveMQ 访问 ActiveMQ 官方下载页面&#xff0c;根据你的操作系统选择合适的版本进行下载。这里以 Linux 系统&#xff0c;Java环境1.8版本为例&#xff0c;下载 apache-activemq-5.16.7-bin.tar.gz。 1.2 解压文件 将下载的压缩包解压到指定目…

《几何原本》命题I.13

《几何原本》命题I.13 两条直线相交&#xff0c;邻角是两个直角或者相加等于 18 0 ∘ 180^{\circ} 180∘。 若两角相等&#xff0c;则根据定义&#xff0c;两角为直角。 两角若不相等&#xff0c;如图&#xff0c;则 ( ∠ 1 ∠ 2 ) ∠ 3 ∠ 1 ( ∠ 2 ∠ 3 ) 9 0 ∘ …

优先级队列:通过堆的形式实现

描述: 大顶堆: 小顶堆: 索引位置查找: 代码实现: package com.zy.queue_code.deque;/*** @Author: zy* @Date: 2025-03-05-15:51* @Description:*/ public interface Priority

《OpenCV》—— dlib库

文章目录 dlib库是什么&#xff1f;OpenCV库与dlib库对比dlib库安装dlib——人脸应用实例——人脸检测dlib——人脸应用实例——人脸关键点定位dlib——人脸应用实例——人脸轮廓绘制 dlib库是什么&#xff1f; OpenCV库与dlib库对比 dlib库安装 dlib——人脸应用实例——人脸检…

蓝桥与力扣刷题(蓝桥 旋转)

题目&#xff1a;图片旋转是对图片最简单的处理方式之一&#xff0c;在本题中&#xff0c;你需要对图片顺时针旋转 90 度。 我们用一个 nm的二维数组来表示一个图片&#xff0c;例如下面给出一个 34 的 图片的例子&#xff1a; 1 3 5 7 9 8 7 6 3 5 9 7 这个图片顺时针旋转…

随机播放音乐 伪随机

import java.util.*;/*** https://cloud.tencent.com.cn/developer/news/1045747* 伪随机播放音乐*/ public class MusicPlayer {private List<String> allSongs; // 所有歌曲列表private List<String> playedSongs; // 已经播放过的歌曲列表private Map<String…

MiniMind用极低的成本训练属于自己的大模型

本篇文章主要讲解&#xff0c;如何通过极低的成本训练自己的大模型的方法和教程&#xff0c;通过MiniMind快速实现普通家用电脑的模型训练。 日期&#xff1a;2025年3月5日 作者&#xff1a;任聪聪 一、MiniMind 介绍 基本信息 在2小时&#xff0c;训练出属于自己的28M大模型。…

区块链中的数字签名:安全性与可信度的核心

数字签名是区块链技术的信任基石&#xff0c;它像区块链世界的身份证和防伪标签&#xff0c;确保每一笔交易的真实性、完整性和不可抵赖性。本文会用通俗的语言&#xff0c;带你彻底搞懂区块链中的数字签名&#xff01; 文章目录 1. 数字签名是什么&#xff1f;从现实世界到区块…

LLM自动金融量化-CFGPT

LLM自动金融量化-CFGPT 简介 CFGPT是一个开源的语言模型,首先通过在收集和清理的中国金融文本数据(CFData-pt)上进行继续预训练,包括金融领域特定数据(公告、金融文章、金融考试、金融新闻、金融研究论文)和通用数据(维基百科),然后使用知识密集的指导调整数据(CFD…