我试图将信号延迟五个时钟周期..
process (read_clk)
begin
if (rising_edge(read_clk)) then
rd_delay <= rd_en;
end if;
end process;
delay3 <= not(rd_en) and rd_delay;
Run Code Online (Sandbox Code Playgroud)
通过边缘检测技术,这会给我一个时钟周期的延迟,但我需要五个时钟周期。
谢谢你们。
马修提议的稍微优雅的版本可以是,例如:
constant dn: positive := 5;
signal delay: std_ulogic_vector(0 to dn - 1);
...
process (read_clk)
begin
if rising_edge(read_clk) then
delay <= rd_en & delay(0 to dn - 2);
end if;
end process;
rd_en_d5 <= delay(dn - 1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5226 次 |
| 最近记录: |