为何不能综合?

2020-02-28 18:33发布

综合错误怎么修改?
在程序中,我先判断了200上升沿后并计数,让一些GPIO输出高低电平,需要在第二百个脉冲的下降沿去处理一些信号,即再这些GPIO输出高低电平,必须在第第201个脉冲上升沿到来之前处理。于是我程序就这样写的:

   if (SynPulseINCLK2'EVENT AND SynPulseINCLK2 = '1') then        
                locaCntPulse <= locaCntPulse + "0000000000000001";
       处理 GPIO 电平;
       If  LocaCntPulse =200        then
        LocaTrigStop = '1';
      End if;
   end if;
   
  然后判断第200个脉冲的下降沿,程序:
           if LocaTrigStop = '1' then
                        if (SynPulseINCLK2'EVENT AND SynPulseINCLK2 = '0') then
                           
                                                                处理GPIO电平;
            end if;
     end if;         
                                        -------------
以上都是在同一个process中。



可是综合以后,出现下面的提示错误:应该怎么修改?
Line 758: statement is not synthesizable since it does not hold its value under NOT(clock-edge) condition
Netlist cnt0117(arch_cnt0117) remains a blackbox, due to errors in its contents


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
entepino
1楼-- · 2020-02-28 19:23
为何不能综合,不能理解。
entepino
2楼-- · 2020-02-28 22:52
再顶一下。
GoldSunMonkey
3楼-- · 2020-02-28 22:58
 精彩回答 2  元偷偷看……
GoldSunMonkey
4楼-- · 2020-02-29 02:13
这样写有问题
entepino
5楼-- · 2020-02-29 03:42
谢谢猴哥,能说一下为何有问题吗?因为在电路实现上应该可以实现啊。
huangxz
6楼-- · 2020-02-29 03:56
因为电路上不可实现,所以才无法综合

一周热门 更多>