• 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. Logic Design
  3. Unit names for vhdl and verilog

Stats

  • Locked Locked
  • Replies 1
  • Subscribers 62
  • Views 13428
  • 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

Unit names for vhdl and verilog

ras thomas
ras thomas over 16 years ago

Hi!

I have some trouble with the case senstivity of unit names in desing libraries of IUS 8.2. Up to now the design has only source files in vhdl and everything went fine. But now i had to import verilog files from a netlist generator for verifying timing delays. This results in doubeling of unit names, due to the case sensitivity in verilog and the insensitivity in vhdl.

for example:

vhdl design:

entity newLogicCircuit is
port ( xyz: std_logic; );
end newLogicCircuit;

verilog imported file for timing simulation:

module newLogicDesign (xyz);
input xyz;
...
endmodule

Resulting trouble in compiled library:

newLogicDesign
    module

newlogicdesign
   entity
   behaviour

What I would like to have is one unit in library with all views for this unit within one unit only not in two seperate ones, because they all belong together.

Currently the only way to do this is writing all unit names in lower case in vhdl, resulting in generated lower case names in verilog as well. But this makes this names rather hard to read, because its hard to seperate each word.

For ncvlog there exists a special command line option (- upcase) which can force every verilog name to be compiled as upper case name into working library. That doesn't helps with this issue because all vhdl units are converted to lower case, but maybe there exists a way to force every verilog name to lower case. However I havn't found such a option.

Does somebody know a solution or workaround for that issue?

 

Regards,

Thomas

  • Cancel
  • ras thomas
    ras thomas over 16 years ago

    Hi again,

    this issue has been solved by compiling only timing architectures in vhdl and keeping original entities in library. That way the timing architecture has to deal with own std_logic and with std_ulogic types from entity interface.

    NCSim accepts this because both types are assignable to each other, whereas std_ulogic_vector and std_logic_vector are not. That is possible because this exported timing architecture only assigns single wires to each other and no bus at all.

    Now everything works fine.

    • 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