Skip to content

Major updates towards v1.3.0 #2

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 53 commits into from
Mar 25, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
1bb2069
First release files
Jun 2, 2023
d0dac18
update alignment and copyright
Jun 2, 2023
197fece
fix library reference, change to elsif generate and add assert failur…
Jun 7, 2023
5134254
use library work, white spaces and add missing functions/types
Jun 7, 2023
5a7ad38
use library work
Jun 7, 2023
6b03221
remove libs
Feb 9, 2025
a6a08ae
Removed unused configuration files for AppVeyor, Landscape, ReadTheDo…
Paebbels Feb 24, 2025
5b298c2
Fixed shields and CSS files.
Paebbels Mar 2, 2025
74cb48e
Fixed cross references.
Paebbels Mar 2, 2025
7bb29d5
Updated makefile for Sphinx.
Paebbels Mar 2, 2025
1b668bc
Updated URLs to use github.com/VHDL/PoC.
Paebbels Mar 3, 2025
1f07658
Added attention text on landing page.
Paebbels Mar 4, 2025
6d7d541
Removed further third parts references.
Paebbels Mar 4, 2025
a8440f1
Adjusted README.
Paebbels Mar 4, 2025
125b10f
Merge branch 'paebbels/RC1' into 'Vivado_RC1'
Mar 5, 2025
16f2240
remove experimental feature
Mar 5, 2025
2d83777
Added issue and pull-request templates.
Paebbels Mar 7, 2025
67daf32
Removed more third-party files.
Paebbels Mar 7, 2025
912ecee
Added GitHub Action pipeline for Sphinx documentation.
Paebbels Mar 7, 2025
d1210c6
Removed more third-party files.
Paebbels Mar 7, 2025
d4f858f
Verify Sphinx on GitHub.
Paebbels Mar 7, 2025
97573b3
upload missing .pro files
stefanunrein Mar 9, 2025
6b0aefe
test bench for arith-prng
stefanunrein Mar 9, 2025
3061f3c
remove pyIPCMI
stefanunrein Mar 9, 2025
947e966
add new OSVVM libraries
stefanunrein Mar 9, 2025
c624b4d
Merge pull request #1 from PLC2/paebbels/pipeline
stefanunrein Mar 9, 2025
97453ea
remove refference to pyIPCMI
stefanunrein Mar 9, 2025
accf1f9
change name of normalizePath function
stefanunrein Mar 9, 2025
d066f4f
update utils
stefanunrein Mar 9, 2025
a9b3aa5
disable synchronizer output register by default
stefanunrein Mar 9, 2025
d6b4471
Use work.pkg instead of PoC.pkg.
Paebbels Mar 10, 2025
0f82eee
Adjusted pro files.
Paebbels Mar 10, 2025
12acf14
Merge remote-tracking branch 'github/cleanup' into PLC2/release-github
stefanunrein Mar 10, 2025
8e9627f
more header file cleanup
stefanunrein Mar 10, 2025
6252450
add missing sync_Reset update
stefanunrein Mar 10, 2025
a3175b9
change function names
stefanunrein Mar 10, 2025
787d59d
add new generics to altera-implementation and implement REGISTER_OUTP…
stefanunrein Mar 10, 2025
411395d
Build OSVVM using GHDL.
Paebbels Mar 9, 2025
04e2de2
Use work.entity instead of PoC.entity.
Paebbels Mar 11, 2025
3937920
Merge remote-tracking branch 'github/paebbels/ghdl' into PLC2/release…
stefanunrein Mar 16, 2025
5ad1c45
update net.pkg
stefanunrein Mar 16, 2025
003c253
Fix by updateing stream package and FrameGenerator
stefanunrein Mar 16, 2025
37c2906
missing arith prng update
stefanunrein Mar 16, 2025
fcf2bdf
remove unsigned cast because of available overload function of gray2bin
stefanunrein Mar 16, 2025
4dca057
fix arith_prng testcase
stefanunrein Mar 16, 2025
761c44d
Run PoC simulation.
Paebbels Mar 16, 2025
f9aa2a4
Move auto generated file of OSVVM between jobs.
Paebbels Mar 16, 2025
25ab825
fix sync_Puls
stefanunrein Mar 16, 2025
55a2e1b
prepare for multi-vendor build
stefanunrein Mar 16, 2025
dff69d6
Merge remote-tracking branch 'github/plc2/release' into PLC2/release-…
stefanunrein Mar 16, 2025
0a23ed3
Adjusted copyright test to "The PoC-Library Authors".
Paebbels Mar 25, 2025
f9b1f5b
Set new $::poc variables.
Paebbels Mar 25, 2025
a3668c3
Integrated OSVVM test reports.
Paebbels Mar 17, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 0 additions & 28 deletions .appveyor.yml

