微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 求助:一个简单的verilog程序,仿真了后有些问题,在线等

求助:一个简单的verilog程序,仿真了后有些问题,在线等

时间:10-02 整理:3721RD 点击:
程序如下:
module chuangxinjijin(
       clk_50M,rst_n,
       count1,count2,
       SP
      );
input clk_50M,rst_n;
output reg [16:0] count1;
output reg [14:0] count2;
output reg SP;
//-----------------------------SP-------------------------------------
reg clear;
always @(negedge clk_50M or negedge rst_n)
      if(!rst_n)
                      count1 =0 && count2 =281 && count2 =286 && count2 =0 && count2<281)   begin
        SP <= 1'b0;
        count2 <= count2 + 1'b1;
end
这样的话,就可以先判断clear语句。
(2)像楼上一样,将复位和clear合到一块。
如果你的if  else  语句的条件不是一个性质的话(不属于一类),例如clear和 count2的变化,你放到一个if  else 中之后,如果不注意顺序就会出现你的问题,部分语句永远不会执行。

还有就是,程序里最好有注释,然后问问题的时候,可以把你的程序要实现的功能描述一下

小编你这是准备啥计数到什么时候让count2清零,还是说clear出现就清零。如果是出现就清零看5楼,如果是有其他条件那么你应该给出来才能给你改正。

不好意思,回复那么晚,这种改法会报错!
Error (10200): Verilog HDL Conditional Statement error at chuangxinjijin.v(207): cannot match operand(s) in the condition to the corresponding edges in the enclosing event control of the always construct

没怎么看,我觉得可能是clear刚好在时钟上升沿吧 采不到,所以条件一直不满足

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

网站地图

Top