Verilog代码在isim(xilinx 14.2)中运行,但在spartan6上不运行

时间:2018-12-07 16:57:28

标签: verilog fpga xilinx-ise spartan

我用verilog(xilix 14.2)写了一个简单的计数器代码。代码在isim中正常工作,但我无法将其转储到spartan6上。当我尝试转储代码时,在spartan 6上红灯点亮,并且未转储代码。请让我知道我需要进行的更改。

module clk(int_clk,ext_pulse,reset,pos_count,neg_count);
input int_clk;
input ext_pulse;
input reset;
output reg [7:0] pos_count;
output reg [7:0] neg_count;
reg [7:0] count;
always@(posedge int_clk)
if(reset)
begin
pos_count<=0;
neg_count<=0;
end
else if(ext_pulse)
begin
neg_count<=neg_count+1;
pos_count<=0;
end
else
begin
pos_count<=pos_count+1;
neg_count<=0;
end
endmodule

1 个答案:

答案 0 :(得分:1)

嘿,您还没有在always块中添加一个begin..end。此外,您使用了同步复位,通常不建议这样做。我对您的代码进行了一些更改。顺便问一下,您是否生成了比特流?

module clk(int_clk,ext_pulse,reset,pos_count,neg_count);
input int_clk;
input ext_pulse;
input reset;

output reg [7:0] pos_count;
output reg [7:0] neg_count;
reg [7:0] count;              //This reg is unused

always@(posedge int_clk or posedge reset) //I am assuming you want active high reset
begin
if(reset)
begin
  pos_count<=0;
  neg_count<=0;
end
else if(ext_pulse)
begin
 neg_count<=neg_count+1;
 pos_count<=0;
end
else
begin
 pos_count<=pos_count+1;
 neg_count<=0;
end
end
endmodule