在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4686|回复: 16

[求助] 求高手帮我看看这个结构在fpga里边有什么好的办法实现

[复制链接]
发表于 2013-5-26 20:01:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 yong19891101 于 2013-5-26 20:17 编辑

算法可用下面的伪代码表示
u=0.7
for i=1:N
   temp=k(i)-u
   r(i)=round(temp)
   u=r(i)-temp
end
上面k(i)是输入信号 r(i)为输出信号,也可以用下面的结构表示,都是16位的定点数计算。
jiegou.jpg
请问有什么好的办法实现?这里的意思就是 第一个数输入后,必须得到相应的u值(必须一一对应)才能输入下一数。
我觉得弄成逻辑的话,需要在一个时钟内完成两个减法和一个取整运算,这样是不是大大降低了时钟频率??
我看到有个文献说它是延时四个时钟得到一个输出,我不明白它怎么做到的
麻烦会的大哥给我讲讲。。。
发表于 2013-5-26 23:57:45 | 显示全部楼层
伪代码是顺序执行,FPGA是并行的,你构造流水线,
第一周期做减法1,第二周期取整,第三周期减法2,第四周期又减法1,
这样,延时四个周期就可以有结果了。
发表于 2013-5-27 10:51:26 | 显示全部楼层
这种结构用流水线就可以,不过要先量化
发表于 2013-5-27 11:16:04 | 显示全部楼层
要先量化
发表于 2013-5-27 12:03:09 | 显示全部楼层
顶一个
 楼主| 发表于 2013-5-27 15:50:59 | 显示全部楼层
回复 2# lwukang

还是不太明白啊,还得让大哥讲讲 谢谢

Input a

Output b

Reg u =0.7

always@(posedge clk)

c<=a-u;


always@(posedge clk)

d<=c取整


always@(posedge clk)

e<=c-d

前三个周期时这样吗?第四个周期怎么做啊?

 楼主| 发表于 2013-5-27 15:55:15 | 显示全部楼层
回复 3# 卖女孩的小火柴
我不太懂 求大哥 讲讲详细一点 这里就是不能减错位  是一一对应的 就是100个输入 100个输出谢谢
 楼主| 发表于 2013-5-27 16:05:38 | 显示全部楼层
回复 4# gygyg
不太懂哎 能不能帮我写个简单的伪代码 谢谢
看来我对流水线的理解还不够深
 楼主| 发表于 2013-5-27 16:13:16 | 显示全部楼层
回复 5# zhuyujun


   量化我知道 就是 这个流水线 怎么实现 我还是不太明白能不能帮我讲讲 谢谢
发表于 2013-5-28 01:04:21 | 显示全部楼层
回复 7# yong19891101

always @(posedge clk or posedge rst) begin
    if(rst)begin
    end
    else begin
         c<=a-e;
         d<=c取整;
         c1<=c;
         c<=a-e;
    end
end

输出为d
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-6 11:38 , Processed in 0.027455 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表