微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 计数器要如何写才能通过LEDA检查?

计数器要如何写才能通过LEDA检查?

时间:10-02 整理:3721RD 点击:
我写了一个计数器,计数到15的时候就清0。
源代码附在后面。但是用LEDA检查的时候,总是报告说:
test.v:5 Avoid internally generated reset/set/load test.counter
--- Used as set/reset/load signal:  test.counter (test.v,test)
这样子我就很搞不明白,这样子的计数器究竟应该怎么写?
module test(rest,clock);
input rest;
input clock;
integer counter;
always@(posedge clock) begin
if( !rest ) begin
  counter <= 0;
end
else begin
  if( counter == 15 )
   counter <= 0;
  else counter <= counter + 1;
end
end
endmodule

counter是不是应该定义为reg类型啊

定义为reg类型,结果是一样的。都通不过LEDA的检查

integer counter;     改成  reg  [3:0]   counter;
always@(posedge clock) begin   改成   always@(posedge clock or negedge rest) begin



    同意楼上,你用的同步reset信号,所以报了warning。

module test(rest,clock);
input rest;
input clock;
reg [3:0] counter;
always@(posedge clock or negedge rest) begin
if( !rest ) begin
  counter <= 3'd0;
end
else begin
  if( counter == 3'd15 )
   counter <= 3'd0;
  else
     counter <= counter + 1;
end
end
endmodule

学习学习

初学者往往遇到问题不知道怎么办,其实,一切原因都是自己没有按照规范来,自己的随心所欲导致的,
正确的步骤是按照 厂商提供的模板。少走弯路,少郁闷,正确的道路让人快乐。任性的方式,自寻烦恼。

thanks。

学习了~

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top