cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
ilia.kalistru
Visitor
Visitor
4,202 Views
Registered: ‎06-26-2017

Bug report: error repors does not work

Jump to solution

Vivado newer than 2016.2 have a bug:

If a vhdl module contain a syntax error, Vivado silently drops compilation of the module and instantiate a black box module instead. It does not report any errors.

2016.2 - works well. It reports errors

2016.4 - no reports

2017.1 - no reports

 

A minimal example is in the archive attached - run sim_test.bat after unpacking. Module L2 contains a syntax error and 2016.2 reports it. Newer versions doesn't.

 

Highly annoying bug!

0 Kudos
1 Solution

Accepted Solutions
florentw
Moderator
Moderator
7,117 Views
Registered: ‎11-09-2015

Hi @ilia.kalistru,

 

I know a way... but I don't know if it is the best.

 

Change "exec cmd /c xvhdl $srcdir/$a" to "set outputmessages [exec cmd /c xvhdl $srcdir/$a]".

 

And if it is still not in the console, you can do "puts outputmessages"

 

Hope that helps,

 

Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**

View solution in original post

6 Replies
florentw
Moderator
Moderator
4,185 Views
Registered: ‎11-09-2015

Hi @ilia.kalistru,

 

I will try your test case and get back to you.

 

Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
florentw
Moderator
Moderator
4,152 Views
Registered: ‎11-09-2015

Hi @ilia.kalistru,

 

I don't have vivado 2016.2 installed on my machine to check what was the behavior but 2017.2 reports errors in the files xvhdl.log.

 

Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
ilia.kalistru
Visitor
Visitor
4,140 Views
Registered: ‎06-26-2017

Oh.. Thank you. Now I see.

 

It just used to print these error reports in the window which opens when you launch .bat file - where, basically, vivado is running. It also reported it to vivado_sim_Test.log which is report of vivado as I launch it with a key -log vivado_sim_Test.log

 

Now it reports only to a separate report of xvhdl tool without mirroring it to the vivado reports.

 

Is it possible to return old behavior so that vivado itself reports in its own log file errors from xvhdl?

 

I'll give you report of Vivado 2016.2 here from the file vivado_sim_Test.log (console window shows the same report)

#-----------------------------------------------------------
# Vivado v2016.2 (64-bit)
# SW Build 1577090 on Thu Jun  2 16:32:40 MDT 2016
# IP Build 1577682 on Fri Jun  3 12:00:54 MDT 2016
# Start of session at: Tue Jun 27 15:24:24 2017
# Process ID: 6132
# Current directory: D:/temp/reportBug
# Command line: vivado.exe -mode tcl -tempDir tmp -source sim_Test.tcl -log vivado_sim_Test.log
# Log file: D:/temp/reportBug/vivado_sim_Test.log
# Journal file: D:/temp/reportBug\vivado.jou
#-----------------------------------------------------------
source sim_Test.tcl
# set simdir ./sim_Test
# set visual 0
# set tstlist [list \
# 	L1 \
# ]
# set slist [list \
# 	./L1.vhd \
# 	./L2.vhd \
# ]
# set_param general.maxThreads 8
# file mkdir $simdir
# cd $simdir
# set srcdir ./..
# set part xcvu9p-flga2104-2L-e
# set_part -quiet $part
# foreach a $slist {
# 	exec cmd /c xvhdl $srcdir/$a
# }
INFO: [VRFC 10-163] Analyzing VHDL file "D:/temp/reportBug/L2.vhd" into library work
INFO: [VRFC 10-307] analyzing entity L2
ERROR: [VRFC 10-1471] type error near sin ; current type std_logic; expected type std_logic_vector [D:/temp/reportBug/L2.vhd:25]
ERROR: [VRFC 10-1471] type error near s ; current type std_logic_vector; expected type std_logic [D:/temp/reportBug/L2.vhd:26]
ERROR: [VRFC 10-1504] unit rtl ignored due to previous errors [D:/temp/reportBug/L2.vhd:18]
INFO: [VRFC 10-240] VHDL file D:/temp/reportBug/L2.vhd ignored due to errors
child process exited abnormally
Vivado% 
0 Kudos
florentw
Moderator
Moderator
7,118 Views
Registered: ‎11-09-2015

Hi @ilia.kalistru,

 

I know a way... but I don't know if it is the best.

 

Change "exec cmd /c xvhdl $srcdir/$a" to "set outputmessages [exec cmd /c xvhdl $srcdir/$a]".

 

And if it is still not in the console, you can do "puts outputmessages"

 

Hope that helps,

 

Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**

View solution in original post

ilia.kalistru
Visitor
Visitor
4,086 Views
Registered: ‎06-26-2017

@florentw yeah...

puts [exec cmd /c xvlog  $srcdir/$a]

Now it prints errors in the log, but doesn't stop the process if there are errors... Now I just have to look for errors each time...

 

It's not as convenient as it used to be... :(

 

Thank you for helping me.

0 Kudos
florentw
Moderator
Moderator
4,080 Views
Registered: ‎11-09-2015

Hi @ilia.kalistru,

 

Yes it is not fully convenient as it does not stop. You should be able to do a small tcl script to check if the output contain the keyword [ERROR] and then stop the simulation process.

 

Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos