verilog代码错,请大家帮忙看一看

2019-07-15 22:33发布

module DataProcess(in,out);
        input [511:0] in;
        output reg [511:0] out=in;
        reg[9:0]b=0;
        genvar a;
        generate for(a=0;a<512;a=a+1) begin:leng
                casex(out[a])
                        1'bx:b=b+1;
                        1'b0,1'b1,
                        default:b=b;
                endcase
                end
        endgenerate
        assign out[b-1]=1'b1;
        assign out=out+512-b;
        initial $monitor($time , ,"out= %h",out);
endmodule
错误信息如下,请各位帮忙指正。
** Error: (vlog-13069) D:/FPGA/test/SHA-1 modelsim/DataProcess.v(7): near "casex": syntax error, unexpected casex.

** Error: (vlog-13069) D:/FPGA/test/SHA-1 modelsim/DataProcess.v(17): near "endmodule": syntax error, unexpected endmodule.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
chenwei6991627
1楼-- · 2019-07-15 23:54
提示都很明显了,有语法错误
wangjia731029
2楼-- · 2019-07-16 03:58
本帖最后由 wangjia731029 于 2016-7-28 16:33 编辑

casex() 1'bx就忽略了这一位,你总共只有一位,就是任何情况下b=b+1;但你后面default又是b=b,感觉就冲突了吧;如果你要为x时,进行加1赋值操作的话,应该是case()
wangque1020
3楼-- · 2019-07-16 07:39
verilog 没有casex只有case
alasga
4楼-- · 2019-07-16 11:17
casex(i),就是不管i取值为什么,1,0,或者不定态,后面的赋值语句都会执行,但是你又在后面加一个“1‘b0"的分支是几个意思 ??

一周热门 更多>