UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 18450

6.1i XST - XST is swapping the address lines of instantiated SRLs

Description

Keywords: XST, SRL, SRL16, instantiate, swap, Virtex

Urgency: Urgent

General Description:
When you instantiate an SRL with the address line tied to a constant value, XST will swap the order of the address line if the address line is represented as a bus going "downto" instead of "to":

Verilog

wire [3:0] a;
assign a = 4'b0011;

SRL16 u1 (.A0(a[0]), .A1(a[1]), .A2(a[2]), .A3(a[3]), .CLK(c), .D(d), .Q(q));


VHDL

signal a : std_logic_vector (3 downto 0);

begin -- begin architecture

a <= "0011";

u1 : SRL16 port map
(Q => q,
D => d,
CLK => c,
A0 => a(0),
A1 => a(1),
A2 => a(2),
A3 => a(3));

Solution

A work-around is to declare the signal in a "to" direction rather than a "downto" direction:

Verilog

wire [0:3] a;

VHDL

signal a : std_logic_vector (0 to 3);


Also, a tactical patch has been released for 6.1i SP2 (Service Pack 2 can be obtained from: http://support.xilinx.com/xlnx/xil_sw_updates_home.jsp?update=sp )

NT: http://www.xilinx.com/txpatches/pub/swhelp/ise6_updates/61i_sp2_xst_patch_win.zip
Rename the "xst.exe" and "libxst.dll" files in the "%XILINX%\bin\nt" directory to "xst_old.exe" and "libxst_old.dll". Extract the archive to the "%XILINX%" directory.

Solaris: http://www.xilinx.com/txpatches/pub/swhelp/ise6_updates/61i_sp2_xst_patch_solaris.tar.gz
Rename the "xst" and "libxst.so" files in the "$XILINX/bin/sol" directory to "xst_old" and "libxst_old.so". Extract the archive to the "$XILINX" directory.

Linux: http://www.xilinx.com/txpatches/pub/swhelp/ise6_updates/61i_sp2_xst_patch_linux.tar.gz
Rename the "xst" and "libxst.so" files in the "$XILINX/bin/lin" directory to "xst_old" and "libxst_old.so". Extract the archive to the "$XILINX" directory.


A tactical patch has been released for 6.1i SP3 (Service Pack 3 can be obtained from: http://support.xilinx.com/xlnx/xil_sw_updates_home.jsp?update=sp )

NT: http://www.xilinx.com/txpatches/pub/swhelp/ise6_updates/61i_sp3_xst_patch_win.zip
Rename the "xst.exe" and "libxst.dll" files in the "%XILINX%\bin\nt" directory to "xst_old.exe" and "libxst_old.dll". Extract the archive to the "%XILINX%" directory.

Solaris: http://www.xilinx.com/txpatches/pub/swhelp/ise6_updates/61i_sp3_xst_patch_solaris.tar.gz
Rename the "xst" and "libxst.so" files in the "$XILINX/bin/sol" directory to "xst_old" and "libxst_old.so". Extract the archive to the "$XILINX" directory.

Linux: http://www.xilinx.com/txpatches/pub/swhelp/ise6_updates/61i_sp3_xst_patch_linux.tar.gz
Rename the "xst" and "libxst.so" files in the "$XILINX/bin/lin" directory to "xst_old" and "libxst_old.so". Extract the archive to the "$XILINX" directory.
AR# 18450
Date Created 11/18/2003
Last Updated 03/07/2006
Status Archive
Type General Article