bit_vector counter

OP #1196597
Hallo zusammen,

ich habe dieses Problem leider nirgendwo gefunden, daher frag ich jetzt 
mal.

Ich möchte einen bit_vector inkrementieren, damit ich eine ansteigende, 
14-bit breite Ausgabe (data) habe. Habe schon einiges probiert, aber 
irgendwie klappt es nicht.
1
architecture Aufbau of counter_v4 is
2

3
signal lf:  bit_vector(13 downto 0);
4

5
begin
6
  process(CLK) begin
7
  
8
      if rising_edge(clk) then
9
      lf <= lf+1; 
10
     
11
      end if;
12
  end process;
13
      
14
 data <= lf(13 downto 0);
15

16
end architecture;

Bei diesem Beispiel sagt er mir, dass das "+" nicht definiert sei. Muss 
ich noch eine andere Bibliothek einbinden außer

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

diese?

Vielen dank schonmal :)
derLars
Gast #1196604
nimm am besten die bibliothek

use IEEE.numeric_std.all;

anstatt der

use ieee.std_logic_arith.all;

und verwende am besten noch "std_logic_vector" und nich "bit_vector".

naja, ich finds zumindest angenehmer.
Moderator (Firma: Titel) Persönliche Seite #1196618
> und verwende am besten noch "std_logic_vector"
für arithmetische Operationen (+-*/) gibts im numeric_std-Package die 
unsigned und signed Typen.
1
:
2
use ieee.numeric_std.all;
3
:
4
entity...
5
  port(
6
    CLK  : in std_logic;
7
    data : out std_logic_vector(13 downto 0); -- Ports: std_logic_vector
8
    :
9
:
10
architecture Aufbau of counter_v4 is
11
signal lf:  unsigned(13 downto 0);
12
begin
13
  process(CLK) begin
14
      if rising_edge(clk) then
15
         lf <= lf+1; 
16
      end if;
17
  end process;
18
     
19
  data <= std_logic_vector(lf); -- zur Ausgabe casten
20
end architecture;

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.