TinyTapeout / tt08-verilog-template

Submission template for Tiny Tapeout 8 - Verilog HDL Projects
https://tinytapeout.com
Apache License 2.0
12 stars 24 forks source link

iverilog version update #1

Open dlmiles opened 3 months ago

dlmiles commented 3 months ago
My gl_test pass but my test fail, but locally my test pass... is this due to difference in support in:

    iverlog 1.8.1 with icarus 11.0 (stable) used in GH Action (since requirements.txt change that forces 1.8.1 by default not *dev edition used in previous TT) and
    iverlog v1.9.0.dev0 with icarus 13.0 (devel) used locally

Seems there is a verilog feature missing causing the error 
Seems Icarus 11.0 is from Sep2020 (4y ago) maybe that is something we can upgrade for TT07

Useful links:

https://packages.ubuntu.com/search?keywords=iverilog&searchon=sourcenames

https://github.com/steveicarus/iverilog

dlmiles commented 3 months ago

If there is no obvious ubuntu distribution .deb being maintained that is compatible with GHA. Then an alternative maybe to clone the official repo, setup workflow to build and test and run action https://github.com/marketplace/actions/build-deb-action and then perform a release (publishing your own .deb to the github release area) manually as and when needed. You'd probably want to organise the package name to include the gha ubuntu version such as 'gha-ubuntu-22.04-iverilog-12.0-amd64.deb' so when the day comes to change GHA ubuntu version you just respin them and they get a new name 24.04.

Then add to tt-gds-action a package installer action that might work like

  from: TinyTapeout/tt-gds-action/install-packages
  with:
    packages:
      - iverlog@12.0
  # omitting the version should be allowed to install the lastest GA/stable release channel provided

The action would have a list of alternative packages that are compatible with GH and understand how to locate and install them. the mechanism can be extended for anything (magic/ngspice/klayout) etc.. when setup

urish commented 2 months ago

Sounds like a good idea - I asked @htfab to take a look at implementing it, but it might take a while (we still got some backlog stuff that needs to happen for tt07)

dlmiles commented 1 month ago

Now 2404 LTS is out, I am looking at a similar problem to this concerning EDA tooling and migrating some historically Red Hat based stuff to Ubuntu.

A reminder that PPA still exists, over at https://launchpad.net/ubuntu/+source/iverilog and I believe maybe only a few commands are needed to add the repository and pull a PPA version. This would appear to manage the Ubuntu package management and distribution part of the overall problem space. I am due to roll my own versions of some EDA tooling over there, that don't appear to have frequent enough releases, plus the LTS distribution versions picked by Ubuntu 24.04 maybe set of stone now, so the goal of having a PPA is to disconnect the next LTS cycle from the historical problem of being locked to older versions.