VHDL - problem z SRL16

Feb 22, 2005 2 Replies

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;



Sprawdz w raporcie MAPa, czy uzyl SRL-a.

Otworz wynikowy plik w FPGA Editorze i sprawdz, czy zaakceptowal wartosc INIT.

Poza tym - w porownaniu z wzorem w Helpie - brakuje Ci sterowania synteza: chodzi o komentarze:

-- synthesis translate_off

-- synthesis translate_on

To nie sa tylko komentarze, ale sterowanie syntezatorem. (Dziwne, ze syntezator sie nie buntuje). Dodaj je do kodu, tak jak w przykladzie.

Dz.

W mojej wersji ISE w przykladzie niema tych "komentarzy". Pewnie uzywasz jakiejs starszej/nowszej wersji. Nie wiesz czasem gdzie mozna znalezc dokladniejszy opis tego typu definicji? Informacje ktore mozna znalezc w przykladach nie sa zbyt kompletne (opis do SLR16 -> rejestr przesowajacy w lewo, 16 bit, Q - wyjscie A0-A3 selekt.... - do czego sluzy selekt mozna sie juz tylko domyslic :( ) a w normalnym helpie/na stronie xilinxa nic nie znalazlem :( Jesli chodzi o problem kolegi ktory zainicjowal watek - jakos nie bardzo sobie moge wyobrazic w jaki sposob moznaby fizycznie zrealizowac uzycie wartosci poczatkowej - chyba ze SLR16 niejawnie korzysta z sygnalu reset? (i tu przydalaby sie jakos porzadna dokumantacja...) GRG

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required