www.mikrocontroller.net

Forum: FPGA, VHDL & Co. VHDL CODE SCHREIBEN


Autor: yassine (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo leute ich habe ein problem mit VHDL ich anfänger und wollte ich 
ein code mit vhdl schreiben damit ich Z.B hello world auf eine stelle 
von RAM des FPGAs schreiben und wieder auslesen.
ich weisse nicht wie ich genau  auf eine Adresse(RAM von FPGA) zugreifen 
kann.
ich habe Ubuntu als betriebsystem und mit dem befehl (sudo memread -a 
0x<adresse> -l<größe>)auf dem Terminal kann ich genau in eine bestimmte 
Adresse eine größe von daten auslesen.

ich bedanke mich bei ihnen im voraus.

yassine

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du hast Ubuntu auf dem FPGA?

Autor: Niklas Gürtler (erlkoenig)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lies das: ISBN 3486581929
Da steht unter anderem das drin, was du suchst. Auf Seite 186. Aber du 
solltest dich erstmal mit den Grundlagen von VHDL befassen, was mit dem 
Buch ganz wunderbar geht. Außerdem haben viele FPGA nicht einfach einen 
RAM, sondern mehrere einzelne RAM-Blöcke, und die kannst du jeweils 
ansprechen.

Autor: yassine (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe einbisschen ahnung über VHDL ich habe schon damit ein Projekt 
gemacht an der uni und zwar wie ich die wartezeit für daten die aus dem 
ADU über ein SRAM kommen auf dem LCD anzeigen.
und jetzt das problem ich habe das FPGA schon Programmiert, aber wenn 
ich die code oder inhalt lesen will ,ich weisse ich nicht unter welche 
adresse kann ich die finden,und meine daten auslesen.

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

--Uncomment the following library declaration if instantiating
--any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
-------------------------Implementierung eines Block-RAm 
Moduls----------
entity block_ram is
    port(   CLK  : in bit;
            RESET: in bit;
            EN   : in bit;
            WE   : in bit;
            ADDR : in std_logic_vector(7 downto 0);
            DIN  : in std_logic_vector(15 downto 0);
            DOUT : out std_logic_vector(15 downto 0)
    );
end block_ram;

architecture Behavioral of block_ram is

type RAM_TYPE is array (0 to 255) of std_logic_vector(15 downto 0);
signal BRAM: RAM_TYPE
(
x"FFFF",x"FFFE",x"FFFD",x"FFFC",x"FFFB",x"FFFA",x"FFF9",x"FFF8",x"FFF7",
x"FFF6",x"FFF5",x"FFF4",x"FFF3",x"FFF2",x"FFF1",x"FFF0",others => "1111"
);


begin
-------------------------Sychrones Block-RAM-----------------------
P1: process(CLK)
    begin
        if CLK'event and CLK='1' then
            if EN='1' then
                if WE='0' then
                    BRAM(conv_integer(ADDR)) <= DIN;
                    DOUT <= DIN;
                else
                    DOUT <= BRAM(conv_integer(ADDR));
                end if;
            end if;
        end if;
end process P1;
end behavioral;

und wenn ich Z.B hello welt auf dem code schreiben will wo soll ich die 
schreiben damiit ich die danach auf dem terminal auslesen kann .

ich bedanke mich bei ihre hilfe.

Autor: Tuffke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
yassine:
>ich habe Ubuntu als betriebsystem und mit dem befehl (sudo memread -a
>0x<adresse> -l<größe>)auf dem Terminal kann ich genau in eine bestimmte
>Adresse eine größe von daten auslesen.

Diese Möglichkeit einen Befehl zu verwenden um RAM auszulesen, der auf 
dem FPGA ist, wirst wohl nur du haben. Dieser Befehl hängt von deiner 
Entwicklungsumgebung ab. Es ist schwierig dafür allgemein gültige Tipps 
abzugeben wenn man nicht einmal weiß, welche Entwicklungsumgebung das 
sein soll. Wie ist den der FPGA an den Rechner angebunden? Steckkarte? 
USB? Welcher Hersteller? ....

Würde sagen, dein Problem ist nicht VHDL Code zu schreiben, sondern du 
musst verstehen wie FPGA und PC zusammenarbeiten.

Autor: yassine (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der FPGA ist in  einem ML-555 Bord integriert und diese Bord ist über 
ein PCIe angebunden(PC'A') und über Cable usb DLC9G  auf dem PC 'B' wo 
ich meine code schreibe und ISE10.1 installierte.

Mfg

yassine

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.