【【Verilog典型电路设计之log函数的Verilog HDL设计】】
Verilog典型电路设计之log函数的Verilog HDL设计
log函数是一种典型的单目计算函数,与其相应的还有指数函数、三角函数等。对于单目计算函数的硬件加速器设计一般两种简单方法:一种是查找表的方式;一种是使用泰勒级数展开成多项式进行近似计算。这两种方式在设计方法和精确度方面有很大的不同。查找表方式是通过存储器进行设计,设计方法简单,其精度需要通过提高存储器深度实现,在集成电路中占用面积大,因此着这种方式通常在精度要求不高的近似计算中使用。泰勒级数展开方式采用乘法器和加法器实现,可以通过增加展开级数提高计算精确度。例:用Verilog HDL设计采用查找表方式的log函数,输入信号位宽4bits,输出信号位宽8bits

其中输入数据为一位整数位三位小数位精确到2-3,输出结果两位整数位六位小数位精确到26。其Verilog HDL程序代码是:
module log_lookup(x,clk,out);
input [3:0] x;
input clk;
output [7:0] out;
reg[7:0] out;
always@(posedge clk) begin
case(x)
4'b1000:out<=8'b00000000;
4'b1001:out<=8'b00000111;
4'b1010:out<=8'b00001110;
4'b1011:out<=8'b00010101;
4'b1100:out<=8'b00011001;
4'b1101:out<=8'b00100000;
4'b1110:out<=8'b00100100;
4'b1111:out<=8'b00101000;
default:out<=8'bz;
endcase
end
endmodule
下面是testbench
module log_lookup_tb;
reg clk;
reg [3:0]x;
wire [7:0] out;
initial begin
x=4'b1000;
clk=1'b0;
repeat(7)
#10 x=x+1;
end
always
#5 clk=~clk;
log_lookup U1(.x(x),.clk(clk),.out(out));
endmodule
例:用Verilog HDL设计采用泰勒级数展开方式的log函数,输入信号位宽4bits,输出信号位宽8bits
泰勒级数的定义:若函数f (x)在点的某一邻域内具有直到(n+1)阶导数,则在该邻域内f (x)的n阶泰勒公式为:

泰勒级数可以将一些复杂的函数用多项式相加的形式进行近似,从而简化其硬件的实现。
logax在x=b处的泰勒展开为

误差范围为:

电路结构图如图所示

