From 6fde50c9dd78be8662f7e84833d5c696b087ab9a Mon Sep 17 00:00:00 2001 From: Paul Selkirk Date: Thu, 18 Jun 2015 13:46:16 -0400 Subject: add support for verilator linting --- eim/build/Makefile | 3 +++ 1 file changed, 3 insertions(+) (limited to 'eim') diff --git a/eim/build/Makefile b/eim/build/Makefile index 7bb4ffd..5fd3f2a 100644 --- a/eim/build/Makefile +++ b/eim/build/Makefile @@ -69,3 +69,6 @@ vfiles = \ ../../../../math/modexp/src/rtl/shr32.v include xilinx.mk + +lint: + verilator --lint-only --top-module novena_top -Wall -Wno-fatal -Wno-DECLFILENAME $(vfiles) ../../common/rtl/lint-dummy.v -- cgit v1.2.3 From 33cc55adaf9ff31473802414f9c0d6e4a553cddf Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Fri, 26 Jun 2015 12:59:48 -0400 Subject: Track filename changes in ModExp core. --- eim/build/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'eim') diff --git a/eim/build/Makefile b/eim/build/Makefile index 5fd3f2a..ae8a5ad 100644 --- a/eim/build/Makefile +++ b/eim/build/Makefile @@ -56,7 +56,7 @@ vfiles = \ ../../../../cipher/chacha/src/rtl/chacha.v \ ../../../../cipher/chacha/src/rtl/chacha_core.v \ ../../../../cipher/chacha/src/rtl/chacha_qr.v \ - ../../../../math/modexp/src/rtl/adder32.v \ + ../../../../math/modexp/src/rtl/adder.v \ ../../../../math/modexp/src/rtl/blockmem1r1w.v \ ../../../../math/modexp/src/rtl/blockmem2r1wptr.v \ ../../../../math/modexp/src/rtl/blockmem2r1w.v \ @@ -65,8 +65,8 @@ vfiles = \ ../../../../math/modexp/src/rtl/modexp_core.v \ ../../../../math/modexp/src/rtl/montprod.v \ ../../../../math/modexp/src/rtl/residue.v \ - ../../../../math/modexp/src/rtl/shl32.v \ - ../../../../math/modexp/src/rtl/shr32.v + ../../../../math/modexp/src/rtl/shl.v \ + ../../../../math/modexp/src/rtl/shr.v include xilinx.mk -- cgit v1.2.3 From c44c8a77b56778c951fb09f94a577057573dbfa7 Mon Sep 17 00:00:00 2001 From: Paul Selkirk Date: Fri, 17 Jul 2015 10:31:26 -0400 Subject: experimental modexps6 (which requires changing the read timing on all other cores) --- eim/build/Makefile | 26 ++++--- eim/build/xilinx.mk | 4 +- eim/iseconfig/novena_eim.xise | 177 +++++++++++++++++++++--------------------- eim/rtl/novena_eim.v | 10 +-- 4 files changed, 107 insertions(+), 110 deletions(-) (limited to 'eim') diff --git a/eim/build/Makefile b/eim/build/Makefile index ae8a5ad..a173950 100644 --- a/eim/build/Makefile +++ b/eim/build/Makefile @@ -56,19 +56,21 @@ vfiles = \ ../../../../cipher/chacha/src/rtl/chacha.v \ ../../../../cipher/chacha/src/rtl/chacha_core.v \ ../../../../cipher/chacha/src/rtl/chacha_qr.v \ - ../../../../math/modexp/src/rtl/adder.v \ - ../../../../math/modexp/src/rtl/blockmem1r1w.v \ - ../../../../math/modexp/src/rtl/blockmem2r1wptr.v \ - ../../../../math/modexp/src/rtl/blockmem2r1w.v \ - ../../../../math/modexp/src/rtl/blockmem2rptr1w.v \ - ../../../../math/modexp/src/rtl/modexp.v \ - ../../../../math/modexp/src/rtl/modexp_core.v \ - ../../../../math/modexp/src/rtl/montprod.v \ - ../../../../math/modexp/src/rtl/residue.v \ - ../../../../math/modexp/src/rtl/shl.v \ - ../../../../math/modexp/src/rtl/shr.v + ../../../../../test/modexps6/src/rtl/modexps6_adder64_carry32.v \ + ../../../../../test/modexps6/src/rtl/modexps6_buffer_core.v \ + ../../../../../test/modexps6/src/rtl/modexps6_buffer_user.v \ + ../../../../../test/modexps6/src/rtl/modexps6_modinv32.v \ + ../../../../../test/modexps6/src/rtl/modexps6_montgomery_coeff.v \ + ../../../../../test/modexps6/src/rtl/modexps6_montgomery_multiplier.v \ + ../../../../../test/modexps6/src/rtl/modexps6_top.v \ + ../../../../../test/modexps6/src/rtl/modexps6_wrapper.v \ + ../../../../../test/modexps6/src/rtl/ram_1rw_1ro_readfirst.v + +xilinx_cores = \ + ../../../../../test/modexps6/src/rtl/ipcore/multiplier_s6.xco \ + ../../../../../test/modexps6/src/rtl/ipcore/subtractor_s6.xco include xilinx.mk lint: - verilator --lint-only --top-module novena_top -Wall -Wno-fatal -Wno-DECLFILENAME $(vfiles) ../../common/rtl/lint-dummy.v + verilator --lint-only --top-module novena_top -Wall -Wno-fatal -Wno-DECLFILENAME $(vfiles) ../../../../math/modexps6/src/rtl/ipcore/multiplier_s6.v ../../../../math/modexps6/src/rtl/ipcore/subtractor_s6..v ../../common/rtl/lint-dummy.v diff --git a/eim/build/xilinx.mk b/eim/build/xilinx.mk index 8065e45..8a81ef9 100644 --- a/eim/build/xilinx.mk +++ b/eim/build/xilinx.mk @@ -31,7 +31,9 @@ # TODO: .xco files are device dependant, should use a template based system coregen_work_dir ?= ./coregen-tmp -map_opts ?= -timing -ol high -detail -pr b -register_duplication -w -xe n +#map_opts ?= -timing -ol high -detail -pr b -register_duplication -w -xe n +# from https://github.com/fpga-logi/logi-hard/blob/master/build_lib/synth/xilinx.mk: +map_opts ?= -w -logic_opt off -ol high -t 1 -xt 0 -register_duplication off -r 4 -global_opt off -mt off -ir off -pr off -lc off -power off par_opts ?= -ol high isedir ?= /opt/Xilinx/13.3/ISE_DS xil_env ?= . $(isedir)/settings32.sh diff --git a/eim/iseconfig/novena_eim.xise b/eim/iseconfig/novena_eim.xise index b7708eb..e89c042 100644 --- a/eim/iseconfig/novena_eim.xise +++ b/eim/iseconfig/novena_eim.xise @@ -17,87 +17,71 @@ - + - + - - - - - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - + - + - + - + @@ -105,146 +89,160 @@ - + - + - + - - - - - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - - - - - - - - - - - - - - - - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -272,7 +270,7 @@ - + @@ -450,6 +448,7 @@ + diff --git a/eim/rtl/novena_eim.v b/eim/rtl/novena_eim.v index 0d8c8d0..1a1b1f6 100644 --- a/eim/rtl/novena_eim.v +++ b/eim/rtl/novena_eim.v @@ -142,14 +142,8 @@ module novena_top // hashes, RNGs and ciphers to different regions (segments) of memory. //---------------------------------------------------------------- - // register read data for one clock cycle for EIM - wire [31 : 0] tmp_read_data; - reg [31 : 0] tmp_read_data_reg; - assign sys_eim_din = tmp_read_data_reg; - always @(posedge sys_clk) - begin - tmp_read_data_reg <= tmp_read_data; - end + wire [31 : 0] tmp_read_data; + assign sys_eim_din = tmp_read_data; core_selector cores ( -- cgit v1.2.3 From 769f9691eb54453c2eee00c958ba53a5c2885c71 Mon Sep 17 00:00:00 2001 From: Paul Selkirk Date: Fri, 17 Jul 2015 12:04:46 -0400 Subject: move new modexps6 core from test to core --- eim/build/Makefile | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'eim') diff --git a/eim/build/Makefile b/eim/build/Makefile index a173950..1541f45 100644 --- a/eim/build/Makefile +++ b/eim/build/Makefile @@ -56,19 +56,19 @@ vfiles = \ ../../../../cipher/chacha/src/rtl/chacha.v \ ../../../../cipher/chacha/src/rtl/chacha_core.v \ ../../../../cipher/chacha/src/rtl/chacha_qr.v \ - ../../../../../test/modexps6/src/rtl/modexps6_adder64_carry32.v \ - ../../../../../test/modexps6/src/rtl/modexps6_buffer_core.v \ - ../../../../../test/modexps6/src/rtl/modexps6_buffer_user.v \ - ../../../../../test/modexps6/src/rtl/modexps6_modinv32.v \ - ../../../../../test/modexps6/src/rtl/modexps6_montgomery_coeff.v \ - ../../../../../test/modexps6/src/rtl/modexps6_montgomery_multiplier.v \ - ../../../../../test/modexps6/src/rtl/modexps6_top.v \ - ../../../../../test/modexps6/src/rtl/modexps6_wrapper.v \ - ../../../../../test/modexps6/src/rtl/ram_1rw_1ro_readfirst.v + ../../../../math/modexps6/src/rtl/modexps6_adder64_carry32.v \ + ../../../../math/modexps6/src/rtl/modexps6_buffer_core.v \ + ../../../../math/modexps6/src/rtl/modexps6_buffer_user.v \ + ../../../../math/modexps6/src/rtl/modexps6_modinv32.v \ + ../../../../math/modexps6/src/rtl/modexps6_montgomery_coeff.v \ + ../../../../math/modexps6/src/rtl/modexps6_montgomery_multiplier.v \ + ../../../../math/modexps6/src/rtl/modexps6_top.v \ + ../../../../math/modexps6/src/rtl/modexps6_wrapper.v \ + ../../../../math/modexps6/src/rtl/ram_1rw_1ro_readfirst.v xilinx_cores = \ - ../../../../../test/modexps6/src/rtl/ipcore/multiplier_s6.xco \ - ../../../../../test/modexps6/src/rtl/ipcore/subtractor_s6.xco + ../../../../math/modexps6/src/rtl/ipcore/multiplier_s6.xco \ + ../../../../math/modexps6/src/rtl/ipcore/subtractor_s6.xco include xilinx.mk -- cgit v1.2.3 From f5cfe0b5d45f627877d8829b25f9ff637749cf97 Mon Sep 17 00:00:00 2001 From: Paul Selkirk Date: Fri, 17 Jul 2015 15:47:57 -0400 Subject: remove .xco files from build --- eim/build/Makefile | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'eim') diff --git a/eim/build/Makefile b/eim/build/Makefile index 1541f45..59f792f 100644 --- a/eim/build/Makefile +++ b/eim/build/Makefile @@ -64,11 +64,9 @@ vfiles = \ ../../../../math/modexps6/src/rtl/modexps6_montgomery_multiplier.v \ ../../../../math/modexps6/src/rtl/modexps6_top.v \ ../../../../math/modexps6/src/rtl/modexps6_wrapper.v \ - ../../../../math/modexps6/src/rtl/ram_1rw_1ro_readfirst.v - -xilinx_cores = \ - ../../../../math/modexps6/src/rtl/ipcore/multiplier_s6.xco \ - ../../../../math/modexps6/src/rtl/ipcore/subtractor_s6.xco + ../../../../math/modexps6/src/rtl/ram_1rw_1ro_readfirst.v \ + ../../../../math/modexps6/src/rtl/ipcore/multiplier_s6.v \ + ../../../../math/modexps6/src/rtl/ipcore/subtractor_s6.v include xilinx.mk -- cgit v1.2.3 From 5f1de63e3bc6043ee10683a2c9fd8a7c03a3983a Mon Sep 17 00:00:00 2001 From: Paul Selkirk Date: Sat, 18 Jul 2015 06:06:55 -0400 Subject: update lint for new ipcore modules --- eim/build/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'eim') diff --git a/eim/build/Makefile b/eim/build/Makefile index 59f792f..6b251f2 100644 --- a/eim/build/Makefile +++ b/eim/build/Makefile @@ -71,4 +71,4 @@ vfiles = \ include xilinx.mk lint: - verilator --lint-only --top-module novena_top -Wall -Wno-fatal -Wno-DECLFILENAME $(vfiles) ../../../../math/modexps6/src/rtl/ipcore/multiplier_s6.v ../../../../math/modexps6/src/rtl/ipcore/subtractor_s6..v ../../common/rtl/lint-dummy.v + verilator --lint-only --top-module novena_top -Wall -Wno-fatal -Wno-DECLFILENAME $(vfiles) ../../common/rtl/lint-dummy.v -- cgit v1.2.3