首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Verilog: ERROR:HDLCompiler:806 -第117行:“error”附近的语法错误

Verilog: ERROR:HDLCompiler:806 -第117行:“error”附近的语法错误
EN

Stack Overflow用户
提问于 2017-04-23 04:57:46
回答 1查看 2.3K关注 0票数 0

我试着用fpga板通过vga在屏幕上显示图形对象。在下面的代码中,“标志”只有1位。我想要实现的是,当“标志”是1,我使某一区域一种颜色;当“标志”是0,它显示另一种颜色。Verilog ISE一直告诉我,在下面代码中的“error”语句(中间的"else“)附近有一个错误。谁能告诉我原因吗?

代码语言:javascript
运行
复制
        if (vc >= (groundTop) && vc < (groundBottom))
            begin
                red = 3'b111;
                green = 3'b111;
                blue = 2'b11;
            end
        // player level
        else if (vc >= (groundTop-playerSize) && vc < groundTop)
            begin

                if (flag==1)
                    begin
                        if (hc >= (hbp+p1nbr*playerMove-playerMove*p1nbl) && hc < (hbp+playerSize+p1nbr*playerMove-playerMove*p1nbl))
                            begin
                                red = 0;
                                green = 0;
                                blue = 0;
                            end
                        else
                            begin
                                red = 3'b000;
                                green = 3'b111;
                                blue = 2'b11;
                            end
                    end

                else
                    begin
                        else if (hc >= (hbp+p1nbr*playerMove-playerMove*p1nbl) && hc < (hbp+playerSize+p1nbr*playerMove-playerMove*p1nbl))
                            begin
                                red = 3'b111;
                                green = 3'b111;
                                blue = 2'b00;
                            end
                        else
                            begin
                                red = 3'b000;
                                green = 3'b111;
                                blue = 2'b11;
                            end
                    end
            end
        //sky
        else 
            begin
                red = 3'b000;
                green = 3'b111;
                blue = 2'b11;
            end

这是错误的样子。

代码语言:javascript
运行
复制
ERROR:HDLCompiler:806 - "U:/public/work/ECEG_240/NERP_demo/vga640x480.v" Line 117: Syntax error near "else".
ERROR:ProjectMgmt - 1 error(s) found while parsing design hierarchy.
EN

Stack Overflow用户

回答已采纳

发布于 2017-04-23 13:31:57

问题在于

else if (hc >= (hbp+p1nbr*playerMove-playerMove*p1nbl) && hc < (hbp+playerSize+p1nbr*playerMove-playerMove*p1nbl))没有理由成为else if。相反,它应该是一个简单的if,因为没有其他匹配的。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43567542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档