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

    文章

    1351

    浏览量

    110163
  • 代码
    +关注

    关注

    30

    文章

    4803

    浏览量

    68769

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

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

收藏 人收藏

    评论

    相关推荐

    24位或者说高分辨率的AD到底有什么用呢?

    的AD,如24位的AD,其分辨率达到很低的uV级别,我们如何考究其精度?而且AD的精度受到诸多因素的影响,其中参考源的稳定度和供电电源的稳定度对精度影响很大,参考源最低0.05%的精度,那么24位的分辨率所可以达到的精度却是要大打折扣的,请问在这样的情况下,24位或者说高分辨率的AD到底有
    发表于 01-07 06:49

    差分输入和和单端输入本质上到底有什么区别?

    和和单端输入本质 上到底有什么区别? 因为,ADC采集的信号说到底是AINP - AINN,不管单端还是差分,采集的信号都是这两个pad的差值。 2:将单端信号接在ADC的差分输入接
    发表于 12-23 07:31

    TFP401APZP到底有没有HSYNC输出?

    请教下TI的大牛,TFP401APZP这颗IC到底有没有HSYNC输出?实测发现HSYNC无输出,是要做什么设置么?!
    发表于 12-20 07:28

    RTOS与Linux到底有什么区别

    很多做嵌入式开发的小伙伴都存在这样的疑惑:RTOS与Linux到底有什么区别?
    的头像 发表于 10-29 09:53 511次阅读

    电阻R2什么用

    电阻R2什么用请各位大侠观住一下给本人讲解一下对次感谢各位观看
    发表于 10-26 09:42

    CMOS运放的输入阻抗到底有多高呢?

    都说CMOS运放输入阻抗高,到底有多高呢?可有一个量化指标?
    发表于 09-06 06:59

    求助,这个电路U1A运放同相端的R1电阻到底有什么作用啊?

    想问下这个电路U1A运放同相端的R1电阻到底有什么作用啊?很郁闷。
    发表于 08-27 07:09

    无人机智能巡检系统到底有哪些作用

    无人机智能巡检系统到底有哪些作用? 随着科技的不断发展,无人机已经光伏、风电、农业、水利、城市管理、地质等领域广泛应用,无人机智能巡检系统的应用,为巡检工作带来了革命行的变革,那么无人机智能巡检
    的头像 发表于 08-19 16:49 365次阅读
    无人机智能巡检系统<b class='flag-5'>到底有</b>哪些作用

    请问AT+MLWULDATAEX命令什么用

    AT+MLWULDATAEX 命令什么用
    发表于 06-04 06:16

    EWSTM8-2201 or 3101安装说明上有的说选“是”,有的说选“否”,二者到底有什么区别?对工程什么影响?

    the installation. ......... 安装说明上有的说选“是”,有的说选“否”,二者到底有什么区别?对工程什么影响?
    发表于 04-28 08:08

    IPv6到底有什么用,给我们生活带来哪些变化?

    IPv6是下一代互联网协议,与IPv4相比,具有更多的地址空间和更好的性能。随着互联网的普及和发展,IPv6的用途也越来越广泛,已经在生活中发挥了重要作用。那IPv6到底有什么用,给我们生活带来
    的头像 发表于 03-29 14:00 1394次阅读
    IPv6<b class='flag-5'>到底有</b><b class='flag-5'>什么用</b>,给我们生活带来哪些变化?

    精密医疗器械激光切割机医疗行业到底有多重要

    、高质量的加工方式,被应用于医疗器械的制造过程。精密医疗器械激光切割机医疗行业到底有多重要。下面给大家科普下:精度高:激光切割技术能够实现医疗器械的高精度切割。
    的头像 发表于 02-29 11:07 715次阅读
    精密医疗器械激光切割机<b class='flag-5'>在</b>医疗行业<b class='flag-5'>到底有</b>多重要

    verilogfor循环是串行执行还是并行执行

    的for循环也是并行执行的。 Verilog的for循环可以用来实现重复的操作,例如在一个时钟周期中对多个电路进行操作。循环内部,多个语句可以同时执行,而不受循环次数的限制。这种并行执行的机制使得
    的头像 发表于 02-22 16:06 3022次阅读

    网线到底有多少种连接器

    我们在谈论网线的时候,聊得最多的,一定是它的连接器,它在连接过程扮演着极为重要的角色。网线到底有多少种连接器?本期我们将从工业级使用出发,来看看这根似乎普通的网线,连接器上有多么努力。
    的头像 发表于 01-26 10:06 633次阅读

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

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