Skip to content

vhdl_parser.py: components should not be converted to lower-case while instantiating Verilog modules #808

@krishnan-gopal

Description

@krishnan-gopal

I have a case where a VHDL entity (say vhdl_top) is instantiating a Verilog module with upper-case letters (say VERILOG_MODULE):

VERILOG:

module VERILOG_MODULE (
.....
endmodule

The component declaration and instantiation of this would be done in the vhdl_top:

VHDL:

component VERILOG_MODULE
...
end component;

inst_module: VERILOG_MODULE
....

The vhdl_parser.py in VUnit is parsing the vhdl_top, and converts the component declaration of VERILOG_MODULE to lower-case assuming that it is a VHDL component. However, the Verilog module name remains unconverted in case.
Therefore, we get warnings from the VUnit parser that look like this:

WARNING - vhdl_top.vhd: failed to find a primary design unit 'verilog_module' in library 'verilog_lib'

Since Verilog is case-sensitive, this creates a problem for VUnit to find the right dependencies and results in a wrong compilation order.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions