character to std_logic value

Guest
Hello folks,

Can someone guide me how to convert a chacter to std_logic value ? in
the below mentioned piece of code :it's a test bench to take value from
a file

PROCESS

FILE file_program: text;

VARIABLE command_file: string (1 to SimDir'LENGTH + 17);
VARIABLE data_frame: line;
VARIABLE data_char: character;

BEGIN
command_file := SimDir & "/stimuli/file.dat";

LOOP
WAIT UNTIL reset='0';
ent_cs <= '1';
ent_file <= '0';

file_open(ent_program, command_file, read_mode);

WAIT UNTIL reset='1';
WHILE NOT endfile(ent_program) LOOP
readline(ent_program, ent_frame);

NEXT WHEN ent_frame'LENGTH = 0;

WAIT UNTIL clk_ent='0';

FOR index IN 1 TO ent_frame'LENGTH LOOP
read(ent_frame, data_char);

EXIT WHEN (data_char: /='0' AND data_char: /='1');

ent_cs <= '0';

WAIT UNTIL clk_ent='0';
ent_file <= To_Std_Logic(data_char);

END LOOP;

ent_cs <= '1';

END LOOP;

file_close(ent_program);

END LOOP;

END PROCESS;


Thanks
Regards,
ALI
 
How about:

z <= std_logic_vector (to_unsigned (character'POS ('k'), z'LENGTH));
-- chararacter could be LF, CR, HT etc.

Clyde


jahaya@gmail.com wrote:
Hello folks,

Can someone guide me how to convert a chacter to std_logic value ? in
the below mentioned piece of code :it's a test bench to take value from
a file

PROCESS

FILE file_program: text;

VARIABLE command_file: string (1 to SimDir'LENGTH + 17);
VARIABLE data_frame: line;
VARIABLE data_char: character;

BEGIN
command_file := SimDir & "/stimuli/file.dat";

LOOP
WAIT UNTIL reset='0';
ent_cs <= '1';
ent_file <= '0';

file_open(ent_program, command_file, read_mode);

WAIT UNTIL reset='1';
WHILE NOT endfile(ent_program) LOOP
readline(ent_program, ent_frame);

NEXT WHEN ent_frame'LENGTH = 0;

WAIT UNTIL clk_ent='0';

FOR index IN 1 TO ent_frame'LENGTH LOOP
read(ent_frame, data_char);

EXIT WHEN (data_char: /='0' AND data_char: /='1');

ent_cs <= '0';

WAIT UNTIL clk_ent='0';
ent_file <= To_Std_Logic(data_char);

END LOOP;

ent_cs <= '1';

END LOOP;

file_close(ent_program);

END LOOP;

END PROCESS;


Thanks
Regards,
ALI
 
This seems to work...

std_logic sl;
character c;
string(blah) s;
integer i;

sl<=std_logic'value(c & NUL);

similarly..

sl<=std_logic'value(s(i) & NUL);
 

Welcome to EDABoard.com

Sponsor

Back
Top