错误(10818):无法推断寄存器为...因为它不在时钟边沿之外保持其值

时间:2014-07-18 11:27:41

标签: vhdl

我是vhdl的新手,我有两个问题:

  • 主题中的那个 - >错误(10818):无法在RESET_BLOCK.vhd(49)中推断出“syn_reset”的寄存器,因为它没有在时钟边缘之外保持其值

  • 错误(10822):RESET_BLOCK.vhd(49)处的HDL错误:无法在此时钟边沿上为分配实现寄存器

我搜索了任何提示,但我没有发现任何可以匹配我的问题(与代码)。我想在时钟的下降沿和它的上升沿之间发送一个序列。 Mayby我只是不对vhdl做对了。这是代码:

...

reset_signal_write :process (sclk_reset_in,init) 
begin
  selected :if init = '1' then
     scs_reset <= '0' ;          
     sdata_reset <= '1';  
     syn_reset <= '0' after 30 ns;
     falling_edge_detected :if falling_edge(sclk_reset_in) then 
        sdata_reset <= '0' after 30 ns; 
        sdata_reset <= '1' after 60 ns ;
        sdata_reset <= '0' after 90 ns;
        sdata_reset <='1' after 120 ns;     
        rising_edge_detected :if rising_edge(sclk_reset_in) then
           syn_reset <= '1' after 30 ns;
           scs_reset <= '1' after 60 ns;
        end if rising_edge_detected;
     end if falling_edge_detected ;

...

感谢您的帮助!

0 个答案:

没有答案