port map schlägt "Illegal sequential statement" fehler aus bei VHDL

Gast #4598749
Lesenswert?
• ▲
▼
hey, hier Robert.

ich nutze ModelSim Altera Starter Edition 3.0 und möchte diese 
Funktionalität:

library ieee;

use ieee.std_logic_1164.all;

Entity D_L is

PORT(  CLK: IN std_logic;
  D: IN std_logic;
  QP: OUT std_logic;
  QN: OUT std_logic);
END D_L;

Architecture VERHALTEN of D_L is
Begin
  PROCESS(CLK,D)
  BEGIN
    IF CLK = '1' THEN QP <= D AFTER 50 ps;
    END IF;
    IF CLK = '1' THEN QN <= NOT D AFTER 50 ps;
    END IF;
  END PROCESS;
END VERHALTEN;


hier nochmal benutzen:


library ieee;

use ieee.std_logic_1164.all;

Entity D_FF is

PORT(  CLK: IN std_logic;
  D: IN std_logic;
  QP: OUT std_logic;
  QN: OUT std_logic);
END D_FF;

Architecture VERHALTEN of D_FF is

  COMPONENT D_L
  PORT (  CLK: IN std_logic;
    D: IN std_logic;
    QP: OUT std_logic;
    QN: OUT std_logic);
  END COMPONENT;

Begin
  PROCESS(CLK,D)
  BEGIN
    eins: D_L port map (CLK,D,QP,QN);
  END PROCESS;
END VERHALTEN;

der compiler sagt dazu:

** Error: C:/altera/14.1/D_FF.vhd(25): Illegal sequential statement.
** Error: C:/altera/14.1/D_FF.vhd(27): VHDL Compiler exiting

zum einen würde ich gerne wissen was ich falsch mache, und zum anderen, 
wie man so ein "Funktionsaufruf" bei VHDL nennt.
Ach so beide Daten sind natürlich im gleichen Projekt angelegt.
Gast #4598767
Lesenswert?
• ▲
▼
Die Instanziierung einer Entity darf nicht innerhalb eines Prozesses 
erfolgen, somit probiere mal das hier:
1
Architecture VERHALTEN of D_FF is
2
  COMPONENT D_L
3
  PORT (  CLK: IN std_logic;
4
    D: IN std_logic;
5
    QP: OUT std_logic;
6
    QN: OUT std_logic);
7
  END COMPONENT;
8
Begin
9
    eins: D_L port map (CLK,D,QP,QN);
10
END VERHALTEN;

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.