Guest
Hi All,
I'm trying to synthesize the folllowing VHDL file with the Xilinx
WebPack tools. I'm synthesising for a XC3S200 chip.
When I run XST it generates one 256 bits serial register and assigns
outD and outD1 both to the same output of the shift register (I
checked with the RTL schematic viewer).
Changing outD1 <= fifo(28); to outD1 <= fifo(7); (or any other number
below 16) generates two shift registers as expected. Did I run into a
XST bug or do I something terribly wrong (I'm new to VHDL).
Version used 6.1.03i (It isn't the latest version I think but happens
to be on the PC I'm using at the moment)
Thanx,
Peter
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
-- Uncomment the following lines to use the declarations that are
-- provided for instantiating Xilinx primitive components.
-- library UNISIM;
-- use UNISIM.VComponents.all;
entity test2 is
port (
clk: in std_logic;
inD: in std_logic;
outD1: out std_logic;
outD: out std_logic
);
end test2;
architecture Behavioral of test2 is
signal fifo: std_logic_vector(0 to 255);
begin
process(clk, inD)
begin
if (clk'event and clk='0') then
fifo <= fifo(1 to 255) & inD;
end if;
end process;
outD1 <= fifo(28);
outD <= fifo(0);
end Behavioral;
I'm trying to synthesize the folllowing VHDL file with the Xilinx
WebPack tools. I'm synthesising for a XC3S200 chip.
When I run XST it generates one 256 bits serial register and assigns
outD and outD1 both to the same output of the shift register (I
checked with the RTL schematic viewer).
Changing outD1 <= fifo(28); to outD1 <= fifo(7); (or any other number
below 16) generates two shift registers as expected. Did I run into a
XST bug or do I something terribly wrong (I'm new to VHDL).
Version used 6.1.03i (It isn't the latest version I think but happens
to be on the PC I'm using at the moment)
Thanx,
Peter
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
-- Uncomment the following lines to use the declarations that are
-- provided for instantiating Xilinx primitive components.
-- library UNISIM;
-- use UNISIM.VComponents.all;
entity test2 is
port (
clk: in std_logic;
inD: in std_logic;
outD1: out std_logic;
outD: out std_logic
);
end test2;
architecture Behavioral of test2 is
signal fifo: std_logic_vector(0 to 255);
begin
process(clk, inD)
begin
if (clk'event and clk='0') then
fifo <= fifo(1 to 255) & inD;
end if;
end process;
outD1 <= fifo(28);
outD <= fifo(0);
end Behavioral;