cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Voyager
Voyager
9,427 Views
Registered: ‎07-28-2008

Vivado 2015.4 Macro Defined in Verilog Header File Incurs Critical Warning

Same design source never had any warning messages in Vivado 2015.2.

 

Critical WARNING:

[HDL 9-870] Macro <SOME_MACRO> is not defined. [file_name.v:80]

[HDL 9-281] Cannot open include file "header.v". [file_name.v: 48]

 

I can see the header.v is under Design Source in folder "Verilog Header". Interesting thing is at the original state of project upgrading from 2015.2, the icon of the verilog header file is blue. Tried delete it once during troubleshooting, the file stays and icon changes to greenish.

 

Regardless these warnings, design synthesize without issue.

 

Any comments?

0 Kudos
4 Replies
Highlighted
Moderator
Moderator
9,421 Views
Registered: ‎07-01-2015

Hi @legendbb,

 

Can you see verilog header under non-module files?

It should be having green colour icon.

 

Also verify the property of that file.

Attaching snapshot for your refernce.

 

Thanks,
Arpan

Thanks,
Arpan
----------------------------------------------------------------------------------------------
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.
----------------------------------------------------------------------------------------------
1.JPG
0 Kudos
Highlighted
Moderator
Moderator
9,406 Views
Registered: ‎01-16-2013

@legendbb,

 

It would be helpful if you can share the test case to replicate the issue.

Also try to set Global_Include property on Verilog header file and see if you are still seeing the same warning:

 

Capture.PNG

 

--Syed

 

--------------------------------------------------------------------------------------------
Google your question before posting.
If someone's post answers your question, mark the post as answer with "Accept as solution". If you see a particularly good and informative post, consider giving it Kudos (the star on the left)

---------------------------------------------------------------------------------------------
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.

Did you check our new quick reference timing closure guide (UG1292)?
---------------------------------------------------------------------------------------------
0 Kudos
Highlighted
Moderator
Moderator
9,404 Views
Registered: ‎01-16-2013

@legendbb,

 

Check this AR#51164 on defining verilog macro in Vivado: 

http://www.xilinx.com/support/answers/51164.html

 

--Syed

---------------------------------------------------------------------------------------------
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.

Did you check our new quick reference timing closure guide (UG1292)?
---------------------------------------------------------------------------------------------
0 Kudos
Highlighted
Voyager
Voyager
9,392 Views
Registered: ‎07-28-2008

Thanks for attention. I do have the same thing in your illustration.

The macro I used is actually for implementation.

An example snippet:

`define UNPACK_ARRAY(LOOP_IDX, PK_WIDTH, PK_LEN, PK_SRC, PK_DEST) \
  generate  \
    for (LOOP_IDX=0; LOOP_IDX<(PK_LEN); LOOP_IDX=LOOP_IDX+1) begin \
        assign PK_DEST[LOOP_IDX][((PK_WIDTH)-1):0] = PK_SRC[((PK_WIDTH)*LOOP_IDX+(PK_WIDTH-1)):((PK_WIDTH)*LOOP_IDX)]; \
    end \
  endgenerate
0 Kudos