Continue to Site

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.

xilinx constraint declaration need help !

Status
Not open for further replies.

Matrix_YL

Advanced Member level 4
Joined
Aug 19, 2005
Messages
108
Helped
3
Reputation
6
Reaction score
1
Trophy points
1,298
Activity points
2,272
xilinx multiplier synthesis block vs lut

Hi all


I spend too much block multiplier on my design ,so I want to use some of them by lut .

I do my constraint according to xilinx cdg.pdf .
Specify as follows:
// synthesis attribute mult_style [of] {module_name|signal_name} [is]
{auto|block|lut|pipe_lut|pipe_block|CSD|KCM};

module multiplier(
//Output
result_1,result_2,
//Input
a,b,c,d
);

input[3:0] a;
input[3:0] b;
input[3:0] c;
input[3:0] d;
output[7:0] result_1;
output[7:0] result_2;

assign result_1= a*b; // synthesis attribute mult_style of {result_1} is {lut};

assign result_2= c*d; // synthesis attribute mult_style of {result_2} is {block};
endmodule
but the synthesized report generated by two block multiplier

=============================================================
* HDL Analysis *
=========================================================================
Analyzing top module <multiplier>.
Module <multiplier> is correct for synthesis.

"multiplier.v" line 36: Cannot find <{result_1}> in module <multiplier>, property <mult_style> with Value <{lut}> is ignored.
"multiplier.v" line 38: Cannot find <{result_2}> in module <multiplier>, property <mult_style> with Value <{block}> is ignored.
Set property "resynthesize = true" for unit <multiplier>.
what's wrong with my HDL ? or Mybe I misunderstand the usage of xilinx constraint declaration .can you help me solve this problem ?
thank you very much !
 

set as top module xilinx

Remove the {} ?
So it looks like

Code:
// synthesis attribute mult_style of result_1 is lut;
{} is typically used to group choices together in a syntax description.
 

    Matrix_YL

    Points: 2
    Helpful Answer Positive Rating
google groups mult_style

Hi tkbits
I do it according to what you indicated,but fail to implement!
[/
HDL Analysis *
=========================================================================
Analyzing top module <multiplier>.
Module <multiplier> is correct for synthesis.

"multiplier.v" line 36: Cannot find <{result_1}> in module <multiplier>, property <mult_style> with Value <lut> is ignored.
"multiplier.v" line 38: Cannot find <{result_2}> in module <multiplier>, property <mult_style> with Value <block> is ignored.
Set property "resynthesize = true" for unit <multiplier>.
 

cdg.pdf xilinx

tkbits instructions are correct. You didn't remove all the {}.
Here is a working module:

Code:
module multiplier (result_1, result_2, a, b, c, d);
  input  [3:0] a, b, c, d;
  output [7:0] result_1, result_2;

  assign result_1 = a * b; // synthesis attribute mult_style of result_1 is lut;
  assign result_2 = c * d; // synthesis attribute mult_style of result_2 is block;
endmodule
 

    Matrix_YL

    Points: 2
    Helpful Answer Positive Rating
assign synthesis to lut

Hi tkbits
I do it according to what you indicated,but fail to implement!
It's my mistake.


thanks for your help
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top