电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
fpga资源不够怎么实现延时
已解决
73482
个问题
已帮助
5993
位优秀工程师
fpga资源不够怎么实现延时
無唁苡對
2018-10-30
浏览量:1743
我想实现延时,本来用移位寄存器实现比较大的延时,但是延时太多,资源不够,我还有什么方法实现大的延时????
显示全部
FGPA/CPLD
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
洛克人zxa
取决于你需要的延时长短,基本上有两张方法。
1)利用走线的延时。可以用约束的方法,让这个信号的走线人为绕远。这种方式可以延时几到几十纳秒,但是随着芯片的批次不同以及芯片工作温度的变化,这个延时是不精确的;
2)利用时钟往后推。就是用一个时钟对这个信号采样,可以获得时钟周期的整数倍延时。
发布于
2018-10-30
举报
评论 1
0
0
無唁苡對
回复了 洛克人zxa:我用IP核生成了一个ram。我用的if.....elsif实现各个串口的优先级,但是数据同时来的话,我需要加延时才能将几个串口的数据存到ram里,但是必须加移位寄存器作为延时,否则数据就被后面的数据覆盖了,但是我加了几个,结果资源不够,这怎么办???
回复
其他答案
数量:
11
yhj416606438
可以用分频器或者除法器延时
发布于
2018-10-30
举报
评论 1
0
0
無唁苡對
回复了 yhj416606438 :我用IP核生成了一个ram。我用的if.....elsif实现各个串口的优先级,但是数据同时来的话,我需要加延时才能将几个串口的数据存到ram里,但是必须加移位寄存器作为延时,否则数据就被后面的数据覆盖了,但是我加了几个,结果资源不够,这怎么办???
回复
wo4fisher
在内部设计一个定时器/计数器,由该定时器或者计数器来实现延时
发布于
2018-10-30
举报
评论 1
0
0
無唁苡對
回复了 wo4fisher :我用IP核生成了一个ram。我用的if.....elsif实现各个串口的优先级,但是数据同时来的话,我需要加延时才能将几个串口的数据存到ram里,但是必须加移位寄存器作为延时,否则数据就被后面的数据覆盖了,但是我加了几个,结果资源不够,这怎么办???
回复
wo4fisher
在内部设计一个定时器/计数器,由该定时器或者计数器来实现延时
发布于
2018-10-30
举报
评论 1
0
0
無唁苡對
回复了 wo4fisher :我用IP核生成了一个ram。我用的if.....elsif实现各个串口的优先级,但是数据同时来的话,我需要加延时才能将几个串口的数据存到ram里,但是必须加移位寄存器作为延时,否则数据就被后面的数据覆盖了,但是我加了几个,结果资源不够,这怎么办???
回复
FEItwo
1、门延时数量级的延时(几个ns),可用逻辑门来完成,但告诉综合器不要将其优化掉(不精确,误差大,常常不被推荐)。比如用两个非门(用constraint 来告诉synthesizer 不要综合掉这些逻辑)。
2、使用delay cell,lcell。
3、采用更快的时钟,通过计数器来实现对于比较小的延时用两个DFF 级联就可以。
4、用fifo 或ram 实现。
5、通过移位寄存器实现,延迟的时间和移位寄存器的位数有关。
6、使用负时钟驱动DFF来获得半个时钟周期的延时。
7、使用合适的buffer甚至用几个buffer的串联。
发布于
2018-10-31
举报
评论 1
0
0
無唁苡對
回复了 FEItwo :我用IP核生成了一个ram。我用的if.....elsif实现各个串口的优先级,但是数据同时来的话,我需要加延时才能将几个串口的数据存到ram里,但是必须加移位寄存器作为延时,否则数据就被后面的数据覆盖了,但是我加了几个,结果资源不够,这怎么办???
回复
@曲终人散@
先分频,再用移位延时
发布于
2018-10-31
举报
评论 1
0
0
無唁苡對
回复了 @曲终人散@ :我用IP核生成了一个ram。我用的if.....elsif实现各个串口的优先级,但是数据同时来的话,我需要加延时才能将几个串口的数据存到ram里,但是必须加移位寄存器作为延时,否则数据就被后面的数据覆盖了,但是我加了几个,结果资源不够,这怎么办???
回复
fighter-12315
大延时可以用触发的方式,比如频率分到很低,用上升沿或者下降沿来做触发信号,
发布于
2018-10-31
举报
评论 1
0
0
無唁苡對
回复了 fighter-12315 :我分的是很低,但是我发现还是没有作用
回复
Kylo
你可以用软件分时使用的方式来进行延时,这样不会占用你的硬件资源
发布于
2018-11-27
举报
评论 0
0
0
rdim
可以设置一个小的延时,进行反复的调用来生成长时间的延时
发布于
2018-11-27
举报
评论 0
0
0
rdim
可以设置一个小的延时,进行反复的调用来生成长时间的延时
发布于
2018-11-27
举报
评论 0
0
0
Florrie
用内部的定时器可以做到,直接定时器来定时输出
发布于
2018-11-28
举报
评论 0
0
0
勇哥来巡山
用多个延时来做,多个延时的累加也可以作为一个大的延时时间
发布于
2018-12-11
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
fpga资源不够怎么实现延时
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: