1. Not finding help here? Sign up for a free 30min tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Range must be bounded by constant expressions

  1. Jul 24, 2012 #1
    1. The problem statement, all variables and given/known data
    Code (Text):

    logic [4:0]counter;
    logic [WORD_W-1:0] mdr_rite_[COLOR="Red"][counter][/COLOR];  //range must be bounded by constant expressions
    logic [WORD_W-OP_W-1:0] mar_rite_[COLOR="red"][COLOR="Red"][counter][/COLOR][/COLOR]; //range must be bounded by constant expressions

    always_ff@(posedge clock, negedge n_reset)
      begin
        if (!n_reset)
          begin
          SE <= 0;
          counter <=0;
          end
        else
          if (check)
            if (counter < 10)
                begin
                counter<=counter+1;
                mar_rite_[counter] <= mar_check;
                mdr_rite_[counter] <= mdr_check;
                end
              else
                  counter<=counter+1;
                if (mar_rite_[counter]!=mar_check|mdr_rite_[counter]!=mdr_check)
                  SE<=SE+1;
        end
    endmodule
    mar_check, mdr_check and check are the input. mar_rite, mdr_rite and counter are for internal use. And SE is the output.
    If check = 1, counter will +1. When counter is 0 to 9, the mar_check and mdr_check will store in the mar_rite_[counter] and mdr_rite_[counter]. If the counter is 10 or above, it will compare the mdr and mar value. If they are not the same, SE+1.
    It say the red colour part cannot be this kind of various. So I have to use another way to do this. I have try to use FSM but that is a bit long. Is there any hint for me to fix the errors?

    I guess the same problem as http://www.edaboard.com/thread21319.html
    But I am not quite understand how it does

    Best regard
     
  2. jcsd
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Can you offer guidance or do you also need help?



Similar Discussions: Range must be bounded by constant expressions
Loading...