summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: c78ff53)
raw | patch | inline | side by side (parent: c78ff53)
author | RPrabhu <r-prabhu@ti.com> | |
Mon, 5 Jun 2017 02:35:37 +0000 (21:35 -0500) | ||
committer | RPrabhu <r-prabhu@ti.com> | |
Mon, 5 Jun 2017 02:35:37 +0000 (21:35 -0500) |
index a04bd2266c3007d8e35c130ca8d21953d8369f2f..9339330a7729486b6f79a7f5d2dd3cd6b5d76eb9 100644 (file)
set OUTPUT_FORMAT=ELF
REM Version of CG-Tools
-set CGT_VERSION=8.1.2
+if not defined CGT_VERSION (
+ echo ERROR: SDK build environment not setup. Run setup script in root Processor SDK RTOS directory
+ echo ERROR: set CGT_VERSION
+ goto PATH_ERR
+)
if not defined PROC_SDK_INSTALL_PATH (
set PROC_SDK_INSTALL_PATH=%SDK_INSTALL_PATH%/processor_sdk_rtos_%PROC_SDK_VERSION%
)
set PROC_SDK_INSTALL_PATH=%PROC_SDK_INSTALL_PATH:\=/%
-if not %SOC_ARG% == OMAPL138 (
-if not defined DSPLIB_INSTALL_PATH (
- set DSPLIB_INSTALL_PATH=C:\ti\dsplib_c66x_3_4_0_0
-)
-set DSPLIB_INSTALL_PATH=%DSPLIB_INSTALL_PATH:\=/%
-if not defined MATHLIB_INSTALL_PATH (
- set MATHLIB_INSTALL_PATH=C:\ti\mathlib_c66x_3_1_1_0
-)
-set MATHLIB_INSTALL_PATH=%MATHLIB_INSTALL_PATH:\=/%
-) else (
if not defined DSPLIB_INSTALL_PATH (
- set DSPLIB_INSTALL_PATH=C:\ti\dsplib_c674x_3_4_0_0
+ echo ERROR: Either SDK build environment not setup correctly or DSPLIB_INSTALL_PATH is not set.
+ echo ERROR: Run setup script in root Processor SDK RTOS directory
+ goto PATH_ERR
)
-set DSPLIB_INSTALL_PATH=%DSPLIB_INSTALL_PATH:\=/%
if not defined MATHLIB_INSTALL_PATH (
- set MATHLIB_INSTALL_PATH=C:\ti\mathlib_c674x_3_1_1_0
-)
-set MATHLIB_INSTALL_PATH=%MATHLIB_INSTALL_PATH:\=/%
+ echo ERROR: Either SDK build environment not setup correctly or MATHLIB_INSTALL_PATH is not set
+ echo ERROR: Run setup script in root Processor SDK RTOS directory
+ goto PATH_ERR
)
+goto PATH_COMPLETE
+
+:PATH_ERR
+echo Exiting...
+echo =========================================================================
+goto ENDSCRIPT
+
+:PATH_COMPLETE
REM PDK Part Number & Platform name
if %SOC_ARG% == K2G (
set PDK_PARTNO=66AK2G02
diff --git a/src/singlePrecision_FFT/DSPF_sp_fftSPxSP_d.c b/src/singlePrecision_FFT/DSPF_sp_fftSPxSP_d.c
index 47db60d98fdb224468645a1683789ff8ebc02c17..c00993a999082925313e0d3eb2be1c89715b1b4d 100644 (file)
#include <math.h>
#include <c6x.h>
#include "DSPF_sp_fftSPxSP.h"
+#if defined(_TMS320C6600)
#include "DSPF_sp_fftSPxSP_opt.h"
+#endif
#include "DSPF_sp_fftSPxSP_cn.h"
/* Kernel-specific alignments */
/* ======================================================================== */
#pragma DATA_ALIGN(x_i, 8);
+#if defined(_TMS320C6600)
#pragma DATA_ALIGN(x_sa, 8);
+#endif
#pragma DATA_ALIGN(x_cn, 8);
#pragma DATA_ALIGN(w, 8);
#pragma DATA_ALIGN(y_i, 8);
+#if defined(_TMS320C6600)
#pragma DATA_ALIGN(y_sa, 8);
+#endif
#pragma DATA_ALIGN(y_cn, 8);
#pragma DATA_ALIGN(brev, 8);
/* ======================================================================== */
/* Parameters of fixed dataset. */
/* ======================================================================== */
-#define MAXN (1024)
+#define MAXN (256)
#define M (2*MAXN)
#define PAD (16)
/* ======================================================================== */
float x_i [M + 2 * PAD];
+#if defined(_TMS320C6600)
float x_sa[M + 2 * PAD];
+#endif
float x_cn[M + 2 * PAD];
float w [M + 2 * PAD];
float y_i [M + 2 * PAD];
+#if defined(_TMS320C6600)
float y_sa[M + 2 * PAD];
+#endif
float y_cn[M + 2 * PAD];
/* ======================================================================== */
/* Generate pointers to skip beyond array padding */
/* ======================================================================== */
float *const ptr_x_i = x_i + PAD;
+#if defined(_TMS320C6600)
float *const ptr_x_sa = x_sa + PAD;
+#endif
float *const ptr_x_cn = x_cn + PAD;
float *const ptr_w = w + PAD;
float *const ptr_y_i = y_i + PAD;
+#if defined(_TMS320C6600)
float *const ptr_y_sa = y_sa + PAD;
+#endif
float *const ptr_y_cn = y_cn + PAD;
unsigned char brev[64] = {
{
memset (x_i, 0x55, sizeof (x_i) );
+ #if defined(_TMS320C6600)
memset (x_sa, 0x55, sizeof (x_sa));
+ #endif
memset (x_cn, 0x55, sizeof (x_cn));
/* ---------------------------------------------------------------- */
{
x_cn[PAD + 2 * i] = sin (2 * 3.1415 * 50 * i / (double) N);
x_cn[PAD + 2 * i + 1] = sin (2 * 3.1415 * 100 * i / (double) N);
+ #if defined(_TMS320C6600)
x_sa[PAD + 2 * i] = x_cn[PAD + 2 * i];
x_sa[PAD + 2 * i + 1] = x_cn[PAD + 2 * i + 1];
+ #endif
x_i [PAD + 2 * i] = x_cn[PAD + 2 * i];
x_i [PAD + 2 * i + 1] = x_cn[PAD + 2 * i + 1];
}
/* Force uninitialized arrays to fixed values. */
/* ---------------------------------------------------------------- */
memset (y_i, 0xA5, sizeof (y_i) );
+ #if defined(_TMS320C6600)
memset (y_sa, 0xA5, sizeof (y_sa));
+ #endif
memset (y_cn, 0xA5, sizeof (y_cn));
/* ---------------------------------------------------------------- */
DSPF_sp_fftSPxSP_cn (N, &ptr_x_cn[0], &ptr_w[0], ptr_y_cn, brev, rad, 0, N);
t_stop = _itoll(TSCH, TSCL);
t_cn = (t_stop - t_start) - t_overhead;
-
+
+#if defined(_TMS320C6600)
t_start = _itoll(TSCH, TSCL);
DSPF_sp_fftSPxSP_opt (N, &ptr_x_i[0], &ptr_w[0], ptr_y_i, brev, rad, 0, N);
t_stop = _itoll(TSCH, TSCL);
t_i = (t_stop - t_start) - t_overhead;
+#endif
t_start = _itoll(TSCH, TSCL);
-#ifdef __TI_COMPILER_VERSION__ // for TI compiler only
+#if defined(_TMS320C6600)
DSPF_sp_fftSPxSP (N, &ptr_x_sa[0], &ptr_w[0], ptr_y_sa, brev, rad, 0, N);
+#endif
+#if !defined(_TMS320C6600)
+ DSPF_sp_fftSPxSP (N, &ptr_x_i[0], &ptr_w[0], ptr_y_i, brev, rad, 0, N);
#endif
t_stop = _itoll(TSCH, TSCL);
t_opt = (t_stop - t_start) - t_overhead;
AUDIO_log("Intrinsic Failure max_pct_diff = %f", max_pct_diff);
else
AUDIO_log("Intrinsic Successful ");
-
+
+#if defined(_TMS320C6600)
pct_diff = 0; max_pct_diff = 0;
for(i=0; i<N; i++) {
pct_diff = (ptr_y_cn[i] - ptr_y_sa[i]) / ptr_y_cn[i] * 100.0;
form_cycle[0] = t_opt;
if (N == CYCLE_FORMULA_NX_PT2)
form_cycle[1] = t_opt;
+#endif
+#if !defined(_TMS320C6600)
+ AUDIO_log("\tN = %d\tradix = %d\tnatC: %d\toptC: %d\n", N, rad, t_cn, t_opt);
+#endif
}
+
/* Provide memory information */
#ifdef __TI_COMPILER_VERSION__ // for TI compiler only
AUDIO_log("Memory: %d bytes\n", &kernel_size);
/* Provide profiling information */
AUDIO_log("Cycles: %d (N=128) %d (N=256)\n", form_cycle[0], form_cycle[1]);
+ AUDIO_log("Test Passed\n");
}
/* Function for generating Specialized sequence of twiddle factors */
index 25f97e13827a20595b76907c68bb62da6a1aba07..644690db07196d8008e02b242ca028a8f2bea9a3 100644 (file)
DEVICE=k2h
DEVICE_CC_OPTS+=-DDEVICE_K2H -DSOC_K2H
LNKCMD_FILE = ../common/lnk_k2x.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(BOARD),evmK2H)
DEVICE_CC_OPTS += -DEVM_K2H
endif
endif
endif
+
ifeq ($(SOC),$(filter $(SOC),k2e K2E))
DEVICE=k2e
DEVICE_CC_OPTS+=-DDEVICE_K2E -DSOC_K2E
LNKCMD_FILE = ../common/lnk_k2x.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(BOARD),evmK2E)
DEVICE_CC_OPTS += -DEVM_K2E
endif
DEVICE=c6678
DEVICE_CC_OPTS+=-DDEVICE_C6678 -DSOC_C6678
LNKCMD_FILE = ../common/lnk_c66xx.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(BOARD),evmC6678)
DEVICE_CC_OPTS += -DEVM_C6678
endif
DEVICE=c6657
DEVICE_CC_OPTS+=-DDEVICE_C6657 -DSOC_C6657
LNKCMD_FILE = ../common/lnk_c66xx.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(BOARD),evmC6657)
DEVICE_CC_OPTS += -DEVM_C6657
endif
DEVICE=k2g
DEVICE_CC_OPTS+=-DDEVICE_K2G -DSOC_K2G
LNKCMD_FILE = ../common/lnk_k2x.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(BOARD),evmK2G)
DEVICE_CC_OPTS += -DEVM_K2G
endif
DEVICE=am572x
endif
LNKCMD_FILE = ../common/lnk_am57xx.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(DEVICE),am572x)
DEVICE_CC_OPTS +=-DDEVICE_AM572x -DSOC_AM572x
ifeq ($(BOARD),evmAM572x)
endif
endif
+ifeq ($(SOC),$(filter $(SOC),omapl13x omapl138 omapl137 c6747 c6748))
+ ifndef DEVICE
+ DEVICE=omapl138
+ endif
+ LNKCMD_FILE = ../common/lnk_c674x.cmd
+ ISA_OPTS+= -mv6740
+ DSP_CORE+=c674
+ LIBEXT+=ae674
+ ifeq ($(DEVICE),omapl138)
+ DEVICE_CC_OPTS +=-DDEVICE_OMAPL138 -DSOC_OMAPL138
+ ifeq ($(BOARD),lcdkOMAPL138)
+ DEVICE_CC_OPTS += -DlcdkOMAPL138
+ endif
+ ifndef BOARD
+ BOARD=lcdkOMAPL138
+ DEVICE_CC_OPTS += -DlcdkOMAPL138
+ endif
+ endif
+
+
+ ifeq ($(DEVICE),omapl137)
+ DEVICE_CC_OPTS +=-DDEVICE_OMAPL137 -DSOC_OMAPL137
+ ifeq ($(BOARD),evmOMAPL137)
+ DEVICE_CC_OPTS += -DevmOMAPL137
+ endif
+ ifndef BOARD
+ BOARD=evmOMAPL137
+ DEVICE_CC_OPTS += -DevmOMAPL137
+ endif
+ endif
+endif
+
+
# Cross tools
#ifdef TOOLCHAIN_PATH_C66
# Support backwards compatibility with KeyStone1 approach
CC_INCS := $(C6X_GEN_INSTALL_PATH)/include
CSL_DIR := $(PDK_INSTALL_PATH)/ti/csl/
PRSDK_INCDIR := $(CSL_DIR);$(PDK_INSTALL_PATH);../common;$(PDK_INSTALL_PATH)/ti/board/src/$(BOARD)/include
-DSPLIB_INCDIR := $(DSPLIB_INSTALL_PATH)/packages;$(MATHLIB_INSTALL_PATH)/packages;$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/common/c66;$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fftSPxSP;$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fftSPxSP/c66
+DSPLIB_INCDIR := $(DSPLIB_INSTALL_PATH)/packages;$(MATHLIB_INSTALL_PATH)/packages;$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/common/$(DSP_CORE);$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fftSPxSP;$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fftSPxSP/$(DSP_CORE)
INCDIR := $(CC_INCS);$(PRSDK_INCDIR);$(DSPLIB_INCDIR)
DSPLIB_INCS = -I. -I$(strip $(subst ;, -I,$(DSPLIB_INCDIR)))
# Libraries
-BOARD_LIB_DIR := $(PDK_INSTALL_PATH)/ti/board/lib/$(BOARD)/c66/release
-UART_LIB_DIR := $(PDK_INSTALL_PATH)/ti/drv/uart/lib/$(DEVICE)/c66/release
-OSAL_LIB_DIR := $(PDK_INSTALL_PATH)/ti/osal/lib/nonos/$(DEVICE)/c66/release
-CSL_LIB_DIR := $(PDK_INSTALL_PATH)/ti/csl/lib/$(DEVICE)/c66/release
-CSL_INIT_LIB_DIR := $(PDK_INSTALL_PATH)/ti/csl/lib/$(DEVICE)/c66/release
+BOARD_LIB_DIR := $(PDK_INSTALL_PATH)/ti/board/lib/$(BOARD)/$(DSP_CORE)/release
+UART_LIB_DIR := $(PDK_INSTALL_PATH)/ti/drv/uart/lib/$(DEVICE)/$(DSP_CORE)/release
+OSAL_LIB_DIR := $(PDK_INSTALL_PATH)/ti/osal/lib/nonos/$(DEVICE)/$(DSP_CORE)/release
+CSL_LIB_DIR := $(PDK_INSTALL_PATH)/ti/csl/lib/$(DEVICE)/$(DSP_CORE)/release
+CSL_INIT_LIB_DIR := $(PDK_INSTALL_PATH)/ti/csl/lib/$(DEVICE)/$(DSP_CORE)/release
CC_INCS := -i$(C6X_GEN_INSTALL_PATH)/lib
LIB_DIR := -i$(CSL_LIB_DIR) -i$(CSL_INIT_LIB_DIR) -i$(OSAL_LIB_DIR) -i$(BOARD_LIB_DIR) -i$(UART_LIB_DIR)
-BOARD_LIB :=-l"$(BOARD_LIB_DIR)/ti.board.ae66"
-UART_LIB :=-l"$(UART_LIB_DIR)/ti.drv.uart.ae66"
-OSAL_LIB :=-l"$(OSAL_LIB_DIR)/ti.osal.ae66"
-CSL_LIB :=-l"$(CSL_LIB_DIR)/ti.csl.ae66"
-CSL_INIT_LIB :=-l"$(CSL_INIT_LIB_DIR)/ti.csl.intc.ae66"
+BOARD_LIB :=-l"$(BOARD_LIB_DIR)/ti.board.$(LIBEXT)"
+UART_LIB :=-l"$(UART_LIB_DIR)/ti.drv.uart.$(LIBEXT)"
+OSAL_LIB :=-l"$(OSAL_LIB_DIR)/ti.osal.$(LIBEXT)"
+CSL_LIB :=-l"$(CSL_LIB_DIR)/ti.csl.$(LIBEXT)"
+CSL_INIT_LIB :=-l"$(CSL_INIT_LIB_DIR)/ti.csl.intc.$(LIBEXT)"
PERIPHERAL_LIB = -l$(CSL_LIB) -l$(CSL_INIT_LIB) -l$(OSAL_LIB) -l$(BOARD_LIB) -l$(UART_LIB)
# Compiler options
-INTERNALDEFS := -mv6600 -g -o3 $(DEVICE_CC_OPTS) --vectypes=on --diag_warning=225 --display_error_number --diag_wrap=off --mem_model:data=far --debug_software_pipeline -k --obj_extension=o
+INTERNALDEFS := $(ISA_OPTS) -g -o3 $(DEVICE_CC_OPTS) --vectypes=on --diag_warning=225 --display_error_number --diag_wrap=off --mem_model:data=far --debug_software_pipeline -k --obj_extension=o
ifeq ($(BUILD), CCS)
INTERNALDEFS += -DIO_CONSOLE
endif
# Linker options
-INTERNALLINKDEFS := --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="Benchmark_FFT_$(BOARD)_c66ExampleProject_linkInfo.xml" --rom_model -m"singlePrecision_FFT.map"
+INTERNALLINKDEFS := --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="Benchmark_FFT_$(BOARD)_$(DSP_CORE)ExampleProject_linkInfo.xml" --rom_model -m"singlePrecision_FFT.map"
LNK_INCS := $(DSPLIB_INCS) $(CC_INCS)
LNK_LIBS := $(CSL_LIB) $(CSL_INIT_LIB) $(OSAL_LIB) $(BOARD_LIB) $(UART_LIB) -l"libc.a"
SRCDIR = ../singlePrecision_FFT/
INCS = -I. -I$(strip $(subst ;, -I,$(INCDIR)))
-VPATH=$(SRCDIR):$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fftSPxSP/c66/:../common/:$(OBJDIR)
+VPATH=$(SRCDIR):$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fftSPxSP/$(DSP_CORE)/:../common/:$(OBJDIR)
#List the Source Files
+ifeq ($(DSP_CORE),c66)
TEST_SRC = \
DSPF_sp_fftSPxSP_d.c \
DSPF_sp_fftSPxSP_opt.c \
Benchmark_log.c
-
+else
+TEST_SRC = \
+ DSPF_sp_fftSPxSP_d.c \
+ Benchmark_log.c
+endif
+
+ifeq ($(DSP_CORE),c66)
TEST_OBJS = \
DSPF_sp_fftSPxSP_d.o \
DSPF_sp_fftSPxSP_opt.o \
Benchmark_log.o
-
+else
+TEST_OBJS = \
+ DSPF_sp_fftSPxSP_d.o \
+ Benchmark_log.o
+endif
+
+ifeq ($(DSP_CORE),c66)
TEST_ASM = \
DSPF_sp_fftSPxSP_d.asm \
DSPF_sp_fftSPxSP_opt.asm \
Benchmark_log.asm
+else
+TEST_OBJS = \
+ DSPF_sp_fftSPxSP_d.o \
+ Benchmark_log.o
+endif
-
# Make Rule for the SRC Files
TEST_SRC_OBJS = $(patsubst %.c, $(OBJDIR)/%.$(OBJEXT), $(TEST_SRC))
diff --git a/src/singlePrecision_FIR/DSPF_sp_fir_cplx_d.c b/src/singlePrecision_FIR/DSPF_sp_fir_cplx_d.c
index c416f72fa32e5315d299a2a75a16368b46ec0b2c..afe547fbe7f627e906ae1da458a9227e7e465537 100644 (file)
extern char kernel_size;
#define FLT_THRES 1E-20
#define FORMULA_SIZE 4
-#define FORMULA_DEVIDE 4
+
+#if defined(_TMS320C6600)
+#define FORMULA_DIVIDE 4
+#endif
+
+#if !defined(_TMS320C6600)
+#define FORMULA_DIVIDE 1
+#endif
+
#define CYCLE_FORMULA_NY_PT1 128
#define CYCLE_FORMULA_NY_PT2 120
#define CYCLE_FORMULA_NH_PT1 16
/* Tell compiler arrays are double word alligned */
/* ======================================================================= */
#pragma DATA_ALIGN(ptr_y_i, 8);
+#if !defined(_TMS320C6600)
+#pragma DATA_ALIGN(ptr_y_opt, 8);
+#endif
#pragma DATA_ALIGN(ptr_y_cn, 8);
#pragma DATA_ALIGN(ptr_h, 8);
#pragma DATA_ALIGN(ptr_x, 8);
//#define NH (4)
float ptr_y_i[2 * NY];
+#if !defined(_TMS320C6600)
+float ptr_y_opt[2 * NY];
+#endif
float ptr_y_cn[2 * NY];
float ptr_h[2 * NH];
float ptr_x[2 * (NY + NH - 1)];
/* Prototypes for timing functions */
/* ======================================================================= */
clock_t time_i(int ny, int nh);
+#if !defined(_TMS320C6600)
+clock_t time_opt(int ny, int nh);
+#endif
clock_t time_cn(int ny, int nh);
/* ======================================================================= */
/* ======================================================================= */
void main()
{
- clock_t t_overhead, t_start, t_stop, t_opt, t_cn;
+ clock_t t_overhead, t_start, t_stop, t_opt, t_i, t_cn;
int i, j=1, ny, nh;
int form_error = 0;
float pct_diff, max_pct_diff = 0;
UTIL_fillRandFilterSP(ptr_h, 2 * NH);
for(ny = 32; ny <= NY; ny += 8) {
+#if defined(_TMS320C6600)
for(nh = 4; nh <= NH; nh += 4) {
+#else
+ for(nh = 8; nh <= NH; nh += 4) {
+#endif
/* --------------------------------------------------------------- */
/* Clear state/output buffers with fixed values. */
/* --------------------------------------------------------------- */
memset(ptr_y_i, 0, sizeof(ptr_y_i));
+#if !defined(_TMS320C6600)
+ memset(ptr_y_opt, 0, sizeof(ptr_y_opt));
+#endif
memset(ptr_y_cn, 0, sizeof(ptr_y_cn));
/* --------------------------------------------------------------- */
/* Call the individual timing routines */
/* --------------------------------------------------------------- */
+#if !defined(_TMS320C6600)
+ t_opt = time_opt(ny, nh) - t_overhead;
+ t_i = time_i(ny, nh) - t_overhead;
+#endif
+#if defined(_TMS320C6600)
t_opt = time_i(ny, nh) - t_overhead;
+#endif
t_cn = time_cn(ny, nh) - t_overhead;
AUDIO_log("DSPF_sp_fir_cplx\tIter#: %d\t", j++);
/* --------------------------------------------------------------- */
/* Compare the results */
/* --------------------------------------------------------------- */
+#if !defined(_TMS320C6600)
+ pct_diff = 0; max_pct_diff = 0;
+ for(i=0; i < (2*ny); i++) {
+ if (abs((ptr_y_i[i]) > FLT_THRES) || (abs(ptr_y_cn[i]) > FLT_THRES))
+ pct_diff = (ptr_y_cn[i] - ptr_y_i[i]) / ptr_y_cn[i] * 100.0;
+ if (pct_diff < 0) pct_diff *= -1;
+ if (pct_diff > max_pct_diff) max_pct_diff = pct_diff;
+ }
+ if (max_pct_diff > 0.05 && max_pct_diff < FLT_MAX )
+ AUDIO_log("Intrinsic Failure max_pct_diff = %f\t", max_pct_diff);
+ else
+ AUDIO_log("Intrinsic Successful\t");
+
+ pct_diff = 0; max_pct_diff = 0;
+ for(i=0; i < (2*ny); i++) {
+ if (abs((ptr_y_opt[i]) > FLT_THRES) || (abs(ptr_y_cn[i]) > FLT_THRES))
+ pct_diff = (ptr_y_cn[i] - ptr_y_opt[i]) / ptr_y_cn[i] * 100.0;
+ if (pct_diff < 0) pct_diff *= -1;
+ if (pct_diff > max_pct_diff) max_pct_diff = pct_diff;
+ }
+#endif
+#if defined(_TMS320C6600)
for (i=0; i < (2*ny); i++)
{
pct_diff = 0;
max_pct_diff = pct_diff;
}
}
+#endif
if (max_pct_diff > 0.05 && max_pct_diff < FLT_MAX )
{
AUDIO_log("Result Failure max_pct_diff = %f", max_pct_diff);
form_temp[i] += form_inv[i][j] * form_cycle[j];
}
if (i != (FORMULA_SIZE-1)) {
- form_result[i] = (int) (form_temp[i] * FORMULA_DEVIDE + 0.5);
- if ((form_result[i] - form_temp[i] * FORMULA_DEVIDE) > 0.1 ||
- (form_result[i] - form_temp[i] * FORMULA_DEVIDE) < -0.1) {
+ form_result[i] = (int) (form_temp[i] * FORMULA_DIVIDE + 0.5);
+ if ((form_result[i] - form_temp[i] * FORMULA_DIVIDE) > 0.1 ||
+ (form_result[i] - form_temp[i] * FORMULA_DIVIDE) < -0.1) {
form_error = 1;
}
}
}
if (!form_error) {
+ if (FORMULA_DIVIDE == 1) {
AUDIO_log("Cycles: ");
if (form_result[0])
- AUDIO_log("%d/%d*Nh*Nr + ", form_result[0], FORMULA_DEVIDE);
+ AUDIO_log("%d*Nh*Nr + ", form_result[0]);
if (form_result[1])
- AUDIO_log("%d/%d*Nr + ", form_result[1], FORMULA_DEVIDE);
+ AUDIO_log("%d*Nr + ", form_result[1]);
if (form_result[2])
- AUDIO_log("%d/%d*Nh + ", form_result[2], FORMULA_DEVIDE);
+ AUDIO_log("%d*Nh + ", form_result[2]);
if (form_result[3])
AUDIO_log("%d\n", form_result[3]);
+ }
+ else {
+ AUDIO_log("Cycles: ");
+ if (form_result[0])
+ AUDIO_log("%d/%d*Nh*Nr + ", form_result[0], FORMULA_DIVIDE);
+ if (form_result[1])
+ AUDIO_log("%d/%d*Nr + ", form_result[1], FORMULA_DIVIDE);
+ if (form_result[2])
+ AUDIO_log("%d/%d*Nh + ", form_result[2], FORMULA_DIVIDE);
+ if (form_result[3])
+ AUDIO_log("%d\n", form_result[3]);
+ }
}
else
AUDIO_log("Cycles Formula Not Available\n");
+ AUDIO_log("Test Passed\n");
}
/* ======================================================================= */
/* Measure the cycle count */
/* ------------------------------------------------------------------- */
t_start = _itoll(TSCH, TSCL);
+#if !defined(_TMS320C6600)
+ DSPF_sp_fir_cplx_opt(ptr_x + 2 * (nh - 1), ptr_h, ptr_y_i, nh, ny);
+#endif
+#if defined(_TMS320C6600)
DSPF_sp_fir_cplx(ptr_x + 2 * (nh - 1), ptr_h, ptr_y_i, nh, ny);
+#endif
+ t_stop = _itoll(TSCH, TSCL);
+
+ return t_stop - t_start;
+}
+
+#if !defined(_TMS320C6600)
+clock_t time_opt(int ny, int nh)
+{
+ clock_t t_start, t_stop;
+
+ /* ------------------------------------------------------------------- */
+ /* Measure the cycle count */
+ /* ------------------------------------------------------------------- */
+ t_start = _itoll(TSCH, TSCL);
+ DSPF_sp_fir_cplx(ptr_x + 2 * (nh - 1), ptr_h, ptr_y_opt, nh, ny);
t_stop = _itoll(TSCH, TSCL);
return t_stop - t_start;
}
+#endif
void UTIL_fillRandSP(float *ptr_x, int N, float factor)
{
index 0de49cc92406efb4558fe069b881648f18822f51..884261bd59e091ee3f8f95a142970d975a577731 100644 (file)
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Output directories
-OBJDIR = obj/
+OBJDIR = obj
BINDIR = ../../prebuilt-binaries/
ifndef SOC
DEVICE=k2h
DEVICE_CC_OPTS+=-DDEVICE_K2H -DSOC_K2H
LNKCMD_FILE = ../common/lnk_k2x.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(BOARD),evmK2H)
DEVICE_CC_OPTS += -DEVM_K2H
endif
DEVICE=k2e
DEVICE_CC_OPTS+=-DDEVICE_K2E -DSOC_K2E
LNKCMD_FILE = ../common/lnk_k2x.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(BOARD),evmK2E)
DEVICE_CC_OPTS += -DEVM_K2E
endif
DEVICE=c6678
DEVICE_CC_OPTS+=-DDEVICE_C6678 -DSOC_C6678
LNKCMD_FILE = ../common/lnk_c66xx.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(BOARD),evmC6678)
DEVICE_CC_OPTS += -DEVM_C6678
endif
DEVICE=c6657
DEVICE_CC_OPTS+=-DDEVICE_C6657 -DSOC_C6657
LNKCMD_FILE = ../common/lnk_c66xx.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(BOARD),evmC6657)
DEVICE_CC_OPTS += -DEVM_C6657
endif
DEVICE=k2g
DEVICE_CC_OPTS+=-DDEVICE_K2G -DSOC_K2G
LNKCMD_FILE = ../common/lnk_k2x.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(BOARD),evmK2G)
DEVICE_CC_OPTS += -DEVM_K2G
endif
DEVICE=am572x
endif
LNKCMD_FILE = ../common/lnk_am57xx.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(DEVICE),am572x)
DEVICE_CC_OPTS +=-DDEVICE_AM572x -DSOC_AM572x
ifeq ($(BOARD),evmAM572x)
endif
endif
endif
+ifeq ($(SOC),$(filter $(SOC),omapl13x omapl138 omapl137 c6747 c6748))
+ ifndef DEVICE
+ DEVICE=omapl138
+ endif
+ LNKCMD_FILE = ../common/lnk_c674x.cmd
+ ISA_OPTS+= -mv6740
+ DSP_CORE+=c674
+ LIBEXT+=ae674
+ ifeq ($(DEVICE),omapl138)
+ DEVICE_CC_OPTS +=-DDEVICE_OMAPL138 -DSOC_OMAPL138
+ ifeq ($(BOARD),lcdkOMAPL138)
+ DEVICE_CC_OPTS += -DlcdkOMAPL138
+ endif
+ ifndef BOARD
+ BOARD=lcdkOMAPL138
+ DEVICE_CC_OPTS += -DlcdkOMAPL138
+ endif
+ endif
+
+
+ ifeq ($(DEVICE),omapl137)
+ DEVICE_CC_OPTS +=-DDEVICE_OMAPL137 -DSOC_OMAPL137
+ ifeq ($(BOARD),evmOMAPL137)
+ DEVICE_CC_OPTS += -DevmOMAPL137
+ endif
+ ifndef BOARD
+ BOARD=evmOMAPL137
+ DEVICE_CC_OPTS += -DevmOMAPL137
+ endif
+ endif
+endif
+
# Cross tools
#ifdef TOOLCHAIN_PATH_C66
CC_INCS := $(C6X_GEN_INSTALL_PATH)/include
CSL_DIR := $(PDK_INSTALL_PATH)/ti/csl/
PRSDK_INCDIR := $(CSL_DIR);$(PDK_INSTALL_PATH);../common;$(PDK_INSTALL_PATH)/ti/board/src/$(BOARD)/include
-DSPLIB_INCDIR := $(DSPLIB_INSTALL_PATH)/packages;$(MATHLIB_INSTALL_PATH)/packages;$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/common/c66;$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fir_cplx;$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fir_cplx/c66
+DSPLIB_INCDIR := $(DSPLIB_INSTALL_PATH)/packages;$(MATHLIB_INSTALL_PATH)/packages;$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/common/$(DSP_CORE);$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fir_cplx;$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fir_cplx/$(DSP_CORE)
INCDIR := $(CC_INCS);$(PRSDK_INCDIR);$(DSPLIB_INCDIR)
DSPLIB_INCS = -I. -I$(strip $(subst ;, -I,$(DSPLIB_INCDIR)))
# Libraries
-BOARD_LIB_DIR := $(PDK_INSTALL_PATH)/ti/board/lib/$(BOARD)/c66/release
-UART_LIB_DIR := $(PDK_INSTALL_PATH)/ti/drv/uart/lib/$(DEVICE)/c66/release
-OSAL_LIB_DIR := $(PDK_INSTALL_PATH)/ti/osal/lib/nonos/$(DEVICE)/c66/release
-CSL_LIB_DIR := $(PDK_INSTALL_PATH)/ti/csl/lib/$(DEVICE)/c66/release
-CSL_INIT_LIB_DIR := $(PDK_INSTALL_PATH)/ti/csl/lib/$(DEVICE)/c66/release
+BOARD_LIB_DIR := $(PDK_INSTALL_PATH)/ti/board/lib/$(BOARD)/$(DSP_CORE)/release
+UART_LIB_DIR := $(PDK_INSTALL_PATH)/ti/drv/uart/lib/$(DEVICE)/$(DSP_CORE)/release
+OSAL_LIB_DIR := $(PDK_INSTALL_PATH)/ti/osal/lib/nonos/$(DEVICE)/$(DSP_CORE)/release
+CSL_LIB_DIR := $(PDK_INSTALL_PATH)/ti/csl/lib/$(DEVICE)/$(DSP_CORE)/release
+CSL_INIT_LIB_DIR := $(PDK_INSTALL_PATH)/ti/csl/lib/$(DEVICE)/$(DSP_CORE)/release
CC_INCS := -i$(C6X_GEN_INSTALL_PATH)/lib
LIB_DIR := -i$(CSL_LIB_DIR) -i$(CSL_INIT_LIB_DIR) -i$(OSAL_LIB_DIR) -i$(BOARD_LIB_DIR) -i$(UART_LIB_DIR)
-BOARD_LIB :=-l"$(BOARD_LIB_DIR)/ti.board.ae66"
-UART_LIB :=-l"$(UART_LIB_DIR)/ti.drv.uart.ae66"
-OSAL_LIB :=-l"$(OSAL_LIB_DIR)/ti.osal.ae66"
-CSL_LIB :=-l"$(CSL_LIB_DIR)/ti.csl.ae66"
-CSL_INIT_LIB :=-l"$(CSL_INIT_LIB_DIR)/ti.csl.intc.ae66"
+BOARD_LIB :=-l"$(BOARD_LIB_DIR)/ti.board.$(LIBEXT)"
+UART_LIB :=-l"$(UART_LIB_DIR)/ti.drv.uart.$(LIBEXT)"
+OSAL_LIB :=-l"$(OSAL_LIB_DIR)/ti.osal.$(LIBEXT)"
+CSL_LIB :=-l"$(CSL_LIB_DIR)/ti.csl.$(LIBEXT)"
+CSL_INIT_LIB :=-l"$(CSL_INIT_LIB_DIR)/ti.csl.intc.$(LIBEXT)"
PERIPHERAL_LIB = -l$(CSL_LIB) -l$(CSL_INIT_LIB) -l$(OSAL_LIB) -l$(BOARD_LIB) -l$(UART_LIB)
# Compiler options
-INTERNALDEFS := -mv6600 -g -o3 $(DEVICE_CC_OPTS) --vectypes=on --diag_warning=225 --display_error_number --diag_wrap=off --mem_model:data=far --debug_software_pipeline -k --obj_extension=o
+INTERNALDEFS := $(ISA_OPTS) -g -o3 $(DEVICE_CC_OPTS) --vectypes=on --diag_warning=225 --display_error_number --diag_wrap=off --mem_model:data=far --debug_software_pipeline -k --obj_extension=o
ifeq ($(BUILD), CCS)
INTERNALDEFS += -DIO_CONSOLE
SRCDIR = ../singlePrecision_FIR/
INCS = -I. -I$(strip $(subst ;, -I,$(INCDIR)))
-VPATH=$(SRCDIR):$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fir_cplx/c66/:../common/:$(OBJDIR)
+VPATH=$(SRCDIR):$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fir_cplx/$(DSP_CORE)/:../common/:$(OBJDIR)
#List the Source Files
+ifeq ($(DSP_CORE),c66)
TEST_SRC = \
DSPF_sp_fir_cplx_d.c \
Benchmark_log.c
-
+else
+TEST_SRC = \
+ DSPF_sp_fir_cplx_d.c \
+ DSPF_sp_fir_cplx_opt.c \
+ Benchmark_log.c
+endif
+
+ifeq ($(DSP_CORE),c66)
TEST_OBJS = \
DSPF_sp_fir_cplx_d.o \
Benchmark_log.o
-
+else
+TEST_OBJS = \
+ DSPF_sp_fir_cplx_d.o \
+ DSPF_sp_fir_cplx_opt.o \
+ Benchmark_log.o
+endif
+
+ifeq ($(DSP_CORE),c66)
+TEST_ASM = \
+ DSPF_sp_fir_cplx_d.asm \
+ Benchmark_log.asm
+else
TEST_ASM = \
DSPF_sp_fir_cplx_d.asm \
+ DSPF_sp_fir_cplx_opt.asm \
Benchmark_log.asm
+endif
+
# Make Rule for the SRC Files
TEST_SRC_OBJS = $(patsubst %.c, $(OBJDIR)/%.$(OBJEXT), $(TEST_SRC))
diff --git a/src/singlePrecision_IIR/TISigCascadeBiquad32f_2c_3s_d.c b/src/singlePrecision_IIR/TISigCascadeBiquad32f_2c_3s_d.c
index 6362f5452a6c1dbe025acd7a85b3cf49a4162625..8212dffdadd6f5b02d34fcbd9ddc662499214380 100644 (file)
AUDIO_log("Result Failure Channel 1 max_pct_diff = %f\n", max_pct_diff);
else
AUDIO_log("Result Successful Channel 1\n");
-
+
+ AUDIO_log("Test Passed\n");
return;
}
index f6a6f5062319f45d095973aab5adede6828fa5e0..8fbd2c2172a3591c1333c62092140cf43e0674e3 100644 (file)
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# Output directories
-OBJDIR = obj/
+OBJDIR = obj
BINDIR = ../../prebuilt-binaries/
ifndef SOC
DEVICE=k2h
DEVICE_CC_OPTS+=-DDEVICE_K2H -DSOC_K2H
LNKCMD_FILE = ../common/lnk_k2x.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(BOARD),evmK2H)
DEVICE_CC_OPTS += -DEVM_K2H
endif
DEVICE=k2e
DEVICE_CC_OPTS+=-DDEVICE_K2E -DSOC_K2E
LNKCMD_FILE = ../common/lnk_k2x.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(BOARD),evmK2E)
DEVICE_CC_OPTS += -DEVM_K2E
endif
DEVICE=c6678
DEVICE_CC_OPTS+=-DDEVICE_C6678 -DSOC_C6678
LNKCMD_FILE = ../common/lnk_c66xx.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(BOARD),evmC6678)
DEVICE_CC_OPTS += -DEVM_C6678
endif
DEVICE=c6657
DEVICE_CC_OPTS+=-DDEVICE_C6657 -DSOC_C6657
LNKCMD_FILE = ../common/lnk_c66xx.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(BOARD),evmC6657)
DEVICE_CC_OPTS += -DEVM_C6657
endif
DEVICE=k2g
DEVICE_CC_OPTS+=-DDEVICE_K2G -DSOC_K2G
LNKCMD_FILE = ../common/lnk_k2x.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(BOARD),evmK2G)
DEVICE_CC_OPTS += -DEVM_K2G
endif
DEVICE=am572x
endif
LNKCMD_FILE = ../common/lnk_am57xx.cmd
-
+ ISA_OPTS+= -mv6600
+ DSP_CORE+=c66
+ LIBEXT+=ae66
ifeq ($(DEVICE),am572x)
DEVICE_CC_OPTS +=-DDEVICE_AM572x -DSOC_AM572x
ifeq ($(BOARD),evmAM572x)
endif
endif
+ifeq ($(SOC),$(filter $(SOC),omapl13x omapl138 omapl137 c6747 c6748))
+ ifndef DEVICE
+ DEVICE=omapl138
+ endif
+ LNKCMD_FILE = ../common/lnk_c674x.cmd
+ ISA_OPTS+= -mv6740
+ DSP_CORE+=c674
+ LIBEXT+=ae674
+ ifeq ($(DEVICE),omapl138)
+ DEVICE_CC_OPTS +=-DDEVICE_OMAPL138 -DSOC_OMAPL138
+ ifeq ($(BOARD),lcdkOMAPL138)
+ DEVICE_CC_OPTS += -DlcdkOMAPL138
+ endif
+ ifndef BOARD
+ BOARD=lcdkOMAPL138
+ DEVICE_CC_OPTS += -DlcdkOMAPL138
+ endif
+ endif
+
+
+ ifeq ($(DEVICE),omapl137)
+ DEVICE_CC_OPTS +=-DDEVICE_OMAPL137 -DSOC_OMAPL137
+ ifeq ($(BOARD),evmOMAPL137)
+ DEVICE_CC_OPTS += -DevmOMAPL137
+ endif
+ ifndef BOARD
+ BOARD=evmOMAPL137
+ DEVICE_CC_OPTS += -DevmOMAPL137
+ endif
+ endif
+endif
+
+
# Cross tools
#ifdef TOOLCHAIN_PATH_C66
# Support backwards compatibility with KeyStone1 approach
CC_INCS := $(C6X_GEN_INSTALL_PATH)/include
CSL_DIR := $(PDK_INSTALL_PATH)/ti/csl/
PRSDK_INCDIR := $(CSL_DIR);$(PDK_INSTALL_PATH);../common;$(PDK_INSTALL_PATH)/ti/board/src/$(BOARD)/include
-DSPLIB_INCDIR := $(DSPLIB_INSTALL_PATH)/packages;$(MATHLIB_INSTALL_PATH)/packages;$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/common/c66;$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fir_cplx;$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fir_cplx/c66
+DSPLIB_INCDIR := $(DSPLIB_INSTALL_PATH)/packages;$(MATHLIB_INSTALL_PATH)/packages;$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/common/$(DSP_CORE);$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fir_cplx;$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fir_cplx/$(DSP_CORE)
INCDIR := $(CC_INCS);$(PRSDK_INCDIR);$(DSPLIB_INCDIR)
DSPLIB_INCS = -I. -I$(strip $(subst ;, -I,$(DSPLIB_INCDIR)))
# Libraries
-BOARD_LIB_DIR := $(PDK_INSTALL_PATH)/ti/board/lib/$(BOARD)/c66/release
-UART_LIB_DIR := $(PDK_INSTALL_PATH)/ti/drv/uart/lib/$(DEVICE)/c66/release
-OSAL_LIB_DIR := $(PDK_INSTALL_PATH)/ti/osal/lib/nonos/$(DEVICE)/c66/release
-CSL_LIB_DIR := $(PDK_INSTALL_PATH)/ti/csl/lib/$(DEVICE)/c66/release
-CSL_INIT_LIB_DIR := $(PDK_INSTALL_PATH)/ti/csl/lib/$(DEVICE)/c66/release
+BOARD_LIB_DIR := $(PDK_INSTALL_PATH)/ti/board/lib/$(BOARD)/$(DSP_CORE)/release
+UART_LIB_DIR := $(PDK_INSTALL_PATH)/ti/drv/uart/lib/$(DEVICE)/$(DSP_CORE)/release
+OSAL_LIB_DIR := $(PDK_INSTALL_PATH)/ti/osal/lib/nonos/$(DEVICE)/$(DSP_CORE)/release
+CSL_LIB_DIR := $(PDK_INSTALL_PATH)/ti/csl/lib/$(DEVICE)/$(DSP_CORE)/release
+CSL_INIT_LIB_DIR := $(PDK_INSTALL_PATH)/ti/csl/lib/$(DEVICE)/$(DSP_CORE)/release
CC_INCS := -i$(C6X_GEN_INSTALL_PATH)/lib
LIB_DIR := -i$(CSL_LIB_DIR) -i$(CSL_INIT_LIB_DIR) -i$(OSAL_LIB_DIR) -i$(BOARD_LIB_DIR) -i$(UART_LIB_DIR)
-BOARD_LIB :=-l"$(BOARD_LIB_DIR)/ti.board.ae66"
-UART_LIB :=-l"$(UART_LIB_DIR)/ti.drv.uart.ae66"
-OSAL_LIB :=-l"$(OSAL_LIB_DIR)/ti.osal.ae66"
-CSL_LIB :=-l"$(CSL_LIB_DIR)/ti.csl.ae66"
-CSL_INIT_LIB :=-l"$(CSL_INIT_LIB_DIR)/ti.csl.intc.ae66"
+BOARD_LIB :=-l"$(BOARD_LIB_DIR)/ti.board.$(LIBEXT)"
+UART_LIB :=-l"$(UART_LIB_DIR)/ti.drv.uart.$(LIBEXT)"
+OSAL_LIB :=-l"$(OSAL_LIB_DIR)/ti.osal.$(LIBEXT)"
+CSL_LIB :=-l"$(CSL_LIB_DIR)/ti.csl.$(LIBEXT)"
+CSL_INIT_LIB :=-l"$(CSL_INIT_LIB_DIR)/ti.csl.intc.$(LIBEXT)"
PERIPHERAL_LIB = -l$(CSL_LIB) -l$(CSL_INIT_LIB) -l$(OSAL_LIB) -l$(BOARD_LIB) -l$(UART_LIB)
# Compiler options
-INTERNALDEFS := -mv6600 -g -o3 $(DEVICE_CC_OPTS) --vectypes=on --diag_warning=225 --display_error_number --diag_wrap=off --mem_model:data=far --debug_software_pipeline -k --obj_extension=o
+INTERNALDEFS := $(ISA_OPTS) -g -o3 $(DEVICE_CC_OPTS) --vectypes=on --diag_warning=225 --display_error_number --diag_wrap=off --mem_model:data=far --debug_software_pipeline -k --obj_extension=o
ifeq ($(BUILD), CCS)
INTERNALDEFS += -DIO_CONSOLE
SRCDIR = ../singlePrecision_IIR/
INCS = -I. -I$(strip $(subst ;, -I,$(INCDIR)))
-VPATH=$(SRCDIR):$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fir_cplx/c66/:../common/:$(OBJDIR)
+VPATH=$(SRCDIR):$(DSPLIB_INSTALL_PATH)/packages/ti/dsplib/src/DSPF_sp_fir_cplx/$(DSP_CORE)/:../common/:$(OBJDIR)
#List the Source Files
TEST_SRC = \