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
