0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

log2在verilog中到底有什么用

玩儿转FPGA 来源:玩儿转FPGA 作者:东哥 2021-10-08 11:23 次阅读

很多小伙伴对上一篇文章讲的取对数没感觉,觉得这个没什么用。确实很多时候用不着,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为底的对数有什么关系?当然有关系,换底公式啊!

6e1f294c-23b9-11ec-82a8-dac502259ad0.jpg

多数时候fft之后我们计算10*log10或者20*log10,那么就等价于如下操作

6e7e675e-23b9-11ec-82a8-dac502259ad0.jpg

忽略3后面的小数影响的话,那么可以近似为

6ef98b50-23b9-11ec-82a8-dac502259ad0.jpg

多震撼的结论,所以数学好真的很有必要啊!当然你想更高精度,可以对换底公式以后的分子分母同时放大10的幂次方倍,然后再往下计算,这里留给读者自行思考。

是不是很累,很复杂?

那么我告诉你,verilog2005有log10的系统函数,哈哈哈哈哈,意不意外???

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Verilog
    +关注

    关注

    28

    文章

    1324

    浏览量

    109285
  • 代码
    +关注

    关注

    30

    文章

    4552

    浏览量

    66642

原文标题:log2在verilog里面到底有什么用?

文章出处:【微信号:HaveFunFPGA,微信公众号:玩儿转FPGA】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    NUC123的USB外设到底有没有DMA功能?

    下载最新的TRM 1.07: 最先前的描述以及USB的寄存器章节都有DMA相关的内容。但是DMA那一章节里的框图没有USB外设。同时关于USB外设DMA的用法也没具体说明。所以USB外设到底有没DMA功能,若是该怎么
    发表于 01-16 08:26

    AD7280AWBSTZ和AD7280ABSTZ之间到底有什么区别?

    替代吗?在网上找到的两个芯片的相关数据都是一样的,AD7280AWBSTZ和AD7280ABSTZ之间到底有什么区别?
    发表于 01-08 06:36

    AD9781或是AD9783芯片的DCOP/DCON信号什么用

    1,AD9781或是AD9783芯片他的DCOP/DCON信号什么用?能举个例么,我看了下他们的PDF文档,好像没感觉出来他到底有什么用,用在哪些方面?
    发表于 12-18 06:41

    到底有哪些原因会导致电枢绝缘阻值为零?

    对电机多大影响,现在这样能安全使用多长时间,为什么电枢会是零呢,到底有哪些原因会导致电枢绝缘阻值为零?
    发表于 12-14 08:30

    天线形状那么多,到底有什么用

    天线形状那么多,到底有什么用? 天线是一种用于无线通信的关键设备,它们的不同形状和设计具有特定的功能和应用。在本文中,将详细介绍不同形状的天线及其用途。 1. 垂直天线 垂直天线是最常见的一种天线
    的头像 发表于 11-28 15:27 680次阅读

    dB到底有多少种不同的含义呢?

    此同时,我们很多有噪声监控的十字路口也可以看到这样的指示牌:目前路口噪音60dB。那么dB到底有多少种不同的含义呢? 首先要说到dB的起源,所谓dB,指的就是Deci-Bel,也就是1/10个“Bell
    发表于 11-27 08:26

    请问MSP430到底有几个时钟呀?

    请问MSP430到底有几个时钟呀
    发表于 11-03 06:36

    COB与SMD到底有什么不同

    如今在应用领域,COB和SMD两种技术正在“平分春色”,但在微小间距LED领域,COB正在成为各大厂商都在争相研发的行业主流技术。那么COB与SMD到底有什么不同呢?
    的头像 发表于 11-02 09:37 1430次阅读
    COB与SMD<b class='flag-5'>到底有</b>什么不同

    什么是虚拟线程?虚拟线程到底是做什么用的呢?

    虚拟线程是在Java并发领域添加的一个新概念,那么虚拟线程到底是做什么用的呢?
    的头像 发表于 10-29 10:23 1026次阅读
    什么是虚拟线程?虚拟线程<b class='flag-5'>到底</b>是做<b class='flag-5'>什么用</b>的呢?

    ARM和DSP到底有什么区别?

    现在在学ARM,想知道ARM和DSP到底有什么区别?为什么有些地方DSP有些ARM
    发表于 10-19 07:20

    npu是什么意思?npu芯片是什么意思?npu到底有什么用

    npu是什么意思?npu芯片是什么意思?npu到底有什么用?  NPU的概念 NPU(Neural Processing Unit,神经网络处理器)是一种专门用于处理人工神经网络计算的计算机微处理器
    的头像 发表于 08-27 17:03 2.4w次阅读

    NUC123的USB外设到底有没有DMA功能?

    下载最新的TRM 1.07: 最先前的描述以及USB的寄存器章节都有DMA相关的内容。但是DMA那一章节里的框图没有USB外设。同时关于USB外设DMA的用法也没具体说明。所以USB外设到底有没DMA功能,若是该怎么
    发表于 08-24 06:18

    蜂鸟e203,顶层信号“sysmem”总线是做什么用的?

    蜂鸟e203,顶层信号“sysmem”总线是做什么用
    发表于 08-12 08:02

    board的Kconfig到底有什么用

    我感觉board的Kconfig没有什么用,如果是开发板,还有点。 如果是自己的板子,所有硬件接口肯定是需要使用的,本来可以一步搞定,这个Kconfig就变成两步:先给自己做菜单
    发表于 08-02 18:24

    FPGA和CPLD到底有什么区别?求具体例子说明

    FPGA和CPLD到底有什么区别,还有VHDL,一直分不清他们什么差别。求具体例子说明
    发表于 04-23 11:49