Warning sequential type is unconnected

Gast #1872303
Lesenswert?
• ▲
▼
Hallo,

warum bekomme ich eine Warning wenn ich folgende Signale auf einen 
internen Bus lege und keine wenn ich die Signale auf I/O Pins lege ?
Grüße
Daniel

WARNING:Xst:2677 - Node <IRQ_REG_1/irqReg_5> of sequential type is 
unconnected in block <base>.
WARNING:Xst:2677 - Node <IRQ_REG_1/irqReg_4> of sequential type is 
unconnected in block <base>.
WARNING:Xst:2677 - Node <IRQ_REG_1/irqReg_3> of sequential type is 
unconnected in block <base>.
WARNING:Xst:2677 - Node <IRQ_REG_1/irqReg_2> of sequential type is 
unconnected in block <base>.
WARNING:Xst:2677 - Node <IRQ_REG_1/irqReg_1> of sequential type is 
unconnected in block <base>.
WARNING:Xst:2677 - Node <IRQ_REG_1/irqReg_0> of sequential type is 
unconnected in block <base>.

entity IRQ_REG is
   port ( clk    : in    std_logic;
          irq_1  : in    std_logic;
          irq_2  : in    std_logic;
          irq_3  : in    std_logic;
          irq_4  : in    std_logic;
          irq_5  : in    std_logic;
          irq_6  : in    std_logic;
          rd_irq : in    std_logic;
          dout   : out   std_logic_vector (15 downto 0);
          irq_n  : out   std_logic);
end IRQ_REG;

architecture BEHAVIORAL of IRQ_REG is
  signal irqReg : STD_LOGIC_VECTOR(15 downto 0) := (others => '0');
  signal irqState : STD_LOGIC := '1';
begin

process(clk)
    begin
    if (clk'event and clk='1') then
      irq_n <= (irq_1 or irq_2 or irq_3 or irq_4 or irq_5 or irq_6);
      irqReg <= (0=>irq_1, 1=>irq_2, 2=>irq_3, 3=>irq_4,
      4=>irq_5,   5=>irq_6, OTHERS=>'0');
    end if;
end process;

dout <= irqReg(15 downto 0) when rd_irq='1' else
      (others=>'Z');

end BEHAVIORAL;
Gast #1872540
Lesenswert?
• ▲
▼
Eigentlich wird alles angesteuert.
Warum bekomme ich keine Fehlermeldung wenn ich folgendes mache:

process(clk)
begin
  if (clk'event and clk='1') then
    irq_n <= (irq_1 or irq_2 or irq_3 or irq_4 or irq_5 or irq_6);
  end if;
end process;

dout <= (x"00" & "00" & "000001") when (rd_irq='1' and irq_1='1') else
  (x"00" & "00" & "000010") when (rd_irq='1' and irq_2='1') else
  (x"00" & "00" & "000100") when (rd_irq='1' and irq_3='1') else
  (x"00" & "00" & "001000") when (rd_irq='1' and irq_4='1') else
  (x"00" & "00" & "010000") when (rd_irq='1' and irq_5='1') else
  (x"00" & "00" & "100000") when (rd_irq='1' and irq_6='1') else
  (others=>'Z');

end BEHAVIORAL;

Grüße
Daniel
Gast #1874080
Lesenswert?
• ▲
▼
Du hast sie nicht angeschlossen bzw, so, wie das Takten in Deinem FPGA 
funktioniert, gibt es keine Abhängigkeit eines Ausgangs von der IRQs.

Probiere mal, die Ausgänge (gfs über zusätzliche FFs) an einen Muxer zu 
legen und dessen Ausgang auf USEr-IO-Pins um das Verlegen zu erzwingen,

Parallel kannst Du probieren:


architecture
...

attribute keep : string;
attribute keep of the_signal_name : signal is "true";

...
begin

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.