From abd92225a3d98fe1e2a6081d41cbfb3a88d31f8e Mon Sep 17 00:00:00 2001 From: Krystine Sherwin <93062060+KrystalDelusion@users.noreply.github.com> Date: Mon, 30 Oct 2023 10:33:00 +1300 Subject: [PATCH] Replace 010 and 012 with pdf Comment out the body text and instead include just the abstract and a download link. Also orphan the pages so they aren't accessible except by direct link, or via search. --- .../APPNOTE_010_Verilog_to_BLIF.pdf | Bin 0 -> 113239 bytes .../APPNOTE_012_Verilog_to_BTOR.pdf | Bin 0 -> 129459 bytes docs/source/appendix.rst | 3 - .../appendix/APPNOTE_010_Verilog_to_BLIF.rst | 664 +++++++++--------- .../appendix/APPNOTE_012_Verilog_to_BTOR.rst | 570 +++++++-------- 5 files changed, 642 insertions(+), 595 deletions(-) create mode 100644 docs/source/_downloads/APPNOTE_010_Verilog_to_BLIF.pdf create mode 100644 docs/source/_downloads/APPNOTE_012_Verilog_to_BTOR.pdf diff --git a/docs/source/_downloads/APPNOTE_010_Verilog_to_BLIF.pdf b/docs/source/_downloads/APPNOTE_010_Verilog_to_BLIF.pdf new file mode 100644 index 0000000000000000000000000000000000000000..91fc1aac8e82201ef54fb42956fd232cd695c6ea GIT binary patch literal 113239 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

