有一连续信号(or脉冲信号),想实现它的延时输出(20ns,40ns、、、、)。我想用fifo。先采样记录(wr),然后过一定时间输出(rd),读写用同一时钟。本人认为改变wr和rd之间的时间差就可以实现延时输出了,但是在仿真的时候输出延时总是一定的,正好是两个时钟周期。
我看了这里的有关帖子,用计数器和寄存器还有D触发器。还是不太明白。
哪位大侠制导下,谢谢了。
下面是我的想法,fifo用的是lpm。32字节()。N<32
process(clk)
variable count:integer range 0 to N;
variable m:integer range 0 to 2;
begin
if m=0 then
if(clk'event and clk='1') then
count:=count+1;
if (count=N) then
rdreq<='1';
m:=1;
end if;
end if;
end if;
end process;
process(clk)
begin
wrreq<='1';
end process;
实现N个时钟周期的延迟。
可是不管改变参数还是吧参数去掉直接wr,rd;仿真结果都一样