Cze¶æ!
mam problem z zainicjowaniem warto¶ci pocz±tkowej bloczku SRL16 w uk³adzie Spartan II (soft: WebPack 6.03). Zapisa³em bloczek, jak poni¿ej, który jest 7-bitow± kr±¿±c± jedynk± w takt sygna³u clk. Projekt siê kompiluje poprawnie, bez warningów. Po zaprogramowaniu na wyjsciu tego rejestru jest stale sygna³ '0'. Co w poni¿szym kodzie jest nie tak? Dlaczego ten rejestr nie chce przesuwaæ informacji? Schemat w RTL Viewer jest poprawny. Jedynie nie mam pewno¶ci czy init_value jest kompilowane do pliku wyj¶ciowego FPGA. Pomocy!!!
library IEEE; use IEEE.STD_LOGIC_1164.all; library UNISIM; use UNISIM.vcomponents.all;
entity CLK_BLOCK is port( clk : in STD_LOGIC; clk_1ms : out STD_LOGIC); end CLK_BLOCK;
architecture RTL of CLK_BLOCK is
component SRL16 generic (INIT : bit_vector := x"1001"); port(Q : out std_ulogic; A0 : in std_ulogic; A1 : in std_ulogic; A2 : in std_ulogic; A3 : in std_ulogic; CLK : in std_ulogic; D : in std_ulogic); end component;
signal d1: std_ulogic;
begin SRL_7 : SRL16 generic map(INIT => x"1001") port map(d1, '0', '1', '1', '0', clk, d1); --7-bitowa krazaca jedynka clk_1ms <= d1;
end RTL;