Skip to content

Commit ef73d0e

Browse files
committed
Update documentation to reflect migration from F4PGA to Synlig
1 parent 1a43264 commit ef73d0e

File tree

9 files changed

+14
-218
lines changed

9 files changed

+14
-218
lines changed

.github/workflows/nightly_test.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ jobs:
6565
- {test: "vtr_reg_strong", cores: "16", options: "", cmake: "-DVTR_ASSERT_LEVEL=3", extra_pkgs: "libeigen3-dev"}
6666
- {test: "vtr_reg_strong_odin", cores: "16", options: "", cmake: "-DVTR_ASSERT_LEVEL=3 -DWITH_ODIN=ON", extra_pkgs: "libeigen3-dev"}
6767
- {test: "vtr_reg_strong_odin", cores: "16", options: "-skip_qor", cmake: "-DVTR_ASSERT_LEVEL=3 -DVTR_ENABLE_SANITIZE=ON -DWITH_ODIN=ON", extra_pkgs: "libeigen3-dev"}
68-
- {test: "vtr_reg_system_verilog", cores: "16", options: "", cmake: "-DYOSYS_F4PGA_PLUGINS=ON", extra_pkgs: ""} # Test turned off -> F4PGA conflicts with Yosys (version 42)
68+
- {test: "vtr_reg_system_verilog", cores: "16", options: "", cmake: "-DSYNLIG_SYSTEMVERILOG=ON", extra_pkgs: ""}
6969
- {test: "odin_reg_strong", cores: "16", options: "", cmake: "-DWITH_ODIN=ON", extra_pkgs: ""}
70-
- {test: "parmys_reg_strong", cores: "16", options: "", cmake: "-DYOSYS_F4PGA_PLUGINS=ON", extra_pkgs: ""}
70+
- {test: "parmys_reg_strong", cores: "16", options: "", cmake: "-DSYNLIG_SYSTEMVERILOG=ON", extra_pkgs: ""}
7171

7272
env:
7373
DEBIAN_FRONTEND: "noninteractive"

CMakeLists.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ option(ODIN_SANITIZE "Enable building odin with sanitize flags" OFF)
6060

6161
# Allow the user to enable building Yosys
6262
option(WITH_PARMYS "Enable Yosys as elaborator and parmys-plugin as partial mapper" ON)
63-
option(YOSYS_F4PGA_PLUGINS "Enable building and installing Yosys SystemVerilog and UHDM plugins" OFF)
63+
option(SYNLIG_SYSTEMVERILOG "Enable building and installing Synlig SystemVerilog and UHDM plugins" OFF)
6464

6565
set(VTR_VERSION_MAJOR 8)
6666
set(VTR_VERSION_MINOR 1)
@@ -453,7 +453,7 @@ if(${WITH_ODIN})
453453
endif()
454454

455455
# handle cmake params to compile Yosys SystemVerilog/UHDM plugins
456-
if(${YOSYS_F4PGA_PLUGINS})
456+
if(${SYNLIG_SYSTEMVERILOG})
457457
# avoid compiling plugins in case the Parmys frontend is not active
458458
if(NOT ${WITH_PARMYS})
459459
message(SEND_ERROR "Utilizing SystemVerilog/UHDM plugins requires activating Parmys frontend. Please set WITH_PARMYS.")

doc/src/parmys/quickstart.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@ To build the VTR flow with the Parmys front-end you may use the VTR Makefile wra
3737

3838
.. note::
3939

40-
Compiling the VTR flow with the ``-DYOSYS_F4PGA_PLUGINS=ON`` flag is required to build and install Yosys SystemVerilog and UHDM plugins.
41-
Using this compile flag, the `Yosys-F4PGA-Plugins <https://github.com/chipsalliance/yosys-f4pga-plugins>`_ and `Surelog <https://github.com/chipsalliance/Surelog>`_ repositories are cloned in the ``$VTR_ROOT/libs/EXTERNAL`` directory and then will be compiled and added as external plugins to the Parmys front-end.
40+
Compiling the VTR flow with the ``-DSynlig_SystemVerilog=ON`` flag is required to build and install Synlig SystemVerilog and UHDM plugins.
41+
Using this compile flag, the `Synlig_SystemVerilog <https://github.com/chipsalliance/synlig>`_ repository is cloned and installed in the ``$VTR_ROOT/build/bin`` directory and then will be compiled and added as external tool to the Parmys front-end.
4242

