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)实验现象:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/46518.shtml

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

相关文章

叉车指纹一键启动/熄火车辆,“锁”住叉车安全

在现代工业领域&#xff0c;叉车作为重要的物流搬运工具&#xff0c;其安全性和便捷性一直是人们关注的焦点。为此&#xff0c;我们引入了一项技术——叉车指纹一键启动/熄火系统&#xff0c;真正实现了叉车安全的“锁定”。 这项技术不仅仅是简单的启动或关闭车辆的手段&#…

Axure RP移动端医院在线挂号app问诊原型图模板

医疗在线挂号问诊Axure RP原型图医院APP原形模板&#xff0c;是一款原创的医疗类APP&#xff0c;设计尺寸采用iPhone13&#xff08;375*812px&#xff09;&#xff0c;原型图上加入了仿真手机壳&#xff0c;使得预览效果更加逼真。 本套原型图主要功能有医疗常识科普、医院挂号…

云监控(华为) | 实训学习day3(10)

实现数据的增删改查 SpringBoot框架模式 向送外卖一样理解 写程序 1、准备食材(java bean) 2、菜谱(pojo接口->预制->sql 语句) 3、service处理 4、controller 派送 5、用户请求->页面 一、Spring Boot实现增加 第一步&#xff1a;食材(表),用户增加,这里还是用户…

【Android studio环境搭建】Android studio连接夜神模拟器

Android studio连接夜神模拟器 一、 步骤 1.下载好Android Studio和夜神模拟器, 2.打开夜神模拟器&#xff0c;找到其安装目录下的 nox_adb.exe文件 3.右键进入cmd命令打开&#xff0c;管理员权限执行下面命令 PS D:\Program Files\Nox\bin> .\nox_adb.exe connect 127.…

【论文解读】VoxelNeXt: Fully Sparse VoxelNet for 3D Object Detection and Tracking

VoxelNeXt 摘要引言方法Sparse CNN Backbone AdaptationSparse Prediction Head 3D Tracking实验结论 摘要 3D物体检测器通常依赖于手工制作的方法&#xff0c;例如锚点或中心&#xff0c;并将经过充分学习的2D框架转换为3D。因此&#xff0c;稀疏体素特征需要通过密集预测头进…

免费的数字孪生平台助力产业创新,让新质生产力概念有据可依

关于新质生产力的概念&#xff0c;在如今传统企业现代化发展中被反复提及。 那到底什么是新质生产力&#xff1f;它与哪些行业存在联系&#xff0c;我们又该使用什么工具来加快新质生产力的发展呢&#xff1f;今天我将介绍一款为发展新质生产力而量身定做的数字孪生工具。 新…

OpenCv 如何在 Java 中使用

Java 项目引入 OpenCv 环境准备OpenCv介绍下载Maven 安装动态链接库 完成 环境准备 JDK 8 OpenCv 4.0.0 Maven 3.9 Windows 11 OpenCv 介绍 OpenCV&#xff08;开源计算机视觉库&#xff09;是一个功能强大的计算机视觉和机器学习库。它提供了广泛的工具和算法&#xff0c;用…

MYSQL中的库表建立基础操作

任务&#xff1a;新建产品库mydb6_product&#xff0c; 新建3张表如下: 一&#xff0c; employees表 &#xff08;1&#xff09;:id&#xff0c;整型&#xff0c;主键 &#xff08;2&#xff09;:name&#xff0c;字符串&#xff0c;最大长度50&#xff0c;不能为空 &#xff…

【Django】网上蛋糕商城后台-类目管理

1.类目管理列表实现 当管理员进入后台管理后&#xff0c;点击类目管理&#xff0c;向服务器发出请求 path(admin/type_list/,viewsAdmin.type_list), # 处理商品分类管理列表请求 def type_list(request):# 读取分页页码try:ym request.GET["ym"]except:ym 1# 查…

html2canvas + jspdf 纯前端HTML导出PDF的实现与问题

前言 这几天接到一个需求&#xff0c;富文本编辑器的内容不仅要展示出来&#xff0c;还要实现展示的内容导出pdf文件。一开始导出pdf的功能是由后端来做的&#xff0c;然后发现对于宽度太大的图片&#xff0c;导出的pdf文件里部分图片内容被遮盖了&#xff0c;但在前端是正常显…

