很多小伙伴对上一篇文章讲的取对数没感觉,觉得这个没什么用。确实很多时候用不着,verilog本身不够灵活,所以很多时候我们也就没想把她写的多简介灵活,而且受限于编译器的支持,很多灵活的语法不能被编译成电路,所以有这种想法情理之中,毕竟花大把时间去玩一个函数发现他局限性很大那确实收益太少。
那么他到底有什么用?
如果大家要设计一个深度1024的fifo,那么地址位宽取多大合适?*╭︎( ˙º˙)╯︎*
当然是10位,log2(1024)
所以可以如下定义
parameter deepth = 1024;
parameter width = $clog2(deepth);
这样就把两个参数关联起来,调整代码的时候提高了可维护性也更方便。
但是到此为止了吗?
不知道大家有没有对做完fft以后取对数很苦恼,比如fft输出实部虚部各16bit,平方和开根号以后暂且也以16bit表示,那么怎么取对数呢?第一种方法是查表,第二种是传到上位机,让他处理。很多时候fpga上确实不需要取对数这个操作,但是如果受限于高速接口,比如万兆网,pcie等接口速率希望压缩数据的时候对fft结果取对数无疑是一个很有必要的操作。毕竟log10这个对数可以把16位的数压缩到8位以内。所以查表确实可行,但是位数是24位呢,那情况就多了太多了,32位呢?
所以取对数这时候就有价值了,但是这是10为底的对数,和2为底的对数有什么关系?当然有关系,换底公式啊!
多数时候fft之后我们计算10*log10或者20*log10,那么就等价于如下操作
忽略3后面的小数影响的话,那么可以近似为
多震撼的结论,所以数学好真的很有必要啊!当然你想更高精度,可以对换底公式以后的分子分母同时放大10的幂次方倍,然后再往下计算,这里留给读者自行思考。
是不是很累,很复杂?
那么我告诉你,verilog2005有log10的系统函数,哈哈哈哈哈,意不意外???
双频超声波清洗机怎么样?
机场航站楼消防应急照明和疏散指示系统设计要点剖析
基于SCSI协议处理器FAS466实现图像数据存储系统的设计
机器视觉知识--手写字体是怎么识别的?
乾照光电宣布全资子公司乾照半导体收到研发投入补助款3000万元
log2在verilog中到底有什么用
科学家使用日常无人机检测和监测浅水区的海洋巨型动物
汽车研发生产企业江淮汽车发布2022第一季度报告
OpenHarmony:使用网络组件axios与Spring Boot进行前后端交互
如何用二极管来实现限幅电路和钳位电路
台湾代工厂09年成绩出炉 鸿海3045亿夺冠
5G的概念以及应用场景介绍
新疆理化所在汞基红外非线性光学材料方面获进展
比例遥控控制系统设计及其原理
自然灾害频发,人工智能如何帮助救灾?
Arm发布Cortex X4,功耗可降低40%!
Intel发布了首款消费级QLC固态硬盘——660p
不要以为诺基亚有一部诺基亚6,其实他还有好多你不知道机子!
实操视频加课件,方便您备课机器视觉及其应用技术
给示波器以云空间,泰克发布突破性的数据协同软件TekDrive