Forum: FPGA, VHDL & Co. Duales Bram Pinbestimmung.


von Peter B. (funkheld)


Lesenswert?

Hallo, guten Tag.
Ich habe hier von Lothar Miller dieses Duale-Bram mit 1024 Byte.

In der Portzuweisung steht:
Awr   : in  STD_LOGIC_VECTOR (Addrbreite-1 downto 0);
Ard   : in  STD_LOGIC_VECTOR (Addrbreite-1 downto 0);
Din   : in  STD_LOGIC_VECTOR (Wortbreite-1 downto 0);

Im Pinplaner beim Quartus 2 stehen die jetzt drin für mein DE0-Board.
Was wird den Pins dann zugewiesen bei euch um diese Awr,Ard und Din zu 
bestimmen ?

Ich könnte es verstehen wenn ich die hier hinsetze ohne "in".
architecture BlockRAM of RAM is
......
......
......

Danke.
Gruss

1
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3
use IEEE.NUMERIC_STD.ALL;
4
5
entity RAM is
6
    Generic (
7
           Addrbreite  : natural := 10; 
8
           Wortbreite  : natural := 10
9
           );
10
    Port ( clk   : in  STD_LOGIC;
11
           Write : in  STD_LOGIC;
12
           Awr   : in  STD_LOGIC_VECTOR (Addrbreite-1 downto 0);
13
           Ard   : in  STD_LOGIC_VECTOR (Addrbreite-1 downto 0);
14
           Din   : in  STD_LOGIC_VECTOR (Wortbreite-1 downto 0);
15
           Dout  : out STD_LOGIC_VECTOR (Wortbreite-1 downto 0)
16
         );
17
end RAM;
18
19
architecture BlockRAM of RAM is
20
21
type speicher is array(0 to (2**Addrbreite)-1) of STD_LOGIC_VECTOR(Wortbreite-1 downto 0);
22
signal memory : speicher;   
23
24
begin
25
  process(clk) 
26
  begin
27
    if rising_edge(clk) then
28
      if (Write='1') then
29
        memory(to_integer(unsigned(Awr))) <= Din;
30
      end if;
31
      dout <= memory(to_integer(unsigned(Ard)));
32
    end if;  
33
  end process;
34
end BlockRAM;

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Peter Bierbach schrieb:
> Ich habe hier von Lothar Miller dieses Duale-Bram mit 1024 Byte.
Ich hoffe, dir ist klar, dass dieses Beispiel für die Synthese mit XST 
gut funktioniert, weil es entsprechend dem XST Usres Guide beschrieben 
ist. Wie Quartus daraus ein DPRAM macht, musst du im Handbuch für deinen 
Synthezier nachsehen.

> Im Pinplaner beim Quartus 2 stehen die jetzt drin für mein DE0-Board.
> Was wird den Pins dann zugewiesen bei euch um diese Awr,Ard und Din zu
> bestimmen ?
So einem DPRAM wird normalerweise kein Pin zugewiesen, weil es idR. eine 
Komponente innerhalb des FPGA-Designs ist, z.B. als Puffer zwischen 
zwei unterschiedlich schnellen Designkomponenten oder Taktdomänen.

von Peter B. (funkheld)


Lesenswert?

JUp danke.

Gruss

von Olga (Gast)


Lesenswert?

Lothar Miller schrieb:
> *du*
> *Handbuch*

Haha, den Zusammenhand dieser beiden Wörter wird Peter nie verstehen... 
;)

von Christian R. (supachris)


Lesenswert?

So einen Experten haben wir auf Arbeit auch, promoviert, notorischer 
Besserwisser und Alleskönner, merk- und beratungsresistent. Kommt auch 
sehr schnell zu "Ergebnissen" aber hat null Ahnung, was genau er da 
zusammen kopiert hat. Der braucht auch weder Simulator am FPGA noch 
Debugger am Controller. Handbücher oder Datenblätter schon gar nicht. 
Das Summary Sheet reicht völlig. Naja, in 2 Jahren geht er in Rente.

von Duke Scarring (Gast)


Lesenswert?

Christian R. schrieb:
> Naja, in 2 Jahren geht er in Rente.
Da gibt Ihm doch mal die Kontaktdaten von Peter und Josef...
(Nur damit niemandem langweilig wird...)

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.