From 2fd87cc940a2011fe52f4f080dc517f38177974d Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Tue, 23 Mar 2021 06:56:23 +0000 Subject: [PATCH] - added fir parallel git-svn-id: http://moon:8086/svn/vhdl/trunk@1471 cc03376c-175c-47c8-b038-4cd826a8556b --- lib/filter/ghdl/fir_iterative.make.inc | 2 +- lib/filter/ghdl/fir_parallel.make.inc | 17 +++++++++++++++++ lib/filter/ghdl/tb_fir_iterative.make | 2 +- lib/filter/ghdl/tb_fir_parallel.gtkw | 24 ++++++++++++++++++++++++ lib/filter/ghdl/tb_fir_parallel.make | 19 +++++++++++++++++++ lib/filter/ghdl/wav_in.dat | Bin 0 -> 65840 bytes 6 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 lib/filter/ghdl/fir_parallel.make.inc create mode 100644 lib/filter/ghdl/tb_fir_parallel.gtkw create mode 100644 lib/filter/ghdl/tb_fir_parallel.make create mode 100644 lib/filter/ghdl/wav_in.dat diff --git a/lib/filter/ghdl/fir_iterative.make.inc b/lib/filter/ghdl/fir_iterative.make.inc index 2651c55..51db48a 100644 --- a/lib/filter/ghdl/fir_iterative.make.inc +++ b/lib/filter/ghdl/fir_iterative.make.inc @@ -13,7 +13,7 @@ _SRC += $(FIR_ITERATIVE_LIB)/filter/src/fir_stage.vhd _SRC += $(FIR_ITERATIVE_LIB)/filter/src/fir_iterative.vhd -FIR_ITERATIVE_ROOT_SRCS := $(addprefix $(_CURDIR)/,$(_SRC)) +FIR_ITERATIVE_SRCS := $(addprefix $(_CURDIR)/,$(_SRC)) undefine $(_SRC) diff --git a/lib/filter/ghdl/fir_parallel.make.inc b/lib/filter/ghdl/fir_parallel.make.inc new file mode 100644 index 0000000..f561f29 --- /dev/null +++ b/lib/filter/ghdl/fir_parallel.make.inc @@ -0,0 +1,17 @@ +_PKG_NAME := FIR_PARALLEL +FIR_PARALLEL_ROOT := ../../.. +FIR_PARALLEL_LIB := $(FIR_PARALLEL_ROOT)/lib + +_CURDIR = $(shell dirname $(lastword $(MAKEFILE_LIST))) + +_SRC := $(FIR_PARALLEL_LIB)/misc/utils_pkg.vhd +_SRC += $(FIR_PARALLEL_LIB)/fixed/ieee_proposed/fixed_util_pkg.vhd +_SRC += $(FIR_PARALLEL_LIB)/filter/src/filter_pkg.vhd +_SRC += $(FIR_PARALLEL_LIB)/filter/src/fir_pkg.vhd +_SRC += $(FIR_PARALLEL_LIB)/filter/src/fir_stage.vhd +_SRC += $(FIR_PARALLEL_LIB)/filter/src/fir_parallel.vhd + +FIR_PARALLEL_SRCS := $(addprefix $(_CURDIR)/,$(_SRC)) + +undefine $(_SRC) + diff --git a/lib/filter/ghdl/tb_fir_iterative.make b/lib/filter/ghdl/tb_fir_iterative.make index d37663e..8c815a9 100644 --- a/lib/filter/ghdl/tb_fir_iterative.make +++ b/lib/filter/ghdl/tb_fir_iterative.make @@ -5,7 +5,7 @@ LIB_PATH := $(ROOT_PATH)/lib SRCS += $(LIB_PATH)/PCK_FIO-2002.7/PCK_FIO_1993.vhd SRCS += $(LIB_PATH)/PCK_FIO-2002.7/PCK_FIO_1993_BODY.vhd -SRCS += $(FIR_ITERATIVE_ROOT_SRCS) +SRCS += $(FIR_ITERATIVE_SRCS) SRCS += $(LIB_PATH)/filter/src/tb_fir_iterative.vhd # Compile diff --git a/lib/filter/ghdl/tb_fir_parallel.gtkw b/lib/filter/ghdl/tb_fir_parallel.gtkw new file mode 100644 index 0000000..bf55ef6 --- /dev/null +++ b/lib/filter/ghdl/tb_fir_parallel.gtkw @@ -0,0 +1,24 @@ +[*] +[*] GTKWave Analyzer v3.3.104 (w)1999-2020 BSI +[*] Tue Mar 23 06:55:49 2021 +[*] +[dumpfile] "/home/jens/work/vhdl/trunk/lib/filter/ghdl/build/tb_fir_parallel/tb_fir_parallel.vcd" +[dumpfile_mtime] "Tue Mar 23 06:54:46 2021" +[dumpfile_size] 18152658 +[savefile] "/home/jens/work/vhdl/trunk/lib/filter/ghdl/build/tb_fir_parallel/tb_fir_parallel.gtkw" +[timestart] 0 +[size] 1856 1136 +[pos] -39 -39 +*-34.678261 46700000000 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 +[sst_width] 233 +[signals_width] 118 +[sst_expanded] 1 +[sst_vpaned_height] 331 +@28 +tb_fir_parallel.clk +tb_fir_parallel.srst +@8421 +tb_fir_parallel.x_in[15:0] +tb_fir_parallel.y_out[15:0] +[pattern_trace] 1 +[pattern_trace] 0 diff --git a/lib/filter/ghdl/tb_fir_parallel.make b/lib/filter/ghdl/tb_fir_parallel.make new file mode 100644 index 0000000..0b5ea1b --- /dev/null +++ b/lib/filter/ghdl/tb_fir_parallel.make @@ -0,0 +1,19 @@ +include fir_parallel.make.inc + +ROOT_PATH := ../../.. +LIB_PATH := $(ROOT_PATH)/lib + +SRCS += $(LIB_PATH)/PCK_FIO-2002.7/PCK_FIO_1993.vhd +SRCS += $(LIB_PATH)/PCK_FIO-2002.7/PCK_FIO_1993_BODY.vhd +SRCS += $(FIR_PARALLEL_SRCS) +SRCS += $(LIB_PATH)/filter/src/tb_fir_parallel.vhd + +# Compile +TARGET := tb_fir_parallel +ENTITY := tb_fir_parallel +WITH_VCD := y +GHDL_OPTS := -P$(LIB_PATH)/fixed/ieee_proposed/build/fixed_pkg/ieee_proposed +RUN_TIME := 200us + +include $(ROOT_PATH)/Common/make/ghdl.mk + diff --git a/lib/filter/ghdl/wav_in.dat b/lib/filter/ghdl/wav_in.dat new file mode 100644 index 0000000000000000000000000000000000000000..b4fc7bd13d4b8a52dedbff33acebe1c8c1ecda33 GIT binary patch literal 65840 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