From b3f9191bc6c42a8c3cef6b14a9db444af56df5e8 Mon Sep 17 00:00:00 2001 From: "Pavel V. Shatov (Meister)" Date: Tue, 4 Jul 2017 16:25:14 +0300 Subject: Fixing generic/vendor primitive switching... --- src/rtl/pe/generic/multiplier32_generic.v | 85 ------------------------------- src/rtl/pe/modexpa7_pe_add.v | 76 --------------------------- src/rtl/pe/modexpa7_pe_mul.v | 75 --------------------------- src/rtl/pe/modexpa7_pe_settings.v | 15 ------ src/rtl/pe/modexpa7_pe_sub.v | 76 --------------------------- 5 files changed, 327 deletions(-) delete mode 100644 src/rtl/pe/generic/multiplier32_generic.v delete mode 100644 src/rtl/pe/modexpa7_pe_add.v delete mode 100644 src/rtl/pe/modexpa7_pe_mul.v delete mode 100644 src/rtl/pe/modexpa7_pe_settings.v delete mode 100644 src/rtl/pe/modexpa7_pe_sub.v (limited to 'src/rtl/pe') diff --git a/src/rtl/pe/generic/multiplier32_generic.v b/src/rtl/pe/generic/multiplier32_generic.v deleted file mode 100644 index 794ce96..0000000 --- a/src/rtl/pe/generic/multiplier32_generic.v +++ /dev/null @@ -1,85 +0,0 @@ -//====================================================================== -// -// modexpa7_pe_mul.v -// ----------------------------------------------------------------------------- -// Low-level processing element (multiplier). -// -// Authors: Pavel Shatov -// -// Copyright (c) 2017, NORDUnet A/S All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// - Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// - Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// - Neither the name of the NORDUnet nor the names of its contributors may -// be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -//====================================================================== - -module multiplier32_generic - ( - input clk, - input [31: 0] a, - input [31: 0] b, - input [31: 0] t, - input [31: 0] c_in, - output [31: 0] p, - output [31: 0] c_out - ); - - // - // Customizable Latency - // - parameter LATENCY = 4; - - // - // Delay Line - // - reg [63: 0] abct[1:LATENCY]; - - // - // Outputs - // - assign p = abct[LATENCY][31: 0]; - assign c_out = abct[LATENCY][63:32]; - - // - // Sub-products - // - wire [63: 0] ab = {{32{1'b0}}, a} * {{32{1'b0}}, b}; - wire [63: 0] ct = {{32{1'b0}}, c_in} + {{32{1'b0}}, t}; - - // - // Delay - // - integer i; - always @(posedge clk) - // - for (i=1; i<=LATENCY; i=i+1) - abct[i] <= (i == 1) ? ab + ct : abct[i-1]; - -endmodule - -//====================================================================== -// End of file -//====================================================================== diff --git a/src/rtl/pe/modexpa7_pe_add.v b/src/rtl/pe/modexpa7_pe_add.v deleted file mode 100644 index 467be5d..0000000 --- a/src/rtl/pe/modexpa7_pe_add.v +++ /dev/null @@ -1,76 +0,0 @@ -//====================================================================== -// -// modexpa7_pe_add.v -// ----------------------------------------------------------------------------- -// Low-level processing element (adder). -// -// Authors: Pavel Shatov -// -// Copyright (c) 2017, NORDUnet A/S All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// - Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// - Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// - Neither the name of the NORDUnet nor the names of its contributors may -// be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -//====================================================================== - -module modexpa7_pe_add - ( - input clk, - input ce, - input [31: 0] a, - input [31: 0] b, - input c_in, - output [31: 0] s, - output c_out - ); - - - // - // Include Primitive Selector - // - `include "modexpa7_pe_settings.v" - - - // - // Instantiate Vendor/Generic Primitive - // - `ADDER32_PRIMITIVE adder32_inst - ( - .clk(clk), - .ce(ce), - .a(a), - .b(b), - .s(s), - .c_in(c_in), - .c_out(c_out) - ); - - -endmodule - -//====================================================================== -// End of file -//====================================================================== diff --git a/src/rtl/pe/modexpa7_pe_mul.v b/src/rtl/pe/modexpa7_pe_mul.v deleted file mode 100644 index 6453049..0000000 --- a/src/rtl/pe/modexpa7_pe_mul.v +++ /dev/null @@ -1,75 +0,0 @@ -//====================================================================== -// -// modexpa7_pe_mul.v -// ----------------------------------------------------------------------------- -// Low-level processing element (multiplier). -// -// Authors: Pavel Shatov -// -// Copyright (c) 2017, NORDUnet A/S All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// - Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// - Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// - Neither the name of the NORDUnet nor the names of its contributors may -// be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -//====================================================================== - -module modexpa7_pe_mul - ( - input clk, - input [31: 0] a, - input [31: 0] b, - input [31: 0] t, - input [31: 0] c_in, - output [31: 0] p, - output [31: 0] c_out - ); - - - // - // Include Primitive Selector - // - `include "modexpa7_pe_settings.v" - - - // - // Instantiate Vendor/Generic Primitive - // - `MULTIPLIER32_PRIMITIVE multiplier32_inst - ( - .clk(clk), - .a(a), - .b(b), - .t(t), - .c_in(c_in), - .p(p), - .c_out(c_out) - ); - -endmodule - -//====================================================================== -// End of file -//====================================================================== diff --git a/src/rtl/pe/modexpa7_pe_settings.v b/src/rtl/pe/modexpa7_pe_settings.v deleted file mode 100644 index 9c16d73..0000000 --- a/src/rtl/pe/modexpa7_pe_settings.v +++ /dev/null @@ -1,15 +0,0 @@ -//`define USE_VENDOR_PRIMITIVES - -`ifdef USE_VENDOR_PRIMITIVES - -`define ADDER32_PRIMITIVE adder32_artix7 -`define SUBTRACTOR32_PRIMITIVE subtractor32_artix7 -`define MULTIPLIER32_PRIMITIVE multiplier32_artix7 - -`else - -`define ADDER32_PRIMITIVE adder32_generic -`define SUBTRACTOR32_PRIMITIVE subtractor32_generic -`define MULTIPLIER32_PRIMITIVE multiplier32_generic - -`endif diff --git a/src/rtl/pe/modexpa7_pe_sub.v b/src/rtl/pe/modexpa7_pe_sub.v deleted file mode 100644 index 2da4900..0000000 --- a/src/rtl/pe/modexpa7_pe_sub.v +++ /dev/null @@ -1,76 +0,0 @@ -//====================================================================== -// -// modexpa7_pe_sub.v -// ----------------------------------------------------------------------------- -// Low-level processing element (subtractor). -// -// Authors: Pavel Shatov -// -// Copyright (c) 2017, NORDUnet A/S All rights reserved. -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// - Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// - Redistributions in binary form must reproduce the above copyright -// notice, this list of conditions and the following disclaimer in the -// documentation and/or other materials provided with the distribution. -// -// - Neither the name of the NORDUnet nor the names of its contributors may -// be used to endorse or promote products derived from this software -// without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -// IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -// PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED -// TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -// -//====================================================================== - -module modexpa7_pe_sub - ( - input clk, - input ce, - input [31: 0] a, - input [31: 0] b, - input b_in, - output [31: 0] d, - output b_out - ); - - - // - // Include Primitive Selector - // - `include "modexpa7_pe_settings.v" - - - // - // Instantiate Vendor/Generic Primitive - // - `SUBTRACTOR32_PRIMITIVE subtractor32_inst - ( - .clk(clk), - .ce(ce), - .a(a), - .b(b), - .d(d), - .b_in(b_in), - .b_out(b_out) - ); - - -endmodule - -//====================================================================== -// End of file -//====================================================================== -- cgit v1.2.3