40.简易频率计(基于等精度测量法)(3)
(1)BCD8421码:十进制数字转换成BCD8421码的方法
- 补零:你需要显示多少位数字,就在前面补上四倍的位宽。比如你要显示一个十进制8位的数字,就在前面补上8*4=32个零。
- 判断:判断补零部分显示的十进制数字,每位是否大于4,如果大于,则执行加3的操作。
- 判断完成后,向左移位一位。
- 最终位移次数与十进制数字位宽相同

(2)Verilog代码实现:



(3)仿真代码:
`timescale 1ns/1nsmodule BCD_8421_32_tb;reg clk ;
reg [31:0] data ;
reg reset_n ;wire [3:0] unit ;
wire [3:0] ten ;
wire [3:0] hun ;
wire [3:0] tho ;
wire [3:0] t_tho ;
wire [3:0] h_tho ;
wire [3:0] o_tho ;
wire [3:0] t_o_tho ;initial clk = 1'd1 ;
always #10 clk= ~clk ;initial beginreset_n <= 1'd0;#15;reset_n <= 1'd1;data <= 32'd1234_5678;#30000;data <= 32'd9874_5612;#30000;$stop;
endBCD_8421_32 BCD_8421_32_inst
(.clk (clk ),.data (data ),.reset_n (reset_n ),.unit (unit ),.ten (ten ),.hun (hun ),.tho (tho ),.t_tho (t_tho ),.h_tho (h_tho ),.o_tho (o_tho ),.t_o_tho (t_o_tho ));endmodule
(4)仿真波形:

(5)顶层设计:

module freq_meter_top
(input clk ,input reset_n ,input clk_test ,output DIO ,output SCLK ,output RCLK
);wire [31:0] freq ;wire [31:0] data ;wire [3:0] unit ;wire [3:0] ten ;wire [3:0] hun ;wire [3:0] tho ;wire [3:0] t_tho ;wire [3:0] h_tho ;wire [3:0] o_tho ;wire [3:0] t_o_tho ;freq_meter_calc freq_meter_calc_inst0
(.clk (clk ) ,.reset_n (reset_n ) ,.clk_test (clk_test) ,.freq (freq )
);BCD_8421_32 BCD_8421_32_inst0
(.clk (clk ),.data (freq ),.reset_n (reset_n ),.unit (unit ),.ten (ten ),.hun (hun ),.tho (tho ),.t_tho (t_tho ),.h_tho (h_tho ),.o_tho (o_tho ),.t_o_tho (t_o_tho ));assign data = {t_o_tho,o_tho,h_tho,t_tho,tho,hun,ten,unit};hex_top hex_top_inst
(.clk (clk ),.reset_n (reset_n ),.data (data ),.DIO (DIO ),.SCLK (SCLK ),.RCLK (RCLK )
);endmodule
(6)顶层仿真代码:
`timescale 1ns/1nsmodule freq_meter_top_tb;reg clk ;
reg reset_n ;
reg clk_test ;wire DIO ;
wire SCLK ;
wire RCLK ;initial clk = 1'd1;
always#10 clk = ~clk;initial clk_test = 1'd1;
always#100 clk_test = ~clk_test;initial begin reset_n <= 1'd0;#15;reset_n <= 1'd1;#2_000_000;$stop;
endfreq_meter_top freq_meter_top_inst
(.clk (clk ),.reset_n (reset_n ),.clk_test (clk_test),.DIO (DIO ),.SCLK (SCLK ),.RCLK (RCLK )
);defparam freq_meter_top_inst.freq_meter_calc_inst0.MCNT0 = 27'd74_999;defparam freq_meter_top_inst.freq_meter_calc_inst0.MCNT1 = 27'd12_499;endmodule
(7)仿真波形:

(8)引脚分配:

(9)实验现象:






