VHDL设计一个延时机制

vcar 2005-04-27 06:56:04
我想完成一次任务后固定延时XX个时钟周期,写的VHDL代码如下:

-- endofpacket传输任务完成
-- endofpacket_reg rising edge detection
process (CLK)
begin
if rising_edge(clk) then
endofpacket_reg2 <= endofpacket_reg;
end if;
end process;

process (CLK)
begin
if rising_edge(clk) then
if ((endofpacket_reg2 = '0') and (endofpacket_reg = '1')) then
if (delay_count < Trigger_Delay) then
delay_period <= '1';
else
delay_period <= '0';
end if;
end if;
end if;
end process;

process (CLK)
begin
if rising_edge(clk) then
if (delay_period = '1') then
delay_count <= delay_count + 1;
end if;
end if;
end process;

我想最后通过获取delay_period的下降沿获取延时完成信号。
代码不太对,实在想不透这样的延时机制怎么实现才好?
...全文
453 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
seedundersnow 2005-05-05
  • 打赏
  • 举报
回复
process 应当是并行执行的,这样的状态机不应当用两个 process 吧?

6,127

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