This file was deleted.

31 changes: 31 additions & 0 deletions .github/issue_template/Feature Request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Problem and/or Feature Description
<!--
Is your feature request related to a problem?
Please describe.
-->

> [!NOTE]
> Add a clear and concise description of what the problem is.


# Suggested Solution
<!--
Describe the solution you'd like.
-->

> [!NOTE]
> Add a clear and concise description of what you want to happen.

# Alternatives
<!--
Describe alternatives you've considered.
-->

> [!TIP]
> Add a clear and concise description of any alternative solutions
> or features you've considered.

# Additional context

> [!TIP]
> Add any other context or screenshots about the feature request here.
62 changes: 62 additions & 0 deletions .github/issue_template/Problem Report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<!--
We do not consider any issue immediately a bug.
In any case, an issue is a deviation from an expected
behavior. Therefore, we write a problem description.
Then the problem is investigated and either it's a bug
or a misunderstanding/misinterpretation.
-->

# Problem
<!--
What diverging behavior was observed? Please describe
the behavior and how to reproduce.
-->

> [!NOTE]
> Write problem description here.


# Root Cause
<!--
What is the root cause? This may need further investigation
before agreeing on a final solution.
-->

> [!TIP]
> Write root cause description here.
>
> Might be filled in after investigation.


# Solution
<!--
Solution to (finally) solve the problem in a new revision.
-->

> [!TIP]
> Write solution description here.
>
> If possible propose a solution.
> Might be filled in after investigation and root cause detection.


# Workaround
<!--
Intermediate solution (workaround), if even possible.
-->

> [!TIP]
> Write workaround description here.
>
> If possible propose a workaround.
> Might be filled in after investigation.


## Actions
<!--
Proposed next steps to either narrow down the problem, develop
a workaround or to sketch a workaround.
-->

1. {-fill out-}
1. {-fill out-}
30 changes: 30 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# New Features

* tbd
* tbd

# Changes

* tbd
* tbd

# Bug Fixes

* tbd
* tbd

# Documentation

* tbd
* tbd

# Tests

* tbd
* tbd

----------
# Related Issues and Pull-Requests

* tbd
* tbd
235 changes: 235 additions & 0 deletions .github/workflows/Pipeline.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,235 @@
name: Verify PoC and Generate Documentation

on:
push:
pull_request:

jobs:
Build-OSVVM:
name: Build OSVVM
runs-on: ubuntu-24.04
steps:
- name: ⏬ Checkout repository
uses: actions/checkout@v4
with:
lfs: true
submodules: true

- name: 🔧 Install tcllib
run: sudo apt-get install -y --no-install-recommends tcllib

- name: Setup GHDL ${{ inputs.ghdl_backend }}
uses: ghdl/setup-ghdl@v1
with:
version: latest
backend: llvm

- name: Prepare
run: |
mkdir -p temp/ghdl

- name: 🔨 Pre-compile OSVVM
run: |
cd temp/ghdl

tee run.tcl <<EOF
source ../../lib/OSVVM-Scripts/StartGHDL.tcl
build ../../lib/OsvvmLibraries.pro OsvvmLibraries
EOF
printf "=================\n"

tclsh run.tcl

- name: 📤 Upload 'GHDL-OSVVM-Report' artifacts
uses: pyTooling/upload-artifact@v4
continue-on-error: true
with:
name: GHDL-OSVVM-Report
working-directory: temp/ghdl
path: |
logs
reports
*.html
*.xml
*.yml
retention-days: 1

- name: 📤 Upload 'GHDL-OSVVM' artifacts
uses: pyTooling/upload-artifact@v4
with:
name: GHDL-OSVVM
working-directory: temp/ghdl
path: |
VHDL_LIBS
retention-days: 1

