Hi Andrew,

I managed to fix my problem.  Dragging in a new green fft block from
the simulink casper library to replace my old fft block didn't work.
The biplex_core inside this new block had the old mask parameters
including specify_mult.  I replaced this biplex_core block with one
from the casper library and found that had the up to date init
parameters.  My model now compiles.

Thanks,
Matt

On Sun, Aug 19, 2012 at 12:31 AM, Matt Strader
<[email protected]> wrote:
> Hi Andrew,
>
> I tried compiling and running the init scripts on the matlab command
> line again, now with the trace output.  I have the results below.
> I've also attached my mdl file.  I expect there are other old blocks
> in it that need to be replaced, but I only replaced the PFB/fft blocks
> since they gave me trouble first.
>
>  The only script I'm using is Startsg, which sets the environment
> variables to look at the right libraries.  I looked up the way to call
> the init script by first dragging in a new fft block from the simulink
> casper library.  Then I right-click and select 'Look under mask' a
> couple times until I find the biplex_core.  I right click this block,
> select 'Edit Mask', and select the initialization tab.  When I do this
> I see a specify_mult parameter in the list of init parameters for the
> biplex_core.
>
> I have commit e9ecb3f7fbe97039f16ec81949e2f282590e06e1 of the
> casper-astro repository.
>
> Thanks,
> Matt
>
>
> When compiling chan_550_packet.mdl with bee_xps:
>
> #############################
> ##      System Update      ##
> #############################
> trace: entering fft_init
> trace: entering fft_init
> trace: entering fft_biplex_init
> trace: entering fft_biplex_init
> trace: entering biplex_core_init
> trace: biplex_core_init post same_state
> trace: entering fft_stage_n_init
> trace: entering fft_stage_n_init
> trace: entering fft_stage_n_init
> trace: entering fft_stage_n_init
> trace: entering biplex_core_init
> trace: biplex_core_init post same_state
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> Running mask script for block: parallel_to_serial_converter
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> trace: entering munge_init
> Error using gen_xps_files (line 199)
> Error in 'chan_550_packet/PFB/fft1/fft_biplex0/biplex_core':
> Initialization commands cannot be evaluated.
>
>
> Now running init scripts from Matlab command line:
>
>>> biplex_core_init(gcb,...
> 'FFTSize', 9,...
> 'input_bit_width', 18,...
> 'coeff_bit_width', 18,...
> 'add_latency', 2,...
> 'mult_latency', 2,...
> 'bram_latency', 3,...
> 'conv_latency', 2, ...
> 'quantization', 'Truncate',...
> 'overflow', 'Wrap',...
> 'arch', 'Virtex5', ...
> 'opt_target', 'logic', ...
> 'coeffs_bit_limit', 8, ...
> 'delays_bit_limit', 8, ...
> 'specify_mult', 'off', ...
> 'mult_spec', 0, ...
> 'hardcode_shifts', 'off', ...
> 'shift_schedule', 0, ...
> 'dsp48_adders', 'on' );
> trace: entering biplex_core_init
> trace: biplex_core_init post same_state
> trace: entering biplex_core_init
> trace: biplex_core_init post same_state
> trace: entering biplex_core_init
> trace: biplex_core_init post same_state
> trace: entering biplex_core_init
> trace: biplex_core_init post same_state
> trace: entering biplex_core_init
> trace: biplex_core_init post same_state
> trace: entering biplex_core_init
> trace: biplex_core_init post same_state
> trace: entering fft_stage_n_init
> trace: entering fft_stage_n_init
> trace: entering biplex_core_init
> trace: biplex_core_init post same_state
> trace: entering fft_stage_n_init
> Error using biplex_core_init (line 175)
> Invalid Simulink object name: fft_stage_1/1
>
>
> Also, fft_init works without problem on the command line:
>
>>> fft_init(gcb, ...
> 'FFTSize', 9, ...
> 'n_inputs', 1, ...
> 'input_bit_width', 18, ...
> 'coeff_bit_width', 18, ...
> 'unscramble', 'on', ...
> 'add_latency', 2, ...
> 'mult_latency', 2, ...
> 'bram_latency', 3, ...
> 'conv_latency', 2, ...
> 'quantization', 'Truncate', ...
> 'overflow', 'Wrap', ...
> 'arch', 'Virtex5', ...
> 'opt_target', 'logic', ...
> 'coeffs_bit_limit', 8, ...
> 'delays_bit_limit', 8, ...
> 'mult_spec', 2, ...
> 'hardcode_shifts', 'off', ...
> 'shift_schedule', 0, ...
> 'dsp48_adders', 'on');
> trace: entering fft_init
> trace: fft_init post same_state
> trace: entering reorder_init
> trace: reorder_init post same_state
> trace: exiting reorder_init
> trace: entering fft_init
> trace: exiting fft_init
>
> On Sat, Aug 18, 2012 at 12:38 PM, Andrew Martens <[email protected]> wrote:
>> Hi Matt
>>
>>> I'm trying to compile an old design with a newly installed setup with
>>> matlab 2011b/ise 13.4.  The fft_init failed, so I replaced the old fft
>>> blocks with new ones from the current casper library browser, but the
>>> fft_init still doesn't compile:
>>
>> A good way to test if the init scripts have completed is to set
>> 'casper_log_groups = {'trace'};' at the Matlab command prompt before
>> setting mask parameters/executing the init script. You will then see
>> debug output that lets you see how scripts are called and when they
>> finish. If you continue to have problems could you send me this output,
>> it will help to locate the problem.
>>
>> You will definitely have to replace any fft blocks you have with new
>> ones from the library. This is because the mask parameters have changed
>> (to be specific, a parameter has been removed), and if you use the old
>> blocks with the new libraries, the new init scripts will be called with
>> the old set of parameters.
>>
>>> I tried running the fft_init from the matlab interpreter with only a 
>>> warning:
>>>
>>> >> fft_init(gcb, ...
>>> 'FFTSize', 9, ...
>>> 'n_inputs', 1, ...
>>> 'input_bit_width', 18, ...
>>> 'coeff_bit_width', 18, ...
>>> 'unscramble', 1, ...
>>> 'add_latency', 2, ...
>>> 'mult_latency', 2, ...
>>> 'bram_latency', 3, ...
>>> 'conv_latency', 2, ...
>>> 'quantization', 'Truncate', ...
>>> 'overflow', 'Wrap', ...
>>> 'arch', 'Virtex5', ...
>>> 'opt_target', 'logic', ...
>>> 'coeffs_bit_limit', 8, ...
>>> 'delays_bit_limit', 8, ...
>>> 'mult_spec', 2, ...
>>> 'hardcode_shifts', 'off', ...
>>> 'shift_schedule', 0, ...
>>> 'dsp48_adders', 'on');
>>> Warning: Invalid setting in masked block 'chan_550_packet/PFB/fft2'
>>> for parameter
>>> 'MaskValues'
>>> > In backpopulate_mask at 62
>>>   In save_state at 48
>>>   In fft_init at 315
>>
>> The warning is probably for 'unscramble', 1, ...
>> The mask parameter is specified as a checkbox, which takes the value
>> 'on' or 'off' (1 or 0 is allowed but is being phased out). The
>> backpopulate_mask script tries to write the values passed to the script
>> back into the mask to ensure that the mask parameter settings are
>> consistent with what has been drawn by the init script. However, the
>> setting passed ('1') in this case generates a warning.
>>
>>> Running biplex_core_init does error out, though:
>>>
>>> >> biplex_core_init(gcb,...
>>> 'FFTSize', 9,...
>>> 'input_bit_width', 18,...
>>> 'coeff_bit_width', 18,...
>>> 'add_latency', 2,...
>>> 'mult_latency', 2,...
>>> 'bram_latency', 3,...
>>> 'conv_latency', 2, ...
>>> 'quantization', 'Truncate',...
>>> 'overflow', 'Wrap',...
>>> 'arch', 'Virtex5', ...
>>> 'opt_target', 'logic', ...
>>> 'coeffs_bit_limit', 8, ...
>>> 'delays_bit_limit', 8, ...
>>> 'specify_mult', 'off', ...
>>> 'mult_spec', 0, ...
>>> 'hardcode_shifts', 'off', ...
>>> 'shift_schedule', 0, ...
>>> 'dsp48_adders', 'on' );
>>> Error using biplex_core_init (line 175)
>>> Invalid Simulink object name: fft_stage_1/1
>>
>> The 'specify_mult' mask parameter has been removed from the latest
>> libraries. Are you setting stuff up in your design from a script? If so
>> check that you are using the latest mask parameters. It seems there is
>> some version inconsistency going on.
>>
>> I have just tried setting up the FFT and biplex_core with the settings
>> above and things go through as expected. zip and send me your design if
>> you continue to have issues, and let me know which library git revision
>> you are working off.
>>
>> Regards
>> Andrew
>>
>>
>>

Reply via email to