多功能频率计周期/脉宽/占空比/频率测量verilog,视频/代码

本文主要是介绍多功能频率计周期/脉宽/占空比/频率测量verilog,视频/代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

名称:多功能频率计周期、脉宽、占空比、频率测量verilog

软件:Quartus

语言:Verilog

代码功能:

   多功能频率计,可测量信号的周期、脉冲宽度、占空比、频率,语言为verilog,quartus软件设计仿真

代码下载:多功能频率计周期、脉宽、占空比、频率测量verilog_Verilog/VHDL资源下载名称:多功能频率计周期、脉宽、占空比、频率测量verilog(代码在文末付费下载)软件:Quartus语言:Verilog代码功能: 多功能频率计,可测量信号的周期、脉冲宽度、占空比、频率,语言为verilog,quartus软件设计仿真演示视频:部分代码展示module signal_detect(input clk_in,//输入100M基准时钟input reset_p,//复位信号inicon-default.png?t=N7T8http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=187

部分代码展示

module signal_detect(
input clk_in,//输入100M基准时钟
input reset_p,//复位信号
input signal_in,//待测频率输入
output [31:0]total_frequency,//输出频率
output [31:0]total_cycle,//输出周期
output [31:0]pulse_width,//输出脉宽
output [31:0]duty_cycle//输出占空比
);
frequency_detect i_frequency_detect(
. clk_in(clk_in),//输入100M基准时钟
. reset_p(reset_p),//复位信号
. signal_in(signal_in),//待测频率输入
. total_frequency(total_frequency),//输出频率
. total_cycle(total_cycle)//输出周期
);
pulse_detect i_pulse_detect(
. clk_in(clk_in),//输入100M基准时钟
. reset_p(reset_p),//复位信号
. signal_in(signal_in),//待测频率输入
. pulse_width(pulse_width),//输出脉宽
. duty_cycle(duty_cycle)//输出占空比
);
endmodulemodule frequency_detect(
input clk_in,//输入100M基准时钟
input reset_p,//复位信号
input signal_in,//待测频率输入
output [31:0]total_frequency,//输出频率
output [31:0]total_cycle//输出周期
);
//parameter count_1s=32'd100_000_000;//1s所需计数周期数(仿真时用下一句)
parameter count_1s=32'd1000;//仿真时用该句,实际应为上一句(仿真时为减小仿真时间,将闸门开启时间减小为10us)reg [31:0] door_1s_cnt=32'd0;//闸门信号1s开启一次
always@(posedge clk_in)if(reset_p==1)door_1s_cnt<=32'd0;elseif(door_1s_cnt==count_1s)door_1s_cnt<=32'd0;elsedoor_1s_cnt<=door_1s_cnt+32'd1;reg door_1s=0;
always@(posedge clk_in)if(door_1s_cnt==count_1s)door_1s<=~door_1s;//闸门信号1s开启一次reg [31:0] CNT1=32'd0;//基准时钟计数器
reg [31:0] CNT2=32'd0;//待测频率计数器
reg [31:0] CNT1_buf=32'd0;//基准时钟计数器寄存器
reg [31:0] CNT2_buf=32'd0;//待测频率计数器寄存器

设计文档(文档点击可下载):

1. 工程文件

2. 程序文件

3. 原理图文件

4. 程序编译

5. Testbench

6. 仿真图

6.1整体仿真图

仿真图可看出测得占空比duty_cycle=20%;脉宽pulse_width=200ns,周期total_cycle=1001ns,频率total_frequency=999000Hz,其中频率误差较大(实际应为1000000Hz,误差999Hz)这是因为仿真时为减小仿真时间,使用的闸门信号为10us,闸门实际应为1s,减小了100000倍。

6.2局部细节,被测信号脉宽200ns,测试结果为200,正确

6.3局部细节,被测信号周期1000ns,测试结果为1001ns,误差1ns。(误差与频率一样,可以通过增大闸门减小误差)

设计文档.doc

 演示视频:多功能频率计周期、脉宽、占空比、频率测量verilog_Verilog/VHDL资源下载

这篇关于多功能频率计周期/脉宽/占空比/频率测量verilog,视频/代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/170671

相关文章

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

CSS3中使用flex和grid实现等高元素布局的示例代码

《CSS3中使用flex和grid实现等高元素布局的示例代码》:本文主要介绍了使用CSS3中的Flexbox和Grid布局实现等高元素布局的方法,通过简单的两列实现、每行放置3列以及全部代码的展示,展示了这两种布局方式的实现细节和效果,详细内容请阅读本文,希望能对你有所帮助... 过往的实现方法是使用浮动加

Java如何获取视频文件的视频时长

《Java如何获取视频文件的视频时长》文章介绍了如何使用Java获取视频文件的视频时长,包括导入maven依赖和代码案例,同时,也讨论了在运行过程中遇到的SLF4J加载问题,并给出了解决方案... 目录Java获取视频文件的视频时长1、导入maven依赖2、代码案例3、SLF4J: Failed to lo

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

Python实现多路视频多窗口播放功能

《Python实现多路视频多窗口播放功能》这篇文章主要为大家详细介绍了Python实现多路视频多窗口播放功能的相关知识,文中的示例代码讲解详细,有需要的小伙伴可以跟随小编一起学习一下... 目录一、python实现多路视频播放功能二、代码实现三、打包代码实现总结一、python实现多路视频播放功能服务端开