6017|10

325

帖子

0

TA的资源

裸片初长成(初级)

楼主
 

如何改进程序提高工作频率 [复制链接]

我现在编写了一个数据转换的程序,但是工作频率始终不能达到我的要求,我在程序中需要125MHZ的频率,但是现在只有82MHZ,我现在把程序列出来,希望大家给点改进意见。
我说一下程序的大概意思吧:将连续输入的24个24bit宽的数据重排,将24个数据分成三组,每组8个,重排后的数据如第一个数据的24位的16-23位是第一组的第一个数据的16-23位,8-15位是第二级的第一个数据的16-23位,0-7位是第三组的第一个数据的16-23位,第二个数据的16-23位是第一组的第一个数据的8-15位,8-15位是第二组的第一个的8-15位,0-7位是第三组第一个的8-15位,依次类推,重新组合成24个24位宽的数据,然后将数据输出。

data switch.txt

4.61 KB, 下载次数: 15

此帖出自FPGA/CPLD论坛

最新回复

将n个数据重新组合,只是让输出滞后n拍而已,而输出速率仍然等于输入速率的。 举个例子,对输入流做以100个数据为一组的移动平均,输出速率并不会因此降低到输入的1/100对吧?  详情 回复 发表于 2009-7-30 23:15
点赞 关注
个人签名科技应该让生活变得更简单!
 

回复
举报

2498

帖子

0

TA的资源

至上芯片

沙发
 
现在才发现原来硬件语言自己看不懂。有点意思可能改变频率吗。如果里面有直接的移位的指令就好啊!
此帖出自FPGA/CPLD论坛
个人签名我的邮箱gaoxiaoan123@163.com!回帖是一种美德!互相帮助,共同进步!
口头禅:生活在于创造机会,把握机会!
 
 

回复

2498

帖子

0

TA的资源

至上芯片

板凳
 
看着循环的那么多,想象挺耗时间的,而且循环最好里面的循环时间的次数多,外层的少,这样效率挺高!
此帖出自FPGA/CPLD论坛
个人签名我的邮箱gaoxiaoan123@163.com!回帖是一种美德!互相帮助,共同进步!
口头禅:生活在于创造机会,把握机会!
 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

4
 

不知LZ说的工作频率是啥14

如果是数据的输出速率的话,应该是取决于clk的频率,从代码里看不出clk和125MHz或82MHz有什么关系。
另外输入数据只有在 wrireq=‘1’ 的条件下才被采集,因此输出速率又要受限于 wrireq 信号的有效频度。
此帖出自FPGA/CPLD论坛
 
 
 

回复

325

帖子

0

TA的资源

裸片初长成(初级)

5
 

回复 板凳 gaoxiao 的帖子

主要是现在要实现变换必须要循环,我就是想请教有没有其他能够实现这种数据变换的方法
此帖出自FPGA/CPLD论坛
个人签名科技应该让生活变得更简单!
 
 
 

回复

325

帖子

0

TA的资源

裸片初长成(初级)

6
 

回复 4楼 仙猫 的帖子

这是我在已有系统中的一个插入模块,clk已经确定为125MHZ,wrireq也确定近似为41.6MHZ,也就是每三个时钟周期有一个数据传入。我就是说模块工作频率要达到125MHZ
此帖出自FPGA/CPLD论坛
个人签名科技应该让生活变得更简单!
 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

7
 
原帖由 wenhuawu 于 2009-7-30 10:18 发表
……每三个时钟周期有一个数据传入。

问题就在这儿了,为什么不是每个时钟都输入数据?
PLD里可以做成流水线操作,输出会延迟3个时钟周期,但速率不变。
此帖出自FPGA/CPLD论坛
 
 
 

回复

2113

帖子

0

TA的资源

裸片初长成(初级)

8
 
能硬件上改改吗?
此帖出自FPGA/CPLD论坛
 
 
 

回复

325

帖子

0

TA的资源

裸片初长成(初级)

9
 
前面输过来的数据是不可控的呀,我是将三个8位数据打包成24位,所以就是每三个周期来一个数据.这些是在FPGA内部,都是软件的工作,不涉及硬件
此帖出自FPGA/CPLD论坛
个人签名科技应该让生活变得更简单!
 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

10
 

俺搅得楼主并未理解流水线工作的意义

原帖由 wenhuawu 于 2009-7-30 17:47 发表
我是将三个8位数据打包成24位,所以就是每三个周期来一个数据.

将n个数据重新组合,只是让输出滞后n拍而已,而输出速率仍然等于输入速率的。
举个例子,对输入流做以100个数据为一组的移动平均,输出速率并不会因此降低到输入的1/100对吧?
此帖出自FPGA/CPLD论坛
 
 
 

回复

325

帖子

0

TA的资源

裸片初长成(初级)

11
 

回复 10楼 仙猫 的帖子

不是,我的意思是,数据的输入宽度是8位,输出为24位,这样肯定会降到1/3嘛.谢谢大家的支持哈,我改变了一下编程风格,将二维数组变短为3个8位长的二维数组,再加上关键路径约束,现在Fmax已经满足要求了,再次谢谢大家的支持

[ 本帖最后由 wenhuawu 于 2009-7-30 23:43 编辑 ]
此帖出自FPGA/CPLD论坛
个人签名科技应该让生活变得更简单!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表