From d629aa6bf1de19c4e63802d2050c0828175bea2e Mon Sep 17 00:00:00 2001 From: Krystine Sherwin <93062060+KrystalDelusion@users.noreply.github.com> Date: Fri, 3 May 2024 09:16:55 +1200 Subject: [PATCH] cellhelp: Split gate-level and word-level cells --- Makefile | 4 ++-- docs/source/cell_gate.rst | 9 +++++++++ docs/source/cell_ref.rst | 9 +++++---- docs/source/cell_word.rst | 9 +++++++++ kernel/register.cc | 5 ++++- 5 files changed, 29 insertions(+), 7 deletions(-) create mode 100644 docs/source/cell_gate.rst create mode 100644 docs/source/cell_word.rst diff --git a/Makefile b/Makefile index eaf133ff7..87e62adb5 100644 --- a/Makefile +++ b/Makefile @@ -986,7 +986,7 @@ docs/source/cmd/abc.rst: $(TARGETS) $(EXTRA_TARGETS) $(Q) cd temp && ./../$(PROGRAM_PREFIX)yosys -p 'help -write-rst-command-reference-manual' $(Q) rsync -rc temp/docs/source/cmd docs/source $(Q) rm -rf temp -docs/source/cell/add.rst: $(TARGETS) $(EXTRA_TARGETS) +docs/source/cell/word_add.rst: $(TARGETS) $(EXTRA_TARGETS) $(Q) mkdir -p docs/source/cell $(Q) mkdir -p temp/docs/source/cell $(Q) cd temp && ./../$(PROGRAM_PREFIX)yosys -p 'help -write-rst-cells-manual' @@ -1034,7 +1034,7 @@ docs/reqs: $(Q) $(MAKE) -C docs reqs .PHONY: docs/prep -docs/prep: docs/source/cmd/abc.rst docs/gen_examples docs/gen_images docs/guidelines docs/usage +docs/prep: docs/source/cmd/abc.rst docs/source/cell/word_add.rst docs/gen_examples docs/gen_images docs/guidelines docs/usage DOC_TARGET ?= html docs: docs/prep diff --git a/docs/source/cell_gate.rst b/docs/source/cell_gate.rst new file mode 100644 index 000000000..74dd57bc7 --- /dev/null +++ b/docs/source/cell_gate.rst @@ -0,0 +1,9 @@ +Gate-level cells +---------------- + +.. toctree:: + :caption: Gate-level cells + :maxdepth: 1 + :glob: + + /cell/gate_* diff --git a/docs/source/cell_ref.rst b/docs/source/cell_ref.rst index ddf66812d..dc143124e 100644 --- a/docs/source/cell_ref.rst +++ b/docs/source/cell_ref.rst @@ -5,8 +5,9 @@ Internal cell reference ================================================================================ .. toctree:: - :caption: Internal cell reference - :maxdepth: 1 - :glob: + :caption: Internal cell reference + :maxdepth: 2 + :glob: - /cell/* + cell_word + cell_gate diff --git a/docs/source/cell_word.rst b/docs/source/cell_word.rst new file mode 100644 index 000000000..f7205e6ee --- /dev/null +++ b/docs/source/cell_word.rst @@ -0,0 +1,9 @@ +Word-level cells +---------------- + +.. toctree:: + :caption: Word-level cells + :maxdepth: 1 + :glob: + + /cell/word_* diff --git a/kernel/register.cc b/kernel/register.cc index 383450525..1d899b320 100644 --- a/kernel/register.cc +++ b/kernel/register.cc @@ -751,7 +751,10 @@ struct SimHelper { string name; inline string filesafe_name() { if (name.at(0) == '$') - return name.substr(1); + if (name.at(1) == '_') + return "gate" + name.substr(1); + else + return "word_" + name.substr(1); else return name; }