fpga编译警告问题

2019-07-16 02:07发布

那位大哥帮忙看下这个编译警告怎样解决啊;谢谢了!
Warning (10631): VHDL Process Statement warning at action.vhd(163): inferring latch(es) for signal or variable "data1", which holds its previous value in one or more paths through the process
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
lstcspring
1楼-- · 2019-07-16 02:15
代码贴上来,IO信号接得有问题
shinfo
2楼-- · 2019-07-16 06:15
p2: process(cnt,see_temp)
        begin
                   if see_temp='0' then
                           data1 <=30000;  
                                data2 <=40000;
                                data3 <=50000;
                                data4 <=60000;
                                data5 <=70000;
                                data6 <=80000;
                                data7 <=90000;
                                data8 <=100000;
                                data9 <=110000;
                                data10<=120000;
                        else
            case cnt is               --The robot perform actions data
               when 0 =>              
                                                        data1 <=30000;  
                                                        data2 <=40000;
                                                        data3 <=50000;
                                                        data4 <=60000;
                                                        data5 <=70000;
                                                        data6 <=80000;
                                                        data7 <=90000;
                                                        data8 <=100000;
                                                        data9 <=110000;
                                                        data10<=120000;
               when 1 =>              
                                                        data1 <=30000;  
                                                        data2 <=40000;
                                                        data3 <=50000;
                                                        data4 <=60000;
                                                        data5 <=70000;
                                                        data6 <=80000;
                                                        data7 <=90000;
                                                        data8 <=100000;
                                                        data9 <=110000;
                                                        data10<=120000;
               when 2 =>               
                                                        data1 <=30000;  
                                                        data2 <=40000;
                                                        data3 <=50000;
                                                        data4 <=60000;
                                                        data5 <=70000;
                                                        data6 <=80000;
                                                        data7 <=90000;
                                                        data8 <=100000;
                                                        data9 <=110000;
                                                        data10<=120000;
               when 3 =>               
                                                        data1 <=30000;  
                                                        data2 <=40000;
                                                        data3 <=50000;
                                                        data4 <=60000;
                                                        data5 <=70000;
                                                        data6 <=80000;
                                                        data7 <=90000;
                                                        data8 <=100000;
                                                        data9 <=110000;
                                                        data10<=120000;
               when 4 =>                 
                                                        data1 <=30000;  
                                                        data2 <=40000;
                                                        data3 <=50000;
                                                        data4 <=60000;
                                                        data5 <=70000;
                                                        data6 <=80000;
                                                        data7 <=90000;
                                                        data8 <=100000;
                                                        data9 <=110000;
                                                        data10<=120000;
               when 5 =>                  
                                                        data1 <=30000;  
                                                        data2 <=40000;
                                                        data3 <=50000;
                                                        data4 <=60000;
                                                        data5 <=70000;
                                                        data6 <=80000;
                                                        data7 <=90000;
                                                        data8 <=100000;
                                                        data9 <=110000;
                                                        data10<=120000;               
                                        when 6 =>               
--                                                        data1 <=30000;  
--                                                        data2 <=40000;
--                                                        data3 <=50000;
--                                                        data4 <=60000;
--                                                        data5 <=70000;
--                                                        data6 <=80000;
--                                                        data7 <=90000;
--                                                        data8 <=100000;
--                                                        data9 <=110000;
--                                                        data10<=120000;
--              when 7 =>
--                                                        data1 <=30000;  
--                                                        data2 <=40000;
--                                                        data3 <=50000;
--                                                        data4 <=60000;
--                                                        data5 <=70000;
--                                                        data6 <=80000;
--                                                        data7 <=90000;
--                                                        data8 <=100000;
--                                                        data9 <=110000;
--                                                        data10<=120000;
--              when 8 =>
--                                                        data1 <=30000;  
--                                                        data2 <=40000;
--                                                        data3 <=50000;
--                                                        data4 <=60000;
--                                                        data5 <=70000;
--                                                        data6 <=80000;
--                                                        data7 <=90000;
--                                                        data8 <=100000;
--                                                        data9 <=110000;
--                                                        data10<=120000;
--              when 9 =>
--                                                        data1 <=30000;  
--                                                        data2 <=40000;
--                                                        data3 <=50000;
--                                                        data4 <=60000;
--                                                        data5 <=70000;
--                                                        data6 <=80000;
--                                                        data7 <=90000;
--                                                        data8 <=100000;
--                                                        data9 <=110000;
--                                                        data10<=120000;
               when others=>            
                                                        data1 <=30000;  
                                                        data2 <=40000;
                                                        data3 <=50000;
                                                        data4 <=60000;
                                                        data5 <=70000;
                                                        data6 <=80000;
                                                        data7 <=90000;
                                                        data8 <=100000;
                                                        data9 <=110000;
                                                        data10<=120000;
            end case;
                        end if;
      end process p2;  
shinfo
3楼-- · 2019-07-16 10:46
data1,data2,data3.......data10都是数据,see_temp是使能信号
shinfo
4楼-- · 2019-07-16 12:41
 精彩回答 2  元偷偷看……
ytphrx
5楼-- · 2019-07-16 15:34
明显data1....是信号,不能直接赋整数值.只能是二进制,8进制,16进制的字符串.也就是说<=两边的数据类型不匹配啊.
ytphrx
6楼-- · 2019-07-16 16:00
例如:data1<="010101",或者data1<=O"176",或者data1<=x"AD0"等.

一周热门 更多>