对复位信号,使能信号的一种滤波方法
在进行FPGA开发时,常有复位信号或使能信号,这种信号的特点是在一个特定时刻改变状态后,信号状态不会突变,而是要持续一段时间。为避免因外部因素引起的复位、使能信号的改变,可采用如下方法对其滤波:
将信号打三拍,若信号在三拍内没有变化,则信号可以接收状态改变,否则信号保持原状态。
代码及其仿真结果(采用HDLBits网站的在线仿真)如下:
module top_module (); //testbench
reg clk=0;
reg rst_process_stream = 0;
wire data_stream_en_reg;
wire data_stream_en_reg0;
wire data_stream_en_reg1;
wire data_stream_en_reg2;
always #5 clk = ~clk; // Create clock with period=10
initial `probe_start; // Start the timing diagram
`probe(clk); // Probe signal "clk"
`probe(in);
`probe(rst_process_stream);
`probe(data_stream_en_reg);
`probe(data_stream_en_reg0);
`probe(data_stream_en_reg1);
`probe(data_stream_en_reg2);
// A testbench
reg in=0;
i