Forum: FPGA, VHDL & Co. ROM synthese gibt komische Warnung


von zachso (Gast)


Lesenswert?

Hallo!

immer wenn ich ein ROM synthetisiere (benutze dazu den Code aus der XST 
Ref) bekomme ich eine komische Warning 1781:

WARNING:Xst:1781 - Signal <ROM> is used but never assigned. Tied to 
default value.

der Code dazu sieht so aus:
1
library ieee;
2
use ieee.std_logic_1164.all;
3
use ieee.std_logic_unsigned.all;
4
5
entity rom is
6
  port(  U : in std_logic_vector(3 downto 0);
7
      clk, en : in std_logic;
8
      s : out std_logic_vector (11 downto 0));
9
end rom;
10
11
architecture phy of rom is
12
  type rom_type is array (0 to 15) of std_logic_vector (11 downto 0);
13
  signal ROM : rom_type:= (  "000110010000",     --NOP
14
                        "000110000001",     --SP1
15
                        "000010010100",     --CMA
16
                        "000010001000",     --LDA
17
                        "000000000000",     --CLA
18
                        "000110010001",     --INC
19
                        "000110010010",     --DEC
20
                        "000110011000",     --ADD
21
                        "000110011011",     --SUB
22
                        "000100100000",     --AND
23
                        "000101000000",     --IOR
24
                        "000101100000",     --XOR
25
                        "000110000010",     --SM1
26
                        "010010001000",    --INP
27
                        "001000000000",     --STA
28
                        "100000000000");    --HLT
29
begin
30
  process(clk)
31
  begin
32
    if (clk'event and clk = '1') then
33
      if en = '1' then
34
        s <= ROM(conv_integer(U));
35
      end if;
36
    end if;
37
  end process;
38
end phy;

leider kann ich mit der Warning nichts anfangen, weiss vielleicht jemand 
weiter und kann mir sagen was dort genau bemaengelt wird?

danke
zachso

von user (Gast)


Lesenswert?

verwende constant anstatt signal

constant ROM : rom_type:= (  "000110010000",     --NOP
                        "000110000001",     --SP1
                        "000010010100",     --CMA
                          ...

von zachso (Gast)


Lesenswert?

viel dank, das hat funktioniert, komisch nur dass es im XST User Guide 
falsch steht :-/

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.