Jak poprawnie zainicjować SRL16 w FPGA Spartan II przy pomocy VHDL?

VHDL - problem z SRL16





Poprzedni Następny
Wiadomość
Spis treści
From: "Mirek" <kosa51_at_nospam_poczta.onet.pl>
Subject: VHDL - problem z SRL16
Date: Tue, 22 Feb 2005 12:58:05 +0100


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;



Poprzedni Następny
Wiadomość
Spis treści
From: "Dziadek" <a_at_nospam_b.c>
Subject: Re: VHDL - problem z SRL16
Date: Wed, 23 Feb 2005 09:03:50 +0100


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.