How to fix this synthese warnings?


I have implemented an multiplier in the following way: I always take 4 bits of my first operand and multiply it with the second operand. So in every step I generate 4 partial products which have to be added. This sum is stored in the accumulator. In the next clock cycle I take the next 4 bits, multiply it with the second operand, sum up the partial products and add this to my accumulator. This is performed a few times until I have processed all the bits of operand one. Then my result is stored in the accu. My implementation works fine but when I synthesize it I get a lot of "warnings", can somebody tell me what went wrong here?

Mapping all equations... Building and optimizing final netlist ... Register outp_0 equivalent to accu1_8 has been removed Register outp_1 equivalent to accu1_9 has been removed Register outp_2 equivalent to accu1_10 has been removed Register outp_3 equivalent to accu1_11 has been removed Register outp_4 equivalent to accu1_12 has been removed Register outp_5 equivalent to accu1_13 has been removed Register outp_6 equivalent to accu1_14 has been removed Register outp_7 equivalent to accu1_15 has been removed Register outp_8 equivalent to accu1_16 has been removed Register outp_9 equivalent to accu1_17 has been removed and so on...

The code for accu1 and outp looks the following:

if rst = '1' then op1 '0'); op2 '0'); outp '0'); accu1 '0');

elsif clk'event and clk = '1' then if load = '1' then op1

Reply to
Loading thread data ...

outp and accu have many bits which will always have the same value. The synthesis tool notices this, and thus decides to reusue the accu register to feed whatever the corresponding bits of the outp register feed.

For example, outp(0) is always accu(0). So is accu1(8). So using accu1(8) everywhere that outp(0) is used is logically equivalent, and uses fewer resources.

- Paul

Reply to
Paul Leventis (at home)

Thanks Paul, is this okay when I leave it this waz and let the synthese tool do the work to get rid of the redundant information?

cheers Philipp

Reply to

yes, that's ok. But keep care about other warnings. One drawback of XST is the generation of warnings: if your project grow it is near to impossible to avoid warnings. Some of them are harmless and more "informative". But other could be essential and it is possible that you overlook some.


Reply to
Walter Dvorak

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.