|
| 1 | +%-------------------------------------------------------------------------- |
| 2 | +% HDL Workflow Script |
| 3 | +% Generated with MATLAB 25.2 (R2025b) at 14:14:25 on 20/05/2026 |
| 4 | +% This script was generated using the following parameter values: |
| 5 | +% Filename : 'C:\work\datalink\TransceiverToolbox\trx_examples\targeting\QPSKTxRxHDLExample\hdlworkflow_tx2.m' |
| 6 | +% Overwrite : true |
| 7 | +% Comments : true |
| 8 | +% Headers : true |
| 9 | +% DUT : 'commhdlQPSKTxRx/Transmitter' |
| 10 | +% To view changes after modifying the workflow, run the following command: |
| 11 | +% >> hWC.export('DUT','commhdlQPSKTxRx/Transmitter'); |
| 12 | +%-------------------------------------------------------------------------- |
| 13 | + |
| 14 | +%% Load the Model |
| 15 | +load_system('commhdlQPSKTxRx'); |
| 16 | + |
| 17 | +%% Restore the Model to default HDL parameters |
| 18 | +%hdlrestoreparams('commhdlQPSKTxRx/Transmitter'); |
| 19 | + |
| 20 | +%% Model HDL Parameters |
| 21 | +%% Set Model 'commhdlQPSKTxRx' HDL parameters |
| 22 | +hdlset_param('commhdlQPSKTxRx', 'ClockRatePipelining', 'off'); |
| 23 | +hdlset_param('commhdlQPSKTxRx', 'HDLSubsystem', 'commhdlQPSKTxRx/Transmitter'); |
| 24 | +hdlset_param('commhdlQPSKTxRx', 'LUTMapToRAM', 'off'); |
| 25 | +hdlset_param('commhdlQPSKTxRx', 'ProjectFolder', 'hdl_prj_jupiter'); |
| 26 | +hdlset_param('commhdlQPSKTxRx', 'ReferenceDesign', 'JUPITER (TX)'); |
| 27 | +hdlset_param('commhdlQPSKTxRx', 'ReferenceDesignParameter', {'project','jupiter_sdr','ref_design','tx','preprocess','off','postprocess','off','number_of_inputs','4','number_of_bits','16','number_of_valids','1','multiple','1','HDLVerifierAXI','off','HDLVerifierFDC','JTAG'}); |
| 28 | +hdlset_param('commhdlQPSKTxRx', 'SynthesisTool', 'Xilinx Vivado'); |
| 29 | +hdlset_param('commhdlQPSKTxRx', 'SynthesisToolChipFamily', 'Zynq UltraScale+'); |
| 30 | +hdlset_param('commhdlQPSKTxRx', 'SynthesisToolDeviceName', 'xczu3eg-sfva625-2-e'); |
| 31 | +hdlset_param('commhdlQPSKTxRx', 'SynthesisToolPackageName', ''); |
| 32 | +hdlset_param('commhdlQPSKTxRx', 'SynthesisToolSpeedValue', ''); |
| 33 | +hdlset_param('commhdlQPSKTxRx', 'TargetDirectory', 'hdl_prj_jupiter\hdlsrc'); |
| 34 | +hdlset_param('commhdlQPSKTxRx', 'TargetLanguage', 'Verilog'); |
| 35 | +hdlset_param('commhdlQPSKTxRx', 'TargetPlatform', 'AnalogDevices JUPITER'); |
| 36 | +hdlset_param('commhdlQPSKTxRx', 'Workflow', 'IP Core Generation'); |
| 37 | + |
| 38 | +% Set SubSystem HDL parameters |
| 39 | +hdlset_param('commhdlQPSKTxRx/Transmitter', 'ProcessorFPGASynchronization', 'Free running'); |
| 40 | + |
| 41 | +% Set Inport HDL parameters |
| 42 | +hdlset_param('commhdlQPSKTxRx/Transmitter/debug', 'IOInterface', 'AXI4-Lite'); |
| 43 | +hdlset_param('commhdlQPSKTxRx/Transmitter/debug', 'IOInterfaceMapping', 'x"100"'); |
| 44 | + |
| 45 | +% Set Inport HDL parameters |
| 46 | +hdlset_param('commhdlQPSKTxRx/Transmitter/dataI', 'IOInterface', 'IP Data 0 IN [0:15]'); |
| 47 | +hdlset_param('commhdlQPSKTxRx/Transmitter/dataI', 'IOInterfaceMapping', '[0:15]'); |
| 48 | + |
| 49 | +% Set Inport HDL parameters |
| 50 | +hdlset_param('commhdlQPSKTxRx/Transmitter/dataQ', 'IOInterface', 'IP Data 1 IN [0:15]'); |
| 51 | +hdlset_param('commhdlQPSKTxRx/Transmitter/dataQ', 'IOInterfaceMapping', '[0:15]'); |
| 52 | + |
| 53 | +% Set Inport HDL parameters |
| 54 | +hdlset_param('commhdlQPSKTxRx/Transmitter/validIn', 'IOInterface', 'IP Valid Tx Data IN'); |
| 55 | +hdlset_param('commhdlQPSKTxRx/Transmitter/validIn', 'IOInterfaceMapping', '[0]'); |
| 56 | + |
| 57 | +hdlset_param('commhdlQPSKTxRx/Transmitter/QPSK Tx/Bit Packetizer/Data Bits FIFO/No HDL', 'Architecture', 'No HDL'); |
| 58 | + |
| 59 | +hdlset_param('commhdlQPSKTxRx/Transmitter/QPSK Tx/Bit Packetizer/Data Bits FIFO/No HDL/No HDL', 'Architecture', 'No HDL'); |
| 60 | + |
| 61 | +% Set Outport HDL parameters |
| 62 | +hdlset_param('commhdlQPSKTxRx/Transmitter/dataOutI', 'IOInterface', 'ADRV9002 DAC Data I0 [0:15]'); |
| 63 | +hdlset_param('commhdlQPSKTxRx/Transmitter/dataOutI', 'IOInterfaceMapping', '[0:15]'); |
| 64 | + |
| 65 | +% Set Outport HDL parameters |
| 66 | +hdlset_param('commhdlQPSKTxRx/Transmitter/dataOutQ', 'IOInterface', 'ADRV9002 DAC Data Q0 [0:15]'); |
| 67 | +hdlset_param('commhdlQPSKTxRx/Transmitter/dataOutQ', 'IOInterfaceMapping', '[0:15]'); |
| 68 | + |
| 69 | +% Set Outport HDL parameters |
| 70 | +hdlset_param('commhdlQPSKTxRx/Transmitter/txDiagBus', 'IOInterface', 'No Interface Specified'); |
| 71 | +hdlset_param('commhdlQPSKTxRx/Transmitter/txDiagBus', 'IOInterfaceMapping', ''); |
| 72 | + |
| 73 | +% Set Outport HDL parameters |
| 74 | +hdlset_param('commhdlQPSKTxRx/Transmitter/validOut', 'IOInterface', 'IP Load Tx Data OUT'); |
| 75 | +hdlset_param('commhdlQPSKTxRx/Transmitter/validOut', 'IOInterfaceMapping', '[0]'); |
| 76 | + |
| 77 | +% Set Outport HDL parameters |
| 78 | +hdlset_param('commhdlQPSKTxRx/Transmitter/complex', 'IOInterface', 'No Interface Specified'); |
| 79 | +hdlset_param('commhdlQPSKTxRx/Transmitter/complex', 'IOInterfaceMapping', ''); |
| 80 | + |
| 81 | +% Set Outport HDL parameters |
| 82 | +hdlset_param('commhdlQPSKTxRx/Transmitter/msg_count_out', 'IOInterface', 'AXI4-Lite'); |
| 83 | +hdlset_param('commhdlQPSKTxRx/Transmitter/msg_count_out', 'IOInterfaceMapping', 'x"104"'); |
| 84 | + |
| 85 | +% Set Outport HDL parameters |
| 86 | +hdlset_param('commhdlQPSKTxRx/Transmitter/dataOutQ2', 'IOInterface', 'ADRV9002 DAC Data I1 [0:15]'); |
| 87 | +hdlset_param('commhdlQPSKTxRx/Transmitter/dataOutQ2', 'IOInterfaceMapping', '[0:15]'); |
| 88 | + |
| 89 | +% Set Outport HDL parameters |
| 90 | +hdlset_param('commhdlQPSKTxRx/Transmitter/dataOutI2', 'IOInterface', 'ADRV9002 DAC Data Q1 [0:15]'); |
| 91 | +hdlset_param('commhdlQPSKTxRx/Transmitter/dataOutI2', 'IOInterfaceMapping', '[0:15]'); |
| 92 | + |
| 93 | + |
| 94 | +%% Workflow Configuration Settings |
| 95 | +% Construct the Workflow Configuration Object with default settings |
| 96 | +hWC = hdlcoder.WorkflowConfig('SynthesisTool','Xilinx Vivado','TargetWorkflow','IP Core Generation'); |
| 97 | + |
| 98 | +% Specify the top level project directory |
| 99 | +hWC.ProjectFolder = 'hdl_prj_jupiter'; |
| 100 | +hWC.AllowUnsupportedToolVersion = true; |
| 101 | +hWC.ReferenceDesignToolVersion = '2025.1'; |
| 102 | +hWC.IgnoreToolVersionMismatch = false; |
| 103 | + |
| 104 | +% Set Workflow tasks to run |
| 105 | +hWC.RunTaskGenerateRTLCodeAndIPCore = true; |
| 106 | +hWC.RunTaskCreateProject = true; |
| 107 | +hWC.RunTaskGenerateSoftwareInterface = true; |
| 108 | +hWC.RunTaskBuildFPGABitstream = true; |
| 109 | +hWC.RunTaskProgramTargetDevice = false; |
| 110 | + |
| 111 | +% Set properties related to 'RunTaskGenerateRTLCodeAndIPCore' Task |
| 112 | +hWC.GenerateIPCoreReport = true; |
| 113 | + |
| 114 | +% Set properties related to 'RunTaskCreateProject' Task |
| 115 | +hWC.Objective = hdlcoder.Objective.None; |
| 116 | +hWC.AdditionalProjectCreationTclFiles = ''; |
| 117 | +hWC.EnableIPCaching = false; |
| 118 | + |
| 119 | +% Set properties related to 'RunTaskGenerateSoftwareInterface' Task |
| 120 | +hWC.GenerateSoftwareInterfaceModel = false; |
| 121 | +hWC.OperatingSystem = 'Linux'; |
| 122 | +hWC.HostTargetInterface = 'Ethernet'; |
| 123 | +hWC.GenerateHostInterfaceModel = false; |
| 124 | +hWC.GenerateHostInterfaceScript = false; |
| 125 | + |
| 126 | +% Set properties related to 'RunTaskBuildFPGABitstream' Task |
| 127 | +hWC.RunExternalBuild = true; |
| 128 | +hWC.EnableDesignCheckpoint = false; |
| 129 | +hWC.TclFileForSynthesisBuild = hdlcoder.BuildOption.Custom; |
| 130 | +hWC.CustomBuildTclFile = 'C:\work\datalink\TransceiverToolbox\CI\scripts\adi_build.tcl'; |
| 131 | +hWC.DefaultCheckpointFile = 'Default'; |
| 132 | +hWC.RoutedDesignCheckpointFilePath = ''; |
| 133 | +hWC.MaxNumOfCoresForBuild = ''; |
| 134 | + |
| 135 | +% Set properties related to 'RunTaskProgramTargetDevice' Task |
| 136 | +% hWC.ProgrammingMethod = hdlcoder.ProgrammingMethod.Download; |
| 137 | +% hWC.IPAddress = ''; |
| 138 | +% hWC.SSHUsername = ''; |
| 139 | +% hWC.SSHPassword = ''; |
| 140 | + |
| 141 | +% Validate the Workflow Configuration Object |
| 142 | +hWC.validate; |
| 143 | + |
| 144 | +%% Run the workflow |
| 145 | +hdlcoder.runWorkflow('commhdlQPSKTxRx/Transmitter', hWC, 'Verbosity', 'on'); |
0 commit comments