Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

warning:FF/Latch <_mux0001_0> (without init value) has a constant value of 1 in block

Status
Not open for further replies.

electronical

Advanced Member level 4
Joined
Nov 4, 2011
Messages
104
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Activity points
1,975
warning:FF/Latch <_mux0001_0> (without init value) has a constant value of 1 in block

how can I remove these warnings:
FF/Latch <_mux0001_0> (without init value) has a constant value of 1 in block
and why these ocuur?
 

TonyM

Advanced Member level 4
Joined
Jun 18, 2012
Messages
111
Helped
30
Reputation
60
Reaction score
30
Trophy points
1,308
Activity points
2,081
Re: warning:FF/Latch <_mux0001_0> (without init value) has a constant value of 1 in b

First off, how big is your design? Is the design written in vhdl or verilog? Can you trace this easily back to a particular node?
 

electronical

Advanced Member level 4
Joined
Nov 4, 2011
Messages
104
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Activity points
1,975
Re: warning:FF/Latch <_mux0001_0> (without init value) has a constant value of 1 in b

hello.I wrote this in vhdl,and syn in ISE 13.2.
I thimk my code not big but when I synthesis it ,the error "ERROR:pack:2309 - Too many bonded comps of type "IOB" found to fit this device.
ERROR:Map:237 - The design is too large to fit the device." is occured and I cant to trace
 

TonyM

Advanced Member level 4
Joined
Jun 18, 2012
Messages
111
Helped
30
Reputation
60
Reaction score
30
Trophy points
1,308
Activity points
2,081
Re: warning:FF/Latch <_mux0001_0> (without init value) has a constant value of 1 in b

I'd take the error to mean you've used more pins in your vhdl design than you've got on the chip.

Try changing the target device to one with enough pins and synthesize it again. See if the FF/latch error is still there then trace it back as before.
 

mrflibble

Advanced Member level 5
Joined
Apr 19, 2010
Messages
2,724
Helped
679
Reputation
1,360
Reaction score
651
Trophy points
1,393
Activity points
19,551
Re: warning:FF/Latch <_mux0001_0> (without init value) has a constant value of 1 in b

That means that in your top-level module you have too many inputs+outputs, like TonyM said. Just increase to largest device and see if this magically solves things.

Also, check out "Number of bonded IOBs" in the ISE Design Summary.
 

electronical

Advanced Member level 4
Joined
Nov 4, 2011
Messages
104
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Activity points
1,975
Re: warning:FF/Latch <_mux0001_0> (without init value) has a constant value of 1 in b

ok.the input signal is array ( 1 to 2304) of integer range -127 to 127 .
and the out put is the same.
which Ic I must select?
 

TonyM

Advanced Member level 4
Joined
Jun 18, 2012
Messages
111
Helped
30
Reputation
60
Reaction score
30
Trophy points
1,308
Activity points
2,081
Re: warning:FF/Latch <_mux0001_0> (without init value) has a constant value of 1 in b

Goodness, you'd be in trouble synthesizing if that really were the top-level entity. Let's hope this is just confusion and you're not telling it to find umpteen thousand I/O pins :)

Please can you post the top-level entity from your vhdl, along with any definitions for user types used for the ports. Also, which device are you using - part number plus description, please.
 

electronical

Advanced Member level 4
Joined
Nov 4, 2011
Messages
104
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Activity points
1,975
Re: warning:FF/Latch <_mux0001_0> (without init value) has a constant value of 1 in b

the above warning is cleared , but I have a big problem with IBO.I use this code with the bigest IC(defense-grade virtex-6q XQ67LX55OTL) .this error is occured?
this code is just a part of my code and I dont know how can I synthesis the local code.
in this code ,this use 202 of 804 IOB, it is high .
 
Last edited:

TonyM

Advanced Member level 4
Joined
Jun 18, 2012
Messages
111
Helped
30
Reputation
60
Reaction score
30
Trophy points
1,308
Activity points
2,081
Re: warning:FF/Latch <_mux0001_0> (without init value) has a constant value of 1 in b

Look, I really want to avoid sounding critical but...

It looks like you're just slapping this together with no real appreciation of what you're actually doing :-( Take a step back and post a description of what the circuit is actually connected to.

Next, is this a real circuit you are/will be working on? Or is this really a college/university assignment?

I'm guessing but I'd say you're trying to write a computer program in vhdl. If you *were*, that would be fatal. The most disastrous thing in vhdl is to think of it as a programming language.

I may be hopelessly wrong. But what you have looks hopelessly un-real-world :)
 

electronical

Advanced Member level 4
Joined
Nov 4, 2011
Messages
104
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Activity points
1,975
Re: warning:FF/Latch <_mux0001_0> (without init value) has a constant value of 1 in b

it is a real circuit ,and it is very serious,in this part of program I want
I have an array 1x2500 , that I must select some elements at it,and due to the aaray is big وI break the adress of elements into two matrix.
if you have a best way to write this code please tell me,I am a biginner in vhdl:(
 

mrflibble

Advanced Member level 5
Joined
Apr 19, 2010
Messages
2,724
Helped
679
Reputation
1,360
Reaction score
651
Trophy points
1,393
Activity points
19,551
Re: warning:FF/Latch <_mux0001_0> (without init value) has a constant value of 1 in b

Well, don't pump the array full width through a bunch of pins for one. ;) But it indeed comes down to basic circuit design. You may want to consider a serial protocol (SPI or something) to pump in the data for your matrix. 2500 elements wide isn't going to work well with parallel load. ;)

