集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1999|回复: 1

FPGA检测输入信号,类似于序列检测

[复制链接]
cgh996 发表于 2010-8-17 14:37:25 | 显示全部楼层 |阅读模式
本帖最后由 cgh996 于 2010-8-17 14:47 编辑

发送方的时钟5Mbit/s,fpga工作在25Mhz,要检测输入信号,我有个疑问,就是这个时序问题。我的实现方法有两个,不知道哪个好?谢谢
1)对25Mhz的时钟进行5分频得到5Mhz的时钟,再用这个5Mhz的时钟判断输入信号。如果在5Mhz的上升沿判断的时候,如果出现扰动,势必会导致判断出错。
if rising_edge(clk5M) then
     if  din='1' then

2)直接用25MHZ的时钟采样进来的din信号[信号的速率为5Mbit/s],连续三次采样都为高电平则为高电平,连续三次采样都为高电平则为高电平。
但是这样在后面用状态机判断状态转移的时候似乎不好控制,因为一个进来din(‘0’或‘1’)占用了5个clk25M。比如当前s1状态,此时进来的din是1则跳转到S2状态。
请高手指点下,谢谢!
njithjw 发表于 2010-8-31 23:33:38 | 显示全部楼层
从你的描述来看,FPGA工作的25MHz时钟和外面输入的5MHz的信号应该是异步的,可以考虑采用25M时钟检测输入信号上升沿下降沿的方法。
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-25 13:57 , Processed in 0.055198 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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