4343
Basic Usage
4444
-----------

doc/src/vtr/run_vtr_flow.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -73,15 +73,15 @@ The parser for these runs is considered the Yosys conventional Verilog/SystemVer
7373

7474
.. code-block:: bash
7575
76-
# Using the Yosys-SystemVerilog plugin if installed, otherwise the Yosys conventional Verilog parser
76+
# Using the Synlig System_Verilog tool if installed, otherwise the Yosys conventional Verilog parser
7777
./run_vtr_flow <path/to/SystemVerilog/File> <path/to/arch/file> -parser system-verilog
7878
7979
# Using the Surelog plugin if installed, otherwise failure on the unsupported file type
8080
./run_vtr_flow <path/to/UHDM/File> <path/to/arch/file> -parser surelog
8181
8282
Running the default VTR flow using the Parmys standalone front-end.
83-
The Yosys HDL parser is considered as Yosys-SystemVerilog plugin (i.e., ``read_systemverilog``) and Yosys UHDM plugin (i.e., ``read_uhdm``), respectively.
84-
Utilizing Yosys plugins requires passing the ``-DYOSYS_F4PGA_PLUGINS=ON`` compile flag to build and install the plugins for the Parmys front-end.
83+
The Synlig HDL parser supports the (i.e., ``read_systemverilog``) and (i.e., ``read_uhdm``) commands. It utilizes Surelog for SystemVerilog 2017 processing and Yosys for synthesis.
84+
Enable Synlig tool with the ``-DSYNLIG_SYSTEMVERILOG=ON`` compile flag for the Parmys front-end.
8585

8686
.. code-block:: bash
8787

libs/EXTERNAL/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ endif ()
3838
# The VTR root CMakeFile initializes the WITH_PARMYS
3939
if (${WITH_PARMYS})
4040

41-
if (${YOSYS_F4PGA_PLUGINS})
41+
if (${SYNLIG_SYSTEMVERILOG})
4242

4343
set(SURELOG_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/Surelog)
4444
set(SURELOG_BINARY_DIR ${SURELOG_SOURCE_DIR}/build)

vtr_flow/benchmarks/system_verilog/f4pga/button_controller/make_sv_flattened.py

-65
This file was deleted.

vtr_flow/benchmarks/system_verilog/f4pga/pulse_width_led/make_sv_flattened.py

-65
This file was deleted.

vtr_flow/benchmarks/system_verilog/f4pga/timer/make_sv_flattened.py

-65
This file was deleted.

vtr_flow/misc/yosys/synthesis.tcl

+4-13
Original file line numberDiff line numberDiff line change
@@ -73,22 +73,13 @@ techmap -map +/parmys/aldffe2dff.v
7373

7474
opt -full
7575

76-
#parmys -a QQQ -nopass -c CCC YYY
77-
#parmys -a QQQ -c CCC YYY
78-
#memory -nomap
79-
#flatten
80-
81-
82-
# Separate opt for Parmys execution(verilog or system-verilog)
76+
# Separate options for Parmys execution (Verilog or SystemVerilog)
8377
if {$env(PARSER) == "default"} {
84-
puts "Running Parmys with disables additional passes "
78+
# For Verilog, use -nopass for a simpler, faster flow
8579
parmys -a QQQ -nopass -c CCC YYY
86-
8780
} elseif {$env(PARSER) == "system-verilog" || $env(PARSER) == "surelog"} {
88-
puts "Running Parmys with Additional Passes Resolve Conflicts"
81+
# For Synlig SystemVerilog, run additional passes to handle complexity
8982
parmys -a QQQ -c CCC YYY
90-
memory -nomap
91-
flatten
9283
}
9384

9485
opt -full
@@ -104,4 +95,4 @@ stat
10495

10596
hierarchy -check -auto-top -purge_lib
10697

107-
write_blif -true + vcc -false + gnd -undef + unconn -blackbox ZZZ
98+
write_blif -true + vcc -false + gnd -undef + unconn -blackbox ZZZ

0 commit comments

Comments
 (0)