打印

一个非线性函数的Verilog实现方法?

[复制链接]
2151|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lixiaohua5|  楼主 | 2007-9-25 10:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位看官,走过路过,不妨看看。。。。鄙人最近在摆弄一个控制系统,为了满足这帮客户变态的要求,系统里需要有一个非线性的单值函数W=f(X),功能就是当输入X时,输出W的值(X,W均是定点整数)。X共有7000种情况,对应的W有7000个输出,要求延迟越小越好,各位高手看看如何实现较优?鄙人不才,只想到了7000个Case语句,貌似有些麻烦的来………………

相关帖子

沙发
McuPlayer| | 2007-9-25 16:29 | 只看该作者

浪费了

查表,单片机或者CPLD都行

使用特权

评论回复
板凳
lixiaohua5|  楼主 | 2007-9-27 19:44 | 只看该作者

回浪费的点子

查表问题我也想过,但似乎有问题,关键是这不是线性的函数,X的几千种取值不是连续的,而是这种样子:
X=1300  W=2.01
X=1333  W=2.02
X=1488  W=2.03
.....
X=4500  W=4.01
X=9000  W=4.02
X=16000 W=4.03
X=+infinity W=4.04  (还有极点内……)  
.....
若是查表,那么X就得是连续的,但是这X的值个数就太多了 RAM没那么大啊
扩展RAM和单片机都不行 因为指标要求是响应时间40nS以内,只有CPLD才可以那么快了
再有就是反函数,但极点不好处理,呵呵,容我再想想~我本来是弄微波的,这个任务是赶鸭子上架,对FPGA不是很懂啊……谢谢楼上高手指点!

使用特权

评论回复
地板
xwj| | 2007-9-27 19:48 | 只看该作者

先说清楚X的取值范围再说

使用特权

评论回复
5
cnasic| | 2007-9-27 22:01 | 只看该作者

详细点

可以给出函数模型否?

使用特权

评论回复
6
songbw| | 2007-9-29 16:59 | 只看该作者

给出函数模型

应该给出函数模型。
可以参考一下cordic算法,可以计算正余弦、指数、对数等非线性函数,不过对刚接触FPGA的人来说还是难了点。
用查表法不是很实际,多查查一些硬件算法吧。

使用特权

评论回复
7
zhang123| | 2007-9-29 20:15 | 只看该作者

xuexil

使用特权

评论回复
8
McuPlayer| | 2007-9-29 20:38 | 只看该作者

楼主还没有想通过啊

你函数的输入就是memory的地址,函数的输出就是memory的dat
几千种状况,折合成查表,ROM不就是几K吗,都是很小的了
Memory在增大也贵不了多少了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

8

帖子

0

粉丝