Skip to content

bug: Icestudio generates verilog code that doesn't pass lint. #892

@zapta

Description

@zapta

Steps To Reproduce

The details and reproduction steps are in this apio issue FPGAwars/apio#537. Icestudio generated verilog code doesn't pass 'apio lint'.

Example:

+ apio lint
Setting the environment.
Processing board ice40-hx8k
----------------------------------------------------------------------------------------------------------------------------
Creating verilator config file.
Scanning for issues.
verilator_bin --lint-only --quiet --bbox-unsup --timing -Wno-TIMESCALEMOD -Wno-MULTITOP --top-module main -DNO_ICE40_DEFAULT_ASSIGNMENTS -I"/Users/user/.apio/packages/oss-cad-suite/share/yosys/ice40" _build/hardware.vlt "/Users/user/.apio/packages/oss-cad-suite/share/yosys/ice40/cells_sim.v" main.v
%Warning-PINMISSING: main.v:486:10: Cell has missing pin: 've37344'
  486 |  v97d607 v2299cf (
      |          ^~~~~~~
                     main.v:927:9: ... Location of port declaration
  927 |  output ve37344
      |         ^~~~~~~
                     ... For warning description see https://verilator.org/warn/PINMISSING?v=5.031
                     ... Use "/* verilator lint_off PINMISSING */" and lint_on around source to disable this message.
%Error: main.v:1295:6: Duplicate declaration of signal: 'q'
                     : ... note: ANSI ports must have type declared with the I/O (IEEE 1800-2023 23.2.2.2)
 1295 |  reg q = INI;
      |      ^
        main.v:1292:9: ... Location of original declaration
 1292 |  output q
      |         ^
scons: *** [_build/hardware] Error 1
=============================================== [ ERROR ] Took 0.52 seconds ===============================================

Expected behavior

Icestudio generated apio project pass 'apio lint' with no error. (Using apio dev).

Actual behavior

Apio lint fails on Icestudio generated verilog code.

Screenshots or video

No response

Desktop (please complete the following information)

No response

Web console trace

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions