Hello,

I have tried to the complex FFT core . During the simulation,the system 
generator give out the error as below:
Slice endpoints must lie between the LSB and MSB
Error occurred during "Rate and Type Error Checking".  Maybe the input now is 
not correct,because I have connect the real_pfb's output to the complex FFT 
directory.Can it work well?  But I don't kown how to fix.

I have set the FFT's parameters as the fft_setting.jpg appendix.

Best Regards.

Oliver Wang

> -----原始邮件-----
> 发件人: [email protected]
> 发送时间: 2015年2月13日 星期五
> 收件人: [email protected]
> 抄送: 
> 主题: casper Digest, Vol 87, Issue 8
> 
> Send casper mailing list submissions to
>  [email protected]
> 
> To subscribe or unsubscribe via the World Wide Web, visit
>  https://calmail.berkeley.edu/manage/list/listinfo/[email protected]
> 
> or, via email, send a message with subject or body 'help' to
>  [email protected]
> 
> You can reach the person managing the list at
>  [email protected]
> 
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of casper digest..."
> 
> 
> Today's Topics:
> 
>    1. VHDL black-boxing (lack of existing documentation) (James Smith)
>    2. Error with mmcm (Nishanth Shivashankaran)
> 
> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Thu, 12 Feb 2015 11:34:39 +0200
> From: James Smith <[email protected]>
> Subject: [casper] VHDL black-boxing (lack of existing documentation)
> To: [email protected]
> Message-ID:
>  <CAG67D36=abxtvfgo4x82e9yp6_yfzkppjewoszqukvsrtph...@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Hello all,
> 
> I've been trying to move away from such big heavy models, my ultimate goal
> being to have VHDL black boxes instead of precompiled ones made from Xilinx
> or Casper DSP blocks.
> 
> Jack Hickish's HDL Black Box Tutorial (
> https://casper.berkeley.edu/wiki/Tutorial_HDL_Black_Box) demonstrates a
> very simple example of this, but I wanted something which could be a little
> bit more dynamic, e.g. in terms of bit-widths for a given input. I started
> with a simple D-flip-flop block, which would automatically size itself
> according to what was put in at the input. Eventually I got it right.
> 
> This is my VHDL code (important points noted with #### - these aren't
> obvious from the above tutorial):
> #################################################################################
> library IEEE;
> use IEEE.std_logic_1164.all;
> 
> entity d_flip_flop_nbit is
>     generic (n_bits: positive); #####
>     port (D : in std_logic_vector(n_bits - 1 downto 0); ####
>           clk, ce: in std_logic;
>           Q : out std_logic_vector(n_bits - 1 downto 0)); ####
> end d_flip_flop_nbit;
> 
> architecture behav of d_flip_flop_nbit is
> begin
> 
>     dffn: process (clk)
>     begin
>         if (rising_edge(clk)) then
>             Q <= D;
>         end if;
>     end process dffn;
> 
> end behav;
> #################################################################################
> 
> This is the accompanying config M-file:
> 
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> function d_flip_flop_nbit_config(this_block)
>   this_block.setTopLevelLanguage('VHDL');
>   this_block.setEntityName('d_flip_flop_nbit');
>   this_block.addSimulinkInport('D');
>   this_block.addSimulinkOutport('Q');
> 
>   % -----------------------------
>   if (this_block.inputTypesKnown)
> 
> this_block.addGeneric('n_bits','positive',num2str(this_block.port('D').width));
> %%%%%
> 
>     %Sysgen user guide specifies these lines of code but Matlab doesn't
> like them. Apparently
>     %the functions referred don't actually exist. What I have below is a
> bit of a hack but it worked.
> %     q_port = this_block.port('Q');
> %     q_port.setWidth = this_block.port('D').width;
> %     q_port.setBinPt(0);
> %     q_port.makeUnsigned();
> 
>     q_port = this_block.port('Q');
>     q_port_string =
> strcat('Ufix_',num2str(this_block.port('D').width),'_0'); %%%%%
>     q_port.setType(q_port_string);
> 
>   end  % if(inputTypesKnown)
>   % -----------------------------
> 
>   % -----------------------------
>    if (this_block.inputRatesKnown)
>      setup_as_single_rate(this_block,'clk','ce')
>    end  % if(inputRatesKnown)
>   % -----------------------------
> 
>     uniqueInputRates = unique(this_block.getInputRates);
> 
>   this_block.addFile('d_flip_flop_nbit.vhd');
> 
> return;
> % ------------------------------------------------------------
> 
> function setup_as_single_rate(block,clkname,cename)
>   inputRates = block.inputRates;
>   uniqueInputRates = unique(inputRates);
>   if (length(uniqueInputRates)==1 & uniqueInputRates(1)==Inf)
>     block.addError('The inputs to this block cannot all be constant.');
>     return;
>   end
>   if (uniqueInputRates(end) == Inf)
>      hasConstantInput = true;
>      uniqueInputRates = uniqueInputRates(1:end-1);
>   end
>   if (length(uniqueInputRates) ~= 1)
>     block.addError('The inputs to this block must run at a single rate.');
>     return;
>   end
>   theInputRate = uniqueInputRates(1);
>   for i = 1:block.numSimulinkOutports
>      block.outport(i).setRate(theInputRate);
>   end
>   block.addClkCEPair(clkname,cename,theInputRate);
>   return;
> % ------------------------------------------------------------
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> 
> I searched fairly extensively through the archive, and I saw no
> documentation of this. The Xilinx documentation helped a bit, but
> discrepancies between it and what Matlab would actually accept caused me
> many headaches. In the end I found the workaround above which seemed to
> work, but I'll admit I don't like it very much.
> 
> Is anyone else working in this sort of an environment? Is there any reason
> that VHDL / Verilog seems to have been abandoned in favour of the
> Simulink-based block approach? Would anyone find it helpful if the
> tutorials were expanded a bit with this kind of information?
> 
> Regards,
> James
> -------------- next part --------------
> An HTML attachment scrubbed and removed.
> HTML attachments are only available in MIME digests.
> 
> ------------------------------
> 
> Message: 2
> Date: Thu, 12 Feb 2015 11:41:40 -0700
> From: Nishanth Shivashankaran <[email protected]>
> Subject: [casper] Error with mmcm
> To: Casper Lists <[email protected]>
> Message-ID:
>  <cabrsghjwxdwdv+pbp9ga3x4+fw0espbvg1nw7qmz6zky0gs...@mail.gmail.com>
> Content-Type: text/plain; charset="utf-8"
> 
> Hi All,
> 
>     I am trying to create a yellow block for the roach2 with the MUSIC
> adc/dac, I replaced the DCM with the MMCM.  I compiled the DAC and ADC
> portion separately. The DAC portion seems to work without any errors and I
> was able to put out tones and i visually saw it on the spectrum analyzer
> but the ADC portion is giving me some compilation error with the same clock
> frequency. I am using the same set of multipliers and dividers as the DAC.
> the error message says the ngdbuild is changing multipliers and dividers. I
> am wondering if anyone can help me with this problem.
> 
> ERROR:LIT:667 - Block 'MMCM_ADV symbol
> 
> "physical_group_tut3_r2_adcdac_512_adc_mkid/tut3_r2_adcdac_512_adc_mkid/dcm_c
>    lk/tut3_r2_adcdac_512_adc_mkid/tut3_r2_adcdac_512_adc_mkid/MMCM_adc"'
> has its
>    target frequency, FVCO, out of range. Valid FVCO range for speed grade
> "-1"
>    is 600MHz - 1200MHz. The computed FCVO is a function of the input
> frequency
>    CLKIN1_PERIOD, the division factor DIVCLK_DIVIDE, and the CLKFBOUT_MULT_F
>    attribute (FVCO = 1000*CLKFBOUT_MULT_F/(CLKIN1_PERIOD*DIVCLK_DIVIDE)).
> The
>    CLKIN_PERIOD attribute may have been set by ngdbuild based on the user
>    specified PERIOD constraint. The current calculated FVCO is 512.032770
> MHz.
>    Reference the V6 architecture Users Guide or search the Xilinx Answer
> Records
>    database for the error code.
> Errors found during logical drc.
> 
> thanks
> Nishanth Shivashankaran
> -------------- next part --------------
> An HTML attachment scrubbed and removed.
> HTML attachments are only available in MIME digests.
> 
> End of casper Digest, Vol 87, Issue 8
> *************************************



Reply via email to