上述的log函数在X=1处展开,并且要求X的取值范围为1<X<2,输入4位二进制数据X精确到2-3,其中一位整数位四位小数位,输出8位二进制数据精确到2-6,其中两位整数位六位小数位。设计当中所用到的乘法器和减法器均采用前文所给出的减法器和乘法器。
module log(x,out);
input[3:0] x;
output[7:0] out;
wire [3:0] out1;
wire [7:0] out2,out3, out5, out;
wire [3:0] out4;
assign out4={out3[7:4]};
assign out1=x-4'b1000;//(x-1)
wallace U1(.×(out1),.y(4'b0111),.out(out2));
wallace U2(.x(out1),.y(out1),.out(out3));
wallace u3(.x(out4),.y(4'b0011),.out(out5));
assign out=out2-out5;
endmodule
下面是所显示的testbench
module log_tb;
reg [3:0] x=4'b1000;
wire [7:0] out;
log U1(.x(x),.out(out));
always
#10x=x+1;
always@(x)begin
if(x==4'b0000)$stop;
end
endmodule
相关文章:
【【Verilog典型电路设计之log函数的Verilog HDL设计】】
Verilog典型电路设计之log函数的Verilog HDL设计 log函数是一种典型的单目计算函数,与其相应的还有指数函数、三角函数等。对于单目计算函数的硬件加速器设计一般两种简单方法:一种是查找表的方式;一种是使用泰勒级数展开成多项式进行近似计算。这两种方式在设计方…...
数字放大(C++)
系列文章目录 1.进阶的卡沙_睡觉觉觉得的博客-CSDN博客 2. 数1的个数_睡觉觉觉得的博客-CSDN博客 3. 双精度浮点数的输入输出_睡觉觉觉得的博客-CSDN博客 4. 足球联赛积分_睡觉觉觉得的博客-CSDN博客 5. 大减价(一级)_睡觉觉觉得的博客-CSDN博客 6. 小写字母的判断_睡觉觉觉得…...
FOC控制框架图
pmsm电机数学模型以及FOC控制框图(开源小项目FOC控制BLDC电机)_foc 框图_栋哥爱做饭的博客-CSDN博客 电机控制----FOC框架讲解_foc电机控制_修才生的博客-CSDN博客...
Spring工具类(获取bean,发布事件)
spring-beans-5.3.1.jar Component public final class SpringUtils implements BeanFactoryPostProcessor{/*** Spring应用上下文环境*/private static ConfigurableListableBeanFactory beanFactory;//初始化成员变量Overridepublic void postProcessBeanFactory(Configurab…...
腾讯云和阿里云服务器折扣对比_看看哪家划算?
阿里云服务器和腾讯云服务器根据购买时长可以享受一定的优惠折扣,综合对比下来腾讯云折扣更低,阿腾云来对比下阿里云和腾讯云的云服务器根据购买时长可以享受的常规折扣对比: 目录 阿里云和腾讯云折扣对比 阿里云服务器常规折扣 腾讯云服…...
GO语言中的Defer与Error异常报错详细教程
目录标题 一、Defer1. Example2. Deferred methods 延迟方法3. Arguments evaluation 延迟参数4. Stack of defers 延迟程序堆栈5. Practical use of defer 实际使用 二、Error1. Example2. PathError3. DNSError4. Direct Comparison 直接比较5. Do not ignore errors 不要忽略…...
AP6315 DC单节锂电池充电IC 同步2A锂电芯片
概述 是一款面向5V交流适配器的2A锂离子电池充电器。它是采用1.5MHz固定频率的同步降压型转换器,因此具有高达90%以上的充电效率,自身发热量极小。包括完整的充电终止电路、自动再充电和一个达1%的4.2V预设充电电压,内部集成了防反灌保护、输…...
PDF校对工具正式上线,为用户提供卓越的文档校对解决方案
为满足当下对数字化文档校对的精准需求,我们今日正式发布全新的PDF校对工具。经过深入的技术研发与细致的测试,该工具旨在为企业和个人用户带来一个高效且准确的PDF文档校对平台。 PDF校对工具的主要特性: 1.全面性校对:工具支持…...
WSL 配置 Oracle 19c 客户端
Windows WSL 登陆后显示如下: Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 4.4.0-19041-Microsoft x86_64)* Documentation: https://help.ubuntu.com* Management: https://landscape.canonical.com* Support: https://ubuntu.com/advantageSystem information as…...
ChatGPT⼊门到精通(1):ChatGPT 是什么
⼀、直观感受 1、公司 OpenAI(美国) 2、官⽅⽹站 3、登录ChatGPT  at com.alibaba.druid.pool…...
软考高级系统架构设计师系列论文八十九:论软件需求分析方法和工具的选用
软考高级系统架构设计师系列论文八十九:论软件需求分析方法和工具的选用 一、软件需求相关知识点二、摘要三、正文四、总结一、软件需求相关知识点 软考高级系统架构设计师:论软件需求管理...
java八股文面试[JVM]——类加载器
一、类加载器的概念 类加载器是Java虚拟机用于加载类文件的一种机制。在Java中,每个类都由类加载器加载,并在运行时被创建为一个Class对象。类加载器负责从文件系统、网络或其他来源中加载类的字节码,并将其转换为可执行的Java对象。类加载器…...
CSS中如何实现元素之间的间距(Margin)合并效果?
聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 外边距合并的示例:⭐ 如何控制外边距合并:⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅ÿ…...
【实操干货】如何开始用Qt Widgets编程?(三)
Qt 是目前最先进、最完整的跨平台C开发工具。它不仅完全实现了一次编写,所有平台无差别运行,更提供了几乎所有开发过程中需要用到的工具。如今,Qt已被运用于超过70个行业、数千家企业,支持数百万设备及应用。 在本文中࿰…...
基于深度学习的图像风格迁移发展总结
前言 本文总结深度学习领域的图像风格迁移发展脉络。重点关注随着GAN、CUT、StyleGAN、CLIP、Diffusion Model 这些网络出现以来,图像风格迁移在其上的发展。本文注重这些网络对图像风格迁移任务的影响,以及背后的关键技术和研究,并总结出一…...
小程序页面间有哪些传递数据的方法?
使用全局变量实现数据传递 在 app.js 文件中定义全局变量 globalData, 将需要存储的信息存放在里面使用的时候,直接使用 getApp() 拿到存储的信息 App({// 全局变量globalData: {userInfo: null} }) 使用 wx.navigateTo 与 wx.redirectTo 的时候&…...
bh002- Blazor hybrid / Maui 保存设置快速教程
1. 建立工程 bh002_ORM 源码 2. 添加 nuget 包 <PackageReference Include"BootstrapBlazor.WebAPI" Version"7.*" /> <PackageReference Include"FreeSql" Version"*" /> <PackageReference Include"FreeSql.…...
同源政策与CORS
CORS意为跨源资源共享(Cross origin resource sharing),它是一个W3C标准,由一系列HTTP Header组成,这些 HTTP Header决定了浏览器是否允许JavaScript 代码成功获得跨源请求的服务器响应。 在说CORS之前,先…...
科技资讯|三星再申请智能戒指商标,智能穿戴进入更小型化发展
三星正在积极扩展可穿戴设备生态,近日向英国知识产权局提交了名为“Samsung Curio”的新商标,其分类为“Class 9”,可能会用于未来的智能戒指。 智能戒指: 可穿戴计算机本质上的智能手环、智能项链、智能眼镜和智能戒指࿱…...
K230 vs树莓派视觉套件:300元预算该选谁?实测对比工业检测场景
K230与树莓派视觉套件:300元预算下的工业检测实战对比 在工业自动化浪潮中,视觉检测系统正从大型企业向中小型制造车间快速渗透。当预算被严格限制在300元区间时,K230开发板与树莓派摄像头组合成为最受关注的两种解决方案。我们历时三个月在6…...
告别SIFT/ORB!用LoFTR+Transformer搞定低纹理场景的图片匹配(附Python实战代码)
低纹理场景图像匹配实战:LoFTR与Transformer的革新应用 在计算机视觉领域,图像特征匹配一直是三维重建、视觉定位等任务的基础环节。传统方法如SIFT、ORB依赖于特征检测器提取关键点,但在低纹理、重复图案或运动模糊场景中表现往往不尽如人意…...
Dual-Tree Agent RAG:可控、可解释、可验证
从文本检索到方法推理的跃迁 传统RAG系统将文档切分为平面文本块,通过向量相似度检索来增强大模型生成。这种模式在简单事实问答中表现良好,却难以应对需要全局结构理解、跨章节整合和方法论复用的复杂创新任务。现有改进方案如RAPTOR(层次摘…...
String、StringBuilder、StringBuffer 的本质区别
作为 Java 开发者,String、StringBuilder、StringBuffer 这三个类几乎每天都在用。但面试官总爱问这道题,因为它背后藏着 JVM 内存模型、线程安全、性能优化等核心知识点。今天我们从本质出发,彻底把这三个类讲透。一、String 为什么不可变&a…...
Pencil:重新定义设计与开发的边界
🎨 Pencil:重新定义设计与开发的边界 更多问题讨论和资料获取,请关注文章最后的微信公众号 当"设计即代码"成为现实,前端开发者的工作流正在经历一场革命 📖 什么是 Pencil? 如果你是一名前端开…...
XU9232A可穿戴设备 电池供电设备 便携式医疗设备
这是一款高度集成的升压转换器,为输出高电压和高效率的应用方案而设计。输入电源可以从一个锂电池或二节串联的碱性电池,而升压到最高18V;工作频率为 1.2MHz(典型值)。内置典型4A开关晶体管,其组成 DC/DC 升…...
别再手动同步了!利用STM32定时器主从模式与ITR触发,实现硬件级精准定时联动
嵌入式系统中的定时器协同:STM32主从模式与ITR触发的硬件级联动 在工业控制、电机驱动和精密测量等场景中,多个定时器的精确协同往往是系统可靠性的关键。想象一下,当你的电机控制PWM需要与电流采样ADC严格同步,或者多个通信接口必…...
深入剖析大数据领域数据分片的优缺点
深入剖析大数据领域数据分片的优缺点 关键词:数据分片、大数据架构、分片策略、水平扩展、分布式系统 摘要:在大数据时代,单台服务器已无法承载海量数据的存储与计算需求,数据分片(Sharding)作为分布式系统…...
如何控制Rainmeter皮肤背景视频的有限循环播放次数
如何控制Rainmeter皮肤背景视频的有限循环播放次数 【免费下载链接】rainmeter Desktop customization tool for Windows 项目地址: https://gitcode.com/gh_mirrors/ra/rainmeter Rainmeter作为一款强大的Windows桌面自定义工具,允许用户通过皮肤实现丰富的…...
AR.js终极指南:在Web浏览器中实现高效增强现实的完整解决方案
AR.js终极指南:在Web浏览器中实现高效增强现实的完整解决方案 【免费下载链接】AR.js Image tracking, Location Based AR, Marker tracking. All on the Web. 项目地址: https://gitcode.com/gh_mirrors/arj/AR.js AR.js是一个轻量级JavaScript库࿰…...
