Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

Can't determine definition of operator ""and"" -- found 0 possible definitions

Diskussion: Can't determine definition of operator ""and"" -- found 0 possible definitions im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo, fuer die Uni muss ich einen kleinen Taschenrechner in VHDL implementieren, die Hardwareprogrammierung ist mir aber noch etwas ...

Antwort
Alt 25.05.11, 22:39   #1 (permalink)
 
Registriert seit: 13.04.07
tanj Leistung: Facit NTK
Likes: 0
Standard Can't determine definition of operator ""and"" -- found 0 possible definitions

Anzeige

Hallo,

fuer die Uni muss ich einen kleinen Taschenrechner in VHDL implementieren, die Hardwareprogrammierung ist mir aber noch etwas fremd. Den im Titel beschriebenen Fehler bekomm ich, wenn ich zwei Variablen vom Typ std_logic_vector miteinander verknuepfen will. Laut unseren VL-Folien sollte das aber machbar sein!

Code:
Hier mal der wesentliche Code:

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;

entity calculator_core is port(
 inc, sel, rst : in std_logic;
 stageOut : out std_logic_vector(2 downto 0);
 outputVal : out std_logic_vector(7 downto 0));
end calculator_core

architecture behavioral of calculator_core is
 signal aS : std_logic_vector(7 downto 0);
 signal bS : std_logic_vector(7 downto 0);
 signal opS : std_logic_vector(7 downto 0);
 signal resS : std_logic_vector(7 downto 0);
 signal stateS : std_logic_vector(2 downto 0);


begin

...
...

selProc:process(sel,rst)
 variable aV : std_logic_vector(7 downto 0):= "00000000";
 variable bV : std_logic_vector(7 downto 0):= "00000000";
begin
 if state = "100" then
   if inc'event and inc = '0' then
     case op(2 downto 0) is
     when "001" => res := a + b;
     when "010" => res := a - b;
     when "100" => res := (aV(7 downto 0) and bV(7 downto 0));
     when others => res :=0;
    end case;
   end if;
  end if;
end process;
end behavioral;
Auch when "100" => res := aV and bV; geht nicht. Die noetigen Libs sind doch eigentlich eingebunden? Auch kompiliert der Code, wenn ich die "and"-Zeile auskommentiere und das Programm arbeitet auf der Hardware auch so wie es soll.

Irgendwer eine Idee?

Danke schon mal fuer die Hilfe.

Gruss

//Loesung siehe http://www.mikrocontroller.net/topic/219906#2198615

Geändert von tanj (27.05.11 um 22:19 Uhr)
tanj ist offline   Mit Zitat antworten
Antwort

Stichworte
vhdl
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » Can't determine definition of operator ""and"" -- found 0 possible definitions
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61