Forum: FPGA, VHDL & Co. ich find einfach den fehler nich (VHDL)


von Nephilim (Gast)


Lesenswert?

hallo,

ich hab hier mal nen codeausschnitt gepostet, wo mir xilinx ise 10.1 den 
folgenden fehler zu anmerkt:

ERROR:HDLParsers:164 - "C:/Eigene_Datein/Mentor 
Graphics/Testprojekt/2008_06_25_Control0/Catapult/Solution_1/first_test/ 
rtl.vhdl"  Line 776. parse error, unexpected GENERIC, expecting OPENPAR 
or TICK or LSQBRACK

diese Line 776 ist die Zeile mit den GENERIC MAP.

Die Komponente "mgc_in_wire" is in der Datei "mgc_ioport_comps" in der 
Library "mgc_hls". alles auch soweit vorhanden und eingebunden. der code 
enspringt übrigens einer automatischen code generierung und wurde nicht 
per hand erstellt und ich weiss einfach nich warum er da nen fehler 
anmeckert. für mich sieht das gut aus. aber vielleicht fällt euch ja was 
auf.

thx

  SIGNAL 
Control0_step_Control0_step_proc_1_Control0_Y_rsc_mgc_out_stdreg_d : 
STD_LOGIC_VECTOR
      (15 DOWNTO 0);

BEGIN
  -- Default Constant Signal Assignments

  Control0_U_Input_rsc_mgc_in_wire : 
mgc_hls.mgc_ioport_comps.mgc_in_wire
    GENERIC MAP(
      rscid => 7,
      width => 16
      )
    PORT MAP(
      d => Control0_U_Input_rsc_mgc_in_wire_d_1,
      z => Control0_U_Input_rsc_mgc_in_wire_z
    );
  Control0_U_Input_rsc_mgc_in_wire_d <= 
Control0_U_Input_rsc_mgc_in_wire_d_1;
  Control0_U_Input_rsc_mgc_in_wire_z <= Control0_U_Input_rsc_z;

von Hans-Werner (Gast)


Lesenswert?

Unerwartetes Generic ? Vielleicht fehlt die generate-Anweisung ?
Hier als Beispiel:
1
generate_rotor_ram : if true
2
  generate
3
    generate_ram:
4
      ram generic map (address_width_ram   => address_width_rotor,
5
                  data_width_ram      => data_width_rotor)
6
         port map (
7
                clock_ram         => clock_rotor_internal,
8
                data_in_ram       => data_in_rotor_internal,
9
                data_out_ram      => data_out_rotor_internal,
10
                write_enable_ram    => write_enable_rotor_internal,
11
                write_address_ram   => write_address_rotor_internal,  
12
                read_enable_ram      => read_enable_rotor_internal,
13
                read_address_ram    => read_address_rotor_internal
14
               );
15
  end generate generate_rotor_ram;

von 42 (Gast)


Lesenswert?

fehlt da nicht ein "entity"

...
  Control0_U_Input_rsc_mgc_in_wire : entity 
mgc_hls.mgc_ioport_comps.mgc_in_wire
    GENERIC MAP( ...

Gruß 42

von Nephilim (Gast)


Lesenswert?

ja ,die entity is natürlich da, nur viel weiter oben, wie gesagt der 
ausschnitt ist bei zeile 776. ich wollt jetzt nich über 1000 codezeilen 
hier posten. das ist nur ein ausschnitt. und ein generate muss da 
nirgens hin, generate hat ja nix mit generic zu tun. das is einfach nur 
eine komponentenintantiierung. und der part wo der fehler zu angezeigt 
wird, ist halt das mapping der Komponente, aber ich seh einfach den 
fehler nich.

von Matthias F. (flint)


Lesenswert?

Nephilim wrote:

> eine komponentenintantiierung. und der part wo der fehler zu angezeigt
> wird, ist halt das mapping der Komponente, aber ich seh einfach den

Der Fehler kann schon viel weiter oben passiert sein, bzw ist es 
ziemlich sicher auch. Kommentiere mal den Teil mit der Instanziierung 
aus, schau, ob es funktioniert, wenn nicht, weißt du, dass der Fehler 
woanders liegt und kannst mit der Strategie weiter eingrenzen.

von Glaskugel (Gast)


Lesenswert?

-Instanziierung bei vorherigen COMPONENT dekleratioN:
 label: componentname

-Instanziierung direkt aus Bibliothek:
 label: entity libary.componentname
 z.B.
   iADC_frd         : entity regdefs.reg3b
   generic map


-Vielleicht liegts auch am Zeilenumbrauch nach dem Label

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.