- name: 📤 Upload 'GHDL-OSVVM-Generated' artifacts
uses: pyTooling/upload-artifact@v4
continue-on-error: true
with:
name: GHDL-OSVVM-Generated
# working-directory: temp/ghdl
path: |
lib/osvvm/*_generated.vhd
retention-days: 1

Build-PoC:
name: Build PoC
runs-on: ubuntu-24.04
needs:
- Build-OSVVM
steps:
- name: ⏬ Checkout repository
uses: actions/checkout@v4
with:
lfs: true
submodules: true

- name: 🔧 Install tcllib
run: sudo apt-get install -y --no-install-recommends tcllib

- name: Setup GHDL ${{ inputs.ghdl_backend }}
uses: ghdl/setup-ghdl@v1
with:
version: latest
backend: llvm

- name: Prepare
run: |
mkdir -p temp/ghdl

mv src/common/my_project.vhdl.template tb/common/my_project.vhdl

- name: 📥 Download artifacts 'GHDL-OSVVM' from 'Build-OSVVM' job
uses: pyTooling/download-artifact@v4
with:
name: GHDL-OSVVM
path: temp/ghdl

- name: 📥 Download artifacts 'GHDL-OSVVM-Generated' from 'Build-OSVVM' job
uses: pyTooling/download-artifact@v4
with:
name: GHDL-OSVVM-Generated
# path: temp/ghdl

- name: 🔨 Pre-compile PoC
run: |
ls -lAh lib/osvvm/*_generated.vhd

cd temp/ghdl

tee run.tcl <<EOF
source ../../lib/OSVVM-Scripts/StartGHDL.tcl

namespace eval ::poc {
variable myConfigFile "../tb/common/my_config_GENERIC.vhdl"
variable myProjectFile "../tb/common/my_project.vhdl"
variable vendor "GENERIC"; # GENERIC for vendor-less build; Xilinx, Altera,... for vendor specific build
}

set ::osvvm::AnalyzeErrorStopCount 1
SetExtendedAnalyzeOptions {-frelaxed -Wno-specs}

build ../../src/PoC.pro PoC
EOF

printf "=================\n"
tclsh run.tcl

- name: 📈 Simulate PoC
run: |
cd temp/ghdl

tee run.tcl <<EOF
source ../../lib/OSVVM-Scripts/StartGHDL.tcl

namespace eval ::poc {
variable myConfigFile "../tb/common/my_config_GENERIC.vhdl"
variable myProjectFile "../tb/common/my_project.vhdl"
variable vendor "GENERIC"; # GENERIC for vendor-less build; Xilinx, Altera,... for vendor specific build
}

SetExtendedSimulateOptions {-frelaxed -Wno-specs -Wno-binding}

build ../../tb/RunAllTests.pro
EOF

printf "=================\n"
tclsh run.tcl

- name: 📤 Upload 'GHDL-PoC-Report' artifacts
uses: pyTooling/upload-artifact@v4
continue-on-error: true
with:
name: GHDL-PoC-Report
working-directory: temp/ghdl
path: |
logs
reports
*.html
*.yml
retention-days: 1

- name: 📤 Upload 'GHDL-PoC-Report-XML' artifacts
uses: pyTooling/upload-artifact@v4
continue-on-error: true
with:
name: GHDL-PoC-Report-XML
working-directory: temp/ghdl
path: |
*.xml
retention-days: 1

- name: 📤 Upload 'GHDL-PoC' artifacts
uses: pyTooling/upload-artifact@v4
with:
name: GHDL-PoC
working-directory: temp/ghdl
path: |
VHDL_LIBS
retention-days: 1

Documentation:
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@r4
needs:
- Build-PoC
with:
requirements: '-r docs/requirements.txt'
doc_directory: 'docs'
unittest_xml_artifact: 'GHDL-PoC-Report-XML'
html_artifact: 'PoC-HTML'
latex_artifact: 'PoC-LaTeX'

PublishToGitHubPages:
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@dev
needs:
- Documentation
- Build-PoC
with:
doc: 'PoC-HTML'
# coverage: 'PoC-Coverage-HTML'

Release:
uses: pyTooling/Actions/.github/workflows/NightlyRelease.yml@r4
if: startsWith(github.ref, 'refs/tags/v')
needs:
# - Ubuntu
# - Windows
# - PublishCoverageResults
# - PublishTestResults
- PublishToGitHubPages
secrets: inherit
permissions:
contents: write
actions: write
attestations: write
with:
prerelease: true
replacements: |
poc=1.3.0
nightly_name: "v1.3.0"
nightly_description: |
# The PoC-Library %poc%
inventory-json: "inventory.json"
inventory-version: "1.3.0"
assets: |
Loading