Wie Block RAM mit Komponente verbinden

Persönliche Seite #1210660
Lesenswert?

Ich habe eine Komponente (CPU) welche aus einem BlockRAM ihre 
Befehle/Daten lesen soll. Läßt sich auch ohne Probleme synthetisieren, 
wenn ich jezt aber in der Top Entity versuche ein Blockram anzubinden 
wird mir dies immer mit dem Hinweis unterbunden, das es multiple Treiber 
für Daten/Addressbus gibt, einmal meine CPU und einmal das RAM...

Habe im Anhang mal ein Datei mit TOP Entity+RAM+Fehler angehängt.
(Nicht wündern das dort der 16bit Addressbus 16 bit als Komentar hat..)
Angehängte Dateien:
Persönliche Seite #1211043
Lesenswert?

Ah okay, das erklärt es, die Beschreibung war ursprünglich auf einen 
Sparta-II zugeschnitten und ich nutze es jezt mit nem Spartan-3.
Habe es jezt auch soweit hinbekommen, das einzige ist, wenn ich in 
meiner TOP Entety nicht irgenwas mit den Signalen mache optimiert mir 
die Synthese alles weg weil alles angeblich statische Signale hat??
1
.
2
.
3
.
4
    signal RAMDin  : D_TYPE;
5
    signal RAMDout : D_TYPE;
6
    signal A    : A_TYPE;
7
    signal RW   : std_logic;
8
    for all: CPU use entity WORK.CPU(STRUKTUR);
9
    for all: RAM use entity WORK.RAM(ram_arch);
10
begin
11
    InstRAM: RAM port map(
12
        clk       => CLK,
13
        wr        => RW,
14
        addr     => A,
15
        data_in  => RAMDout,
16
        data_out => RAMDin
17
    );
18
    InstCPU: CPU PORT MAP(
19
        CLK       => CLK,
20
        RESET     => RESET,
21
        Din       => RAMDin,
22
        Dout      => RAMDout,
23
        A         => A,
24
        READWRITE => RW
25
    );
26
    
27
    -- Ohne Diesen Prozess wird das ganze Design wegoptimiert
28
    blabla : process(CLK)
29
        begin
30
            if CLK='1' and CLK'event then
31
                if RESET='1' then
32
                    IO <= (others => '0');
33
                else
34
                    IO <= RAMDout;
35
                end if;
36
            end if;
37
        end process;
38

39
end SoftCore;
IO ist dabei einfach ein Ausgangsport welcher der CPU später ermöglichen 
soll ein paar LEDs blinken zu lassen...

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