最近在用verilog进行信号处理,由于设计需要引入除法然后比较,且需要带精度的小数除法,翻阅各种资料,查找各种方法,发现只有一个词“复杂”可以概括。
我原本使用左移的方法来做除,需要除以的是2的整次数,因而只需左移这个次数即可,但这样不能满足精度要求。看起来想要用简单易实现的方式似乎陷入僵局。
然而正是从翻阅的资料中,我发现做小数除法往往会把小数后左移,即乘以2的整次数。这一方法启发了我,既然目的是为了作比较,为什么不把被比较数左移,这样就省去对比较数做除法,也回避了精度问题。
于是结论很清楚,看设计重要的不是具体做了什么,而是其中巧妙的设计思想与方法。尤其是数字处理方法中,许多思想值得借鉴。
文章评论(0条评论)
登录后参与讨论