搜索
bottom↓
回复: 8

FPGA如何硬件延时?

[复制链接]

出0入0汤圆

发表于 2010-11-3 19:08:13 | 显示全部楼层 |阅读模式
各位 我现在有一段程序需要延时 比如一个信号进来后使A端口输出0 然后过500ns使端口B输出1 请教各位 我该如何做?本人新手 希望各位说的尽量详细一些 谢谢!

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2010-11-3 19:10:39 | 显示全部楼层
500ns,如果你用移位寄存器,假设你有个时钟20M,在第十个输出端出来再反相

出0入0汤圆

发表于 2010-11-3 20:35:10 | 显示全部楼层
计数器计数就好了!

出0入0汤圆

 楼主| 发表于 2010-11-4 14:47:56 | 显示全部楼层
回复【2楼】zzjjhh250 华电电子
计数器计数就好了!
-----------------------------------------------------------------------

能说的详细一点么 新手不太明白

出0入0汤圆

发表于 2010-11-4 15:04:06 | 显示全部楼层
你的时钟是多少的?
假如你的时钟是20M,那么时钟周期就是50ns,你需要500ns,那好,你做一个计数器,在信号进来时开始计数,开始数时钟信号的上升沿或者下降沿,数到十个,就够500ns了,将你的B端口置1即可。
这样做的问题是如果A是非同步的,A和B时间差大概是500-550ns之间,为了精确一点,可以将A也做成同步的,可以在时钟信号的上升沿将A置零,然后开始上升沿计数。这样A和B的时间差也就是你用的FPGA管脚之间的延时差+500ns了,误差多数也就是几个到十几个ns。
消耗的资源看你时钟的频率了。如果是20M,计数器也就是4位,用不了几个门。
我也是新手,如果有讲的不当的地方,请大家批评指正,谢谢。

出0入0汤圆

发表于 2010-11-5 14:50:24 | 显示全部楼层
“比如一个信号进来后使A端口输出0”假设你所需要的一个信号为c,假设你需要在c上升沿改变A,假设你的时钟是20MHZ
signal en:std_logic;
signal cnt:std_logic_vector(3 downto 0);
process(c)
begin
  if c'event and c='1' then
   A<='0';
   en<='1';
end if;
end process;

process(clk,en)
begin
  if clk'event and clk ='1' then
   if en='1' then
    if cnt="1010" then
     B<='1';
     en<='0';
     cnt<="0000";
   else cnt<=cnt+1;
  end if;
end if;
end if;
end process;

这只是个示范性的,真正运行起来还有逻辑问题,楼主参考一下

出0入0汤圆

发表于 2010-11-7 11:28:05 | 显示全部楼层
用时钟同步

出0入0汤圆

发表于 2010-11-24 13:47:58 | 显示全部楼层
大家能否讨论一下组合逻辑电路怎样延时?用多个反相器串联的话会被综合器优化掉,不知道有没有好的办法,请高手指教!!

出0入0汤圆

发表于 2010-11-24 14:04:28 | 显示全部楼层
FPGA组合逻辑延时不准的,而且也不是良好的设计手段。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 17:31

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表