197 lines
6.1 KiB
Python
197 lines
6.1 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
#
|
|
# Copyright (C) 2020-2022 F4PGA Authors.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
# Updated documentation of the configuration options is available at
|
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html
|
|
|
|
import sys, os
|
|
from pathlib import Path
|
|
|
|
from tabulate import tabulate
|
|
|
|
ROOT = Path(__file__).resolve().parent
|
|
|
|
#sys.path.insert(0, os.path.abspath('.'))
|
|
sys.path.insert(0, str(ROOT))
|
|
|
|
from changes import generate_changes_inc
|
|
|
|
# -- Generate development/changes.inc ----------------------------------------------------------------------------------
|
|
|
|
generate_changes_inc()
|
|
|
|
# -- Generate status.inc -----------------------------------------------------------------------------------------------
|
|
|
|
with (ROOT / "status.inc").open("w", encoding="utf-8") as wfptr:
|
|
wfptr.write(
|
|
tabulate(
|
|
[
|
|
["[Basic Tiles] Logic", "Yes", "Yes", "Yes", "Yes"],
|
|
["[Basic Tiles] Block RAM", "Yes", "Yes", "Partial", "Yes"],
|
|
["[Advanced Tiles] DSP", "Yes", "Yes", "Partial", "Yes"],
|
|
["[Advanced Tiles] Hard Blocks", "Yes", "Yes", "Partial", "Yes"],
|
|
["[Advanced Tiles] Clock Tiles", "Yes", "Yes", "Yes", "Yes"],
|
|
["[Advanced Tiles] IO Tiles", "Yes", "Yes", "Yes", "Yes"],
|
|
["[Routing] Logic", "Yes", "Yes", "Yes", "Yes"],
|
|
["[Routing] Clock", "Yes", "Yes", "Yes", "Yes"],
|
|
],
|
|
headers=["", "Project Icestorm", "Project Trellis ", "Project X-Ray", "QuickLogic Database"],
|
|
tablefmt="rst",
|
|
)
|
|
)
|
|
|
|
# -- General configuration ---------------------------------------------------------------------------------------------
|
|
|
|
project = 'F4PGA'
|
|
basic_filename = 'f4pga-docs'
|
|
authors = 'F4PGA Authors'
|
|
copyright = f'{authors}, 2019 - 2022'
|
|
|
|
version = ''
|
|
release = '' # The full version, including alpha/beta/rc tags.
|
|
|
|
extensions = [
|
|
'sphinx.ext.extlinks',
|
|
'sphinx.ext.intersphinx',
|
|
'sphinx_verilog_domain',
|
|
'sphinxcontrib.bibtex',
|
|
'myst_parser'
|
|
]
|
|
|
|
bibtex_default_style = 'plain'
|
|
bibtex_bibfiles = ['refs.bib']
|
|
|
|
myst_enable_extensions = [
|
|
"colon_fence",
|
|
]
|
|
|
|
numfig = True
|
|
|
|
templates_path = ['_templates']
|
|
|
|
source_suffix = {
|
|
'.rst': 'restructuredtext',
|
|
'.md': 'markdown'
|
|
}
|
|
|
|
master_doc = 'index'
|
|
|
|
today_fmt = '%Y-%m-%d'
|
|
|
|
exclude_patterns = [
|
|
'env'
|
|
]
|
|
|
|
pygments_style = 'default'
|
|
|
|
rst_prolog = """
|
|
.. role:: raw-latex(raw)
|
|
:format: latex
|
|
|
|
.. role:: raw-html(raw)
|
|
:format: html
|
|
"""
|
|
|
|
# -- Options for HTML output -------------------------------------------------------------------------------------------
|
|
|
|
html_show_sourcelink = True
|
|
|
|
html_theme = 'sphinx_f4pga_theme'
|
|
|
|
html_theme_options = {
|
|
'repo_name': 'chipsalliance/f4pga',
|
|
'github_url' : 'https://github.com/chipsalliance/f4pga',
|
|
'globaltoc_collapse': True,
|
|
'color_primary': 'indigo',
|
|
'color_accent': 'blue',
|
|
}
|
|
|
|
html_static_path = ['_static']
|
|
|
|
html_logo = str(Path(html_static_path[0]) / 'logo.svg')
|
|
html_favicon = str(Path(html_static_path[0]) / 'favicon.svg')
|
|
|
|
# -- Options for LaTeX output ------------------------------------------------------------------------------------------
|
|
|
|
latex_documents = [
|
|
('index', basic_filename+'.tex', project,
|
|
authors, 'manual'),
|
|
]
|
|
|
|
latex_elements = {
|
|
'papersize': 'a4paper',
|
|
'pointsize': '11pt',
|
|
'fontpkg': r'''
|
|
\usepackage{charter}
|
|
\usepackage[defaultsans]{lato}
|
|
\usepackage{inconsolata}
|
|
''',
|
|
'preamble': r'''
|
|
\usepackage{multicol}
|
|
''',
|
|
'maketitle': r'''
|
|
\renewcommand{\releasename}{}
|
|
\maketitle
|
|
''',
|
|
'classoptions':',openany,oneside',
|
|
'babel': r'''
|
|
\usepackage[english]{babel}
|
|
\makeatletter
|
|
\@namedef{ver@color.sty}{}
|
|
\makeatother
|
|
\usepackage{silence}
|
|
\WarningFilter{Fancyhdr}{\fancyfoot's `E' option without twoside}
|
|
'''
|
|
}
|
|
|
|
# -- Options for manual page output ------------------------------------------------------------------------------------
|
|
|
|
man_pages = [
|
|
('index', basic_filename, project,
|
|
[authors], 1)
|
|
]
|
|
|
|
# -- Sphinx.Ext.InterSphinx --------------------------------------------------------------------------------------------
|
|
|
|
intersphinx_mapping = {
|
|
"python": ("https://docs.python.org/3/", None),
|
|
"examples": ("https://f4pga-examples.readthedocs.io/en/latest/", None),
|
|
"arch-defs": ("https://f4pga.readthedocs.io/projects/arch-defs/en/latest/", None),
|
|
"conda-eda": ("https://hdl.github.io/conda-eda/", None),
|
|
"constraints": ("https://hdl.github.io/constraints/", None),
|
|
"containers": ("https://hdl.github.io/containers/", None),
|
|
"fasm": ("https://fasm.readthedocs.io/en/latest/", None),
|
|
"interchange": ("https://fpga-interchange-schema.readthedocs.io/", None),
|
|
"openfpgaloader": ("https://trabucayre.github.io/openFPGALoader/", None),
|
|
"prjtrellis": ("https://prjtrellis.readthedocs.io/en/latest/", None),
|
|
"prjxray": ("https://f4pga.readthedocs.io/projects/prjxray/en/latest/", None),
|
|
"vtr": ("https://docs.verilogtorouting.org/en/latest/", None),
|
|
}
|
|
|
|
# -- Sphinx.Ext.ExtLinks -----------------------------------------------------------------------------------------------
|
|
|
|
extlinks = {
|
|
'wikipedia': ('https://en.wikipedia.org/wiki/%s', 'wikipedia: %s'),
|
|
'gh': ('https://github.com/%s', 'gh:%s'),
|
|
'ghsharp': ('https://github.com/chipsalliance/f4pga/issues/%s', '#%s'),
|
|
'ghissue': ('https://github.com/chipsalliance/f4pga/issues/%s', 'issue #%s'),
|
|
'ghpull': ('https://github.com/chipsalliance/f4pga/pull/%s', 'pull request #%s'),
|
|
'ghsrc': ('https://github.com/chipsalliance/f4pga/blob/main/%s', '%s')
|
|
}
|