Verilog分配时的多次检查

Verilog分配时的多次检查,verilog,system-verilog,Verilog,System Verilog,我不明白为什么这段代码中有synthax错误: mem_check_msk = (membytes[i] == 3) ? 32'h00ffffff : (membytes[i] == 2) ? (mempa[i][1:0] == 2'b00) ? endianess ? 32'hffff0000 : 32'h0000ffff : (membytes[i] == 1) ? (mempa[i][1:0] == 2'b00

我不明白为什么这段代码中有synthax错误:

mem_check_msk = (membytes[i] == 3) ? 32'h00ffffff : 
                (membytes[i] == 2) ? (mempa[i][1:0] == 2'b00) ? endianess ? 32'hffff0000 : 32'h0000ffff :       
                (membytes[i] == 1) ? (mempa[i][1:0] == 2'b00) ? endianess ? 32'hff000000 : 32'h000000ff :
                                     (mempa[i][1:0] == 2'b01) ? endianess ? 32'h00ff0000 : 32'h0000ff00 :
                                     (mempa[i][1:0] == 2'b10) ? endianess ? 32'h0000ff00 : 32'h00ff0000 :
                                     (mempa[i][1:0] == 2'b11) ? endianess ? 32'h000000ff : 32'hff000000 : 
                32'hffffffff;

正在抱怨“;”最后。只是不知道我错在哪里

正如在评论中指出的那样,有13个
,只有11个
问题得到了纠正

我也不懂这个语法。为什么有两个
尾端的两侧?三元运算符语法是
x?y:z在这里看一下如何结构化嵌套的三元结构:因为有多个检查,所以首先检查mmpa[1:0]的值,然后检查是否设置了endianess。例:x?YZa:b:…我在你的代码中计算了13个
标记,只有11个
@EugeneSh。至少我们同意
:)@EugeneSh的数量。是的,你说得对。我将删除我的评论