【Node.js】会话控制

express 中操作 cookie cookie 是保存在浏览器端的一小块数据。 cookie 是按照域名划分保存的。 浏览器向服务器发送请求时&#xff0c;会自动将 当前域名下可用的 cookie 设置在请求头中&#xff0c;然后传递给服务器。 这个请求头的名字也叫 cookie &#xff0c;所以将 c…

LLaMA 背景

什么是LLaMA&#xff1f; 模型介绍&#xff1a;LLaMA是Meta开发的语言模型&#xff0c;旨在推动开放科学和人工智能的实践。 参数范围&#xff1a;这些模型的参数数量从7B到65B不等&#xff0c;覆盖了不同规模的需求。 训练数据&#xff1a;LLaMA模型是在数万亿个公开数据集的…

Python算法实现之排序算法的Python实现详解

概要 排序算法是计算机科学中最基础和最重要的算法之一。它们在数据处理中起着关键作用,广泛应用于搜索、数据分析和优化等领域。本文将详细介绍几种常见的排序算法及其Python实现,包括冒泡排序、选择排序、插入排序、归并排序和快速排序,并通过具体示例代码展示它们的工作…

推荐一款基于Spring Boot 框架开发的分布式文件管理系统,功能齐全,非常便捷(带私活源码)

前言 在数字化时代&#xff0c;文件管理是企业和个人用户的基本需求。然而&#xff0c;现有的文件管理系统往往存在一些痛点&#xff0c;如存储空间有限、文件共享困难、缺乏在线编辑功能、移动端适配性差等。这些问题限制了用户在不同设备和场景下的文件处理能力。 为了解决…

【20】读感 - 架构整洁之道(二)

概述 继上一篇文章讲了前两章的读感&#xff0c;已经归纳总结的重点&#xff0c;这章会继续跟进的看一下&#xff0c;深挖架构整洁之道。 编程范式 编程范式从早期到至今&#xff0c;提过哪些编程范式&#xff0c;结构化编程&#xff0c;面向对象编程&#xff0c;函数式编程…

ClickHouse 入门(二)【基础SQL操作】

1、ClickHouse 1.1、SQL 操作 这里只介绍一些和我们之前 MySQL 不同的语法&#xff1b; 1.1.1、Update 和 Delete ClickHouse 提供了 Delete 和 Update 的能力&#xff0c;这类操作被称为 Mutation 查询&#xff08;可变查询&#xff09;&#xff0c;它可以看 做 Alter 的一…

负载均衡 lvs

1. 4层转发(L4) 与 7层转发(L7) 区别 4层转发(L4) 与 7层转发(L7) 区别 转发基于的信息 状态 常用的服务 L4 基于网络层和传输层信息&#xff1a; L4转发主要依赖于网络层IP头部(源地址&#xff0c;目标地址&#xff0c;源端口&#xff0c;目标端口)和传输层头部&#xff…

珈和科技完成全国首个农险服务类数据产品入表,实现数据资产化

近日&#xff0c;珈和科技与东湖大数据合作&#xff0c;完成全国首个保险服务类数据产品入表&#xff0c;标志着我国商业卫星遥感应用领域迈出了数据资产化的关键一步。 此次入表的数据产品为“华北农业保险服务数据集数据产品”&#xff0c;是珈和科技融合卫星遥感与无人机等…

新华三H3CNE网络工程师认证—VLAN使用场景与原理

通过华三的技术原理与VLAN配置来学习&#xff0c;首先介绍VLAN&#xff0c;然后介绍VLAN的基本原理&#xff0c;最后介绍VLAN的基本配置。 一、传统以太网问题 在传统网络中&#xff0c;交换机的数量足够多就会出现问题&#xff0c;广播域变得很大&#xff0c;分割广播域需要…

前端学习(二)之HTML

一、HTML文件结构 <!DOCTYPE html> <!-- 告诉浏览器&#xff0c;这是一个HTML文件 --><html lang"en"> <!-- 根元素&#xff08;起始点&#xff0c;最外层容器&#xff09; --><head> <!-- 文档的头部&#xff08;元信息&#xff…