UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Reply

[Doubt about synthesis]

Accepted Solution Solved
Highlighted
Explorer
Posts: 147
Registered: ‎01-23-2018
Accepted Solution

[Doubt about synthesis]

Hello,


I'm pretty new at Vivado and I'm trying to see how much resources (LUT, FF...) will my design use, but it always reports me the same even if I create 64 more instances of one module. One of my source files has a for loop that creates X instances of a module (and it haves submodules) and the number of created instances (X) is defined by a: `define N_INSTANCES 64 in a Verilog header.

 


I don't know if I'm doing something wrong or I'm missing something, I also tried to find the solution on the forum but I didn't see it.


Thanks


Accepted Solutions
Scholar
Posts: 1,136
Registered: ‎09-16-2009

Re: [Doubt about synthesis]

Couple of things - the code you posted is systemverilog.  Make sure Vivado is setup to use the SystemVerilog parser.  (I think renaming your file extension to .sv will cause this to happen automatically, but I may be confusing my tools).

 

Second thing, where is your typedef declared?  The error message seems to be saying you're declaring it at root scope (i.e not within a module or package). You need to move that definition to within (a module, or package).

 

Regards,

 

Mark

View solution in original post


All Replies
Moderator
Posts: 938
Registered: ‎09-15-2016

Re: [Doubt about synthesis]

@joel.sanchez

 

Check for the netlist  for those 64 instances after opening synthesized design. Also look at the synthesis log and see if there are any warnings or info related to optimization  during synthesis process.

 

Regards

Rohit

Regards
Rohit
----------------------------------------------------------------------------------------------
Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
----------------------------------------------------------------------------------------------

Scholar
Posts: 835
Registered: ‎08-07-2014

Re: [Doubt about synthesis]

[ Edited ]

@joel.sanchez,

 

with so so less information it is difficult to provide you a concrete answer.

It depends, how large your base module is, how many times you are instantiating them and the resources used.

Xilinx synth engine also makes design optimization.

 

Please take a look into your synthesis log file located inside your_project.runs\synth_1\

--------------------------------------------------------------------------------------------------------
FPGA enthusiast!
--------------------------------------------------------------------------------------------------------
Scholar
Posts: 2,709
Registered: ‎04-26-2015

Re: [Doubt about synthesis]

The obvious cause of this is that only one of the 64 units is connected to an output. In this case, Vivado will recognise that the remaining 63 don't actually do anything and remove them all from the design.

Moderator
Posts: 1,478
Registered: ‎07-21-2014

Re: [Doubt about synthesis]

@joel.sanchez

 

Start with synthesis log file. I guess tool is removing the logic from the design(need to see log file and RTL to comment on 'why') and you should be able to see the same details in synthesis log.

 

Thanks,

Anusheel 

Explorer
Posts: 147
Registered: ‎01-23-2018

Re: [Doubt about synthesis]

Hi,

 

first of all thanks, I will look into the log file as soon as I can and will say something with more information. I saw that the log file has around 1000 lines, should I look for something in particular?

 

 

Thanks,

 

Joel

Explorer
Posts: 147
Registered: ‎01-23-2018

Re: [Doubt about synthesis]

Hi,

 

after looking into log file and make some changes in the code I've been stuck in an error and I can't find any solution on the Internet:

 

Synthesis Command: synth_design -top shire_top -part xc7a200tfbg676-2
[Synth 8-2644] root scope declaration is not allowed in verilog 95/2K mode ["fileA.vh":14]
[Synth 8-2715] syntax error near packed ["fileA.vh":13]
[Common 17-69] Command failed: Vivado Synthesis failed

 

Where the line fourteen is the next typedef:

 

typedef struct packed {
logic a;

logic b;

logic c;
} strA;

 

Can someone help me to debug this error?


@anusheel @u4223374 @dpaul24 @thakurr


Thanks.

Scholar
Posts: 1,136
Registered: ‎09-16-2009

Re: [Doubt about synthesis]

Couple of things - the code you posted is systemverilog.  Make sure Vivado is setup to use the SystemVerilog parser.  (I think renaming your file extension to .sv will cause this to happen automatically, but I may be confusing my tools).

 

Second thing, where is your typedef declared?  The error message seems to be saying you're declaring it at root scope (i.e not within a module or package). You need to move that definition to within (a module, or package).

 

Regards,

 

Mark