Compilation of XilinxCoreLib with ghdl

Guest
Hi All,

I need to simulate a Xilinx based design with GHDL. Therefore I needed
to compile the
XilinxCoreLib.
I've prepared a python script to make it automatically (xcl is a
symlink to XilinxCoreLib
sources)

#!/usr/bin/python
import os
plik=open("xcl/vhdl_analyze_order","r")
command="ghdl -a --work=xilinxcorelib "
while True:
line=plik.readline()
if line=="":
break
line=line.strip()
if line != "":
if line[0]!="#":
command=command+" xcl/"+line
print(command)
os.system(command)

Everything works perfectly, but finally I get the error message:

xcl/c_addsub_v8_0.vhd:807:36:warning: universal integer bound must be
numeric literal or attribute
xcl/c_addsub_v8_0.vhd:811:37:warning: universal integer bound must be
numeric literal or attribute
xcl/c_compare_v8_0.vhd:344:5: condition must be a static expression
xcl/c_compare_v8_0.vhd:350:5: condition must be a static expression
xcl/c_compare_v8_0.vhd:351:7: condition must be a static expression
xcl/c_compare_v8_0.vhd:352:9: condition must be a static expression
xcl/c_compare_v8_0.vhd:355:9: condition must be a static expression
xcl/c_compare_v8_0.vhd:359:7: condition must be a static expression
xcl/c_compare_v8_0.vhd:360:9: condition must be a static expression
xcl/c_compare_v8_0.vhd:363:9: condition must be a static expression
/usr/lib/ghdl/bin/ghdl: compilation error

Does anybody know how to workaround this problem? Is it a GHDL problem
or
XilinxCoreLib does not conform to the standard?
--
TIA & Regards,
Wojtek Zabolotny
 
It seems that the problem is associated with the --std option.
I've added "--std=02" amd now ghdl compiles more files, failing at:

/c_shift_ram_v8_0.vhd:478:19:warning: can't assert that all calls in
function "read_mif_data" are pure or have not wait; will be checked at
elaboration
.../../../src/std/textio.v93:46:13:warning: (first such call is to
procedure "readline")
xcl/c_addsub_v8_0.vhd:787:36: universal integer bound must be numeric
literal or attribute
xcl/c_addsub_v8_0.vhd:791:36: universal integer bound must be numeric
literal or attribute
xcl/c_addsub_v8_0.vhd:795:37: universal integer bound must be numeric
literal or attribute
xcl/c_addsub_v8_0.vhd:803:36: universal integer bound must be numeric
literal or attribute
xcl/c_addsub_v8_0.vhd:807:36: universal integer bound must be numeric
literal or attribute
xcl/c_addsub_v8_0.vhd:811:37: universal integer bound must be numeric
literal or attribute
/usr/lib/ghdl/bin/ghdl: compilation error

I have checked all available --std settings (87|93|93c|00|02), but all
fail...

--
Regards, Wojtek
 

Welcome to EDABoard.com

Sponsor

Back
Top