From eabab2c0f85f9609c3b508d2561b83cc0bc21503 Mon Sep 17 00:00:00 2001 From: Srikanth Pagadarai Date: Thu, 13 Jul 2023 10:30:52 -0400 Subject: [PATCH] Demos tool ver ignore (#149) * Updated Vivado version for demos * Update hopper patch to 2021-R1 * Removed support for loopback estimation delay targeting example * Updated TuneAGC design to ignore Vivado version * Added missing parameters to FH demo * Added missing "multiple" parameter to FH demo * Added missing parameters to TuneAGC demo * Updated README * Switch demos to use baremetal environment for CI Signed-off-by: Travis F. Collins Signed-off-by: Pagadarai --- Jenkinsfile | 39 +++++++++++++------ README.md | 2 +- .../+adrv9361z7035/+common/plugin_rd.m | 30 ++++++++++++++ .../targeting/frequency-hopping/hdlworkflow.m | 3 +- .../targeting/frequency-hopping/hopper.patch | 34 ++++++++-------- .../loopback-delay-estimation/hdlworkflow.m | 7 +++- .../+adrv9361z7035/+common/plugin_rd.m | 30 ++++++++++++++ .../targeting/tuneAGC-ad9361/hdlworkflow.m | 4 +- 8 files changed, 116 insertions(+), 33 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index e25fe934..69ec2f21 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -80,22 +80,37 @@ cstage("HDL Tests", "", flags) { ///////////////////////////////////////////////////// -demoNames = ['HDLLoopbackDelayEstimation','HDLFrequencyHopper','HDLTuneAGC','KernelFrequencyHopper'] - -cstage("Demo Tests", "", flags) { - dockerParallelBuild(demoNames, dockerHost, dockerConfig) { - branchName -> - withEnv(['DEMO='+branchName]) { - cstage("Demo Test", branchName, flags) { - unstash "builtSources" - sh 'make -C ./CI/scripts test_targeting_demos' - junit testResults: 'test/*.xml', allowEmptyResults: true - archiveArtifacts artifacts: 'test/logs/*', followSymlinks: false, allowEmptyArchive: true +demoNames = ['HDLFrequencyHopper','HDLTuneAGC','KernelFrequencyHopper'] + +def deployments = [:] +for (int i=0; i < demoNames.size(); i++) { + def demo = demoNames[i]; + def nodeLabel = 'baremetal'; + if (demo.contains("zcu102")) + nodeLabel = 'baremetal && high_memory'; + deployments[demo] = { node(nodeLabel) { + stage("Demo Tests") { + withEnv(['DEMO='+demo,'MLRELEASE=R2022a','HDLBRANCH=hdl_2021_r1','LC_ALL=C.UTF-8','LANG=C.UTF-8']) { + try { + stage(demo) { + echo "Node: ${env.NODE_NAME}" + echo "Demo: ${env.DEMO}" + unstash "builtSources" + sh 'make -C ./CI/scripts test_targeting_demos' + junit testResults: 'test/*.xml', allowEmptyResults: true + archiveArtifacts artifacts: 'test/*', followSymlinks: false, allowEmptyArchive: true + } + } + finally { + cleanWs(); + } } } - } + }} } +parallel deployments + ///////////////////////////////////////////////////// appNames = ['lte_pa_app'] diff --git a/README.md b/README.md index 0e7a21e3..188790bc 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ As with many open source packages, we use [GitHub](https://github.com/analogdevi | HDL Branch | MATLAB Release | Installer Package | |:-----------------:|:--------------:|:-------------------:| -| 2021_R1 | R2022a | | +| 2021_R1 | R2022a | | If you use it, and like it - please let us know. If you use it, and hate it - please let us know that too. diff --git a/trx_examples/targeting/frequency-hopping/+AnalogDevicesDemo/+adrv9361z7035/+common/plugin_rd.m b/trx_examples/targeting/frequency-hopping/+AnalogDevicesDemo/+adrv9361z7035/+common/plugin_rd.m index 49018b56..1bab74e3 100644 --- a/trx_examples/targeting/frequency-hopping/+AnalogDevicesDemo/+adrv9361z7035/+common/plugin_rd.m +++ b/trx_examples/targeting/frequency-hopping/+AnalogDevicesDemo/+adrv9361z7035/+common/plugin_rd.m @@ -54,6 +54,36 @@ 'DisplayName', 'Reference Type', ... 'DefaultValue', lower(strrep(design, ' & ',''))); +Number_of_inputs = '4'; +Number_of_valids = '1'; +Data_width = '16'; + +hRD.addParameter( ... + 'ParameterID', 'number_of_inputs', ... + 'DisplayName', 'Number of Inputs', ... + 'DefaultValue', Number_of_inputs, ... + 'ParameterType', hdlcoder.ParameterType.Dropdown, ... + 'Choice', {Number_of_inputs}); + +hRD.addParameter( ... + 'ParameterID', 'number_of_bits', ... + 'DisplayName', 'Data Width', ... + 'DefaultValue', Data_width, ... + 'ParameterType', hdlcoder.ParameterType.Dropdown, ... + 'Choice', {Data_width}); + +hRD.addParameter( ... + 'ParameterID', 'number_of_valids', ... + 'DisplayName', 'Number of Valid Signals', ... + 'DefaultValue', Number_of_valids, ... + 'ParameterType', hdlcoder.ParameterType.Dropdown, ... + 'Choice', {Number_of_valids}); + +hRD.addParameter( ... + 'ParameterID', 'multiple', ... + 'DisplayName', 'Fast-slow clock ratio', ... + 'DefaultValue', '1'); + hRD.addParameter( ... 'ParameterID', 'preprocess', ... 'DisplayName', 'Preprocess', ... diff --git a/trx_examples/targeting/frequency-hopping/hdlworkflow.m b/trx_examples/targeting/frequency-hopping/hdlworkflow.m index cb0965db..ea4170a1 100644 --- a/trx_examples/targeting/frequency-hopping/hdlworkflow.m +++ b/trx_examples/targeting/frequency-hopping/hdlworkflow.m @@ -135,7 +135,8 @@ % Specify the top level project directory hWC.ProjectFolder = 'hdl_prj'; hWC.ReferenceDesignToolVersion = '2021.1'; -hWC.IgnoreToolVersionMismatch = false; +hWC.IgnoreToolVersionMismatch = true; +hWC.AllowUnsupportedToolVersion = true; % Set Workflow tasks to run hWC.RunTaskGenerateRTLCodeAndIPCore = true; diff --git a/trx_examples/targeting/frequency-hopping/hopper.patch b/trx_examples/targeting/frequency-hopping/hopper.patch index 5c72b077..4036bdcf 100644 --- a/trx_examples/targeting/frequency-hopping/hopper.patch +++ b/trx_examples/targeting/frequency-hopping/hopper.patch @@ -1,6 +1,6 @@ -From 2fdd990facea38577ee89da6d28484fd3393fd57 Mon Sep 17 00:00:00 2001 +From 1a6a1c5006b7084ff419f3a7ddd98ae76d229e74 Mon Sep 17 00:00:00 2001 From: "Travis F. Collins" -Date: Tue, 25 Jan 2022 12:12:41 -0800 +Date: Tue, 6 Jun 2023 09:34:43 -0600 Subject: [PATCH] Add IIO driver for AD936x frequency hopper controller Signed-off-by: Travis F. Collins @@ -9,15 +9,15 @@ Signed-off-by: Travis F. Collins drivers/iio/Kconfig.adi | 1 + drivers/iio/Makefile | 1 + drivers/iio/ip/Kconfig | 16 ++ - drivers/iio/ip/Makefile | 6 + + drivers/iio/ip/Makefile | 2 + drivers/iio/ip/hopper.c | 326 ++++++++++++++++++++++++++++++++++++++++ - 6 files changed, 351 insertions(+) + 6 files changed, 347 insertions(+) create mode 100644 drivers/iio/ip/Kconfig create mode 100644 drivers/iio/ip/Makefile create mode 100644 drivers/iio/ip/hopper.c diff --git a/drivers/iio/Kconfig b/drivers/iio/Kconfig -index fb0802667..66257333c 100644 +index eb18a2971..58cdd1da1 100644 --- a/drivers/iio/Kconfig +++ b/drivers/iio/Kconfig @@ -84,6 +84,7 @@ source "drivers/iio/gyro/Kconfig" @@ -29,16 +29,19 @@ index fb0802667..66257333c 100644 source "drivers/iio/light/Kconfig" source "drivers/iio/logic/Kconfig" diff --git a/drivers/iio/Kconfig.adi b/drivers/iio/Kconfig.adi -index f0ed3cf70..64d429ca2 100644 +index a9626cf7a..0ed29f5bc 100644 --- a/drivers/iio/Kconfig.adi +++ b/drivers/iio/Kconfig.adi -@@ -154,3 +154,4 @@ config IIO_ALL_ADI_DRIVERS +@@ -177,6 +177,7 @@ config IIO_ALL_ADI_DRIVERS select AXI_JESD204_RX select AXI_ADXCVR select ONE_BIT_ADC_DAC + select HOPPER + select ADUX1020 + select IIO_GEN_MUX + select AD74413R diff --git a/drivers/iio/Makefile b/drivers/iio/Makefile -index 951b67688..dec33cdd8 100644 +index 3ff8d48df..d6bb7e928 100644 --- a/drivers/iio/Makefile +++ b/drivers/iio/Makefile @@ -30,6 +30,7 @@ obj-y += frequency/ @@ -73,26 +76,22 @@ index 000000000..f8dd3af71 +endmenu diff --git a/drivers/iio/ip/Makefile b/drivers/iio/ip/Makefile new file mode 100644 -index 000000000..7f785668f +index 000000000..fb9dd4041 --- /dev/null +++ b/drivers/iio/ip/Makefile -@@ -0,0 +1,6 @@ -+# -+# Makefile iio/amplifiers -+# -+ +@@ -0,0 +1,2 @@ +# When adding new entries keep the list in alphabetical order +obj-$(CONFIG_HOPPER) += hopper.o diff --git a/drivers/iio/ip/hopper.c b/drivers/iio/ip/hopper.c new file mode 100644 -index 000000000..de275f623 +index 000000000..267cad00f --- /dev/null +++ b/drivers/iio/ip/hopper.c @@ -0,0 +1,326 @@ +/* + * Frequency Hopping HDL CORE driver + * -+ * Copyright 2019 Analog Devices Inc. ++ * Copyright 2019-2023 Analog Devices Inc. + * + * Licensed under the GPL-2. + */ @@ -415,6 +414,7 @@ index 000000000..de275f623 +MODULE_AUTHOR("Travis Collins "); +MODULE_DESCRIPTION("Analog Devices Frequency Hopper HDL CORE driver"); +MODULE_LICENSE("GPL v2"); +\ No newline at end of file -- -2.25.1 +2.34.1 diff --git a/trx_examples/targeting/loopback-delay-estimation/hdlworkflow.m b/trx_examples/targeting/loopback-delay-estimation/hdlworkflow.m index a45636fb..6093a926 100644 --- a/trx_examples/targeting/loopback-delay-estimation/hdlworkflow.m +++ b/trx_examples/targeting/loopback-delay-estimation/hdlworkflow.m @@ -11,6 +11,10 @@ % >> hWC.export('DUT','loopback_delay_estimation/HDL_DUT'); %-------------------------------------------------------------------------- +% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! % +% Design unsupported in Transceiver Toolbox v22.1.1 +% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! % + %% Load the Model load_system('loopback_delay_estimation'); @@ -150,7 +154,8 @@ % Specify the top level project directory hWC.ProjectFolder = 'hdl_prj'; hWC.ReferenceDesignToolVersion = '2021.1'; -hWC.IgnoreToolVersionMismatch = false; +hWC.IgnoreToolVersionMismatch = true; +hWC.AllowUnsupportedToolVersion = true; % Set Workflow tasks to run hWC.RunTaskGenerateRTLCodeAndIPCore = true; diff --git a/trx_examples/targeting/tuneAGC-ad9361/+AnalogDevicesAGCDemo/+adrv9361z7035/+common/plugin_rd.m b/trx_examples/targeting/tuneAGC-ad9361/+AnalogDevicesAGCDemo/+adrv9361z7035/+common/plugin_rd.m index 3063dc40..2d4630ff 100644 --- a/trx_examples/targeting/tuneAGC-ad9361/+AnalogDevicesAGCDemo/+adrv9361z7035/+common/plugin_rd.m +++ b/trx_examples/targeting/tuneAGC-ad9361/+AnalogDevicesAGCDemo/+adrv9361z7035/+common/plugin_rd.m @@ -51,6 +51,36 @@ 'DisplayName', 'Reference Type', ... 'DefaultValue', 'rx'); +Number_of_inputs = '4'; +Number_of_valids = '1'; +Data_width = '16'; + +hRD.addParameter( ... + 'ParameterID', 'number_of_inputs', ... + 'DisplayName', 'Number of Inputs', ... + 'DefaultValue', Number_of_inputs, ... + 'ParameterType', hdlcoder.ParameterType.Dropdown, ... + 'Choice', {Number_of_inputs}); + +hRD.addParameter( ... + 'ParameterID', 'number_of_bits', ... + 'DisplayName', 'Data Width', ... + 'DefaultValue', Data_width, ... + 'ParameterType', hdlcoder.ParameterType.Dropdown, ... + 'Choice', {Data_width}); + +hRD.addParameter( ... + 'ParameterID', 'number_of_valids', ... + 'DisplayName', 'Number of Valid Signals', ... + 'DefaultValue', Number_of_valids, ... + 'ParameterType', hdlcoder.ParameterType.Dropdown, ... + 'Choice', {Number_of_valids}); + +hRD.addParameter( ... + 'ParameterID', 'multiple', ... + 'DisplayName', 'Fast-slow clock ratio', ... + 'DefaultValue', '1'); + hRD.addParameter( ... 'ParameterID', 'preprocess', ... 'DisplayName', 'Preprocess', ... diff --git a/trx_examples/targeting/tuneAGC-ad9361/hdlworkflow.m b/trx_examples/targeting/tuneAGC-ad9361/hdlworkflow.m index cf84f433..3c886585 100644 --- a/trx_examples/targeting/tuneAGC-ad9361/hdlworkflow.m +++ b/trx_examples/targeting/tuneAGC-ad9361/hdlworkflow.m @@ -151,7 +151,8 @@ % Specify the top level project directory hWC.ProjectFolder = 'hdl_prj'; hWC.ReferenceDesignToolVersion = '2021.1'; -hWC.IgnoreToolVersionMismatch = false; +hWC.IgnoreToolVersionMismatch = true; +hWC.AllowUnsupportedToolVersion = true; % Set Workflow tasks to run hWC.RunTaskGenerateRTLCodeAndIPCore = true; @@ -195,3 +196,4 @@ out = ME;%.identifier end +