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

[复制链接]
3533|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的几千种取值不是连续的,而是这种样子:<br />X=1300&nbsp;&nbsp;W=2.01<br />X=1333&nbsp;&nbsp;W=2.02<br />X=1488&nbsp;&nbsp;W=2.03<br />.....<br />X=4500&nbsp;&nbsp;W=4.01<br />X=9000&nbsp;&nbsp;W=4.02<br />X=16000&nbsp;W=4.03<br />X=+infinity&nbsp;W=4.04&nbsp;&nbsp;(还有极点内……)&nbsp;&nbsp;<br />.....<br />若是查表,那么X就得是连续的,但是这X的值个数就太多了&nbsp;RAM没那么大啊<br />扩展RAM和单片机都不行&nbsp;因为指标要求是响应时间40nS以内,只有CPLD才可以那么快了<br />再有就是反函数,但极点不好处理,呵呵,容我再想想~我本来是弄微波的,这个任务是赶鸭子上架,对FPGA不是很懂啊……谢谢楼上高手指点!
xwj 发表于 2007-9-27 19:48 | 显示全部楼层

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

  
cnasic 发表于 2007-9-27 22:01 | 显示全部楼层

详细点

可以给出函数模型否?
songbw 发表于 2007-9-29 16:59 | 显示全部楼层

给出函数模型

应该给出函数模型。<br />可以参考一下cordic算法,可以计算正余弦、指数、对数等非线性函数,不过对刚接触FPGA的人来说还是难了点。<br />用查表法不是很实际,多查查一些硬件算法吧。
zhang123 发表于 2007-9-29 20:15 | 显示全部楼层

xuexil

  
McuPlayer 发表于 2007-9-29 20:38 | 显示全部楼层

楼主还没有想通过啊

你函数的输入就是memory的地址,函数的输出就是memory的dat<br />几千种状况,折合成查表,ROM不就是几K吗,都是很小的了<br />Memory在增大也贵不了多少了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

8

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部