VHDL...

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.

VHDL...

Beitragvon RedGuy » 10.05.2017, 20:21

Hi !

Bin derzeit unter Anderem mit VHDL für mein FPGA - Board beschäftigt ;) .

Jetzt hat sich folgendes Problem aufgetan:

Code: Ansicht erweitern :: Alles auswählen

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;

ENTITY InstructionDevice1 IS
        PORT(
                DATA_internal : INOUT std_logic_vector(0 to 7);
                );
END InstructionDevice1;

ARCHITECTURE Behav OF InstructionDevice1 IS
type SRAM is array (Natural range <>) of Std_Logic;
VARIABLE SRAM_MEMORY : SRAM (0 to 7);
BEGIN
                SRAM_MEMORY := DATA_internal;

                DATA_internal <= ('0','0','0','0','0','0','0','0');
END Behav;
 


In diesem Fall wird ja SRAM_MEMORY über DATA_internal die 8 Nullen zugewiesen.

Was ist, wenn man einen zweidimensionalen Array hat und einen Vektor darin adressiert:

Code: Ansicht erweitern :: Alles auswählen

ARCHITECTURE Behav OF InstructionDevice1 IS
type SRAM is array (Natural range <>,Natural range <>) of Std_Logic;
VARIABLE SRAM_MEMORY : SRAM (0 to 7, 0 to 7);
BEGIN
                SRAM_MEMORY(0) := DATA_internal;

                DATA_internal <= ('0','0','0','0','0','0','0','0');
END Behav;
 


Werden im zweiten Beispiel dem RAM-Vektor 0 tatsächlich wieder die 8 Nullen zugewiesen ?
Oder muss ich explizit
Code: Ansicht erweitern :: Alles auswählen

SRAM_MEMORY(0) := ('0','0','0','0','0','0','0','0');
 

schreiben ?

Gruss
RedGuy
Zuletzt geändert von MasterQ32 am 11.05.2017, 08:29, insgesamt 1-mal geändert.
Grund: Syntax-Highlighting
RedGuy
Manuel Hofmann
 
Beiträge: 82
Registriert: 17.09.2002, 17:27
Wohnort: Rottweil

Re: VHDL...

Beitragvon DerAlbi » 10.05.2017, 21:21

Ein Post ohne exzessive Ausrufezeichen. :shock:

Ich verstehe aber dein Problem nicht:
google: "VHDL 2 dimensional vector"
2. Treffer: http://www.ics.uci.edu/~jmoorkan/vhdlref/arrays.html

Was konkret blieb unbeantwortet, nachdem du google aufgegeben hattest und hier einen Thread aufmachst?
Verstehe ich das richtig, dass es dir einzig und allein darum geht ob du das "(0)" weglassen kannst?
Da tendiere ich zum Nein, denn ein 2D-Array sollte aus logischen Gründen offensichtlich kein 1D-Array zugewiesen werden können.
DerAlbi
 
Beiträge: 128
Registriert: 20.05.2011, 05:37

Re: VHDL...

Beitragvon RedGuy » 10.05.2017, 22:06

Hallo!

Mein Problem ist manchmal das ggf. nicht sequentielle Kompilieren des VHDL codes.

Wird der Array SRAM_MEMORY nun in erstem Beispiel mit den Nullen beschrieben, oder nicht.

@Albi: die Site hab ich schon gesehen.

Gruss
Red
RedGuy
Manuel Hofmann
 
Beiträge: 82
Registriert: 17.09.2002, 17:27
Wohnort: Rottweil

Re: VHDL...

Beitragvon MasterQ32 » 11.05.2017, 08:28

Das Problem ist, dass du deinem std_logic_vector, der im Array liegt, nur einen std_logic-Wert zuweißt.

Code: Ansicht erweitern :: Alles auswählen

DATA_internal <= (std_logic_vector(to_unsigned(0, DATA_internal[0]'length)), std_logic_vector(to_unsigned(0, DATA_internal[0]'length)),…);

 
Duct tape is like the force. It has a light side, a dark side, and it holds the world together.
MasterQ32
Felix Queißner
 
Beiträge: 817
Registriert: 07.10.2012, 14:56

Re: VHDL...

Beitragvon RedGuy » 13.05.2017, 11:08

Hallo !

Für das Problem habe ich noch keine Anwort/Lösung :( .


Noch ein zweites Problem:

Wie adressiert man einen Array binär (in meinem Fall über einen std_logic_vector) ?


Gruss
RedGuy
RedGuy
Manuel Hofmann
 
Beiträge: 82
Registriert: 17.09.2002, 17:27
Wohnort: Rottweil

Re: VHDL...

Beitragvon MasterQ32 » 13.05.2017, 11:15

Ebenfalls: Typwandlung, nur umgekehrt wie oben in meinem Beispiel
Duct tape is like the force. It has a light side, a dark side, and it holds the world together.
MasterQ32
Felix Queißner
 
Beiträge: 817
Registriert: 07.10.2012, 14:56

Re: VHDL...

Beitragvon RedGuy » 13.05.2017, 11:18

Hi !

Dank an masterQ32.

Hab auch ne Site gefunden: https://www.xilinx.com/support/answers/45213.html

Gruss
Red
RedGuy
Manuel Hofmann
 
Beiträge: 82
Registriert: 17.09.2002, 17:27
Wohnort: Rottweil


Zurück zu Programmiersprachen, Quelltext und Bibliotheken

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Google [Bot] und 1 Gast