g>bmqs(epqQ{TO`LwmaQv(A=jPRo8FTcbM{Jn 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 z%0A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

<7q6BY9~J7k$3m`H11>W(_aUPAPd6rv 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 -We start our tour with the Navré processor from yosys-bigsim. The `Navré -processor`_ is an Open Source AVR clone. It is a single module (softusb_navre) -in a single design file (softusb_navre.v). It also is using only features that -map nicely to the BLIF format, for example it only uses synchronous resets. - -.. _Navré processor: http://opencores.org/projects/navre - -Converting softusb_navre.v to softusb_navre.blif could not be easier: - -.. code:: sh - - yosys -o softusb_navre.blif -S softusb_navre.v +.. + Installation + ============ -Behind the scenes Yosys is controlled by synthesis scripts that execute -commands that operate on Yosys' internal state. For example, the -o -softusb_navre.blif option just adds the command write_blif -softusb_navre.blif to the end of the script. Likewise a file on the -command line – softusb_navre.v in this case – adds the command -read_verilog softusb_navre.v to the beginning of the synthesis script. -In both cases the file type is detected from the file extension. + Yosys written in C++ (using features from C++11) and is tested on modern + Linux. It should compile fine on most UNIX systems with a C++11 + compiler. The README file contains useful information on building Yosys + and its prerequisites. + + Yosys is a large and feature-rich program with a couple of dependencies. + It is, however, possible to deactivate some of the dependencies in the + Makefile, resulting in features in Yosys becoming unavailable. When + problems with building Yosys are encountered, a user who is only + interested in the features of Yosys that are discussed in this + Application Note may deactivate TCL, Qt and MiniSAT support in the + Makefile and may opt against building yosys-abc. -Finally the option -S instantiates a built-in default synthesis script. -Instead of using -S one could also specify the synthesis commands for -the script on the command line using the -p option, either using -individual options for each command or by passing one big command string -with a semicolon-separated list of commands. But in most cases it is -more convenient to use an actual script file. + This Application Note is based on `Yosys GIT`_ `Rev. e216e0e`_ from 2013-11-23. + The Verilog sources used for the examples are taken from `yosys-bigsim`_, a + collection of real-world designs used for regression testing Yosys. -Using a synthesis script -======================== + .. _Yosys GIT: https://github.com/YosysHQ/yosys -With a script file we have better control over Yosys. The following -script file replicates what the command from the last section did: + .. _Rev. e216e0e: https://github.com/YosysHQ/yosys/tree/e216e0e -.. code:: yoscrypt - - read_verilog softusb_navre.v - hierarchy - proc; opt; memory; opt; techmap; opt - write_blif softusb_navre.blif - -The first and last line obviously read the Verilog file and write the -BLIF file. - -The 2nd line checks the design hierarchy and instantiates parametrized -versions of the modules in the design, if necessary. In the case of this -simple design this is a no-op. However, as a general rule a synthesis -script should always contain this command as first command after reading -the input files. - -The 3rd line does most of the actual work: - -- The command opt is the Yosys' built-in optimizer. It can perform some - simple optimizations such as const-folding and removing unconnected - parts of the design. It is common practice to call opt after each - major step in the synthesis procedure. In cases where too much - optimization is not appreciated (for example when analyzing a - design), it is recommended to call clean instead of opt. - -- The command proc converts processes (Yosys' internal representation - of Verilog always- and initial-blocks) to circuits of multiplexers - and storage elements (various types of flip-flops). - -- The command memory converts Yosys' internal representations of arrays - and array accesses to multi-port block memories, and then maps this - block memories to address decoders and flip-flops, unless the option - -nomap is used, in which case the multi-port block memories stay in - the design and can then be mapped to architecture-specific memory - primitives using other commands. - -- The command techmap turns a high-level circuit with coarse grain - cells such as wide adders and multipliers to a fine-grain circuit of - simple logic primitives and single-bit storage elements. The command - does that by substituting the complex cells by circuits of simpler - cells. It is possible to provide a custom set of rules for this - process in the form of a Verilog source file, as we will see in the - next section. - -Now Yosys can be run with the filename of the synthesis script as -argument: - -.. code:: sh - - yosys softusb_navre.ys - -Now that we are using a synthesis script we can easily modify how Yosys -synthesizes the design. The first thing we should customize is the call -to the hierarchy command: - -Whenever it is known that there are no implicit blackboxes in the -design, i.e. modules that are referenced but are not defined, the -hierarchy command should be called with the -check option. This will -then cause synthesis to fail when implicit blackboxes are found in the -design. - -The 2nd thing we can improve regarding the hierarchy command is that we -can tell it the name of the top level module of the design hierarchy. It -will then automatically remove all modules that are not referenced from -this top level module. - -For many designs it is also desired to optimize the encodings for the -finite state machines (FSMs) in the design. The fsm command finds FSMs, -extracts them, performs some basic optimizations and then generate a -circuit from the extracted and optimized description. It would also be -possible to tell the fsm command to leave the FSMs in their extracted -form, so they can be further processed using custom commands. But in -this case we don't want that. - -So now we have the final synthesis script for generating a BLIF file for -the Navré CPU: - -.. code:: yoscrypt - - read_verilog softusb_navre.v - hierarchy -check -top softusb_navre - proc; opt; memory; opt; fsm; opt; techmap; opt - write_blif softusb_navre.blif - -Advanced example: The Amber23 ARMv2a CPU -======================================== - -Our 2nd example is the `Amber23 ARMv2a CPU`_. Once again we base our example on -the Verilog code that is included in `yosys-bigsim`_. - -.. _Amber23 ARMv2a CPU: http://opencores.org/projects/amber - -.. code-block:: yoscrypt - :caption: `amber23.ys` - :name: amber23.ys - - read_verilog a23_alu.v - read_verilog a23_barrel_shift_fpga.v - read_verilog a23_barrel_shift.v - read_verilog a23_cache.v - read_verilog a23_coprocessor.v - read_verilog a23_core.v - read_verilog a23_decode.v - read_verilog a23_execute.v - read_verilog a23_fetch.v - read_verilog a23_multiply.v - read_verilog a23_ram_register_bank.v - read_verilog a23_register_bank.v - read_verilog a23_wishbone.v - read_verilog generic_sram_byte_en.v - read_verilog generic_sram_line_en.v - hierarchy -check -top a23_core - add -global_input globrst 1 - proc -global_arst globrst - techmap -map adff2dff.v - opt; memory; opt; fsm; opt; techmap - write_blif amber23.blif - -The problem with this core is that it contains no dedicated reset logic. Instead -the coding techniques shown in :numref:`glob_arst` are used to define reset -values for the global asynchronous reset in an FPGA implementation. This design -can not be expressed in BLIF as it is. Instead we need to use a synthesis script -that transforms this form to synchronous resets that can be expressed in BLIF. - -(Note that there is no problem if this coding techniques are used to model ROM, -where the register is initialized using this syntax but is never updated -otherwise.) - -:numref:`amber23.ys` shows the synthesis script for the Amber23 core. In line 17 -the add command is used to add a 1-bit wide global input signal with the name -``globrst``. That means that an input with that name is added to each module in the -design hierarchy and then all module instantiations are altered so that this new -signal is connected throughout the whole design hierarchy. - -.. code-block:: verilog - :caption: Implicit coding of global asynchronous resets - :name: glob_arst - - reg [7:0] a = 13, b; - initial b = 37; - -.. code-block:: verilog - :caption: `adff2dff.v` - :name: adff2dff.v - - (* techmap_celltype = "$adff" *) - module adff2dff (CLK, ARST, D, Q); - - parameter WIDTH = 1; - parameter CLK_POLARITY = 1; - parameter ARST_POLARITY = 1; - parameter ARST_VALUE = 0; - - input CLK, ARST; - input [WIDTH-1:0] D; - output reg [WIDTH-1:0] Q; - - wire [1023:0] _TECHMAP_DO_ = "proc"; - - wire _TECHMAP_FAIL_ = - !CLK_POLARITY || !ARST_POLARITY; - - always @(posedge CLK) - if (ARST) - Q <= ARST_VALUE; - else - Q <= D; - - endmodule - -In line 18 the :cmd:ref:`proc` command is called. But in this script the signal -name globrst is passed to the command as a global reset signal for resetting the -registers to their assigned initial values. - -Finally in line 19 the techmap command is used to replace all instances of -flip-flops with asynchronous resets with flip-flops with synchronous resets. The -map file used for this is shown in :numref:`adff2dff.v`. Note how the -``techmap_celltype`` attribute is used in line 1 to tell the techmap command -which cells to replace in the design, how the ``_TECHMAP_FAIL_`` wire in lines -15 and 16 (which evaluates to a constant value) determines if the parameter set -is compatible with this replacement circuit, and how the ``_TECHMAP_DO_`` wire -in line 13 provides a mini synthesis-script to be used to process this cell. - -.. code-block:: c - :caption: Test program for the Amber23 CPU (Sieve of Eratosthenes). Compiled - using GCC 4.6.3 for ARM with ``-Os -marm -march=armv2a - -mno-thumb-interwork -ffreestanding``, linked with ``--fix-v4bx`` - set and booted with a custom setup routine written in ARM assembler. - :name: sieve - - #include - #include - - #define BITMAP_SIZE 64 - #define OUTPORT 0x10000000 - - static uint32_t bitmap[BITMAP_SIZE/32]; - - static void bitmap_set(uint32_t idx) { bitmap[idx/32] |= 1 << (idx % 32); } - static bool bitmap_get(uint32_t idx) { return (bitmap[idx/32] & (1 << (idx % 32))) != 0; } - static void output(uint32_t val) { *((volatile uint32_t*)OUTPORT) = val; } - - int main() { - uint32_t i, j, k; - output(2); - for (i = 0; i < BITMAP_SIZE; i++) { - if (bitmap_get(i)) continue; - output(3+2*i); - for (j = 2*(3+2*i);; j += 3+2*i) { - if (j%2 == 0) continue; - k = (j-3)/2; - if (k >= BITMAP_SIZE) break; - bitmap_set(k); - } - } - output(0); - return 0; - } - -Verification of the Amber23 CPU -=============================== - -The BLIF file for the Amber23 core, generated using :numref:`amber23.ys` and -:numref:`adff2dff.v` and the version of the Amber23 RTL source that is bundled -with yosys-bigsim, was verified using the test-bench from yosys-bigsim. It -successfully executed the program shown in :numref:`sieve` in the test-bench. - -For simulation the BLIF file was converted back to Verilog using `ABC`_. So this -test includes the successful transformation of the BLIF file into ABC's internal -format as well. - -.. _ABC: https://github.com/berkeley-abc/abc - -The only thing left to write about the simulation itself is that it probably was -one of the most energy inefficient and time consuming ways of successfully -calculating the first 31 primes the author has ever conducted. - -Limitations -=========== - -At the time of this writing Yosys does not support multi-dimensional memories, -does not support writing to individual bits of array elements, does not support -initialization of arrays with ``$readmemb`` and ``$readmemh``, and has only -limited support for tristate logic, to name just a few limitations. - -That being said, Yosys can synthesize an overwhelming majority of real-world -Verilog RTL code. The remaining cases can usually be modified to be compatible -with Yosys quite easily. - -The various designs in yosys-bigsim are a good place to look for examples of -what is within the capabilities of Yosys. - -Conclusion -========== - -Yosys is a feature-rich Verilog-2005 synthesis tool. It has many uses, but one -is to provide an easy gateway from high-level Verilog code to low-level logic -circuits. - -The command line option ``-S`` can be used to quickly synthesize Verilog code to -BLIF files without a hassle. - -With custom synthesis scripts it becomes possible to easily perform high-level -optimizations, such as re-encoding FSMs. In some extreme cases, such as the -Amber23 ARMv2 CPU, the more advanced Yosys features can be used to change a -design to fit a certain need without actually touching the RTL code. + .. _yosys-bigsim: https://github.com/YosysHQ/yosys-bigsim + + Getting started + =============== + + We start our tour with the Navré processor from yosys-bigsim. The `Navré + processor`_ is an Open Source AVR clone. It is a single module (softusb_navre) + in a single design file (softusb_navre.v). It also is using only features that + map nicely to the BLIF format, for example it only uses synchronous resets. + + .. _Navré processor: http://opencores.org/projects/navre + + Converting softusb_navre.v to softusb_navre.blif could not be easier: + + .. code:: sh + + yosys -o softusb_navre.blif -S softusb_navre.v + + Behind the scenes Yosys is controlled by synthesis scripts that execute + commands that operate on Yosys' internal state. For example, the -o + softusb_navre.blif option just adds the command write_blif + softusb_navre.blif to the end of the script. Likewise a file on the + command line – softusb_navre.v in this case – adds the command + read_verilog softusb_navre.v to the beginning of the synthesis script. + In both cases the file type is detected from the file extension. + + Finally the option -S instantiates a built-in default synthesis script. + Instead of using -S one could also specify the synthesis commands for + the script on the command line using the -p option, either using + individual options for each command or by passing one big command string + with a semicolon-separated list of commands. But in most cases it is + more convenient to use an actual script file. + + Using a synthesis script + ======================== + + With a script file we have better control over Yosys. The following + script file replicates what the command from the last section did: + + .. code:: yoscrypt + + read_verilog softusb_navre.v + hierarchy + proc; opt; memory; opt; techmap; opt + write_blif softusb_navre.blif + + The first and last line obviously read the Verilog file and write the + BLIF file. + + The 2nd line checks the design hierarchy and instantiates parametrized + versions of the modules in the design, if necessary. In the case of this + simple design this is a no-op. However, as a general rule a synthesis + script should always contain this command as first command after reading + the input files. + + The 3rd line does most of the actual work: + + - The command opt is the Yosys' built-in optimizer. It can perform some + simple optimizations such as const-folding and removing unconnected + parts of the design. It is common practice to call opt after each + major step in the synthesis procedure. In cases where too much + optimization is not appreciated (for example when analyzing a + design), it is recommended to call clean instead of opt. + + - The command proc converts processes (Yosys' internal representation + of Verilog always- and initial-blocks) to circuits of multiplexers + and storage elements (various types of flip-flops). + + - The command memory converts Yosys' internal representations of arrays + and array accesses to multi-port block memories, and then maps this + block memories to address decoders and flip-flops, unless the option + -nomap is used, in which case the multi-port block memories stay in + the design and can then be mapped to architecture-specific memory + primitives using other commands. + + - The command techmap turns a high-level circuit with coarse grain + cells such as wide adders and multipliers to a fine-grain circuit of + simple logic primitives and single-bit storage elements. The command + does that by substituting the complex cells by circuits of simpler + cells. It is possible to provide a custom set of rules for this + process in the form of a Verilog source file, as we will see in the + next section. + + Now Yosys can be run with the filename of the synthesis script as + argument: + + .. code:: sh + + yosys softusb_navre.ys + + Now that we are using a synthesis script we can easily modify how Yosys + synthesizes the design. The first thing we should customize is the call + to the hierarchy command: + + Whenever it is known that there are no implicit blackboxes in the + design, i.e. modules that are referenced but are not defined, the + hierarchy command should be called with the -check option. This will + then cause synthesis to fail when implicit blackboxes are found in the + design. + + The 2nd thing we can improve regarding the hierarchy command is that we + can tell it the name of the top level module of the design hierarchy. It + will then automatically remove all modules that are not referenced from + this top level module. + + For many designs it is also desired to optimize the encodings for the + finite state machines (FSMs) in the design. The fsm command finds FSMs, + extracts them, performs some basic optimizations and then generate a + circuit from the extracted and optimized description. It would also be + possible to tell the fsm command to leave the FSMs in their extracted + form, so they can be further processed using custom commands. But in + this case we don't want that. + + So now we have the final synthesis script for generating a BLIF file for + the Navré CPU: + + .. code:: yoscrypt + + read_verilog softusb_navre.v + hierarchy -check -top softusb_navre + proc; opt; memory; opt; fsm; opt; techmap; opt + write_blif softusb_navre.blif + + Advanced example: The Amber23 ARMv2a CPU + ======================================== + + Our 2nd example is the `Amber23 ARMv2a CPU`_. Once again we base our example on + the Verilog code that is included in `yosys-bigsim`_. + + .. _Amber23 ARMv2a CPU: http://opencores.org/projects/amber + + .. code-block:: yoscrypt + :caption: `amber23.ys` + :name: amber23.ys + + read_verilog a23_alu.v + read_verilog a23_barrel_shift_fpga.v + read_verilog a23_barrel_shift.v + read_verilog a23_cache.v + read_verilog a23_coprocessor.v + read_verilog a23_core.v + read_verilog a23_decode.v + read_verilog a23_execute.v + read_verilog a23_fetch.v + read_verilog a23_multiply.v + read_verilog a23_ram_register_bank.v + read_verilog a23_register_bank.v + read_verilog a23_wishbone.v + read_verilog generic_sram_byte_en.v + read_verilog generic_sram_line_en.v + hierarchy -check -top a23_core + add -global_input globrst 1 + proc -global_arst globrst + techmap -map adff2dff.v + opt; memory; opt; fsm; opt; techmap + write_blif amber23.blif + + The problem with this core is that it contains no dedicated reset logic. Instead + the coding techniques shown in :numref:`glob_arst` are used to define reset + values for the global asynchronous reset in an FPGA implementation. This design + can not be expressed in BLIF as it is. Instead we need to use a synthesis script + that transforms this form to synchronous resets that can be expressed in BLIF. + + (Note that there is no problem if this coding techniques are used to model ROM, + where the register is initialized using this syntax but is never updated + otherwise.) + + :numref:`amber23.ys` shows the synthesis script for the Amber23 core. In line 17 + the add command is used to add a 1-bit wide global input signal with the name + ``globrst``. That means that an input with that name is added to each module in the + design hierarchy and then all module instantiations are altered so that this new + signal is connected throughout the whole design hierarchy. + + .. code-block:: verilog + :caption: Implicit coding of global asynchronous resets + :name: glob_arst + + reg [7:0] a = 13, b; + initial b = 37; + + .. code-block:: verilog + :caption: `adff2dff.v` + :name: adff2dff.v + + (* techmap_celltype = "$adff" *) + module adff2dff (CLK, ARST, D, Q); + + parameter WIDTH = 1; + parameter CLK_POLARITY = 1; + parameter ARST_POLARITY = 1; + parameter ARST_VALUE = 0; + + input CLK, ARST; + input [WIDTH-1:0] D; + output reg [WIDTH-1:0] Q; + + wire [1023:0] _TECHMAP_DO_ = "proc"; + + wire _TECHMAP_FAIL_ = + !CLK_POLARITY || !ARST_POLARITY; + + always @(posedge CLK) + if (ARST) + Q <= ARST_VALUE; + else + Q <= D; + + endmodule + + In line 18 the :cmd:ref:`proc` command is called. But in this script the signal + name globrst is passed to the command as a global reset signal for resetting the + registers to their assigned initial values. + + Finally in line 19 the techmap command is used to replace all instances of + flip-flops with asynchronous resets with flip-flops with synchronous resets. The + map file used for this is shown in :numref:`adff2dff.v`. Note how the + ``techmap_celltype`` attribute is used in line 1 to tell the techmap command + which cells to replace in the design, how the ``_TECHMAP_FAIL_`` wire in lines + 15 and 16 (which evaluates to a constant value) determines if the parameter set + is compatible with this replacement circuit, and how the ``_TECHMAP_DO_`` wire + in line 13 provides a mini synthesis-script to be used to process this cell. + + .. code-block:: c + :caption: Test program for the Amber23 CPU (Sieve of Eratosthenes). Compiled + using GCC 4.6.3 for ARM with ``-Os -marm -march=armv2a + -mno-thumb-interwork -ffreestanding``, linked with ``--fix-v4bx`` + set and booted with a custom setup routine written in ARM assembler. + :name: sieve + + #include + #include + + #define BITMAP_SIZE 64 + #define OUTPORT 0x10000000 + + static uint32_t bitmap[BITMAP_SIZE/32]; + + static void bitmap_set(uint32_t idx) { bitmap[idx/32] |= 1 << (idx % 32); } + static bool bitmap_get(uint32_t idx) { return (bitmap[idx/32] & (1 << (idx % 32))) != 0; } + static void output(uint32_t val) { *((volatile uint32_t*)OUTPORT) = val; } + + int main() { + uint32_t i, j, k; + output(2); + for (i = 0; i < BITMAP_SIZE; i++) { + if (bitmap_get(i)) continue; + output(3+2*i); + for (j = 2*(3+2*i);; j += 3+2*i) { + if (j%2 == 0) continue; + k = (j-3)/2; + if (k >= BITMAP_SIZE) break; + bitmap_set(k); + } + } + output(0); + return 0; + } + + Verification of the Amber23 CPU + =============================== + + The BLIF file for the Amber23 core, generated using :numref:`amber23.ys` and + :numref:`adff2dff.v` and the version of the Amber23 RTL source that is bundled + with yosys-bigsim, was verified using the test-bench from yosys-bigsim. It + successfully executed the program shown in :numref:`sieve` in the test-bench. + + For simulation the BLIF file was converted back to Verilog using `ABC`_. So this + test includes the successful transformation of the BLIF file into ABC's internal + format as well. + + .. _ABC: https://github.com/berkeley-abc/abc + + The only thing left to write about the simulation itself is that it probably was + one of the most energy inefficient and time consuming ways of successfully + calculating the first 31 primes the author has ever conducted. + + Limitations + =========== + + At the time of this writing Yosys does not support multi-dimensional memories, + does not support writing to individual bits of array elements, does not support + initialization of arrays with ``$readmemb`` and ``$readmemh``, and has only + limited support for tristate logic, to name just a few limitations. + + That being said, Yosys can synthesize an overwhelming majority of real-world + Verilog RTL code. The remaining cases can usually be modified to be compatible + with Yosys quite easily. + + The various designs in yosys-bigsim are a good place to look for examples of + what is within the capabilities of Yosys. + + Conclusion + ========== + + Yosys is a feature-rich Verilog-2005 synthesis tool. It has many uses, but one + is to provide an easy gateway from high-level Verilog code to low-level logic + circuits. + + The command line option ``-S`` can be used to quickly synthesize Verilog code to + BLIF files without a hassle. + + With custom synthesis scripts it becomes possible to easily perform high-level + optimizations, such as re-encoding FSMs. In some extreme cases, such as the + Amber23 ARMv2 CPU, the more advanced Yosys features can be used to change a + design to fit a certain need without actually touching the RTL code. diff --git a/docs/source/appendix/APPNOTE_012_Verilog_to_BTOR.rst b/docs/source/appendix/APPNOTE_012_Verilog_to_BTOR.rst index adb551494..1874b0148 100644 --- a/docs/source/appendix/APPNOTE_012_Verilog_to_BTOR.rst +++ b/docs/source/appendix/APPNOTE_012_Verilog_to_BTOR.rst @@ -1,333 +1,353 @@ +:orphan: + ==================================== 012: Converting Verilog to BTOR page ==================================== -Installation -============ +Abstract +======== -Yosys written in C++ (using features from C++11) and is tested on modern Linux. -It should compile fine on most UNIX systems with a C++11 compiler. The README -file contains useful information on building Yosys and its prerequisites. +Verilog-2005 is a powerful Hardware Description Language (HDL) that can be used +to easily create complex designs from small HDL code. BTOR is a bit-precise +word-level format for model checking. It is a simple format and easy to parse. +It allows to model the model checking problem over the theory of bit-vectors +with one-dimensional arrays, thus enabling to model Verilog designs with +registers and memories. Yosys is an Open-Source Verilog synthesis tool that can +be used to convert Verilog designs with simple assertions to BTOR format. -Yosys is a large and feature-rich program with some dependencies. For this work, -we may deactivate other extra features such as TCL and ABC support in the -Makefile. +Download +======== -This Application Note is based on `Yosys GIT`_ `Rev. 082550f` from 2015-04-04. +This document was originally published in November 2013: +:download:`Converting Verilog to BTOR PDF` -.. _Yosys GIT: https://github.com/YosysHQ/yosys +.. + Installation + ============ -.. _Rev. 082550f: https://github.com/YosysHQ/yosys/tree/082550f + Yosys written in C++ (using features from C++11) and is tested on modern Linux. + It should compile fine on most UNIX systems with a C++11 compiler. The README + file contains useful information on building Yosys and its prerequisites. -Quick start -=========== + Yosys is a large and feature-rich program with some dependencies. For this work, + we may deactivate other extra features such as TCL and ABC support in the + Makefile. -We assume that the Verilog design is synthesizable and we also assume that the -design does not have multi-dimensional memories. As BTOR implicitly initializes -registers to zero value and memories stay uninitialized, we assume that the -Verilog design does not contain initial blocks. For more details about the BTOR -format, please refer to :cite:p:`btor`. + This Application Note is based on `Yosys GIT`_ `Rev. 082550f` from 2015-04-04. -We provide a shell script ``verilog2btor.sh`` which can be used to convert a -Verilog design to BTOR. The script can be found in the ``backends/btor`` -directory. The following example shows its usage: + .. _Yosys GIT: https://github.com/YosysHQ/yosys -.. code:: sh + .. _Rev. 082550f: https://github.com/YosysHQ/yosys/tree/082550f - verilog2btor.sh fsm.v fsm.btor test + Quick start + =========== -The script ``verilog2btor.sh`` takes three parameters. In the above example, the -first parameter ``fsm.v`` is the input design, the second parameter ``fsm.btor`` -is the file name of BTOR output, and the third parameter ``test`` is the name of -top module in the design. + We assume that the Verilog design is synthesizable and we also assume that the + design does not have multi-dimensional memories. As BTOR implicitly initializes + registers to zero value and memories stay uninitialized, we assume that the + Verilog design does not contain initial blocks. For more details about the BTOR + format, please refer to :cite:p:`btor`. -To specify the properties (that need to be checked), we have two -options: + We provide a shell script ``verilog2btor.sh`` which can be used to convert a + Verilog design to BTOR. The script can be found in the ``backends/btor`` + directory. The following example shows its usage: -- We can use the Verilog ``assert`` statement in the procedural block or module - body of the Verilog design, as shown in :numref:`specifying_property_assert`. - This is the preferred option. + .. code:: sh -- We can use a single-bit output wire, whose name starts with ``safety``. The - value of this output wire needs to be driven low when the property is met, - i.e. the solver will try to find a model that makes the safety pin go high. - This is demonstrated in :numref:`specifying_property_output`. + verilog2btor.sh fsm.v fsm.btor test -.. code-block:: verilog - :caption: Specifying property in Verilog design with ``assert`` - :name: specifying_property_assert + The script ``verilog2btor.sh`` takes three parameters. In the above example, the + first parameter ``fsm.v`` is the input design, the second parameter ``fsm.btor`` + is the file name of BTOR output, and the third parameter ``test`` is the name of + top module in the design. - module test(input clk, input rst, output y); + To specify the properties (that need to be checked), we have two + options: - reg [2:0] state; + - We can use the Verilog ``assert`` statement in the procedural block or module + body of the Verilog design, as shown in :numref:`specifying_property_assert`. + This is the preferred option. - always @(posedge clk) begin - if (rst || state == 3) begin - state <= 0; - end else begin - assert(state < 3); - state <= state + 1; - end - end + - We can use a single-bit output wire, whose name starts with ``safety``. The + value of this output wire needs to be driven low when the property is met, + i.e. the solver will try to find a model that makes the safety pin go high. + This is demonstrated in :numref:`specifying_property_output`. - assign y = state[2]; + .. code-block:: verilog + :caption: Specifying property in Verilog design with ``assert`` + :name: specifying_property_assert - assert property (y !== 1'b1); + module test(input clk, input rst, output y); - endmodule + reg [2:0] state; -.. code-block:: verilog - :caption: Specifying property in Verilog design with output wire - :name: specifying_property_output + always @(posedge clk) begin + if (rst || state == 3) begin + state <= 0; + end else begin + assert(state < 3); + state <= state + 1; + end + end - module test(input clk, input rst, - output y, output safety1); + assign y = state[2]; - reg [2:0] state; + assert property (y !== 1'b1); - always @(posedge clk) begin - if (rst || state == 3) - state <= 0; - else - state <= state + 1; - end + endmodule - assign y = state[2]; + .. code-block:: verilog + :caption: Specifying property in Verilog design with output wire + :name: specifying_property_output - assign safety1 = !(y !== 1'b1); + module test(input clk, input rst, + output y, output safety1); - endmodule + reg [2:0] state; -We can run `Boolector`_ ``1.4.1`` [1]_ on the generated BTOR file: + always @(posedge clk) begin + if (rst || state == 3) + state <= 0; + else + state <= state + 1; + end -.. _Boolector: http://fmv.jku.at/boolector/ + assign y = state[2]; -.. code:: sh + assign safety1 = !(y !== 1'b1); - $ boolector fsm.btor - unsat + endmodule -We can also use `nuXmv`_, but on BTOR designs it does not support memories yet. -With the next release of nuXmv, we will be also able to verify designs with -memories. + We can run `Boolector`_ ``1.4.1`` [1]_ on the generated BTOR file: -.. _nuXmv: https://es-static.fbk.eu/tools/nuxmv/index.php + .. _Boolector: http://fmv.jku.at/boolector/ -Detailed flow -============= + .. code:: sh -Yosys is able to synthesize Verilog designs up to the gate level. We are -interested in keeping registers and memories when synthesizing the design. For -this purpose, we describe a customized Yosys synthesis flow, that is also -provided by the ``verilog2btor.sh`` script. :numref:`btor_script_memory` shows -the Yosys commands that are executed by ``verilog2btor.sh``. + $ boolector fsm.btor + unsat -.. code-block:: yoscrypt - :caption: Synthesis Flow for BTOR with memories - :name: btor_script_memory + We can also use `nuXmv`_, but on BTOR designs it does not support memories yet. + With the next release of nuXmv, we will be also able to verify designs with + memories. - read_verilog -sv $1; - hierarchy -top $3; hierarchy -libdir $DIR; - hierarchy -check; - proc; opt; - opt_expr -mux_undef; opt; - rename -hide;;; - splice; opt; - memory_dff -wr_only; memory_collect;; - flatten;; - memory_unpack; - splitnets -driver; - setundef -zero -undriven; - opt;;; - write_btor $2; + .. _nuXmv: https://es-static.fbk.eu/tools/nuxmv/index.php -Here is short description of what is happening in the script line by -line: + Detailed flow + ============= -#. Reading the input file. + Yosys is able to synthesize Verilog designs up to the gate level. We are + interested in keeping registers and memories when synthesizing the design. For + this purpose, we describe a customized Yosys synthesis flow, that is also + provided by the ``verilog2btor.sh`` script. :numref:`btor_script_memory` shows + the Yosys commands that are executed by ``verilog2btor.sh``. -#. Setting the top module in the hierarchy and trying to read automatically the - files which are given as ``include`` in the file read in first line. + .. code-block:: yoscrypt + :caption: Synthesis Flow for BTOR with memories + :name: btor_script_memory -#. Checking the design hierarchy. + read_verilog -sv $1; + hierarchy -top $3; hierarchy -libdir $DIR; + hierarchy -check; + proc; opt; + opt_expr -mux_undef; opt; + rename -hide;;; + splice; opt; + memory_dff -wr_only; memory_collect;; + flatten;; + memory_unpack; + splitnets -driver; + setundef -zero -undriven; + opt;;; + write_btor $2; -#. Converting processes to multiplexers (muxs) and flip-flops. + Here is short description of what is happening in the script line by + line: -#. Removing undef signals from muxs. + #. Reading the input file. -#. Hiding all signal names that are not used as module ports. + #. Setting the top module in the hierarchy and trying to read automatically the + files which are given as ``include`` in the file read in first line. -#. Explicit type conversion, by introducing slice and concat cells in the - circuit. + #. Checking the design hierarchy. -#. Converting write memories to synchronous memories, and collecting the - memories to multi-port memories. + #. Converting processes to multiplexers (muxs) and flip-flops. -#. Flattening the design to get only one module. + #. Removing undef signals from muxs. -#. Separating read and write memories. + #. Hiding all signal names that are not used as module ports. -#. Splitting the signals that are partially assigned + #. Explicit type conversion, by introducing slice and concat cells in the + circuit. -#. Setting undef to zero value. + #. Converting write memories to synchronous memories, and collecting the + memories to multi-port memories. -#. Final optimization pass. + #. Flattening the design to get only one module. -#. Writing BTOR file. + #. Separating read and write memories. -For detailed description of the commands mentioned above, please refer -to the Yosys documentation, or run ``yosys -h ``. - -The script presented earlier can be easily modified to have a BTOR file that -does not contain memories. This is done by removing the line number 8 and 10, -and introduces a new command :cmd:ref:`memory` at line number 8. -:numref:`btor_script_without_memory` shows the modified Yosys script file: - -.. code-block:: sh - :caption: Synthesis Flow for BTOR without memories - :name: btor_script_without_memory - - read_verilog -sv $1; - hierarchy -top $3; hierarchy -libdir $DIR; - hierarchy -check; - proc; opt; - opt_expr -mux_undef; opt; - rename -hide;;; - splice; opt; - memory;; - flatten;; - splitnets -driver; - setundef -zero -undriven; - opt;;; - write_btor $2; - -Example -======= - -Here is an example Verilog design that we want to convert to BTOR: - -.. code-block:: verilog - :caption: Example - Verilog Design - :name: example_verilog - - module array(input clk); - - reg [7:0] counter; - reg [7:0] mem [7:0]; - - always @(posedge clk) begin - counter <= counter + 8'd1; - mem[counter] <= counter; - end - - assert property (!(counter > 8'd0) || - mem[counter - 8'd1] == counter - 8'd1); - - endmodule - -The generated BTOR file that contain memories, using the script shown in -:numref:`btor_memory`: - -.. code-block:: - :caption: Example - Converted BTOR with memory - :name: btor_memory - - 1 var 1 clk - 2 array 8 3 - 3 var 8 $auto$rename.cc:150:execute$20 - 4 const 8 00000001 - 5 sub 8 3 4 - 6 slice 3 5 2 0 - 7 read 8 2 6 - 8 slice 3 3 2 0 - 9 add 8 3 4 - 10 const 8 00000000 - 11 ugt 1 3 10 - 12 not 1 11 - 13 const 8 11111111 - 14 slice 1 13 0 0 - 15 one 1 - 16 eq 1 1 15 - 17 and 1 16 14 - 18 write 8 3 2 8 3 - 19 acond 8 3 17 18 2 - 20 anext 8 3 2 19 - 21 eq 1 7 5 - 22 or 1 12 21 - 23 const 1 1 - 24 one 1 - 25 eq 1 23 24 - 26 cond 1 25 22 24 - 27 root 1 -26 - 28 cond 8 1 9 3 - 29 next 8 3 28 - -And the BTOR file obtained by the script shown in -:numref:`btor_without_memory`, which expands the memory into individual -elements: - -.. code-block:: - :caption: Example - Converted BTOR with memory - :name: btor_without_memory - - 1 var 1 clk - 2 var 8 mem[0] - 3 var 8 $auto$rename.cc:150:execute$20 - 4 slice 3 3 2 0 - 5 slice 1 4 0 0 - 6 not 1 5 - 7 slice 1 4 1 1 - 8 not 1 7 - 9 slice 1 4 2 2 - 10 not 1 9 - 11 and 1 8 10 - 12 and 1 6 11 - 13 cond 8 12 3 2 - 14 cond 8 1 13 2 - 15 next 8 2 14 - 16 const 8 00000001 - 17 add 8 3 16 - 18 const 8 00000000 - 19 ugt 1 3 18 - 20 not 1 19 - 21 var 8 mem[2] - 22 and 1 7 10 - 23 and 1 6 22 - 24 cond 8 23 3 21 - 25 cond 8 1 24 21 - 26 next 8 21 25 - 27 sub 8 3 16 - - ... - - 54 cond 1 53 50 52 - 55 root 1 -54 - - ... - - 77 cond 8 76 3 44 - 78 cond 8 1 77 44 - 79 next 8 44 78 - -Limitations -=========== - -BTOR does not support initialization of memories and registers, i.e. they are -implicitly initialized to value zero, so the initial block for memories need to -be removed when converting to BTOR. It should also be kept in consideration that -BTOR does not support the ``x`` or ``z`` values of Verilog. - -Another thing to bear in mind is that Yosys will convert multi-dimensional -memories to one-dimensional memories and address decoders. Therefore -out-of-bounds memory accesses can yield unexpected results. - -Conclusion -========== - -Using the described flow, we can use Yosys to generate word-level verification -benchmarks with or without memories from Verilog designs. - -.. [1] - Newer version of Boolector do not support sequential models. - Boolector 1.4.1 can be built with picosat-951. Newer versions of - picosat have an incompatible API. + #. Splitting the signals that are partially assigned + + #. Setting undef to zero value. + + #. Final optimization pass. + + #. Writing BTOR file. + + For detailed description of the commands mentioned above, please refer + to the Yosys documentation, or run ``yosys -h ``. + + The script presented earlier can be easily modified to have a BTOR file that + does not contain memories. This is done by removing the line number 8 and 10, + and introduces a new command :cmd:ref:`memory` at line number 8. + :numref:`btor_script_without_memory` shows the modified Yosys script file: + + .. code-block:: sh + :caption: Synthesis Flow for BTOR without memories + :name: btor_script_without_memory + + read_verilog -sv $1; + hierarchy -top $3; hierarchy -libdir $DIR; + hierarchy -check; + proc; opt; + opt_expr -mux_undef; opt; + rename -hide;;; + splice; opt; + memory;; + flatten;; + splitnets -driver; + setundef -zero -undriven; + opt;;; + write_btor $2; + + Example + ======= + + Here is an example Verilog design that we want to convert to BTOR: + + .. code-block:: verilog + :caption: Example - Verilog Design + :name: example_verilog + + module array(input clk); + + reg [7:0] counter; + reg [7:0] mem [7:0]; + + always @(posedge clk) begin + counter <= counter + 8'd1; + mem[counter] <= counter; + end + + assert property (!(counter > 8'd0) || + mem[counter - 8'd1] == counter - 8'd1); + + endmodule + + The generated BTOR file that contain memories, using the script shown in + :numref:`btor_memory`: + + .. code-block:: + :caption: Example - Converted BTOR with memory + :name: btor_memory + + 1 var 1 clk + 2 array 8 3 + 3 var 8 $auto$rename.cc:150:execute$20 + 4 const 8 00000001 + 5 sub 8 3 4 + 6 slice 3 5 2 0 + 7 read 8 2 6 + 8 slice 3 3 2 0 + 9 add 8 3 4 + 10 const 8 00000000 + 11 ugt 1 3 10 + 12 not 1 11 + 13 const 8 11111111 + 14 slice 1 13 0 0 + 15 one 1 + 16 eq 1 1 15 + 17 and 1 16 14 + 18 write 8 3 2 8 3 + 19 acond 8 3 17 18 2 + 20 anext 8 3 2 19 + 21 eq 1 7 5 + 22 or 1 12 21 + 23 const 1 1 + 24 one 1 + 25 eq 1 23 24 + 26 cond 1 25 22 24 + 27 root 1 -26 + 28 cond 8 1 9 3 + 29 next 8 3 28 + + And the BTOR file obtained by the script shown in + :numref:`btor_without_memory`, which expands the memory into individual + elements: + + .. code-block:: + :caption: Example - Converted BTOR with memory + :name: btor_without_memory + + 1 var 1 clk + 2 var 8 mem[0] + 3 var 8 $auto$rename.cc:150:execute$20 + 4 slice 3 3 2 0 + 5 slice 1 4 0 0 + 6 not 1 5 + 7 slice 1 4 1 1 + 8 not 1 7 + 9 slice 1 4 2 2 + 10 not 1 9 + 11 and 1 8 10 + 12 and 1 6 11 + 13 cond 8 12 3 2 + 14 cond 8 1 13 2 + 15 next 8 2 14 + 16 const 8 00000001 + 17 add 8 3 16 + 18 const 8 00000000 + 19 ugt 1 3 18 + 20 not 1 19 + 21 var 8 mem[2] + 22 and 1 7 10 + 23 and 1 6 22 + 24 cond 8 23 3 21 + 25 cond 8 1 24 21 + 26 next 8 21 25 + 27 sub 8 3 16 + + ... + + 54 cond 1 53 50 52 + 55 root 1 -54 + + ... + + 77 cond 8 76 3 44 + 78 cond 8 1 77 44 + 79 next 8 44 78 + + Limitations + =========== + + BTOR does not support initialization of memories and registers, i.e. they are + implicitly initialized to value zero, so the initial block for memories need to + be removed when converting to BTOR. It should also be kept in consideration that + BTOR does not support the ``x`` or ``z`` values of Verilog. + + Another thing to bear in mind is that Yosys will convert multi-dimensional + memories to one-dimensional memories and address decoders. Therefore + out-of-bounds memory accesses can yield unexpected results. + + Conclusion + ========== + + Using the described flow, we can use Yosys to generate word-level verification + benchmarks with or without memories from Verilog designs. + + .. [1] + Newer version of Boolector do not support sequential models. + Boolector 1.4.1 can be built with picosat-951. Newer versions of + picosat have an incompatible API.