chrisongs的个人空间 https://blog.eetop.cn/chrisongs [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

同步整形电路 [2011年08月02日]

已有 1545 次阅读| 2011-8-2 16:45 |个人分类:技术文章

CPLD/FPGA同步电路具有最稳定的工作状态和工作性能,因此经常需要将外部输入的异步信号进行同步处理(与系统时钟同步)和整形(将输入信号由不规则波形提取为具备一个或多个时钟周期长得脉冲信号)。
同步整形的基本方法就是通过时钟对异步信号连续采样得到同步信号,然后由前后两次的同步采样进行逻辑组合得到整形输出。下面给出一个利用上升沿完成信号同步整形的设计,同步信号被整形成为两个时钟周期长度。

源代码:
module syn_reshape(
clk,
rst_n,
din,
dout
    );
input clk;
input rst_n;
input din;
output dout;
reg dtmp1;
reg dtmp2;
reg dtmp3;
always @(posedge clk) begin
if (!rst_n) begin
dtmp1 <= 0;
dtmp2 <= 0;
dtmp3 <= 0;
end
else begin
dtmp1 <= din;
dtmp2 <= dtmp1;
dtmp3 <= dtmp2;
end
end
assign dout = dtmp1 && (!dtmp3);


endmodule

原理说明:首先,通过D触发器采样输入信号,将其数值宽度划分为一个时钟周期宽度的数值。其次,设定三次采样,则是结合后面的处理电路,将输出信号同步到两个时钟宽度。如果要将输入信号同步到N个时钟宽度,则需要N+1级D触发器级联,然后将第1级和第N+1级触发器的值送入后续处理逻辑。第三,对D触发采样值的处理逻辑,就是一个简单地判断上升沿的组合逻辑。

点赞

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 2

    粉丝
  • 0

    好友
  • 1

    获赞
  • 4

    评论
  • 412

    访问数
关闭

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

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

GMT+8, 2024-5-6 20:19 , Processed in 0.017492 second(s), 14 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部