| #!/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') |
| } |