Loading maintainers/maintainer-list.nix +6 −0 Original line number Diff line number Diff line Loading @@ -8874,6 +8874,12 @@ githubId = 72201; name = "Ole Jørgen Brønner"; }; ollieB = { email = "1237862+oliverbunting@users.noreply.github.com"; github = "oliverbunting"; githubId = 1237862; name = "Ollie Bunting"; }; olynch = { email = "owen@olynch.me"; github = "olynch"; Loading pkgs/development/compilers/yosys/default.nix +43 −1 Original line number Diff line number Diff line Loading @@ -6,13 +6,19 @@ , fetchFromGitHub , flex , libffi , makeWrapper , pkg-config , protobuf , python3 , readline , symlinkJoin , tcl , verilog , zlib , yosys , yosys-bluespec , yosys-ghdl , yosys-symbiflow }: # NOTE: as of late 2020, yosys has switched to an automation robot that Loading @@ -32,7 +38,39 @@ # yosys version number helps users report better bugs upstream, and is # ultimately less confusing than using dates. stdenv.mkDerivation rec { let # Provides a wrapper for creating a yosys with the specifed plugins preloaded # # Example: # # my_yosys = yosys.withPlugins (with yosys.allPlugins; [ # fasm # bluespec # ]); withPlugins = plugins: let paths = lib.closePropagation plugins; module_flags = with builtins; concatStringsSep " " (map (n: "--add-flags -m --add-flags ${n.plugin}") plugins); in lib.appendToName "with-plugins" ( symlinkJoin { inherit (yosys) name; paths = paths ++ [ yosys ] ; buildInputs = [ makeWrapper ]; postBuild = '' wrapProgram $out/bin/yosys \ --set NIX_YOSYS_PLUGIN_DIRS $out/share/yosys/plugins \ ${module_flags} ''; }); allPlugins = { bluespec = yosys-bluespec; ghdl = yosys-ghdl; } // (yosys-symbiflow); in stdenv.mkDerivation rec { pname = "yosys"; version = "0.12+54"; Loading Loading @@ -99,6 +137,10 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; passthru = { inherit withPlugins allPlugins; }; meta = with lib; { description = "Open RTL synthesis framework and tools"; homepage = "http://www.clifford.at/yosys/"; Loading pkgs/development/compilers/yosys/plugins/bluespec.nix +1 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ stdenv.mkDerivation { pname = "yosys-bluespec"; version = "2021.09.08"; plugin = "bluespec"; src = fetchFromGitHub { owner = "thoughtpolice"; Loading pkgs/development/compilers/yosys/plugins/ghdl.nix +1 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ stdenv.mkDerivation { pname = "yosys-ghdl"; version = "2021.01.25"; plugin = "ghdl"; src = fetchFromGitHub { owner = "ghdl"; Loading pkgs/development/compilers/yosys/plugins/symbiflow-pmgen.patch 0 → 100644 +15 −0 Original line number Diff line number Diff line diff --git a/yql-qlf-plugin/Makefile b/ql-qlf-plugin/Makefile index 2819055c9fe..0e391581012 100644 --- a/ql-qlf-plugin/Makefile +++ b/ql-qlf-plugin/Makefile @@ -55,10 +55,6 @@ VERILOG_MODULES = $(COMMON)/cells_sim.v \ $(PP3_DIR)/mult_sim.v \ $(PP3_DIR)/qlal3_sim.v \ -retrieve-pmgen:=$(shell mkdir -p pmgen && wget -nc -O pmgen/pmgen.py https://raw.githubusercontent.com/SymbiFlow/yosys/master%2Bwip/passes/pmgen/pmgen.py) - -pre-build:=$(shell python3 pmgen/pmgen.py -o pmgen/ql-dsp-pm.h -p ql_dsp ql_dsp.pmg) - install_modules: $(VERILOG_MODULES) $(foreach f,$^,install -D $(f) $(DATA_DIR)/quicklogic/$(f);) Loading
maintainers/maintainer-list.nix +6 −0 Original line number Diff line number Diff line Loading @@ -8874,6 +8874,12 @@ githubId = 72201; name = "Ole Jørgen Brønner"; }; ollieB = { email = "1237862+oliverbunting@users.noreply.github.com"; github = "oliverbunting"; githubId = 1237862; name = "Ollie Bunting"; }; olynch = { email = "owen@olynch.me"; github = "olynch"; Loading
pkgs/development/compilers/yosys/default.nix +43 −1 Original line number Diff line number Diff line Loading @@ -6,13 +6,19 @@ , fetchFromGitHub , flex , libffi , makeWrapper , pkg-config , protobuf , python3 , readline , symlinkJoin , tcl , verilog , zlib , yosys , yosys-bluespec , yosys-ghdl , yosys-symbiflow }: # NOTE: as of late 2020, yosys has switched to an automation robot that Loading @@ -32,7 +38,39 @@ # yosys version number helps users report better bugs upstream, and is # ultimately less confusing than using dates. stdenv.mkDerivation rec { let # Provides a wrapper for creating a yosys with the specifed plugins preloaded # # Example: # # my_yosys = yosys.withPlugins (with yosys.allPlugins; [ # fasm # bluespec # ]); withPlugins = plugins: let paths = lib.closePropagation plugins; module_flags = with builtins; concatStringsSep " " (map (n: "--add-flags -m --add-flags ${n.plugin}") plugins); in lib.appendToName "with-plugins" ( symlinkJoin { inherit (yosys) name; paths = paths ++ [ yosys ] ; buildInputs = [ makeWrapper ]; postBuild = '' wrapProgram $out/bin/yosys \ --set NIX_YOSYS_PLUGIN_DIRS $out/share/yosys/plugins \ ${module_flags} ''; }); allPlugins = { bluespec = yosys-bluespec; ghdl = yosys-ghdl; } // (yosys-symbiflow); in stdenv.mkDerivation rec { pname = "yosys"; version = "0.12+54"; Loading Loading @@ -99,6 +137,10 @@ stdenv.mkDerivation rec { setupHook = ./setup-hook.sh; passthru = { inherit withPlugins allPlugins; }; meta = with lib; { description = "Open RTL synthesis framework and tools"; homepage = "http://www.clifford.at/yosys/"; Loading
pkgs/development/compilers/yosys/plugins/bluespec.nix +1 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ stdenv.mkDerivation { pname = "yosys-bluespec"; version = "2021.09.08"; plugin = "bluespec"; src = fetchFromGitHub { owner = "thoughtpolice"; Loading
pkgs/development/compilers/yosys/plugins/ghdl.nix +1 −0 Original line number Diff line number Diff line Loading @@ -5,6 +5,7 @@ stdenv.mkDerivation { pname = "yosys-ghdl"; version = "2021.01.25"; plugin = "ghdl"; src = fetchFromGitHub { owner = "ghdl"; Loading
pkgs/development/compilers/yosys/plugins/symbiflow-pmgen.patch 0 → 100644 +15 −0 Original line number Diff line number Diff line diff --git a/yql-qlf-plugin/Makefile b/ql-qlf-plugin/Makefile index 2819055c9fe..0e391581012 100644 --- a/ql-qlf-plugin/Makefile +++ b/ql-qlf-plugin/Makefile @@ -55,10 +55,6 @@ VERILOG_MODULES = $(COMMON)/cells_sim.v \ $(PP3_DIR)/mult_sim.v \ $(PP3_DIR)/qlal3_sim.v \ -retrieve-pmgen:=$(shell mkdir -p pmgen && wget -nc -O pmgen/pmgen.py https://raw.githubusercontent.com/SymbiFlow/yosys/master%2Bwip/passes/pmgen/pmgen.py) - -pre-build:=$(shell python3 pmgen/pmgen.py -o pmgen/ql-dsp-pm.h -p ql_dsp ql_dsp.pmg) - install_modules: $(VERILOG_MODULES) $(foreach f,$^,install -D $(f) $(DATA_DIR)/quicklogic/$(f);)