Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
7f87dd9
Clean Wishbone interface only (restored for separate PR, including li…
parhamsoltani Dec 11, 2025
40e3226
linebreaker added
parhamsoltani Dec 11, 2025
1374138
Apply suggestions from code review
parhamsoltani Dec 14, 2025
e356e98
Apply naming convention changes: use full UpperCamelCase names
parhamsoltani Jan 6, 2026
a2b5aae
Merge branch 'main' into feature/wishbone
Paebbels Jan 12, 2026
58dbe61
Doc: Updated README and added documentation license.
Paebbels Apr 22, 2026
6388458
CI: Update pipeline to create a Sphinx documentation page.
Paebbels Apr 22, 2026
64c435f
Bumped copyright information.
Paebbels Apr 22, 2026
3065d48
Doc: Reworked landing page.
Paebbels Apr 22, 2026
3c66a60
Doc: Added subpages.
Paebbels Apr 23, 2026
9b8645e
Removed empty line before end package.
Paebbels Apr 23, 2026
d47feda
Avalon: Changed `Address_Type` and `BurstCount_Type` to `unresolved_u…
Paebbels Apr 23, 2026
ba4da95
Refactor: Moved MIPI into Video.
Paebbels Apr 23, 2026
10e91f3
Doc: Fine tuning.
Paebbels Apr 23, 2026
91cd5ae
CI: Adjusted compile scripts.
Paebbels Apr 23, 2026
cfee3b1
CI: Build PDF file using LuaLaTeX.
Paebbels Apr 23, 2026
080fec3
Initial documentation website
Paebbels Apr 24, 2026
d4e993b
Select field and constraint changed to ByteSelect
parhamsoltani May 8, 2026
fb7b3a7
Merge branch 'release' into feature/wishbone
Paebbels May 13, 2026
f10f987
Added Wishbone B3.
Paebbels May 13, 2026
c553c3d
Added Wishbone B3.
Paebbels May 13, 2026
1aae473
Added BiSS protocol.
Paebbels Apr 24, 2026
62b8d49
Code cleanup.
Paebbels Apr 25, 2026
4f476ef
Use new LuaLaTeX settings.
Paebbels May 13, 2026
592f447
Added BiSS Protocol
Paebbels May 13, 2026
9ed9839
Updated pipeline to Windows-2025.
Paebbels May 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
106 changes: 98 additions & 8 deletions .github/workflows/Pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,18 @@ on:
schedule:
- cron: '0 15 * * *'

permissions:
contents: read
pages: write
id-token: write

jobs:
Prepare:
uses: pyTooling/Actions/.github/workflows/PrepareJob.yml@r7
with:
main_branch: 'main'
release_branch: 'main'

NVC:
name: ${{ matrix.icon }}${{ matrix.name }} - NVC
runs-on: ${{ matrix.image }}
Expand All @@ -16,16 +27,16 @@ jobs:
matrix:
include:
- {icon: "🐧", name: "Ubuntu", image: "ubuntu-24.04", shell: "bash"}
## - {icon: "🪟", name: "Windows", image: "windows-2022", shell: "powershell"} # Scripting is Bash-based
- {icon: "🪟🟨", name: "Windows", image: "windows-2022", shell: "msys2 {0}"} # Installation in Windows via MSI, but called from UCRT64.
## - {icon: "🪟", name: "Windows", image: "windows-2025", shell: "powershell"} # Scripting is Bash-based
- {icon: "🪟🟨", name: "Windows", image: "windows-2025", shell: "msys2 {0}"} # Installation in Windows via MSI, but called from UCRT64.

defaults:
run:
shell: ${{ matrix.shell }}

steps:
- name: ⏬ Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v6
with:
submodules: recursive

Expand Down Expand Up @@ -60,27 +71,106 @@ jobs:
../scripts/NVC.sh

- name: 🚧 Inspect Ant+JUnit Unittest Summary XML
# if: matrix.name == 'Ubuntu'
run: |
cat temp/*.xml

- name: '📤 Upload artifact: logs'
uses: actions/upload-artifact@v4
uses: pyTooling/upload-artifact@v7
with:
name: junit-${{ matrix.name }}-nvc
name: Interfaces-NVC-XML-${{ matrix.name }}
include-hidden-files: true
path: |
temp/*.xml
if-no-files-found: error
retention-days: 1

PublishTestResults:
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@r5
uses: pyTooling/Actions/.github/workflows/PublishTestResults.yml@r7
needs:
- NVC
with:
unittest_artifacts_pattern: "junit-*"
unittest_artifacts_pattern: "Interfaces-NVC-XML-*"
testsuite-summary-name: "Interfaces"
additional_merge_args: '"--pytest=reduce-depth:Interfaces" --render=tree'
merged_junit_artifact: 'Interfaces-Report-XML'
dorny: true
# codecov: true
# secrets:
# CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

IntermediateCleanUp:
uses: pyTooling/Actions/.github/workflows/CleanupArtifacts.yml@r7
needs:
- PublishTestResults
with:
others: |
Interfaces-NVC-XML-*

Documentation:
uses: pyTooling/Actions/.github/workflows/SphinxDocumentation.yml@r7
needs:
- PublishTestResults
# if: success() || failure()
with:
requirements: '-r doc/requirements.txt'
doc_directory: 'doc'
unittest_xml_artifact: 'Interfaces-Report-XML'
html_artifact: 'Interfaces-HTML'
latex_artifact: 'Interfaces-LaTeX'

PDFDocumentation:
uses: pyTooling/Actions/.github/workflows/LaTeXDocumentation.yml@r7
needs:
- Documentation
if: (success() || failure()) && needs.Documentation.result == 'success'
with:
document: 'Interfaces'
latex_artifact: 'Interfaces-LaTeX'
miktex_image: 'pytooling/miktex:sphinx'
pdf_artifact: 'Interfaces-PDF'
can-fail: 'true'

PublishToGitHubPages:
uses: pyTooling/Actions/.github/workflows/PublishToGitHubPages.yml@r7
needs:
- NVC
- Documentation
# if: (success() || failure()) && needs.Documentation.result == 'success'
with:
doc: 'Interfaces-HTML'
# coverage: 'Interfaces-Coverage-HTML'

AutoTag:
uses: pyTooling/Actions/.github/workflows/TagReleaseCommit.yml@r7
needs:
- Prepare
- PublishToGitHubPages
if: needs.Prepare.outputs.is_release_commit == 'true' && github.event_name != 'schedule'
permissions:
contents: write # required for create tag
actions: write # required for trigger workflow
with:
version: ${{ needs.Prepare.outputs.version }}
auto_tag: ${{ needs.Prepare.outputs.is_release_commit }}

Release:
uses: pyTooling/Actions/.github/workflows/PublishReleaseNotes.yml@r7
needs:
- Prepare
- PublishToGitHubPages
if: needs.Prepare.outputs.is_release_tag == 'true'
permissions:
contents: write
actions: write
with:
prerelease: true
replacements: |
version=${{ needs.Prepare.outputs.version }}
tag: ${{ needs.Prepare.outputs.version }}
description: |
# Interfaces %version%
inventory-json: "inventory.json"
inventory-version: ${{ needs.Prepare.outputs.version }}
assets: |

secrets: inherit
3 changes: 1 addition & 2 deletions AMBA/AXI/v4/AXI4.vhdl
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
--
-- License:
-- =============================================================================
-- Copyright 2016-2025 Open Source VHDL Group
-- Copyright 2016-2026 Open Source VHDL Group
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -176,5 +176,4 @@ package Axi4 is
ReadData : view Axi4_ReadData_ManagerView;
end view;
alias Axi4_SubordinateView is Axi4_ManagerView'converse;

end package;
3 changes: 1 addition & 2 deletions AMBA/AXI/v4/AXI4Common.vhdl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
--
-- License:
-- =============================================================================
-- Copyright 2016-2025 Open Source VHDL Group
-- Copyright 2016-2026 Open Source VHDL Group
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -88,5 +88,4 @@ package Axi4Common is
Clock : std_ulogic;
Reset : std_ulogic;
end record;

end package;
2 changes: 1 addition & 1 deletion AMBA/AXI/v4/AXI4Lite.presized.vhdl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
--
-- License:
-- =============================================================================
-- Copyright 2016-2025 Open Source VHDL Group
-- Copyright 2016-2026 Open Source VHDL Group
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion AMBA/AXI/v4/AXI4Lite.vhdl
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
--
-- License:
-- =============================================================================
-- Copyright 2016-2025 Open Source VHDL Group
-- Copyright 2016-2026 Open Source VHDL Group
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion AMBA/AXI/v4/AXI4Lite_Generic.vhdl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
--
-- License:
-- =============================================================================
-- Copyright 2016-2025 Open Source VHDL Group
-- Copyright 2016-2026 Open Source VHDL Group
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
Expand Down
2 changes: 1 addition & 1 deletion AMBA/AXI/v4/AXI4Stream.vhdl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
--
-- License:
-- =============================================================================
-- Copyright 2016-2025 Open Source VHDL Group
-- Copyright 2016-2026 Open Source VHDL Group
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
Expand Down
3 changes: 1 addition & 2 deletions AMBA/AXI/v4/AXI4Stream_Generic.vhdl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
--
-- License:
-- =============================================================================
-- Copyright 2016-2025 Open Source VHDL Group
-- Copyright 2016-2026 Open Source VHDL Group
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -41,5 +41,4 @@ package Axi4Stream_Generic is
Keep(KEEP_BITS - 1 downto 0),
User(USER_BITS - 1 downto 0)
);

end package;
2 changes: 1 addition & 1 deletion AMBA/AXI/v4/AXI4_Generic.vhdl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
--
-- License:
-- =============================================================================
-- Copyright 2016-2025 Open Source VHDL Group
-- Copyright 2016-2026 Open Source VHDL Group
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
Expand Down
7 changes: 3 additions & 4 deletions Avalon/v1/AvalonCommon.vhdl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
--
-- License:
-- =============================================================================
-- Copyright 2025-2025 Open Source VHDL Group
-- Copyright 2025-2026 Open Source VHDL Group
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
Expand All @@ -32,9 +32,9 @@ use IEEE.numeric_std.all;
package AvalonCommon is
-- Common types
subtype Data_Type is std_ulogic_vector;
subtype Address_Type is unsigned;
subtype Address_Type is unresolved_unsigned;
subtype ByteEnable_Type is std_ulogic_vector;
subtype BurstCount_Type is unsigned;
subtype BurstCount_Type is unresolved_unsigned;

-- Avalon-MM Response
subtype Response_Type is std_ulogic_vector(1 downto 0);
Expand All @@ -47,5 +47,4 @@ package AvalonCommon is
Clock : std_ulogic;
Reset : std_ulogic;
end record;

end package;
15 changes: 7 additions & 8 deletions Avalon/v1/AvalonMM.vhdl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
--
-- License:
-- =============================================================================
-- Copyright 2025-2025 Open Source VHDL Group
-- Copyright 2025-2026 Open Source VHDL Group
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -40,22 +40,22 @@ package AvalonMM is
Write : std_ulogic; -- Write request
WriteData : Data_Type; -- Write data
ByteEnable : ByteEnable_Type; -- Byte enable

-- Slave signals
ReadData : Data_Type; -- Read data
ReadDataValid : std_ulogic; -- Read data valid
WaitRequest : std_ulogic; -- Wait request
Response : Response_Type; -- Response

-- Optional burst signals
BurstCount : BurstCount_Type; -- Burst count

-- Optional pipelining signals
WriteResponseValid : std_ulogic; -- Write response valid

-- Optional lock signal
Lock : std_ulogic; -- Lock

-- Optional debug signals
DebugAccess : std_ulogic; -- Debug access
end record;
Expand All @@ -72,7 +72,7 @@ package AvalonMM is
BurstCount : out;
Lock : out;
DebugAccess : out;

-- Master inputs
ReadData : in;
ReadDataValid : in;
Expand All @@ -81,5 +81,4 @@ package AvalonMM is
WriteResponseValid : in;
end view;
alias AvalonMM_SlaveView is AvalonMM_MasterView'converse;

end package;
3 changes: 1 addition & 2 deletions Avalon/v1/AvalonMM_Generic.vhdl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
--
-- License:
-- =============================================================================
-- Copyright 2025-2025 Open Source VHDL Group
-- Copyright 2025-2026 Open Source VHDL Group
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -52,5 +52,4 @@ package AvalonMM_Generic is
ByteEnable(BYTEENABLE_BITS - 1 downto 0),
BurstCount(BURSTCOUNT_BITS - 1 downto 0)
);

end package;
7 changes: 3 additions & 4 deletions Avalon/v1/AvalonMM_Minimal.vhdl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
--
-- License:
-- =============================================================================
-- Copyright 2025-2025 Open Source VHDL Group
-- Copyright 2025-2026 Open Source VHDL Group
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -40,7 +40,7 @@ package AvalonMM_Minimal is
Write : std_ulogic;
WriteData : Data_Type;
ByteEnable : ByteEnable_Type;

-- Slave signals
ReadData : Data_Type;
WaitRequest : std_ulogic;
Expand All @@ -55,11 +55,10 @@ package AvalonMM_Minimal is
Write : out;
WriteData : out;
ByteEnable : out;

-- Master inputs (slave outputs)
ReadData : in;
WaitRequest : in;
end view;
alias AvalonMM_Minimal_SlaveView is AvalonMM_Minimal_MasterView'converse;

end package;
3 changes: 1 addition & 2 deletions Avalon/v1/AvalonMM_Minimal_Generic.vhdl
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
--
-- License:
-- =============================================================================
-- Copyright 2025-2025 Open Source VHDL Group
-- Copyright 2025-2026 Open Source VHDL Group
--
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -49,5 +49,4 @@ package AvalonMM_Minimal_Generic is
ReadData(DATA_BITS - 1 downto 0),
ByteEnable(BYTEENABLE_BITS - 1 downto 0)
);

end package;
Loading
Loading