• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Functional Verification
  3. Byte 2 ASCII

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 64
  • Views 13595
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Byte 2 ASCII

archive
archive over 17 years ago

Hi @all,

I have a problem with the string-class. I want to do the following:
The user gives me a string, which he wants to send. Then my class will append (at the very beginning) a preamble. The user was allowed to choose the preamble himself. It consists of 8 Bit, so I have elected the byte-Type for this.
For test purposes, I have printed the whole byte, binary and decimal, and it works.

Now, I want to append this byte at the beginning, but I don't know, how I can achieve this.
For example, if the decimal value ist 48, there should be an zero, because 48 is zero in ASCII table.

Thank you very much for your help!
Sebastian


Originally posted in cdnusers.org by sebastian
  • Cancel
  • archive
    archive over 17 years ago

    Hi @all, me again.

    I have solved a lot of problems and now, I have a common question.
    I want to send a paket, consisting of bytes (text, numbers, whatever the user wants) and do some processing around different classes, The objects of the classes are connected with each other with mailboxes.
    But I'm not quite sure, which type I sall take for the paket, because I want to do things like data whitening and so on. Formerly I thougt, that the string-type would be the right tpye, but if you do string.getc(), it returns an integer, But I want to do processing bytewise and with the given context (device under test) I have to assume, that it must be bytes. Can you tell me, if I can ignore the 3 upper bytes and just take the lower bytes? Or is it better to take a dynamic array with the type byte?

    Thanks for your help!
    Sebastian


    Originally posted in cdnusers.org by sebastian
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago


    The user was allowed to choose the preamble himself. It consists of 8 Bit, so I have elected the byte-Type for this.



    Be aware that "byte" is a signed 8-bits, so it is not same as bit [7:0].



    For example, if the decimal value ist 48, there should be an zero, because 48 is zero in ASCII table.



    SV has itoa(int) function for this. Look for it in LRM.

    HTH
    Ajeetha, CVC
    www.noveldv.com


    Originally posted in cdnusers.org by ajeetha
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    Hi Sebastian,
          As per LRM, string.getc() should return a byte and not integer. I'm not clear about your exact requirement, but to me it looks like your complicating the problem than what's really needed. Perhaps you want to use untyped mailbox? Not a great idea, but if it simplifies coding, why not? If you use a good methodology around SystemVerilog, then you get those fancy "channels" (be it: tlm_fifo/vmm_channel/OVM_) that are more powerful than mailboxes.

    Cheers
    Ajeetha, CVC
    www.noveldv.com


    Originally posted in cdnusers.org by ajeetha
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • archive
    archive over 17 years ago

    I second that! As the laguage stands in itself, there are at least dozon way to achieve any given objective in SystemVerilog. And that is why methodology and class library is so important for SystemVerilog. So many of your "manangement" requirements can be handles by the class library. For example, in uRM/OVM, you would work on the abstract fields of a transacton as per your protocol and when you are done you can simple "pack" the whole transaction and pass it to the next block in the pipe using tlm channels.


    Originally posted in cdnusers.org by pjigar
    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information