当前位置: 代码迷 >> 汇编语言 >> 关于verilog的编程有关问题
  详细解决方案

关于verilog的编程有关问题

热度:266   发布时间:2016-05-02 04:36:26.0
关于verilog的编程问题
module fenpin2( change, clock,reset);
output change;
input clock;
input reset;
reg change;
always@(posedge clock or reset)
if(change!=0)
assign change=0;
always@(posedge clock)
change=1;
endmodule


请大神帮忙看看这个出了什么问题!
------解决方案--------------------
change  产生竞争了吧   明显两个这个clk的激励造成了同样的change改变   fpga是电路  不能用单纯的编程语言来理解   两个赋值同时过去在电路上是又先后的   这样就造成取不准的状态   也就是冒险   可以看看竞争冒险的解释  
------解决方案--------------------
module fenpin2( change, clock, reset);
output change;
input clock;
input reset;
reg change;
always@(posedge clock or posedge reset)
if(reset)
     change <= 1'b0;
else
     change <= 1'b1;
endmodule