VHDL mit CoreGen erzeugte BRAM-Komp. 2mal instanzieren -> Problem

Gast #3285302
Lesenswert?

Hallo,

ich habe mir mit dem CoreGenerator von Xilinx einen BRAM generiert.
Diesen instanziere ich in zwei verschiedenen entities und benenne die 
Instanziierungen auch unterschiedlich.
Ich will also am Ende zwei gleichartige BRAMs haben.

Wenn ich das ganze mit ISIM simuliere bekomme ich folgende Warnhinweise:
1
WARNING:ProjectMgmt - Duplicate Design Unit 'mybram' found in library 'work'
2
WARNING:ProjectMgmt -    "G:/Spartan6_test/median4/ipcore_dir/mybram_synth.vhd" line 64 (active)
3
WARNING:ProjectMgmt -    "G:/Spartan6_test/median4/ipcore_dir/mybram.vhd" line 43 
4
WARNING:HDLCompiler:685 - "G:/Spartan6_test/median4/ipcore_dir/mybram.vhd" Line 43: Overwriting existing primary unit mybram

Bei der zweiten Instanziierung ignoriert er dann auch die eingestellte 
Vorbelegung des BRAMs mit Nullen und meckert dann, dass er mit Us 
rechnen muss...

Synthetisieren lässt sich alles ohne Probleme. Keine Warnung, nicht 
einmal eine Info.

Wie kann ich diesen Fehler beheben? Gibt es da irgendeinen Trick?

Vielen Dank für Eure Hilfe.
Gast #3285618
Lesenswert?

Danke für deine Antwort.

Ich habe aber bereits zwei unterschiedlich benannte entities...

Ich habe die mit dem CoreGenerator erstellte Komponente mybram. Daraus 
leite ich in 2 unterschiedlich benannten entities die 2 Instanzen Bram1 
und Bram2 ab.

Ich habe jetzt gerade auch noch einmal das Design geändert. Ich habe 
jetzt nur noch eine entity mit 2 Prozessen und den beiden Instanzen 
Bram1 und Bram2. Der Fehler bleibt der gleiche.

Ich hatte auf eine Veränderung gehofft, da ich so die Komponente nur 
noch einmal deklariere, aber dass scheint egal zu sein.

Gute Nacht.
#3285991
Lesenswert?

Du brauchst in deiner TOP entity einmal den RAM als component. Und dann 
unten wo du den einbindest brauchst du zwei unterschiedliche Namen, also 
sowas wie:


architecture behav of blah is

component RAM is
 port();
end component;

begin

r0: RAM port map ();
r1: RAM port map ();

.
.
.

end behav;

Und dann natürlich für jeden der RAMs eigene Signale wie Addresse und 
so.
Gast #3286173
Lesenswert?

Georg A. schrieb:
> Ich kenne jetzt Isim nicht, aber das Teil braucht doch sicher eine Liste
> aller Files, die überhaupt analysiert werden. Die Meldung klingt
> irgendwie, als wäre das mybram-File da zweimal drin.

Also die fehlermeldung schaut so aus also ob in
mybram_synth.vhd und /mybram.vhd jeweils der selbe entity-identifier 
"mybram" benutzt wird ->

Duplicate Design Unit 'mybram' found in library 'work'
    "G:/Spartan6_test/median4/ipcore_dir/mybram_synth.vhd" line 64 
(active)
    "G:/Spartan6_test/median4/ipcore_dir/mybram.vhd"


Lösch doch die work library und compiliere nur eins der beiden Files.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren