Ascii - Datentyp in VHDL vorhanden?

Gast #1197244
Lesenswert?

Hallo zusammen,

den von einer seriellen Schnittstelle in einem CPLD empfangenen Wert 
möchte ich mit einen Ascii-Zeichen vergleichen, um dann eine Aktion 
auslösen zu können.
Wenn also z.B. ein "A" empfangen wird, soll im CPLD irgend etwas 
passieren.

Im folgenden VHDL Code wird der Datenwert mit einer Binärzahl 
verglichen. Gibt es die Möglichkeit, auch direkt mit einem Ascii-Zeichen 
zu vergleichen?
1
signal data: STD_LOGIC_VECTOR (7 downto 0 );
2
begin
3

4

5
  serialReceived: process (clkIn)
6

7
  begin
8

9
      if RISING_EDGE(clkIn) then
10

11
        if(data =  "01010000") then 
12
        
13
...

Gruß,
befro
Moderator (Firma: Titel) Persönliche Seite #1197546
Lesenswert?

> Leider meldet der Compiler einen Fehler ( xilinx webpack 10.1 )
Bei mir gehts ;-)

Du solltest das numeric_std Package verwenden:
1
library IEEE;
2
use IEEE.STD_LOGIC_1164.ALL;
3
use IEEE.NUMERIC_STD.ALL; 
4

5
entity ASCII_Char is
6
    Port ( data  : in  STD_LOGIC_VECTOR (7 downto 0);
7
           match : out  STD_LOGIC);
8
end ASCII_Char;
9

10
architecture Behavioral of ASCII_Char is
11
begin
12
   match <= '1' when (data = std_logic_vector(to_unsigned(character'pos('A'), 8)))  else '0';
13
end Behavioral;

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren