如题:
代码中如果两个if同时都满足,是按先后顺序执行? 还是两句同时执行?
代码如下:
CMD_RES:
begin
if(retry_rep == 8'hff)
cmd_nstate <= CMD_IDLE; //响应超时,返回IDLE重新发起命令
if(spi_rx_rdy && (!spi_tx_enr & !spi_rx_enr))
begin
case(sdinit_cstate)
SD_RD_PT,SD_RD_BPB:
//接收到RD命令的起始字节8'hfe,立即读取后面的512B
if(spi_rx_dbr == 8'hfe)
cmd_nstate <= CMD_RD;
else
cmd_nstate <= CMD_RES;
SDINIT_CMD0,SDINIT_CMD55,SDINIT_ACMD41,SDINIT_CMD16:
if(spi_rx_dbr == 8'hff)
cmd_nstate <= CMD_RES;
else
//产生正确响应,结束当前命令
cmd_nstate <= CMD_CLKE;
default:
cmd_nstate <= CMD_CLKE;
endcase
end
else
cmd_nstate <= CMD_RES;
end
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
你这个说法是两个if平行的,
如果是分级就是谁先执行谁。
另外平行语句,是不能对同一个值赋值的。
咳咳,我觉得
平行:(假设这个语法都是正确的)
if a>3
b=5
if a>5
b=6.
那么在a=6的条件下,肯定是b=6(但是这个语法肯定是错的)
但是
if a>3
b=5
else if a>5
b=6.
如果出现a=6的情况下,b=5
一周热门 更多>