Or as a first stab at it you can put the entire array in a BRAM, and then for your first circuit test you cheat by giving the array data with BRAM INIT data. That way you can roughly test your idea, whatever that may be.

The idea behind using bram + init is that you don't have to worry about loading the array data for a first test. The BRAM initialiazes at the moment of bitstream loading.
 

electronical

Advanced Member level 4
Joined
Nov 4, 2011
Messages
104
Helped
2
Reputation
4
Reaction score
2
Trophy points
1,298
Activity points
1,975
Re: warning:FF/Latch <_mux0001_0> (without init value) has a constant value of 1 in b

sorry,yse I know I must use serial protocol and then save them ,my problem now is that the number of IOB is used for part of local program is high and when I synt the local code the error of "Too many bonded comps of type "IOB" found to fit this device.
ERROR:pack:18 - The design is too large for the given device and package.
Please check the Design Summary section to see which resource requirement for
your design exceeds the resources available in the device"
is occured .I dont know what should do to resolve it?
Code:
package my_package is
   constant pp:integer:=96; 
   constant p:integer:=96;
   constant z:integer:=2;
   constant max_value:integer:=96;
   --------------------------------------------------------------------
   type matrix1xN is array (1 to 2304) of integer range -127  to 2304;
   --------------------------------------------------------------------
   subtype int is integer range -127 to 127;
   type matrix7xz      is array (1 to 0007,1 to z) of int ;
   type matrix24xz     is array (1 to 0024,1 to z) of int ;
   type matrix1x1152i  is array (1 to 0048)        of int ;
   --type matrix1x1152b  is array (1 to 1152)        of bit_vector(2 downto 0);
   type matrix1x1152   is array (1 to 1152)        of bit;
   type matrix1x1152b8 is array (1 to 1152)        of bit_vector(1 to 8);
   type matrix1x24     is array (1 to 0024)        of int ; 
   type matrix1x8      is array (1 to 0008)        of int  ;
   type matrix1x7      is array (1 to 0007)        of int ;
   type matrix1x6      is array (1 to 0006)        of int ;
   type matrix1x4      is array (1 to 0004)        of int ;
   type matrix1x2      is array (1 to 0002)        of int ;
   type array_H        is array (1 to 0024)        of int ;
   type matrix12x8     is array (1 to 0012)        of matrix1x8;
   type matrix96x8     is array (1 to 0096)        of matrix1x8;
   type matrix96x1     is array (1 to 0096)        of int;
   type matrix1x8sign  is array (1 to 0008)        of integer range -1 to 1;
   type matrix96x8sign is array (1 to 0096)        of matrix1x8sign;
   type matrix1x96sign is array (1 to 0096)        of integer range -1 to 1;
   type matrix1x96b    is array (1 to 0096)        of bit_vector(2 downto 0);
   type matrix1152x1     is array (1 to 0012)        of matrix96x1;
   type matrix1152x8     is array (1 to 0012)        of matrix96x8;
   type matrix1152x8sign is array (1 to 0012)        of matrix96x8sign;
   type matrix1x1152sign is array (1 to 0012)        of matrix1x96sign;
   type matrix1x1152b    is array (1 to 0012)        of matrix1x96b;
end ldpc_package;
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use work.my_package.all;
entity col_index_96 is
  port(sum:in int;clk_external,clk,reset:in bit;H,col_each_rowblock: in matrix1x8;col_index_nonzero:out matrix1x8
  --clk_external:in bit
  );
end;
 architecture behave of col_index_96 is  
signal i:int:=1;
  begin
  process(clk,reset,clk_external)
   variable  s:int ;variable b:integer;variable  i:integer range 0 to 7;
    variable col_index_nonzero_i:integer range 1 to 2304;variable a:integer range 0 to 1;
    begin 
      if reset ='1' then 
        s:=0;i:=0;
      else
         if (clk 'event and clk='1' )then
          if i=7 then
           i:=0;s:=0;--multiple_sign:=1;
          else
           i:=i+1;
          end if;
			    s:=col_each_rowblock(i+1)+sum-1;
          b:=(col_each_rowblock(i+1)+sum-1)-H(i+1);
          if b>0 then 
            a:=1;
          else
            a:=0;
          end if;
          case a is 
           when 0 => col_index_nonzero_i := s;
           when others =>col_index_nonzero_i:=s-96;
          end case;
          col_index_nonzero(i+1)<=col_index_nonzero_i;  
        end if;
      end if;
  end process;
  
end;
 
Last edited:

mrflibble

Advanced Member level 5
Joined
Apr 19, 2010
Messages
2,724
Helped
679
Reputation
1,360
Reaction score
651
Trophy points
1,393
Activity points
19,551
Re: warning:FF/Latch <_mux0001_0> (without init value) has a constant value of 1 in b

Circular argument is circular?

Alternative method: What is the number of IOB's you think your code going to be using? You should know, since it's your design... What does ISE say it is using? As in the IOB resource usage. It gives you a number in the summary. Compare "what you think it should be" with "what ISE says it is", and see if your current results or lack thereof suddenly make sense....
 

TonyM

Advanced Member level 4
Joined
Jun 18, 2012
Messages
111
Helped
30
Reputation
60
Reaction score
30
Trophy points
1,308
Activity points
2,081
Re: warning:FF/Latch <_mux0001_0> (without init value) has a constant value of 1 in b

As asked above, please take a step back and post a description of what the circuit is actually connected to :)
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top