www.mikrocontroller.net

Forum: FPGA, VHDL & Co. conv_std_logic_vector


Autor: Thomas Stoll (tstoll)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo -

ich habe folgendes Problem:

1 package in dem der subtype für datain deklariert wird.
Bsp:
subtype datain_length : std_logic_vector(11 downto 0);

Nun möchte ich in meiner testbench datain mit integer werten setzen, so 
dass in erster Linie unabhängig von der Länge des subtypes bin.

also:

datain <= conv_std_logic_vector(3,XX);

Was muss ich da an die Stelle der XX schreiben? normalerweise ja 12, da 
in 12 bit konvertiert wird.. aber die (11 downto 0) können sich ja 
theoretisch bei Bedarf ändern, und ich möchte nicht jedesmal alle XX in 
der testbench etc. ändern.

Grüße,
tOM

Autor: dito (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hier:

datain <= conv_std_logic_vector(3,datain'length);

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> conv_std_logic_vector
Ein Tipp: nimm statt der
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
zukünftig besser die herstellerunabhängige
use IEEE.NUMERIC_STD.ALL;
Dort gibt es dann schöne Casts und Konvertierungen:
http://www.lothar-miller.de/s9y/archives/14-Numeric_Std.html

Autor: Thomas Stoll (tstoll)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke!

Autor: Hotte (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe auch ein Problem mit den Libs: Ich habe :

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;

...

signal output_d1  : std_logic_vector(7 downto 0) := (others => '0');
signal output    : integer;


und verwende:


output_d1 <= conv_std_logic_vector(output,8);


er erkennt die conversion function nicht!


erst, wenn ich alle 4 nehme:

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

läuft es durch.

???

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du den Link im Beitrag "Re: conv_std_logic_vector" 
nicht gesehen? Oder hast du das, was da geschrieben ist, nicht 
verstanden?

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.