相关文章:
40.简易频率计(基于等精度测量法)(3)
(1)BCD8421码:十进制数字转换成BCD8421码的方法 补零:你需要显示多少位数字,就在前面补上四倍的位宽。比如你要显示一个十进制8位的数字,就在前面补上8*432个零。判断:判断补零部分显示的十进制…...
关于Centos停更yum无法使用的解决方案
最近在使用Centos7.9系统时候,发现yum仓库无法进行安装软件包了,官方说2024年6月30日进行停更,停更后无法提供对应的软件服务。 我在使用yum安装包的时候发现确实不能使用官方服务了: CentOS停更的影响 CentOS停止更新之后&#…...
插画感言:成都亚恒丰创教育科技有限公司
插画感言:笔触间的灵魂对话 在这个快节奏、高压力的时代,我们时常在寻找那些能够触动心灵、让灵魂得以片刻栖息的角落。而插画,这一融合了艺术与情感的独特形式,便如同一股清泉,缓缓流淌进每个人的心田,以…...
【算法】数组中的第K个最大元素
难度:中等 题目: 给定整数数组 nums 和整数 k,请返回数组中第 k 个最大的元素。 请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 你必须设计并实现时间复杂度为 O(n) 的算法解决此问题…...
Perl 语言的特点
Perl 语言入门学习可以涵盖多个方面,包括其特点、基本语法、高级特性以及学习资源和社区支持等。以下是一个详细的入门学习指南: 一、Perl 语言的特点 文本处理能力强:Perl 提供了丰富的字符串处理函数和正则表达式的支持,非常适…...
NLP教程:1 词袋模型和TFIDF模型
文章目录 词袋模型TF-IDF模型词汇表模型 词袋模型 文本特征提取有两个非常重要的模型: 词集模型:单词构成的集合,集合自然每个元素都只有一个,也即词集中的每个单词都只有一个。 词袋模型:在词集的基础上如果一个单词…...
【开源 Mac 工具推荐之 2】洛雪音乐(lx-music-desktop):免费良心的音乐平台
旧版文章:【macOS免费软件推荐】第6期:洛雪音乐 Note:本文在旧版文章的基础上,新更新展示了一些洛雪音乐的新功能,并且描述更为详细。 简介 洛雪音乐(GitHub 名:lx-music-desktop )…...
AMEYA360:思瑞浦推出汽车级理想二极管ORing控制器TPS65R01Q
聚焦高性能模拟芯片和嵌入式处理器的半导体供应商思瑞浦3PEAK(股票代码:688536)发布汽车级理想二极管ORing控制器TPS65R01Q。 TPS65R01Q拥有20mV正向调节功能,降低系统损耗。快速反向关断(Typ:0.39μs),在电池反向和各种汽车电气瞬…...
简约的悬浮动态特效404单页源HTML码
源码介绍 简约的悬浮动态特效404单页源HTML码,页面简约美观,可以做网站错误页或者丢失页面,将下面的代码放到空白的HTML里面,然后上传到服务器里面,设置好重定向即可 效果预览 完整源码 <!DOCTYPE html> <html><head><meta charset="utf-8&q…...
Golang 创建 Excel 文件
经常会遇到需要导出数据报表的需求,除了可以通过 encoding/csv 导出 CSV 以外,还可以使用 https://github.com/qax-os/excelize 导出 xlsx 等格式的 excel,下面封装了一个方法,支持多 sheet 的 excel 数据生成,导出按需…...
探索GitHub上的两个革命性开源项目
在数字世界中,总有一些项目能够以其创新性和实用性脱颖而出,吸引全球开发者的目光。今天,我们将深入探索GitHub上的两个令人惊叹的开源项目:Comic Translate和GPTPDF,它们不仅改变了我们处理信息的方式,还极…...
SpringBoot框架学习笔记(三):Lombok 和 Spring Initailizr
1 Lombok 1.1 Lombok 介绍 (1)Lombok 作用 简化JavaBean开发,可以使用Lombok的注解让代码更加简洁Java项目中,很多没有技术含量又必须存在的代码:POJO的getter/setter/toString;异常处理;I/O…...
【ASP.NET网站传值问题】“object”不包含“GetEnumerator”的公共定义,因此 foreach 语句不能作用于“object”类型的变量等
问题一:不允许遍历 原因:实体未强制转化 后端: ViewData["CateGroupList"] grouplist; 前端加上:var catelist ViewData["CateGroupList"] as List<Catelogue>; 这样就可以遍历catelist了 问题二:…...
Stateflow中的状态转换表
状态转换表是表达顺序模态逻辑的另一种方式。不要在Stateflow图表中以图形方式绘制状态和转换,而是使用状态转换表以表格格式表示模态逻辑。 使用状态转换表的好处包括: 易于对类列车状态机进行建模,其中模态逻辑涉及从一个状态到其邻居的转换…...
结合Redis解决接口幂等性问题
结合Redis解决接口幂等性问题 引言正文收获 引言 该问题产生背景是根据需求描述,要求对已发布的课程能进行编辑修改,并且要求能进行回滚。 幂等性问题描述:对同一个接口并发请求产生的结果是不变的。 Get 请求以及 Delete 请求天然保证幂等…...
2024算力基础设施安全架构设计与思考(免费下载)
算网安全体系是将数据中心集群、算力枢纽、一体化大数据中心三个层级的安全需求进行工程化解耦,从国家安全角度统筹设计,通过安全 服务化方式,依托威胁情报和指挥协同通道将三层四级安全体系串联贯通,达成一体化大数据安全目标。 …...
ExoPlayer架构详解与源码分析(15)——Renderer
系列文章目录 ExoPlayer架构详解与源码分析(1)——前言 ExoPlayer架构详解与源码分析(2)——Player ExoPlayer架构详解与源码分析(3)——Timeline ExoPlayer架构详解与源码分析(4)—…...
网络安全-等级保护制度介绍
一、等保发展历程 (1)1994国务院147号令 第一次提出等级保护概念,要求对信息系统分等级进行保护 (2)1999年GB17859 国家强制标准发布,信息系统等级保护必须遵循的法规 (3)2005年公安…...
【介绍下大数据组件之Storm】
🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…...
React Hook 总结(React 萌新升级打怪中...)
1 useCallback useMemo 和 useCallback 接收的参数都是一样,都是在其依赖项发生变化后才执行,都是返回缓存的值,区别在于 useMemo 返回的是函数运行的结果,useCallback 返回的是函数。 当需要使用 useCallback 的情况通常包括以…...
【信息科学与工程学】【数据科学】 第三篇 数学基础
数学知识体系:现代核心领域的深度架构 数学知识体系:历史脉络与逻辑结构总览表 时代/脉络 核心分支 核心概念/定理/理论 历史渊源/思想脉络 与其他领域的连接 数学哲学/元视角 1. 古典起源与奠基 (公元前 ~ 16世纪) 算术 自然数、素数、整除、欧几里…...
HS2-HF Patch深度技术解析:专业级游戏MOD集成框架设计
HS2-HF Patch深度技术解析:专业级游戏MOD集成框架设计 【免费下载链接】HS2-HF_Patch Automatically translate, uncensor and update HoneySelect2! 项目地址: https://gitcode.com/gh_mirrors/hs/HS2-HF_Patch HS2-HF Patch是一个针对HoneySelect2游戏的高…...
从皮肤色素基因到育种选择:Fst值在动植物研究中的实战解读指南
从皮肤色素基因到育种选择:Fst值在动植物研究中的实战解读指南 当我们在玉米田里观察不同品种的株高差异,或比较藏猪与大白猪的肉质特性时,本质上都在探索同一个问题:群体间的遗传分化如何塑造了这些表型多样性?Fst值作…...
别再死磕动态规划了!用Python模拟退火算法搞定背包问题,附完整代码
用Python模拟退火算法优雅解决背包问题:从理论到实战 在算法学习的过程中,背包问题就像一座难以逾越的高山,让无数初学者望而生畏。传统的动态规划解法虽然精确,但代码实现复杂、状态转移方程难以理解,对于实际应用场景…...
FPGA动态电压调节技术与PMBus控制路径设计
1. FPGA动态电压调节技术概述 在当今计算密集型应用中,FPGA因其可重构性和并行处理能力而广受欢迎,但随之而来的功耗问题也日益突出。动态电压调节技术(Dynamic Voltage Scaling, DVS)作为一种有效的功耗优化手段,允许系统根据工作负载实时调…...
同步降压稳压器过流保护原理与工程实践
1. 同步降压稳压器过流保护的必要性在现代电子系统中,同步降压稳压器(Synchronous Buck Regulator)作为电源管理的关键部件,承担着将较高输入电压(如12V)转换为FPGA、微控制器、存储器等负载所需低压&#…...
别再折腾源码编译了!Ubuntu 22.04 LTS下用apt-get一键部署Asterisk PBX(附SIP账号配置详解)
别再折腾源码编译了!Ubuntu 22.04 LTS下用apt-get一键部署Asterisk PBX(附SIP账号配置详解) 在开源通信领域,Asterisk作为功能最强大的PBX系统之一,长期困扰初学者的不是其丰富的功能,而是复杂的编译安装过…...
3步掌握清华PPT模板:终极方案解决学术演示设计难题
3步掌握清华PPT模板:终极方案解决学术演示设计难题 【免费下载链接】THU-PPT-Theme 清华主题PPT模板 项目地址: https://gitcode.com/gh_mirrors/th/THU-PPT-Theme 还在为学术汇报PPT设计而苦恼吗?每次准备答辩、会议或教学演示,你都要…...
保姆级教程:用Vector CANoe搞定LIN诊断刷写自动化测试(附CAPL脚本思路)
从零构建LIN诊断刷写自动化测试:Vector CANoe实战指南 当汽车电子系统开始全面拥抱OTA升级浪潮时,LIN总线上的控制器也必须具备可靠的远程刷写能力。作为测试工程师,我们面临的挑战是如何在资源有限的LIN网络上,构建一个既能模拟…...
终极鼠标革命:如何用Mac Mouse Fix让你的普通鼠标超越苹果触控板体验
终极鼠标革命:如何用Mac Mouse Fix让你的普通鼠标超越苹果触控板体验 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 还在为macOS上…...
