有人能告诉我下面的vhdl代码有什么问题吗?

有人能告诉我下面的vhdl代码有什么问题吗?,vhdl,Vhdl,我得到的错误是“error:Xst:827-”C:/1553/decoder\u copy/decoder.vhd“第265行:信号没有字无法合成,同步描述错误” 过程(rst\u n、dword\u int、sync\u csw\u reg、sync\u dw\u reg) 开始 如果(rst_n='1'),则 noofwords我想这是因为你在一个过程中检查两个不同信号的边缘(sync\u csw\u reg和sync\u dw\u reg)。如果要合成代码,就不能这样做。您必须将其分为两个

我得到的错误是“error:Xst:827-”C:/1553/decoder\u copy/decoder.vhd“第265行:信号没有字无法合成,同步描述错误”

过程(rst\u n、dword\u int、sync\u csw\u reg、sync\u dw\u reg)
开始
如果(rst_n='1'),则

noofwords我想这是因为你在一个过程中检查两个不同信号的边缘(
sync\u csw\u reg
sync\u dw\u reg
)。如果要合成代码,就不能这样做。您必须将其分为两个进程。

我想这是因为您在一个进程中检查两个不同信号的边缘(
sync\u csw\u reg
sync\u dw\u reg
)。如果要合成代码,就不能这样做。您必须将其分为两个过程。

由于错误来自XST,我强烈建议您阅读XST用户指南。特别是关于编码风格的章节。由于错误来自XST,我强烈建议您阅读XST用户指南。特别是关于编码风格的一章,我得到了另一个错误。我把它当作另一个问题。请看你能否给我一些建议。我又犯了一个错误。我把它当作另一个问题。请看你能否给我提些建议。
     process(rst_n,dword_int,sync_csw_reg,sync_dw_reg)
     begin
if(rst_n='1')then
    noofwords<="00000";
    no_words<="00000";
    nfw<='1';
elsif(falling_edge(sync_csw_reg) and dword_int(10)='0' and nfw='1' )then
    noofwords<=dword_int(0 to 4);
    check_nfw<=dword_int(0 to 4);
elsif(falling_edge(sync_dw_reg))then
    if(no_words = noofwords)then
        no_words<="00000";
        nfw<='1';
    else
        no_words<= no_words+'1';
        nfw<='0';
    end if;
end if;