Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > VHDL > Reading hex data from file

Reply
Thread Tools

Reading hex data from file

 
 
magik
Guest
Posts: n/a
 
      06-23-2005
Hi!

I have got text file with data wrote in this manner:

.........
01 04 A2 FC 10 D0 E4 C2
0A C3 FF 9A D2 E1 00 00
.........


each 2-sign value is a hex value of std_logic_vector(7 downto 0), and it
should be connected with data vector in my project like this:

data(7 downto 0) <= (2-sign value from text file);


how can I do that?
have you got a similiar vhdl example witch I can use?

Thanks for any help

Paul


 
Reply With Quote
 
 
 
 
info_
Guest
Posts: n/a
 
      06-23-2005
Hi,

Simple;
OTOMH (not tested, so you have a little work left

use std.textio.all;
use ieee.std_logic_textio.all; -- Synopsys

readline(L, File_handle);
for i in 1 to 8 loop
hread (L, vData); -- variable vData : std_logic_vector(Data'range);
Data <= vData;
-- wait some etc...
end loop;


and do this while you've not reached the end of file.
Voilą


magik wrote:
> Hi!
>
> I have got text file with data wrote in this manner:
>
> ........
> 01 04 A2 FC 10 D0 E4 C2
> 0A C3 FF 9A D2 E1 00 00
> ........
>
>
> each 2-sign value is a hex value of std_logic_vector(7 downto 0), and it
> should be connected with data vector in my project like this:
>
> data(7 downto 0) <= (2-sign value from text file);
>
>
> how can I do that?
> have you got a similiar vhdl example witch I can use?
>
> Thanks for any help
>
> Paul
>
>

 
Reply With Quote
 
 
 
 
info_
Guest
Posts: n/a
 
      06-23-2005
info_ wrote:

> Hi,
>
> Simple;
> OTOMH (not tested, so you have a little work left
>
> use std.textio.all;
> use ieee.std_logic_textio.all; -- Synopsys
>
> readline(L, File_handle);

Ooops !
readline (File_handle,L); -- indeed


Bert Cuzeau
 
Reply With Quote
 
magik
Guest
Posts: n/a
 
      06-23-2005
Thanx Bert!!

What if some of my lines are not exactly with 8 2-hex ??

ok, in real the file looks like this:

---------------------------------
COMAND_A
01 04 A2 FC 10 D0 E4 C2
0A C3 FF 9A D2 E1 00 00
(empty line or comment)
COMAND_B
01 04 A2
---------------------------------

I will start from checking first line witch should cover string and I will
decide what to do. Of course at this moment I will use read(L, string_var);
where string_var is STRING type. After this I will read data... how can I
assume that there is no more data in present line or the line is empty or
has no-hex (0-9, A-F) objects??


Paul


 
Reply With Quote
 
info_
Guest
Posts: n/a
 
      06-23-2005
magik wrote:

> Thanx Bert!!
>
> What if some of my lines are not exactly with 8 2-hex ??
>
> ok, in real the file looks like this:
>
> ---------------------------------
> COMAND_A
> 01 04 A2 FC 10 D0 E4 C2
> 0A C3 FF 9A D2 E1 00 00
> (empty line or comment)
> COMAND_B
> 01 04 A2
> ---------------------------------
>
> I will start from checking first line witch should cover string and I will
> decide what to do. Of course at this moment I will use read(L, string_var);
> where string_var is STRING type. After this I will read data... how can I
> assume that there is no more data in present line or the line is empty or
> has no-hex (0-9, A-F) objects??
>
>
> Paul
>
>


Can test L(1), but your example is quite unfriendly as "C" is a
valid hex character
Why not use a semicolumn for non-data (& comments) lines ?

Testing L'length is recommended. Less than 2 is hopeless
for hreading a byte. (it gets easily rid of blank lines too)

Could use the "safe" version of read & test the boolean to see if the
extraction went okay or not.

Writing a robust data parser in VHDL isn't terribly exciting,
but it isn't very difficult either.
Once you'll have yours, keep it : it's very useful and resusable code.

Bert Cuzeau
 
Reply With Quote
 
magik
Guest
Posts: n/a
 
      06-24-2005
Thanx again !!

OK my test model is working, but how can I finish testing ?
For now, when the end of the input text file is reached my AHDL is crashing
down...


Paul


 
Reply With Quote
 
Bert Cuzeau
Guest
Posts: n/a
 
      06-25-2005
magik wrote:
> Thanx again !!
>
> OK my test model is working, but how can I finish testing ?
> For now, when the end of the input text file is reached my AHDL is crashing
> down...

AHDL ? ! you mean VHDL ?

while not ENDFILE(F) loop
-- process the file
end loop;
should do the trick.


Bert Cuzeau
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
hex string to hex value tim Python 8 11-23-2005 06:27 PM
[Fwd: Re: hex string to hex value] tim Python 2 11-23-2005 07:18 AM
Hex Color Codes - Hex 6 <=> Hex 3 lucanos@gmail.com HTML 10 08-18-2005 11:21 PM
hex value in string back to real hex value jack Python 4 09-08-2004 07:11 AM
hex(-5) => Futurewarning: ugh, can't we have a better hex than '-'[:n<0]+hex(abs(n)) ?? Bengt Richter Python 6 08-19-2003 07:33 AM



Advertisments