同步整形电路

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

reg d_temp1, d_temp0, d_temp2;

always @(posedge clk) begin

if(!rst_n) begin
d_temp2 <= 0;
d_temp1 <= 0;
d_temp0 <= 0;
end
else begin
d_temp0 <= din;
d_temp1 <= d_temp0;
d_temp2 <= d_temp1;
end
end

assign dout = d_temp0 && (~d_temp2);

endmodule

功能仿真得到的波形为:

[img]http://dl.iteye.com/upload/attachment/371704/197e93d2-f35d-3108-98c0-4c3011b61273.bmp[/img]

[color=darkred][size=medium]总结:首先,通过D触发器采样输入信号,将其数值宽度划分为一个时钟周期宽度的数值。其次,设定两次采样,则是结合后面的处理电路,将输出信号同步到一个时钟宽度。如果要将输入信号同步到N个时钟宽度,则需要N+1级D触发器级联,然后将第1级和第N+1级触发器的值送入后续处理逻辑。第三,对D触发采样值的处理逻辑,就是一个简单的判断上升沿的组合逻辑,其逻辑为:dout = d_temp0 && (d_temp(N+1))[/size][/color]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值