[gpio dv] Multiple fixes and updates in gpio verif env

1.  gpio_env_pkg.sv: Cleanup
2.  pins_if.sv: Apply pullup/pulldown on pins rather than pins_int
    By doing this, we can model gpio inout functionality correctly
3.  tb.sv: Remove logic for weak pullup/pulldown and related plusargs
    Now that we are using pins_if functions for this, modify generate
    block logic to allow muxing between gpio output and input
4.  gpio_env_cfg.sv: Weak pullup/pulldown random variables with default
    constraint to have only one of them as value 1
5.  gpio_common_vseq.sv: Fixes for gpio csr tests
6.  gpio_intr_with_filter_rand_intr_event_vseq.sv: Cleanup
7.  gpio_random_long_reg_writes_reg_reads_vseq.sv:
    New test sequence for "long reg writes and long reg reads" for gpio
8.  gpio_scoreboard.sv: Check for pullup/pulldown effect based on pins_if
    pins_pu and pins_pd values, rather than cfg member values
    Updated checker to triggerr only when some real gpio activity is seen
9.  Makefile: Rename active_high_pullup to weak_pullup_en
10. gpio_sanity_vseq.sv: Re-use base sequence member delay
    Allow delay value 0 as scoreboard is capable of evaluating data_in
    correctly even for that case. Remove check inside sequence as
    scoreboard already checks for correctness of data_in upon reading it
11. gpio_base_vseq.sv: Sequence based control for gpio pullup/pulldown
12. gpio_vseq_list.sv: Add new sequence in compilation
12 files changed
tree: fa7ef823df2e734b4c809e438734b8c82b2cdfdd
  1. .github/
  2. ci/
  3. doc/
  4. hw/
  5. sw/
  6. util/
  7. .clang-format
  8. .gitignore
  9. .style.yapf
  10. azure-pipelines.yml
  11. CONTRIBUTING.md
  12. index.md
  13. LICENSE
  14. python-requirements.txt
  15. README.md
  16. sitemap.md
README.md

OpenTitan

This repository contains hardware, software and utilities written as part of the OpenTitan project. It is structured as monolithic repository, or “monorepo”, where all components live in one repository.

Documentation

The project contains comprehensive documentation of all IPs and tools. You can either access it online or build it locally by following the steps below.

  1. Ensure that you have the required Python modules installed (to be executed in the repository root):
$ sudo apt install python3 python3-pip
$ pip3 install --user -r python-requirements.txt
  1. Execute the build script:
$ ./util/build_docs.py --preview

This compiles the documentation into ./opentitan-docs and starts a local server, which allows you to access the documentation at http://127.0.0.1:5500.

How to contribute

Have a look at CONTRIBUTING.md for guidelines how to contribute code to this repository.

Licensing

Unless otherwise noted, everything in this repository is covered by the Apache License, Version 2.0 (see LICENSE for full text).