写了个最简单的分频程序:
[mw_shl_code=c,true]module fp_verilog(
clk,rst_n,
fm
);
parameter devide=32'd99;
input clk; //时钟信号
input rst_n; //复位
output fm; //输出 低亮高不亮
reg[31:0] cnt;
always @(posedge clk or negedge rst_n)
begin
if(rst_n==0||cnt==0)
cnt<=devide;
else
cnt<=cnt-32'd1;
end
assign fm=(cnt>=(devide/2))? 1'b0:1'b1;
endmodule[/mw_shl_code]
显示if语句用法错误
改为:
[mw_shl_code=c,true]module fp_verilog(
clk,rst_n,
fm
);
parameter devide=32'd99;
input clk; //时钟信号
input rst_n; //复位
output fm; //输出 低亮高不亮
reg[31:0] cnt;
always @(posedge clk or negedge rst_n)
begin
if(rst_n==0)
cnt<=devide;
else if(cnt==0)
cnt<=devide;
else
cnt<=cnt-32'd1;
end
assign fm=(cnt>=(devide/2))? 1'b0:1'b1;
endmodule[/mw_shl_code]
后,编译通过,请问这样使用逻辑表达式有什么问题,为何在if语句中条件表达式不能使用“或”? |