On Mon, Aug 03, 2009 at 08:34:35AM +0200, Christophe CLIENTI wrote:
> Hello,
> 
> The Xilinx unisims and simprim folder hierarchy has changed. Now, The 
> armadeus wiki scripts do not work.
> 
> I modified scripts to comply with the new folder structure but there is some 
> problems with the simprim vital files.
> 
> I get VITAL multiple errors such as:
> simprim_vcomp_chop/X_RAM64M.vhd:104:7: VITAL scalar timing type expected
> simprim_vcomp_chop/X_RAM64M.
> vhd:105:7: VITAL scalar timing type expected
> simprim_vcomp_chop/X_RAM64M.vhd:106:7: VITAL scalar timing type expected
> simprim_vcomp_chop/X_RAM64M.vhd:107:7: VITAL scalar timing type expected
> 
> I compile the file using following options :
> -a -fexplicit --ieee=synopsys --warn-no-vital-generic --work=simprim
> 
> The corresponding lines in the source file are :
> tisd_ADDRA_WCLK : VitalDelayArrayType(5 downto 0) := (others => 0.000 ns);
> tisd_ADDRB_WCLK : VitalDelayArrayType(5 downto 0) := (others => 0.000 ns);
> tisd_ADDRC_WCLK : VitalDelayArrayType(5 downto 0) := (others => 0.000 ns);
> tisd_ADDRD_WCLK : VitalDelayArrayType(5 downto 0) := (others => 0.000 ns);
> 
> Ghdl waits only for a scalar in the case of tisd. But i looked in the VITAL 
> 2000 standard and tisd could also be a vector as for tsetup, ...

Interesting.  I only have an Oct 1995 draft of the standard and this
draft doesn't allow a vector.  Has this changed ?

> So i would like to modify the ghdl source file "ieee-vital_timing.adb" to 
> replace at line 1007 "Is_Scalar => True" by "Is_Scalar => false".
> Is it enough? Is there no other changes to make?

This looks enough, but I suppose you also need to change the SDF annotator in
grt.

> Another way to use simprim is to use the compile flag --no-vital-checks but 
> what exactly implies this flag ?

This suppress the check of VITAL rules, so this is harmless.

Tristan.

_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to